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, 反欺诈, 图建模, 实体关系图, 实体图, 技术案例, 持卡人行为, 探索性数据分析, 支付行业, 支付风控, 无后门, 机器学习, 案例研究, 欺诈检测模型, 特权检测, 输出图表, 逆向工具, 速度分析, 风险分析, 风险分析师