eagmarques/fraud-detection-case
GitHub: eagmarques/fraud-detection-case
本项目通过对CNP交易数据的结构化分析,构建规则、评分模型与实体图相结合的反欺诈方案,解决高退单率下的风险识别与成本控制问题。
Stars: 0 | Forks: 0
# 技术案例 — 风险分析师 I | CloudWalk
## 仓库结构
```
case-cloudwalk-da/
├── data/
│ └── transactional-sample.csv # Original dataset (3,199 transactions)
├── src/
│ ├── eda_transactional.py # Exploratory data analysis
│ ├── velocity_analysis.py # Velocity and suspicious pattern analysis
│ └── fraud_triangle.py # Fraud triangle investigation
├── outputs/ # Exported charts and tables
├── README.md
└── report/
└── case_risk_analyst.pdf # Final deliverable
```
## 数据集概览
| 属性 | 值 |
|---|---|
| 总交易数 | 3,199 |
| 周期 | 2019年11月1日 – 12月1日 |
| 环境 | CNP(无卡交易) |
| 发生退单(`has_cbk=TRUE`)的交易 | 391(12.22%) |
| 唯一用户数 | 2,704 |
| 唯一商户数 | 1,756 |
| 唯一设备数 | 1,996 |
| 唯一卡号数 | 2,925 |
| 缺失 `device_id` 的交易 | 830(25.95%) |
| 整体平均票面值 | R$ 767.81 |
| 欺诈交易平均票面值 | R$ 1,453.57 |
| 正常交易平均票面值 | R$ 672.32 |
## 第一部分 — 交易数据分析
### 关键发现
#### 1. 欺诈平均票面值是正常交易的 2.2 倍
发生退单的交易平均为 **R$ 1,453.57**(标准差:R$ 1,169.49),
而正常交易为 **R$ 672.32**(标准差:R$ 797.46)。高欺诈交易的标准差
表明存在两种不同的画像:低价值的卡验证交易(*卡测试*),随后是
一旦卡被确认为活跃的高价值交易。这种模式与 CNP 环境中的持卡人信息泄露
导致的欺诈一致。
#### 2. 多卡用户:数据集中最强的信号
| 画像 | 用户数 | 退单率 |
|---|---|---|
| 单卡 | 2,590 | 5.8% |
| 多卡 | 114 | **53.3%** |
两组之间 **9.2 倍**的退单率差异是 EDA 中最显著的指标。
114 名多卡用户的卡片分布如下:
| 卡片数 | 用户数 |
|---|---|
| 2 | 77 |
| 3 | 15 |
| 4 | 8 |
| 5 | 5 |
| 6 | 3 |
| 7 | 1 |
| 10 | 2 |
| 15 | 1 |
| 22 | 1 |
| 31 | 1 |
在 31 天内使用 **31 张不同卡片** 的用户代表极端情况——很可能是
批量使用被盗卡或账户作为金融骡子的表现。
#### 3. 欺诈集中度极高的商户
| merchant_id | 总交易数 | 退单数 | 退单率 |
|---|---|---|---|
| 1308 | 15 | 15 | **100.0%** |
| 44927 | 11 | 11 | **100.0%** |
| 73271 | 10 | 10 | **100.0%** |
| 4705 | 22 | 19 | 86.4% |
| 77130 | 15 | 13 | 86.7% |
| 91972 | 14 | 11 | 78.6% |
退单率为 100% 的商户可能对应两种场景:
**(a)** 用于变现被盗卡片的幽灵商户(商户欺诈);
**(b)** 凭据被攻破的合法商户,被欺诈者独占使用。
#### 4. 退单率为 100% 的设备
| device_id | 总交易数 | 退单数 | 退单率 |
|---|---|---|---|
| 357277 | 6 | 6 | 100.0% |
| 960729 | 6 | 6 | 100.0% |
| 597308 | 5 | 5 | 100.0% |
| 174844 | 5 | 5 | 100.0% |
| 547440 | 13 | 12 | 92.3% |
| 438940 | 14 | 13 | 92.9% |
在统计期内从未产生过正常交易的设备,很可能是**专为欺诈设计的硬件**,
例如模拟器、伪造的设备标识或专门用于欺诈操作的物理设备。
#### 5. 缺失 device_id — 反直觉的结果
| 组别 | 交易数 | 退单率 |
|---|---|---|
| 存在 device_id | 2,369 | **13.7%** |
| 缺失 device_id | 830 | 8.1% |
与直觉相反,缺失 device_id 与更低的退单率相关。解释是:数据集中
注册的 device_id 包含大量高度被控设备(退单率 85–100%),这拉高了
“存在 device_id”组的平均值。而缺失设备指纹很可能反映的是浏览器
元数据采集不足,而非恶意自动化。
#### 6. 速度 — 1 小时内的高频交易
| 指标 | 值 |
|---|---|
| 1 小时内发生 3 笔及以上交易的窗口数 | 49 |
| 这些窗口中的唯一用户数 | 29 |
| 退单率为 100% 的窗口占比 | **71.4%** |
超过 7 成的极速交易窗口最终都发生了退单,证实短时间内的
高频交易是此数据集中欺诈的强预测因子。
**典型案例 — user_id 75710:**
9 分钟内发生 7 笔交易,同一商户、同一卡,全部 `has_cbk=TRUE`,
总计 R$ 2,829.78。这不是卡测试,卡已通过验证。模式表明在持卡人
察觉并冻结卡片前,欺诈者进行了**快速倾销**。
**卡测试案例 — user_id 67519:**
1 小时内使用 4 张不同卡片在同一商户进行部分退单交易,
是典型的批量试探被盗卡片的授权行为。
**误报案例 — user_id 49106:**
4 笔交易,总额 R$ 16,020,无退单。高价值合法用户的行为不应被
简单速率规则阻断。
#### 7. 在不同用户间共享的卡片
数据集中有 31 张卡片被多个不同的 `user_id` 使用。
在合法操作中这是结构上不可能的——一张卡凭证应属于单一持卡人。
8 张退单率为 100% 且涉及多个用户的卡片指向两种场景:被盗卡被多个
“骡子”账户操作,或单一欺诈者在平台上创建多个 `user_id` 以分散风险信号。
#### 8. 欺诈三角 — user_91637 × merchant_4705 × device_563499
通过交叉引用前述发现,揭示了一个结构化的、基于数据的操作:
| 属性 | 值 |
|---|---|
| 操作周期 | 2019年11月21日 – 11月29日(8天) |
| 使用卡片数 | 22 |
| 关联商户 | 单一(4705) |
| 关联设备 | 单一(563499) |
| 总交易额 | R$ 17,335.51 |
| 退单率 | 86.4%
该行为者在 **夜间 23:00–03:00** 进行持续 2–4 小时的会话,
每晚消耗 2–6 张卡片。这是**系统性变现被盗卡批次**的行为,
而非孤立事件。同一张卡 `496045******1160` 在 user_91637 的批次中,
还被另外 3 个不同的 `user_id`(34289、75487、38392)使用,且均无退单,
这表明欺诈网络内的凭证共享,或持卡人在被阻断前被多个账户利用。
**关于设备共享:**
数据集中没有设备与多个 `user_id` 关联——这可能表明
使用了动态设备身份伪造,或数据管道中的元数据采集缺口。
#### 9. 实体图分析 — 分布式欺诈生态
为验证并可视化前述发现,将所有高风险实体(退单率 ≥ 50% 且交易数 ≥ 5)
建模为图网络:节点代表用户、卡片、商户、设备,边代表交易,
红色边为已确认退单,灰色边为正常交易。
**全网指标:**
| 指标 | 值 |
|---|---|
| 总节点数 | 220 |
| 总边数 | 208 |
| 连通分量数 | **17** |
| 网络密度 | 0.0086 |
**按度(连接数)排序的前 10 节点:**
| 节点 | 度 | 类型 |
|---|---|---|
| user_11750 | 37 | 用户 |
| user_91637 | 24 | 用户 |
| user_79054 | 20 | 用户 |
| user_96025 | 14 | 用户 |
| user_78262 | 14 | 用户 |
| user_99396 | 9 | 用户 |
| user_17929 | 9 | 用户 |
| user_7695 | 9 | 用户 |
| user_67519 | 8 | 用户 |
| user_27657 | 8 | 用户 |
**17 个连通分量**是一个关键结构发现:数据集中观察到的欺诈并非
单一中心化行为者的结果,而是**多个独立欺诈集群**共同作用。
每个分量代表一个独立的操作单元,彼此之间无直接连接。
这带来两点重要含义:
1. 阻断某一个集群不会影响其他集群,必须同时处理所有已识别组件;
2. 缺乏连接所有集群的单一枢纽,表明这些集群并非由单一组织协调,
而是多个行为者利用相同的平台漏洞——这指向了**开户或认证层面的系统性弱点**,
而非针对性攻击。
需要强调的是,此结论是基于网络结构得出的推断;数据集未包含
开户或认证数据,无法直接证实。验证需交叉比对商户注册记录与用户认证日志。
user_91637 的聚焦子图(34 个节点、33 条边)进一步确认了欺诈三角的可视化结构:
一个高连接度的中心用户,向 22 张卡片和 1 个商户辐射出欺诈边,
并通过共享卡片 `496045******1160` 与另外 3 个用户建立外围连接。
### 推荐行动
#### 即时操作(阻断/调查)
| 目标 | 条件 | 行动 |
|---|---|---|
| 商户 1308、44927、73271 | 退单率 = 100% 且交易数 ≥ 10 | 立即暂停 + KYC 审查 |
| 设备 357277、960729、597308、174844 | 退单率 = 100% | 永久黑名单 |
| 用户 91637 | 22 张卡片 · 86.4% 退单率 · 8 天操作 | 账户冻结 + 网络调查 |
| 用户 11750 | 31 张卡片 · 80.6% 退单率 | 账户冻结 + 完整交易审计 |
#### 拟议预防规则
**R1 — 每用户卡片速度**
当 `user_id` 在 7 天内使用 ≥3 张不同卡片时触发审查。
该阈值源自多卡用户 53.3% 的退单率相比对照组的 9.2 倍差异。
**R2 — 每用户小时速度**
对 1 小时内发生 ≥3 笔交易的用户触发自动审查。
此类窗口的退单率为 71.4%。
**R3 — 设备黑名单执行**
对历史退单率 ≥ 80% 且交易数 ≥5 的设备实施交易拒绝。
立即适用于数据集中已识别的 10 个设备。
**R4 — 商户观察名单**
对累计退单率 > 50% 且交易数 > 10 的商户进行实时监控,
达到 70% 时升级至人工审查。
**R5 — 跨用户共享卡片**
任何在多个活跃 `user_id` 间共享的卡片必须立即触发审查。
此类模式无合法解释。
### 增强检测所需的额外数据
数据集为行为分析提供了坚实基础,但以下数据缺口限制了早期模式识别:
#### 1. BIN 表(最高影响)
卡号的前六位标识发卡行、国家、卡种(信用/借记/预付)。
可通过 BIN 查询 API 获取,当前数据集中缺失。
对 user_91637 的影响:22 张卡片中至少 8 张共享 BIN 前缀 `530033` 与 `530034`,
表明它们来自同一发卡行,很可能来自同一数据源泄露。
实时规则可在单会话内检测 **≥2 张来自同一 BIN 范围的卡片**,
这将在第二次交易时就标记该操作(早于任何退单记录)。
这是目前最强、但缺失的早期检测信号。
#### 2. 完整设备指纹与会话元数据
数据集仅包含 `device_id`,缺乏设备本身或会话上下文信息。
完整指纹应包括 IP 地址、地理位置、操作系统、浏览器/应用 User-Agent、
屏幕分辨率、行为生物特征(输入节奏、触摸压力、字段间时间间隔)。
两个可闭合的缺口:
- **(a) 地理位置不匹配**:若设备定位在巴西而卡 BIN 表明为境外发行,
这在首次交易时即为风险信号;
- **(b) 会话异常检测**:user_91637 夜间交易间隔 15–45 分钟,
这与人工操作不一致,更符合自动化/半自动化工具特征。
此外,25.95% 的交易(830 笔)完全缺失 device_id,
表明当前数据收集管道存在结构性盲点。
对所有 CNP 交易强制设备指纹采集应作为基础架构要求,
而非可选增强。
#### 3. 每用户 6–12 个月的完整交易历史
数据集仅覆盖 31 天,无法建立基线行为画像。
在生产级欺诈检测中,最可靠的信号是**偏离历史模式**:
例如,某用户一贯在 200–500 雷亚尔区间交易,突然出现 1,400 雷亚尔夜间交易,
这正是异常所在。
当前数据限制无法区分新用户的首次合法大额交易与欺诈行为。
每个 `user_id` 至少 6 个月的历史数据才能支持速度基线、
时段偏好与预期票值范围的建立。
#### 4. 3DS 认证数据(3D Secure)
在 CNP 场景中,3DS 是将持卡人重定向至发卡行进行附加验证的协议。
是否通过、失败或绕过 3DS 是关键信号:
欺诈者通常无法完成发卡行验证,倾向于攻击未强制 3DS 或使用
备用流程的商户。
数据集中缺乏 3DS 结果,使得无法评估
退单是否非认证交易上。
#### 5. 商户开户与 MCC 数据
商户类别码(MCC)按业务类型对商户进行分类。
结合开户日期与预期交易量,可建立商户行为基线。
商户 1308、44927、73271 的 100% 退单率若结合
近期开户或 MCC 与交易金额不匹配,将更容易被识别为可疑。
幽灵商户欺诈——即欺诈者注册虚假商户以处理被盗卡——
是收单机构面临的最具破坏性的欺诈类型之一,
开户数据与 MCC 异常检测是主要防御手段。
### 财务影响 — 量化识别出的风险
在深入建模前,先从业务角度量化各可疑群体的财务敞口:
**数据集层面敞口:**
| 指标 | 值 |
|---|---|
| 总交易量 | R$ 2,456,233.48 |
| 总退单量 | R$ 568,346.62 |
| 退单交易占比 | 12.22% |
**按可疑群体划分的财务敞口:**
| 群体 | 条件 | 交易数 | 退单交易数 | 退单金额 | 退单率 |
|---|---|---|---|---|---|
| 多卡用户 | 每用户 ≥2 张卡 | 435 | 232 | R$ 337,192.44 | 53.3% |
| 高风险商户 | 退单率 ≥ 70% 且交易数 ≥ 5 | 256 | 223 | R$ 313,324.52 | 87.1% |
| 黑名单设备 | 退单率 = 100% 且交易数 ≥ 5 | 27 | 27 | R$ 44,600.17 | 100.0% |
| 前 5 大欺诈账户 | 最高卡片数的用户 | 97 | 84 | R$ 125,960.20 | 86.6% |
**合并影响(唯一交易):**
| 指标 | 值 |
|---|---|
| 唯一可疑交易数 | 514(占总交易 16.1%) |
| 唯一退单交易数 | 303(占退单交易 77.5%) |
| 唯一可疑交易额 | R$ 613,549.59 |
| 唯一退单交易额 | R$ 433,437.35 |
| **覆盖总退单额比例** | **76.3%** |
| 占总数据集交易额比例 | 25.0% |
**76.3% 的总退单金额集中在仅通过行为规则即可识别的群体中**——
无需外部数据、无需机器学习模型即可拦截。
所提出的 5 条确定性规则(R1–R5)应用于 25% 的交易,
即可捕获超过四分之三的财务损失。
这是**三层架构的核心商业案例**:第一层(规则)
以接近零的计算成本和延迟收回了大部分风险暴露;
第二层(评分模型)与第三层(图分析)用于捕获剩余的低信噪比案例。
### 模型结果 — XGBoost 欺诈检测
模型仅使用从原始交易数据派生的 9 个工程特征进行训练。
在保留的测试集(20%,分层抽样)上结果如下:
| 指标 | 值 |
|---|---|
| ROC-AUC(测试集) | **0.9975** |
| ROC-AUC(5 折 CV) | **0.9977 ± 0.0013** |
| 精确率(欺诈类) | 0.89 |
| 召回率(欺诈类) | **1.00** |
| F1 分数(欺诈类) | 0.94 |
| 整体准确率 | 0.98 |
| 漏报欺诈数 | **0** |
| 误报(合法标记为欺诈) | 10 |
模型实现了欺诈类别的**零漏报**,误报率 1.8% 在业务上可接受,
考虑到未检测出欺诈的成本远高于误拦截成本。
**特征重要性:**
| 特征 | 重要性 | 来源发现 |
|---|---|---|
| merchant_cbk_rate | **0.807** | 发现 #3 — 商户集中 |
| device_cbk_rate | 0.050 | 发现 #4 — 设备黑名单 |
| has_device | 0.033 | 发现 #5 — 设备缺失 |
| txn_velocity_1h | 0.021 | 发现 #6 — 速度 |
| bin_concentration_24h | 0.020 | 补充数据 #1 — BIN 范围 |
| hour_of_day | 0.019 | 欺诈三角 — 夜间模式 |
| transaction_amount | 0.016 | 发现 #1 — 票值 |
| cards_7d | 0.014 | 发现 #2 — 多卡 |
| amount_vs_user_avg | 0.012 | 发现 #1 — 票值偏离 |
| is_new_card | 0.007 | 发现 #7 — 共享卡 |
`merchant_cbk_rate` 的主导重要性(0.807)验证了核心发现:
**商户身份是预测欺诈的最强指标**。
#### 关键注意事项 — 特征的数据泄露
`merchant_cbk_rate` 与 `device_cbk_rate` 是使用**全量数据**计算的,
这构成了**数据泄露**:训练样本的未来信息被用于特征构造。
在生产环境中,这些特征必须仅基于**历史数据**滚动计算。
因此,0.9975 的 AUC 部分被高估;交叉验证得分 0.9977 ± 0.0013
同样受此影响。
泄露自由的实现需使用滚动窗口聚合,
这将产生更保守但更真实的性能估计。
本声明旨在强调负责任建模的必要性:
区分数据能证明什么与架构假设什么。
架构与特征工程逻辑在生产中仍然有效;
具体 AUC 数值需在正确的时间特征计算下重新评估。
### 反欺诈解决方案提案
数据集中识别的模式——速度爆发、多卡用户、 compromised 设备、
BIN 集中性与实体网络——无法通过单一检测机制解决。
每种模式具有不同的时间剖面,需要不同的检测方法。
所提议的解决方案是**三层架构**,各层互为补充:
该架构模拟闭环控制系统:每笔进入的交易都是信号,
评分引擎作为控制器,决定批准/审核/阻断,
而确认的退单反馈回系统以持续校准阈值与重训练模型。
这与静态规则引擎的区别在于自适应能力。
#### 第一层 — 确定性规则引擎(实时,< 50 毫秒)
第一层应用直接由分析得出的硬规则,
无需模型推理,在授权时刻执行。
| 规则 | 条件 | 动作 |
|---|---|---|
| R1 — 卡速度 | ≥3 张不同卡,7 天内 | 阻断 + 人工审核 |
| R2 — 速度 | ≥3 笔交易,60 分钟内 | 阻断 + 人工审核 |
| R3 — 设备黑名单 | 历史退单率 ≥ 80% 且交易数 ≥ 5 | 硬阻断 |
| R4 — 商户观察名单 | 商户退单率 > 70% 且交易数 > 10 | 阻断 + KYC 升级 |
| R5 — 共享卡身份 | 卡关联多个活跃 `user_id` | 标记 + 人工审核 |
| R6 — BIN 集中 | 单会话内 ≥2 张卡来自同一 BIN 范围 | 标记 + 摩擦 |
R1–R5 可立即部署;R6 需 BIN 补充,代表最高影响的补。
**重要设计考量:**
规则需包含异常处理逻辑。例如 user_49106:
4 笔交易、R$ 16,020、无退单——会触发 R2,但实为合法。
规则应对高历史价值用户降低摩擦(阶梯式认证而非硬阻断)。
#### 第二层 — 监督风险评分模型
第二层对每笔交易输出 0–1 的欺诈概率分数,
支持分级响应而非二元阻断。
推荐算法:**梯度提升树(XGBoost / LightGBM)**,
因其对表格数据表现良好、能处理缺失值——
数据集中 25.95% 的 `device_id` 缺失正是现实场景。
**从可用数据派生的特征:**
| 特征 | 描述 | 信号来源 |
|---|---|---|
| cards_7d | 最近 7 天不同卡片数 | 发现 #2 |
| txn_velocity_1h | 最近 1 小时交易数 | 发现 #6 |
| device_cbk_rate | 设备历史退单率 | 发现 #4 |
| merchant_cbk_rate | 商户历史退单率 | 发现 #3 |
| amount_vs_user_avg | 票值偏离用户历史均值 | 发现 #1 |
| hour_of_day | 小时(0–23) | 欺诈三角 — 夜间 |
| bin_concentration | 会话内同 BIN 范围卡片数 | 补充数据 #1 |
| has_device | 是否存在 device_id 标志 | 发现 #5 |
| is_new_card | 卡是否首次出现 | 发现 #7 |
**决策阈值:**
| 分数范围 | 决策 | 理由 |
|---|---|---|
| 0.0 – 0.3 | 批准 | 低风险 |
| 0.3 – 0.6 | 阶梯认证 | 不确定 — 增加摩擦 |
| 0.6 – 0.8 | 人工审核队列 | 高风险 — 人工分析 |
| 0.8 – 1.0 | 硬阻断 | 极高风险 |
**数据集局限性与诚实说明:**
当前数据仅覆盖 31 天、3,199 笔交易,
不足以训练生产级模型。
稳健模型需至少 6 个月数据、数万条标注样本,
并采用类别权重或 SMOTE 处理 88:12 的合法/欺诈比例。
所提架构生产就绪;
模型本身在当前数据规模下仅作概念验证。
#### 第三层 — 实体图分析
第三层解决规则与模型无法检测的**协同欺诈网络**。
将用户、卡片、设备、商户建模为图节点,
交易为边(红=退单,灰=正常)。
**实现方式(Python / NetworkX 示例):**
```
Nodes: user_id, card_number, device_id, merchant_id
Edges: each transaction connects user → card, user → device, user → merchant
Edge weight: transaction amount
Node attribute: CBK rate, transaction count
```
图分析提供两种能力:
- **(a) 关联有罪**:新用户若连接已知欺诈节点,
在其首笔交易前即被提升风险;
- **(b) 网络中断**:移除高中心性节点可同时破坏多个集群。
这对检测幽灵商户网络与多骡子卡操作尤为关键,
正是数据集中识别出的两大高损模式。
#### 架构总结
```
Incoming transaction
│
▼
┌───────────────────┐
│ Layer 1: Rules │──── Hard block / Flag ──────────────────────────►
│ (< 50ms) │
└────────┬──────────┘
│ (passes rules)
▼
┌───────────────────┐
│ Layer 2: Score │──── Block / Review / Step-up / Approve ─────────►
│ (XGBoost) │
└────────┬──────────┘
│ (async, post-authorization)
▼
┌───────────────────┐
│ Layer 3: Graph │──── Network alert / Proactive block ────────────►
│ (NetworkX) │
└────────┬──────────┘
│
▼
Confirmed CBK feedback loop
→ Retrain model (Layer 2)
→ Update rule thresholds (Layer 1)
→ Expand graph connections (Layer 3)
```
各层互补:规则快速但僵硬;
模型泛化但依赖历史;
图分析捕获网络但延迟更高。
三者共同覆盖从已知模式到未知关联的全谱欺诈行为。
## 第二部分 — 行业知识
### 1. 资金流、信息流与支付生态中的主要角色
卡支付触发两条并行流程:
- **信息流(授权)**:毫秒级完成;
- **资金流(结算与清算)**:历时数天。
理解二者的时间差与参与方是识别欺诈风险的基础。
#### 信息流 — 授权
用户发起 CNP 购买后:
1. **采集**:商户终端/站点捕获卡数据(PAN、有效期、CVV),
传送至**支付网关**,加密后转发至**收单行**;
2. **路由**:收单行将请求发送至对应**卡组织**(Visa/Mastercard/Elo/Amex),
依据卡 BIN 确定;
3. **网络路由**:卡组织识别**发卡行**,并将请求转发;
4. **发卡行决策**:检查额度、卡状态与行为信号,返回批准/拒绝/转 3DS;
5. **响应回传**:经卡组织、收单行至商户,终端显示结果。
反欺诈层可在该链路多点介入,
收单行在“路由后、转发至网络前”的拦截点最具成本效益。
在 3DS 场景下,额外插入持卡人身份验证步骤,
将未认证交易的退单责任转移至发卡行。
#### 资金流 — 清算与结算
资金流动滞后于授权:
1. **清算(D+0 至 D+1)**:收单行提交清算文件,卡组织进行多边轧差,
最小化实际资金划转;
2. **结算(D+1 至 D+2)**:卡组织通过央行系统完成收单行与发卡行间结算;
3. **商户入账(D+1 至 D+30)**:收单行扣除 **MDR(商户折扣费率)**
后向商户付款。MDR 包含:
- 互换费(付给发卡行)、
- 方案费(付给卡组织)、
- 收单行利差。
**时间差与欺诈含义:**
欺诈者在授权时即获得商品/服务,
而收单行垫资至商户需等待结算,
持卡人发起退单可能已滞后数周。
因此,**实时授权阶段的拦截是唯一经济有效的防线**。
#### 主要参与方、角色与激励
- **持卡人**:与发卡行建立关系,享有退单权,
但可能实施友好欺诈;
- **商户**:与收单行签约,承担交付与退单责任;
- **收单行(Acquirer)**:签约商户、垫资、承担欺诈与退单风险,
核心盈利来自 MDR 与互换费之差;
- **卡组织**:制定规则、路由网络,不直接承担资金风险;
- **发卡行**:审批交易、承担信用风险,
通过互换费补偿风险;
- **支付服务提供商(PSP)/ 处理器**:提供连接与技术服务,
可能但不必然承担财务风险。
### 2. 收单行、次级收单行与支付网关 — 关键区别
| 角色 | 网络成员资格 | 资金/风险责任 | 典型代表(巴西) |
|---|---|---|---|
| **收单行** | 直接成员,拥有 BIN | 全额承担商户欺诈与退单风险 | Cielo、Rede、Stone |
| **次级收单行(PayFac)** | 无直接成员资格,通过赞助收单行接入 | 承担其聚合商户的全部风险 | PagSeguro、Mercado Pago、CloudWalk |
| **支付网关** | 无财务角色,仅技术路由 | 不承担资金或退单风险 | 自研或第三方网关 |
**次级收单行风险集中度:**
所有子商户共享单一 MID,
卡组织仅向次级收单行追责。
这导致“幽灵商户”风险集中于次级收单行平台。
本数据集中的高退单商户(1308、44927、73271)
符合次级收单行模式下集中风险的特征。
### 3. 退单 — 定义、与取消的区别及与欺诈的关联
**退单(Chargeback)**:
持卡人通过发卡行发起的强制性交易撤销,
需经卡组织规则流程,周期 90–180 天,
收单行先行垫付并向商户追偿。
**取消(Refund)**:
商户主动发起的自愿退款,
无网络介入、无费用、即时完成。
| 维度 | 退单 | 取消 |
|---|---|---|
| 发起方 |持卡人/发卡行 | 商户 |
| 同意要求 | 无需商户同意 | 需商户同意 |
| 网络参与 | 是 | 否 |
| 费用与风险 | 退单费 + 影响退单率指标 | 无 |
| 时效 | 90–180 天 | 小时至天 |
**与欺诈的关联:**
在 CNP 环境中,退单是欺诈的主要财务体现。
欺诈链:盗卡 → 授权通过 → 收货 → 发起退单 → 收单行损失。
收单行必须在授权阶段进行预防,
因为资金垫付后追回难度大、成本高。
卡组织对收单行设有退单率阈值(如 Visa 0.9%),
超标将招致罚款与资格丧失。
本数据集 12.22% 的退单率约为阈值的 **12 倍**,
表明已触及高风险区间。
### 4. 收单行的反欺诈实践
反欺诈 = 覆盖交易生命周期的规则、模型与流程。
- **事前(Pre-authorization)**:商户 KYC 与风险准入;
- **事中(Authorization)**:实时规则 + 评分模型 + 图关联;
- **事后(Post-authorization)**:监控、退单管理与代表申诉;
- **反馈闭环**:退单数据回流优化规则与模型。
**关键权衡:误拒与漏拒**
过度防护损害收入与客户体验,
需按商户等级配置差异化阈值。
本案例提出的 5 条规则可在
捕获 76.3% 已知欺诈的同时,
通过例外逻辑将误拒降至可接受水平。
## 结语
本案例通过结构化分析揭示了欺诈的分布特征与驱动因子:
- 多卡用户、极速交易、集中商户与设备、
- BIN 集中性与网络关联共同构成欺诈生态;
- 76.3% 的损失可通过轻量级规则先行拦截;
- 剩余风险需依赖评分模型与图分析进一步化解。
反欺诈的本质是在客户体验与风险控制之间取得动态平衡,
并建立以数据反馈驱动持续优化的闭环机制。
## Visa threshold, which would trigger immediate intervention in a production
### 反欺诈及收购方如何使用
**Anti-fraud** 是用于实时(或接近实时)评估交易的一系列系统、规则和流程,以估算给定交易为欺诈的概率,并在产生财务敞口之前做出决策(批准、审查或阻止)。
反欺诈系统的核心功能是在**授权时刻**运行:在收单方向商户付款之前、在卡网络结算之前、以及在低成本干预窗口关闭之前。一旦欺诈在结算后被捕获,就需要发起拒付争议、进行法律追偿,并往往导致直接经济损失;而在授权阶段捕获欺诈,仅需承担计算检查的成本。
**收单方如何使用反欺诈**
收单方在两个维度上运行反欺诈:**交易级评分**与**组合监控**。
在交易级别,每一笔传入的授权请求都会根据一组确定性规则(速率检查、设备黑名单、BIN集中度标记)和概率模型(机器学习分类器,基于行为特征评估欺诈可能性)进行评估。输出是一个风险分数,驱动三种决策之一:自动批准、阶梯式认证(增加摩擦但不阻断)或硬阻断。这些决策之间的阈值是业务校准的结果,而非技术决定——较低的欺诈阈值可减少损失,但会增加误报,从而损害合法客户体验并导致客户流失。
在组合层面,收单方会随时间监控商户行为:拒付率趋势、与商户申报业务不一致的交易量激增等。这正是标记本分析中所述商户的层级——其中三家商户在10–15笔交易中表现出100%的拒付率,无论交易级评分如何,这一模式都要求立即暂停并重新进行KYC验证。
**反欺诈策略所固有的权衡**
每一项反欺诈决策都涉及两类错误之间的基本权衡:**漏报**(未被发现的欺诈造成经济损失)与**误报**(合法交易被阻断造成客户摩擦与收入损失)。过于激进的阻断策略会使商户流向竞争对手;过于宽松的接受策略则会导致拒付负债累积并面临卡网络制裁。
最优校准取决于商户细分、交易画像以及收单方的风险偏好,但其分析基础始终一致:识别欺诈集中的位置,在这些区域构建精确的检测能力,并随着模式演变持续重新校准。这正是本案例第一部分分析所展示的:通过在31天数据集中识别欺诈行为特征,可以设计规则与模型,在仅影响16.1%交易的情况下拦截76.3%的欺诈量。
## Project Status
| Stage | Status |
| --- | --- |
| Exploratory data analysis | ✅ Done |
| Velocity analysis | ✅ Done |
| Composite suspicious patterns | ✅ Done |
| Recommended actions | ✅ Done |
| Additional data for detection | ✅ Done |
| Financial impact quantification | ✅ Done |
| XGBoost model + feature importance | ✅ Done |
| Anti-fraud solution proposal | ✅ Done |
| Part 2 — Industry knowledge | ✅ Done |
标签:Apex, CNP, EDA, matplotlib, pandas, Python, scikit-learn, seaborn, Velocity Analysis, XGBoost, 交易欺诈, 信用卡欺诈, 卡未 present, 反欺诈, 图建模, 实体关系图, 实体图, 技术案例, 持卡人行为, 探索性数据分析, 支付行业, 支付风控, 无后门, 机器学习, 案例研究, 欺诈检测模型, 特权检测, 输出图表, 逆向工具, 速度分析, 风险分析, 风险分析师