2023年9月,深圳一个金融风控团队把评分卡模型从AUC 0.78迭代到0.81,准备上线。评审会上有人问了一句:坏账率会降多少?没人答得上来。于是补做了4张表:分数段分布表、KS曲线表、阈值-通过率-坏账率对照表、时间外样本验证表。做完发现,AUC涨了0.03,但在通过率70%的阈值下,坏账率只降0.15个百分点,收益远小于预期投入。
第一张表是分数段分布。把0-1的分数切成10段,看每段样本占比和实际坏账率。新旧模型对比发现,新模型在0.4-0.5分段样本占比从18%降到9%,这段的坏账率是11%,等于把一批中等风险用户挤到了更低分段。分布表能看出模型把人群往哪推,只看AUC看不出来。
第二张表是KS曲线。新模型KS从0.34升到0.37,峰值位置从0.52移到0.47。峰值左移意味着最佳切分点提前,通过率可以提高2个百分点而坏账率不变。这张表直接对应业务决策:多放2%的人进来,放进来的人坏账率控制在目标线内。KS的提升比AUC更贴近“切一刀”的场景。
第三张表是阈值对照。列5个候选阈值,每个阈值下写通过率、预期坏账率、预期损失金额。数据用近12个月样本回算,金额按平均授信额度2.8万元、回收率35%估算。对照表一摆,业务方自己就能选:阈值0.47对应通过率68%、坏账率2.1%、年损失约1400万元;阈值0.52对应通过率61%、坏账率1.7%、年损失约1100万元。多放7%的人,多亏300万元,值不值由业务定。
第四张表是时间外验证。用2022年10月到2023年3月训练,2023年4-9月验证。新模型在时间外样本上AUC 0.79,比随机切分的0.81低0.02,KS低0.03。这个差距是正常的,但如果时间外AUC掉超过0.05,就要怀疑过拟合。某次一个模型随机切分AUC 0.85,时间外只有0.74,查出来是用了“未来才知道”的还款行为特征,属于数据泄漏。
概率校准在风控里比排序更重要。模型输出0.3分,业务当成30%坏账率做定价,实际校准后是18%。偏差12个百分点,定价就定高了。团队用等渗回归做校准,把预测坏账率和实际坏账率的分组偏差从平均4.1个百分点压到0.8个百分点。校准后再做额度分配,同一风险等级内的额度利用率提升6%。
上线后要留监控表:每天算一次PSI(群体稳定性指数),超过0.1就报警。某次营销活动带来一批低活跃用户,特征分布偏移,PSI升到0.18,模型评分整体偏高,坏账率一周内从2.0%升到2.6%。报警后切回旧模型,两天内恢复。监控表不是事后报表,是止损开关。
常见错误清单:1)只看AUC不看KS;2)用随机切分代替时间外验证;3)阈值拍脑袋定;4)上线后不监控特征漂移;5)把排序分数当概率用。5条里踩中2条,上线风险就不可控。