Doaasalama1/Telecom-Customer-360-Cloud-Data-Warehouse-Fraud-Analytics
GitHub: Doaasalama1/Telecom-Customer-360-Cloud-Data-Warehouse-Fraud-Analytics
基于 Azure 云平台和 Medallion 架构构建的电信客户 360 数据仓库,结合规则驱动的欺诈评分引擎检测语音钓鱼与骚扰行为,并通过 Power BI 提供业务洞察。
Stars: 0 | Forks: 0
# 电信客户 360 – 云数据仓库与欺诈分析
一个端到端的 Data Engineering 项目,通过一个透明、可解释的基于规则的欺诈评分引擎,检测并对** Vishing(语音钓鱼)**和**电话骚扰**等有害通话行为进行分类。
该平台处理了 **5,000 名电信客户**在 **3 个月期间**的 **140 万条通话记录**,并生成 **欺诈评分(0–100)** 以将客户划分为不同的风险等级。
## 项目目标
构建一个可扩展的云数据平台,以实现:
* 大规模处理电信客户数据。
* 检测可疑的通话行为。
* 生成可解释的欺诈评分。
* 通过仪表板提供具有指导意义的业务洞察。
* 实现完整的 Medallion Architecture pipeline。
## 风险分类
| 风险等级 | 分数范围 | 行动 |
| ----------- | ----------- | -------------------------------- |
| 🔴 严重风险 | 80 – 100 | 需立即调查 |
| 🟠 高风险 | 60 – 79 | 概率较高 – 建议调查 |
| 🟡 中等风险 | 30 – 59 | 需要监控 |
| 🟢 低风险 | 0 – 29 | 正常行为 |
# 架构
```
Raw CSV Files
│
▼
Azure Data Lake Storage Gen2
(Bronze Layer)
│
▼
Azure Databricks (PySpark)
(Silver Layer)
│
▼
Feature Engineering + Fraud Engine
(Gold Layer)
│
▼
Azure SQL Database
(Star Schema)
│
▼
Power BI Dashboard
```
# Medallion Architecture
## Bronze 层
原始数据接入。
数据源:
* 通话记录
* 客户信息
* 充值记录
* 投诉记录
存储:
* Azure Data Lake Storage Gen2
## Silver 层
数据清洗与验证。
任务:
* 数据质量检查
* 去重
* 缺失值处理
* 数据验证
输出:
* Parquet 文件
已应用:
* 13 条数据质量规则
## Gold 层
特征工程与欺诈分析。
输出:
* 客户行为特征
* 欺诈评分(0–100)
* 风险分类
# 技术栈
| 层级 | 技术 | 用途 |
| --------------- | ---------------------------- | ------------------- |
| 存储 | Azure Data Lake Storage Gen2 | 原始与清洗后的数据 |
| 处理 | Azure Databricks (PySpark) | 数据转换 |
| 数据仓库 | Azure SQL Database | 星型模型 |
| 欺诈引擎 | SQL 规则引擎 | 欺诈检测 |
| 可视化 | Power BI | 仪表板 |
| 数据生成 | Python (Pandas, NumPy) | 模拟数据集 |
# 欺诈规则引擎
## 🔴 负面指标
| 规则 | 描述 | 权重 |
| --------------------- | ---------------------------------------- | ------ |
| 高通话频率 | > 60 次通话/天 | +20 |
| 极短通话 | 平均时长 < 10 秒 | +15 |
| 重复呼叫 | 对同一号码 > 10 次通话/小时 | +15 |
| 随机号码模式 | 每日新增号码 > 20 个 + 接通率 < 20% | +20 |
| 投诉 | 欺诈/骚扰投诉 | +30 |
| 高异网使用率 | 异网通话 > 60% 且有投诉 | +15 |
## 🟢 正面指标
| 规则 | 描述 | 权重 |
| ------------------------ | -------------------------- | ------ |
| 号码修正 | 1–2 位数字差异 | -5 |
| 正常通话时长 | 60–300 秒 | -10 |
| 规律充值模式 | 一致的每周行为 | -10 |
# 欺诈评分公式
```
Fraud Score =
(Sum of Negative Rules)
-
(Sum of Positive Rules)
Fraud Score = max(0, min(100, Fraud Score))
```
# 项目成果
| 指标 | 数值 |
| ---------------------------- | ----------- |
| 已处理通话 | 140 万 |
| 客户数 | 5,000 |
| 欺诈规则 | 9 |
| 高/严重风险客户数 | 115 |
| 数据质量 | 98.8% |
| 运行时长 | ~15 分钟 |
| 幂等性 | 已验证 |
# 风险分布
```
🟢 Low 65%
🟡 Medium 25%
🟠 High 8%
🔴 Critical 2%
Total Customers: 5,000
```
# 数据仓库设计
星型模型:
### 事实表
* fact_events_dedup
### 维度表
* dim_customer
* dim_date
* dim_location
* dim_plan
* dim_subscription
* dim_recharge
* dim_complaint
* dim_risk
# Power BI 仪表板
## 高管仪表板
* 总通话量
* 收入
* 欺诈率
* 活跃客户数
* 收入趋势
## 欺诈分析
* 高危客户前 5 名
* 风险分布
* 行为模式
## 客户行为
* 年龄分布
* 订阅类型
* 平均通话时长
* 充值渠道
## 投诉分析
* 投诉总数
* 解决天数
* 投诉类别
* 月度趋势
# 仓库结构
```
Telecom-Customer-360/
├── bronze/
├── silver/
├── gold/
├── scripts/
├── notebooks/
├── reports/
├── docs/
└── README.md
```
# 团队
| 成员 | 角色 | 贡献 |
| ------ | ------------------- | ----------------------------------------- |
| Doaa | 演示负责人 | 叙事陈述、商业价值、Q&A |
| Wesam | 数据工程师 | Medallion Pipeline、PySpark、欺诈引擎 |
| Esraa | BI 与数据仓库 | 星型模型、Power BI、文档整理 |
# 未来改进
* 机器学习欺诈检测。
* 使用 Azure Event Hub 进行实时流处理。
* 针对严重风险客户的自动化告警。
* CI/CD 部署 pipeline。
**Data Engineering 毕业项目 — 2026 年 6 月**
标签:Azure, Medallion架构, Power BI, 反欺诈分析, 后端开发, 多线程, 数据仓库, 数据工程, 逆向工具