4. 误杀率核心指标

在支付风控策略的A/B测试中,策略效果不能只看“拦截了多少坏订单”,也不能只看“通过了多少好订单”。真正决定策略能否上线的,是一组相互制约的核心指标:误杀率、召回率、精确率、F1分数、通过率与拦截率。它们共同回答三个问题:坏人有没被拦住?好人有没有被误伤?整体流量结构是否健康?本节将逐一给出定义、计算方式,并说明它们在支付场景中的实际含义。

一、混淆矩阵:所有指标的共同起点

讨论指标前,必须先统一口径。支付风控中,通常把“欺诈、盗刷、恶意拒付”等风险订单视为正类(Positive),把正常订单视为负类(Negative)。策略的判定结果与真实标签交叉,得到混淆矩阵:

真实情况 \ 策略判定 拦截(预测为正) 通过(预测为负)
风险订单(正类) TP:正确拦截 FN:漏放
正常订单(负类) FP:误杀 TN:正确通过

其中,FP(误杀)是支付风控最敏感的指标,因为它直接对应真实用户的支付失败与客诉;FN(漏放)则对应资损。两者此消彼长,任何策略调整本质上都是在FP与FN之间重新分配代价。

二、六大核心指标的定义与计算

基于上述四个计数,六个指标的定义如下:

  • 误杀率(False Positive Rate, FPR):正常订单中被错误拦截的比例,FPR = FP / (FP + TN)。它衡量“好人被误伤”的严重程度。
  • 召回率(Recall):风险订单中被成功拦截的比例,Recall = TP / (TP + FN)。它衡量“坏人被抓住”的覆盖能力。
  • 精确率(Precision):被拦截订单中真正有风险的比例,Precision = TP / (TP + FP)。它衡量拦截动作的“纯度”。
  • F1分数(F1 Score):精确率与召回率的调和平均,F1 = 2 × Precision × Recall / (Precision + Recall)。它用于在两者之间做综合权衡。
  • 通过率(Pass Rate):全部订单中通过的比例,Pass Rate = (TN + FN) / (TP + FP + TN + FN)。它反映策略对整体流量的放行程度。
  • 拦截率(Block Rate):全部订单中被拦截的比例,Block Rate = (TP + FP) / (TP + FP + TN + FN)。它与通过率互补,二者之和为1。

关键关系:通过率 + 拦截率 = 1;误杀率的分母是正常订单,拦截率的分母是全部订单。二者分母不同,不能混用。例如拦截率下降,可能只是总流量变大,并不代表误杀率改善。

三、计算示例:一次A/B实验的指标复盘

假设某支付渠道一天有10万笔订单,其中真实风险订单500笔,正常订单99,500笔。对照组策略A与实验组策略B的混淆矩阵如下:

策略A(对照组):
TP = 400, FN = 100, FP = 1,500, TN = 98,000

策略B(实验组):
TP = 430, FN = 70,  FP = 2,200, TN = 97,300

分别计算两组指标:

策略A:
误杀率 FPR = 1500 / (1500 + 98000) = 1.51%
召回率 Recall = 400 / (400 + 100) = 80.0%
精确率 Precision = 400 / (400 + 1500) = 21.1%
F1 = 2 × 0.211 × 0.80 / (0.211 + 0.80) = 33.4%
通过率 = (98000 + 100) / 100000 = 98.1%
拦截率 = (400 + 1500) / 100000 = 1.9%

策略B:
误杀率 FPR = 2200 / (2200 + 97300) = 2.21%
召回率 Recall = 430 / (430 + 70) = 86.0%
精确率 Precision = 430 / (430 + 2200) = 16.3%
F1 = 2 × 0.163 × 0.86 / (0.163 + 0.86) = 27.4%
通过率 = (97300 + 70) / 100000 = 97.37%
拦截率 = (430 + 2200) / 100000 = 2.63%

从结果看,策略B把召回率从80%提升到86%,多拦住了30笔风险订单,但误杀率从1.51%上升到2.21%,多误杀了700笔正常订单,精确率和F1反而下降。若每笔误杀带来的客诉与补偿成本高于单笔资损,策略B未必优于策略A。这正是支付风控与一般机器学习任务的关键差异:不能只追求F1最大化,必须把误杀率作为硬约束。

四、指标之间的权衡与常见误区

六个指标并非彼此独立,调整阈值会同时改变它们。常见误区有三类:

  1. 只看召回率,忽视误杀率。把阈值调低可以抓住更多风险订单,但正常用户会被大量拦截,支付成功率下降,客诉上升,最终可能被业务方强制下线。
  2. 把精确率当作误杀率。精确率的分母是“被拦截订单”,误杀率的分母是“正常订单”。当拦截量很小时,精确率可能看起来不错,但误杀率仍可能很高。
  3. 用通过率判断策略松紧。通过率受流量结构影响很大。大促期间正常订单激增,通过率自然上升,并不代表策略变松。必须结合误杀率与召回率一起看。

实践建议:在支付风控A/B测试中,建议把误杀率设为上线的一票否决指标,把召回率设为效果指标,把F1作为辅助参考。通过率与拦截率用于监控整体流量健康度,避免策略对大盘造成结构性冲击。

注意:上述指标都依赖“真实标签”。支付场景中,风险订单的标签往往来自事后拒付、投诉或人工审核,存在滞后与遗漏。若标签本身不准确,所有指标都会失真。因此,在计算误杀率与召回率前,必须先确认标签口径与观察窗口是否一致。

五、指标口径统一清单

为了让A/B测试结论可信,团队应在实验前统一以下口径:

  • 正类定义:哪些风险类型计入正类(欺诈、盗刷、恶意拒付是否合并)。
  • 观察窗口:订单发生后多少天内的拒付计入标签。
  • 误杀判定:被拦截后经人工审核确认正常的订单,才计入FP。
  • 统计粒度:按订单、按用户还是按金额计算,三者结果可能不同。
  • 流量范围:是否包含测试流量、内部订单与已申诉订单。

只有口径统一,误杀率、召回率、精确率、F1、通过率与拦截率才具备可比性,A/B测试的结论才能支撑策略上线决策。