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, 反欺诈分析, 后端开发, 多线程, 数据仓库, 数据工程, 逆向工具