Yoginsjce/Telecom-churn-azure-pipeline

GitHub: Yoginsjce/Telecom-churn-azure-pipeline

基于 Azure 数据栈构建的电信客户流失检测 Pipeline,通过多层数据处理和信号评分模型提前识别高风险流失客户。

Stars: 0 | Forks: 0

# Telecom-churn-azure-pipeline 使用 Databricks、ADF、Delta Lake 和 Power BI 进行电信客户流失检测的端到端 Azure Data Engineering pipeline # 🚀 电信客户流失检测 Pipeline ### 端到端 Azure Data Engineering 项目 ![Azure](https://img.shields.io/badge/Azure-Databricks-orange) ![PySpark](https://img.shields.io/badge/PySpark-3.x-red) ![Delta Lake](https://img.shields.io/badge/Delta-Lake-blue) ![Power BI](https://img.shields.io/badge/Power-BI-yellow) ![ADF](https://img.shields.io/badge/Azure-Data%20Factory-green) ## 📌 问题陈述 像 Airtel 和 Jio 这样的电信公司每月因客户流失损失数千万。当他们检测到客户流失时,往往已经来不及采取行动了。此 pipeline 旨在在客户离开之前识别出可能流失的客户——为留存团队提供每日优先处理的行动清单。 ## 🏗️ 架构 [在此处插入架构图] ## 📊 技术栈 | 层级 | 技术 | |---|---| | 云平台 | Microsoft Azure | | 处理引擎 | Azure Databricks, PySpark, Spark SQL | | 编排工具 | Azure Data Factory | | 存储 | Azure Data Lake Storage, Delta Lake | | 源数据库 | Neon PostgreSQL | | 外部 API | Open-Meteo Weather API | | 安全管理 | Azure Key Vault | | 数据模型 | Star Schema | | 可视化 | Power BI | ## 🗂️ 数据源 | 来源 | 类型 | 记录数 | 内容 | |---|---|---|---| | ADLS | Parquet | 91,799 | 通话记录、使用数据 | | Neon PostgreSQL | JDBC | 5,000 | 客户资料(未经清理) | | Open-Meteo API | REST | 555 | 30天天气数据 | ## 🔄 Pipeline 层级 ### Bronze 层 — 原始数据摄取 - 原样从所有 3 个数据源摄取原始数据 - 不进行任何转换 - 添加摄取元数据(时间戳、来源) - 写入 Delta Lake bronze 表 ### Silver 层 — 清洗与标准化 修复 8 类数据质量问题: - 城市名称不一致(Bengaluru/Bangalore/BLR) - 6 种不同的日期格式标准化 - 电话号码格式标准化 - 混合大小写的性别值 - 套餐类型不一致 - 无效的年龄值 - 重复记录 - Null 值处理 ### Gold 层 — 业务逻辑 6 信号流失评分模型: | 信号 | 条件 | 标记 | |---|---|---| | 使用量下降 | 30 天内通话分钟数 < 30 | 1 | | 投诉频率 | 30 天内投诉 >=3 次 | 1 | | 支付失败 | 3 个月内失败 >=2 次 | 1 | | 套餐降级 | 降级至更低套餐 | 1 | | 不活跃 | 20 天以上未充值 | 1 | | 活跃天数低 | 30 天内活跃 < 10 天 | 1 | 流失得分 = 所有标记的总和(0-6) - 得分 4-6 → 高风险 - 得分 2-3 → 中风险 - 得分 0-1 → 低风险 **天气智能分析:** 在恶劣天气事件期间出现通话中断投诉的客户,其风险等级将从高降级为中——从而避免产生流失误报。 ### 数据模型层 — Star Schema fact_churn (中心) │ ├── dim_customer ├── dim_plan ├── dim_usage └── dim_weather ## 🎯 输出 | 目标 | 类型 | 表格 | 消费者 | |---|---|---|---| | Delta Lake | 分析型 | 10 张表 | Power BI | | Neon PostgreSQL | 操作型 | 6 张表 | 业务团队 | ## 📈 Power BI 仪表板 5 个仪表板页面: 1. 流失概览 — 风险分布和 KPI 2. 客户分析 — 城市热力图和细分群体 3. 使用模式 — 行为相关性 4. 天气影响 — 环境背景 5. 留存行动 — 优先处理的行动清单 [插入仪表板截图] ## 🔒 安全 - 所有凭据均存储在 Azure Key Vault 中 - 使用 Databricks secret scope 进行安全访问 - 代码库中没有任何硬编码的值 - Neon PostgreSQL 要求启用 SSL 模式 ## ⚙️ ADF 编排 Pipeline 执行顺序:Bronze 层(并行) → Silver 层(并行) → Gold 层 → Star Schema 通过 ADF 触发器每天在 IST 时间上午 9 点定时执行。 ## 🚀 如何运行 1. 克隆此代码库 2. 将 usage_records.parquet 上传至 ADLS 3. 将 customer_profiles_messy.csv 加载至 PostgreSQL 4. 配置 Azure Key Vault 密钥 5. 将 notebook 导入 Databricks 6. 导入 ADF pipeline JSON 7. 触发 pipeline ## 📸 截图 ### ADF Pipeline (Telecom Churn Screenshots/Screenshot 2026-07-27 202317.png) ### Databricks 表 [] ### Power BI 仪表板 [插入 POWER BI 截图] ## 👨‍💻 作者 **Yogin N C** Azure Data Engineer 📧 yoginnc@gmail.com 🔗 https://www.linkedin.com/in/yogin-nc-2b006324b/ 🐙 https://github.com/Yoginsjce?tab=repositories
标签:Azure, Databricks, ETL管道, 客户流失预测, 数据工程, 数据湖仓