某风控团队2023年9月上线一个逾期预测模型,测试集2000条,准确率82.3%。周会上有人问「这个82.3%靠谱吗」,没人答得上来。用二项分布算一下:n=2000,p=0.823,标准误约为0.0085,95%置信区间是[80.6%, 84.0%]。也就是说,真实准确率可能落在80.6到84.0之间的任何一个点,跨度3.4个百分点。
这个跨度意味着什么?如果业务线的决策阈值是「准确率低于81%就不上线」,那么这次评估根本没法下结论——区间下沿刚好压在线上。样本量不是越大越好,而是要和决策精度匹配。粗略公式:想分辨1个百分点的差异,每组至少需要约1.6万条样本(按p=0.5、α=0.05、power=0.8估算)。
对比一下不同指标对样本量的敏感度。准确率在p接近0.5时方差最大,2000条够用;但如果是「坏账率」这种p=0.03的稀有事件,2000条里只有60个正样本,AUC的置信区间宽度能达到±0.06。某消费金融公司2022年的复盘就吃过这个亏:离线AUC 0.78,上线后实际区分度只有0.71,原因是测试集里正样本仅47个。
实操上一个笨办法很有效:分层抽样+ bootstrap重采样。把2000条按「是否逾期」分层,每层抽80%做1000次重采样,记录每次的AUC,取2.5%和97.5%分位数。2023年11月某银行信用卡中心用这个方法,把一个样本量1500的模型评估从「AUC 0.75」细化为「0.75,区间[0.70,0.79]」,评审会当场决定延长观察期到3个月。
还有一个常被忽略的点:测试集的时间切分方式会改变结论。随机切分和按时间切分,同一个模型能差出0.03-0.05的AUC。某电商推荐团队2023年4月做过对照,随机切分AUC 0.81,按最后一周切分只有0.76。原因不复杂——随机切分让模型「见过」同一用户在不同时间的行为,存在信息泄漏。时间切分更接近线上真实场景。
评估报告里建议固定放4个数字:样本量、正样本数、指标点估计、95%置信区间。再加一行「最小可检测差异」(MDD),让读报告的人知道这份评估能分辨多大的效果。某SaaS公司2023年把这条写进模板后,模型上线前的争议会议减少了约一半。
最后提醒一个数字:如果两组A/B测试各2000条样本,观测到CTR从3.0%升到3.3%,用双比例检验算p值约0.08,不显著。很多团队会误判为「有效但波动」,实际上在这个样本量下,「没测出来」和「没有效果」是两回事,需要继续扩样而不是急着全量。