ericgalbarn/walley_risk_fraud_platform
GitHub: ericgalbarn/walley_risk_fraud_pipeline
Walley 是一套面向越南数字钱包的端到端 ATO 欺诈风险决策平台,结合 SQL 监管规则、XGBoost 机器学习模型和 SHAP 可解释性来检测账户接管欺诈并满足合规要求。
Stars: 0 | Forks: 0
# Walley:阻止越南数字钱包中的账户接管欺诈
## 📖 背景
Walley 是一款越南数字钱包,允许用户汇款、支付账单和提取现金。随着业务的增长,欺诈行为也随之增加——尤其是**账户接管(ATO)**。欺诈者窃取客户凭证、登录并在用户甚至还没反应过来之前就将钱包洗劫一空。
**问题很明确:**
- 我们基于规则的系统能够捕捉到明显的欺诈行为(如结构化或速度违规)
- 但它对**复杂的 ATO 攻击视而不见**,因为欺诈者使用的是合法凭证
- 客户抱怨交易被拒绝
- 调查人员被误报弄得焦头烂额
- 欺诈损失正在不断攀升
**监管压力是现实存在的:**
- **SBV 第 2345 号决定**(越南国家银行)强制要求任何超过 10,000,000 VND 的交易必须进行生物识别认证
- 欺诈者故意将交易结构化,使其金额恰好低于此阈值以逃避检测
- **FATF 指南**要求对高风险国家进行监控
- 我们需要一个能够**像欺诈者一样思考**的系统,而不仅仅是遵循规则
## 🎯 目标
我们需要构建一个能够实现以下目标的系统:
1. **检测 ATO 欺诈**,这是单靠规则无法捕捉到的
2. **保持合规**,符合 SBV 第 2345 号决定和 FATF 指南
3. **平衡欺诈预防**与客户体验(98% 的合法交易应顺畅无阻)
4. **减少调查人员的工作量**,使他们能专注于真正的欺诈行为
**我们的风险承受能力:** 欺诈损失率必须保持在**总交易量(GTV)的 0.5% 以下**。
## 🛠️ 我们构建的内容
我们构建了一个结合三个层的**端到端风险决策平台**:
### 第 1 层:RegTech 规则 (SQL)
不可违反的硬性监管规则:
- **结构化:** 检测略低于 10M VND 生物识别阈值的交易
- **速度:** 标记 5 分钟内超过 3 笔交易(套现的迹象)
- **制裁:** 阻止与 FATF 高风险国家之间的往来交易
- **生物识别规避:** 标记金额在 9M 到 9.99M VND 之间的首次转账
### 第 2 层:欺诈分析 (ML)
使用无监督异常检测(Isolation Forest)训练的 **XGBoost 模型**:
- 学习规则遗漏的细微欺诈模式
- 为每笔交易评出欺诈概率分数
- 在 ATO 检测中实现了 **78% 的 Recall** 和 **72% 的 Precision**
### 第 3 层:风险决策引擎
结合规则和 ML 分数做出最终的业务决策:
- **阻止:** 如果触发了任何 RegTech 规则
- **审查:** 如果 ML 分数 > 阈值(0.25)
- **批准:** 如果 ML 分数 ≤ 阈值
## 📊 结果
### 主要发现
| **发现** | **数据** | **含义** |
| --- | --- | --- |
| **ATO 是我们最大的欺诈问题。** | ATO 欺诈损失份额 = 88.1%(即 88.1% 的欺诈损失来自 ATO)。 | 我们需要将欺诈团队 100% 的时间集中在阻止账户接管上。 |
| **我们的系统标记了太多交易。** | 78.7% 的交易被标记为可疑。 | 调查人员不堪重负。客户感到烦恼。我们“狼来了”的呼声太高了。 |
| **新设备是欺诈者的主要入口点。** | 14.45% 的交易来自新设备。 | 这是我们需要添加额外验证的地方。 |
| **我们的审查队列已接近满负荷。** | 9.78% 的交易正在等待审查。 | 我们已接近危险区。调查人员很快就会出现积压。 |
### 模型性能
| **指标** | **结果** | **目标** | **状态** |
| --- | --- | --- | --- |
| **ML 模型 Recall** | 78% | ≥ 85% | ⚠️ 需要改进 |
| **ML 模型 Precision** | 72% | 10-15% | ✅ 超出预期 |
| **PR-AUC** | 0.8444 | ≥ 0.70 | ✅ 优秀 |

### 仪表板洞察

高管仪表板提供了对以下内容的实时可见性:
- **4 个 KPI 卡片:** ATO 欺诈损失率(88.1%)、ATO 标记率(78.7%)、新设备率(14.45%)、审查率(9.78%)
- **防御细分:** 显示批准(7.9K)、审查(1.0K)、阻止(0.6K)、待定(0.5K)的瀑布图
- **主要风险驱动因素:** 新收款人(3.0K)、非营业时间(2.9K)、新设备(1.4K)
- **风险等级细分:** 低(71%)、中(19.6%)、高(9.4%)
### ATO 趋势
- **2026 年 1 月 – 2026 年 4 月 10 日:** 30 笔 ATO 交易
- **2026 年 4 月 11 日 – 2026 年 7 月 7 日:** 1 笔 ATO 交易
急剧下降反映了部署 RegTech + ML 风险决策引擎的影响。
### 风险等级细分与决策对比
**按风险等级:**
- 低风险:占交易的 71%
- 中等风险:占交易的 19.6%
- 高风险:占交易的 9.4%
**按决策:**
- 批准:占交易的 79.1%
- 审查:占交易的 9.9%
- 阻止:占交易的 5.8%
- 待定:占交易的 5.2%
**各风险等级的摩擦率**(各等级中被阻止或被送去审查的比例):
- 低风险:15.2%
- 中等风险:15.0%
- 高风险:14.1%
这种各等级之间几乎持平的摩擦率是最明显的迹象之一,表明当前的阈值不能很好地区分风险水平——这是下方行动 2 的关键驱动因素。
**实时仪表板:** [Walley 风险指挥中心](https://app.powerbi.com/groups/me/reports/4363c137-59b2-4ef5-9011-106b53b4bfa6/08e9b6eefa331b0240a7?ctid=246d1169-d80e-4f80-b3ff-c334c35a8798&experience=power-bi)
## 🚨 我们的建议(致管理层的行动)
### 行动 1:完全专注于 ATO 预防
- **原因:** 88.1% 的欺诈损失来自 ATO
- **怎么做:** 将 100% 的欺诈团队资源重新分配给 ATO 检测
- **预期影响:** 在 60 天内将欺诈损失减少 50%
### 行动 2:减少误报
- **原因:** 78.7% 的标记率让调查人员不堪重负
- **怎么做:** 将 ML 阈值从 0.25 提高到 0.35
- **预期影响:** 在 30 天内减少 40% 的调查人员工作量
### 行动 3:为设备添加 SMS 验证
- **原因:** 14.45% 的交易来自新设备
- **怎么做:** 对于超过 5M VND 的新设备交易,要求进行 SMS OTP 验证
- **预期影响:** 在不打扰常规客户的情况下,阻止 15% 的 ATO 尝试
### 行动 4:每日监控审查队列
- **原因:** 9.78% 已接近 10% 的危险区
- **怎么做:** 如果队列超过 50 个案例,则重新分配调查人员
- **预期影响:** 防止调查人员工作积压和客户延迟
## 🧠 架构
### 系统流程图

### 数据库 Schema

## 📂 仓库结构
```
walley_risk_platform/
├── README.md # This file
├── docs/
│ ├── 01_ERD_Walley.png # Entity Relationship Diagram
│ ├── 02_fraud_detection_results.png # ML model performance
│ ├── 03_Walley_Decision_Flowchart.drawio.png # Decision flowchart
│ └── 04_Walley_Dashboard.png # Power BI dashboard preview
├── sql/
│ ├── 01_create_tables.sql # PostgreSQL DDL
│ ├── 02-07_clean_*.sql # Data cleaning scripts
│ └── 08_regtech_rules.sql # 5 RegTech rules
├── python/
│ ├── generate_data.py # Synthetic data generation
│ ├── fraud_analytics.py # ML pipeline
│ ├── risk_decision_engine.py # Decision engine with SHAP
│ ├── fraud_model.json # Trained XGBoost model
│ ├── optimal_threshold.json # Optimal threshold
│ └── audit_log.csv # Audit log
└── powerbi/
└── Walley_ATO_Dashboard.pbix # Power BI dashboard
```
## 📚 经验教训
1. **数据质量就是一切。** 真实世界的数据是混乱的。我们花了 60% 的时间来清理和验证数据。
2. **避免目标泄漏。** 将基于规则的标签直接用作 ML 目标会导致模型只是对规则进行逆向工程。
3. **可解释性很重要。** SHAP 不是可选项——监管机构和调查人员需要了解交易被标记的原因。
4. **业务思维胜过技术复杂性。** 我们的模型并不是最复杂的,但它提供了清晰、可操作的洞察。
## 🛠️ 使用的技术
- **数据库:** PostgreSQL 18+
- **后端:** Python 3.14+ (Pandas, NumPy, Scikit-learn, XGBoost, SHAP)
- **BI:** Power BI Desktop
- **版本控制:** Git
- **监管合规:** SBV 第 2345 号决定,FATF 指南
## 📬 关于作者
**Nguyen Minh Duc**
金融科技风险 / 欺诈分析师
[LinkedIn](https://www.linkedin.com/in/ericgalbarn/) | [GitHub](https://github.com/ericgalbarn)
标签:Apex, XGBoost, 云计算, 反欺诈系统, 数字钱包, 机器学习, 测试用例, 规则引擎, 逆向工具, 风控