卡锁-出海资源第一站
www.kas2.com

Champion/Challenger:把”我觉得这个策略更好”变成”数据证明这个策略更好”

广告拉招租

提示:文中数据来源于互联网公开信息,为防止误解,文中所有涉及平台名称均作脱敏处理;原文末预留的回复下载资料,易被官方判定违规导流,现暂停,谢谢理解。

Champion/Challenger:把”我觉得这个策略更好”变成”数据证明这个策略更好”

前两篇我们把评分卡搭起来了,也把决策引擎的骨架搭起来了。但有一个问题始终绕不过去:你凭什么认为新版本比旧版本好?

大部分团队的回答是:离线 AUC 高了 0.02,KS 高了 0.03。这个回答在海外现金贷场景里几乎一定不够。因为离线指标衡量的是”排序能力”,而业务要的是”这版策略放款之后,赚的钱是不是更多、坏账是不是更少”。排序能力提升和利润提升之间,隔着定价、额度、通过率、欺诈、催收一整套转化链条。

Champion/Challenger 就是补上这一环的方法。它的核心思想很朴素:让旧版本继续做决策,新版本在旁边做同样的决策但不生效,等真实结果回来,用同一批人的真实表现做对比。

一、先搞清楚:这不是一次普通的 A/B 测试

很多人把 Champion/Challenger 当成”互联网 A/B 测试的信贷版”,这是个危险的简化。四个本质差异必须提前明确:

第一,结果来得极慢。 电商 A/B 测试当天就能看到转化率。信贷的”坏”要在 M3 甚至 M6 才完全暴露。你不可能等三个月再决定流量怎么走,所以你必须在”结果还没回来”的状态下持续做决策。

第二,不可回滚。 用户在电商看到差版本,损失是一次转化;在信贷拿到一笔不该放的款,损失是本金。放出去的钱收不回来,实验就不可逆。 这决定了信贷实验的试错成本远高于互联网。

第三,样本量天然有限。 海外现金贷单市场日申请量可能只有几百到几千,切 10% 给挑战者,一个月可能只积累几千样本。而几千样本里坏客户可能只有几十个,用几十个坏样本去判断两版策略的优劣,统计上毫无意义。

第四,监管视角的存在。 你的实验在监管眼里是”正在变更授信模型”,需要留痕、需要能解释、需要有明确的决策规则。一家银行做 A/B 测试不需要向监管解释分流逻辑,而信贷模型的变更通常需要。

认清这四点,才能理解下面所有设计为什么都要保守。

二、四种上线姿势:Shadow、Champion/Challenger、Staged Rollout、直接替换

行业里成熟的做法是把上线分成四个递进阶段,而不是一步到位。

Shadow(影子模式)是最安全的第一步。 新版本对进来的真实申请打分,决策被记录下来但完全不生效——挑战者的决策不产生任何放款。客户侧零影响,团队能看到新版本在”今天正在进来的这批人”身上会怎么做。

这里有一个特别容易踩的坑:影子模式必须是真影子。 有些平台的所谓影子模式其实是一个 UAT 环境,需要人工导入数据才能测——那测的是历史样本,不是今天真实的申请人分布。评估任何工具时都要问清楚:”是真正的影子模式,能让新规则跑在实时流量上并看到影响,还是需要先把数据加载进去才能测?”只有前者才能告诉你版本在当下流量上的真实行为。

Champion/Challenger 是真正回答”哪个更好”的阶段。 冠军继续做实时决策,挑战者对同样的输入打分,由设计好的规则决定是否让挑战者接管一部分流量。关键在于:晋级必须是一个需要证据和审批人的刻意动作,而不是自动发生。

Staged Rollout(灰度放量)用于确认已经在离线证明更好的版本在真实生产环境里的行为。 逐步扩大流量占比,从 5% 到 20% 到 50% 到全量。这不是在回答”哪个更好”,而是在回答”放量会不会出事”。

直接替换只在两种情况下可接受: 冠军已经明显失效(比如欺诈团伙已经摸清规则导致损失飙升)、或者变更属于合规强制(监管要求某项规则必须调整)。除此之外,跳过前面三步直接换版本,等于把所有风险一次性吃下。

这四个阶段每一个都应该以一个明确记录的 go/no-go 决策收尾,然后才进入下一个阶段。没有 go/no-go 记录的”我们试了一下然后就直接上了”,在监管检查时无法自证。

三、流量怎么切:随机化是唯一的护城河

切流量看起来简单,实际是整套方法里最容易出错的地方。

第一原则:随机分配,且按申请为粒度。 不能按用户切(同一个人反复申请会跨组)、不能按渠道切(渠道本身就是风险变量)、不能按时间切(时段是风险变量)。必须对每一笔申请独立随机,通常是哈希用户 ID 加盐后取模。

第二原则:切分后必须做平衡性检验。 分组完成不代表两组可比。上线前要对比两组的风险分布:申请分数分布、渠道构成、产品分布、地区分布、申请时段分布。如果挑战者组的平均分数显著高于冠军组,那后面所有的对比都是无效的。 这个检验不做,实验做三个月也是白做。

第三原则:切分比例由样本量决定,不是拍脑袋。 挑战者流量占比需要在”尽快积累样本”和”控制风险暴露”之间平衡。行业里的常见做法是从 10% 到 20% 起步。但在海外小市场,如果日申请量只有几百笔,10% 意味着一天只有几十笔,一个月不到一千笔——这种情况下正确的做法是把挑战者流量提高(比如 30% 至 50%),因为样本量不足导致的判断错误,比多暴露一点风险代价更大。 关键是要清楚:低流量是对的大市场做法,不是万能公式。

第四原则:切分逻辑必须可追溯。 每一笔申请要能回答:”它为什么被分到了这个组?”如果实验结束后需要复现分组,而分组逻辑是”随机数+当天日期”这种不可复现的方式,那么这个实验在监管场景下是站不住的。分组种子和哈希方法要作为实验文档的一部分固化下来。

四、指标怎么定:通过率、坏账、还是利润

这是 Champion/Challenger 里最考验经验的一环。大部分实验失败,不是因为工程做得不好,而是因为指标选错了。

先说不能只用哪些指标。 AUC、KS、Gini 这些是模型指标,衡量排序能力。它们可以用于决定”要不要把某个模型放进挑战者池”,但不能用于决定”要不要把挑战者转为冠军”。一个 AUC 提升 0.02 的模型,可能因为 cut-off 设置不当,导致放款人群结构变化、坏账反而上升。

核心指标应该是能直接映射到损益的一组量:

  • 通过率(分客群、分渠道看,不能只看总体):挑战者是不是放过了更多本可以放的人。
  • 早期风险指标:首期逾期率(FPD)、7 天与 30 天逾期率。这些指标回来得快,可以用于中途止损判断。
  • M1、M3 表现:决定最终结论的指标,但回来得慢。
  • 风险调整后的收益:把通过率提升、坏账变化、平均借款金额变化、催收回收率变化一起折算成一个数。

这里有个非常关键的方法论问题:变量之间会互相掩盖。

举个具体情形:挑战者的评分排序能力更强(AUC 更高),但如果同时用了更宽松的 cut-off,就会出现”通过率更高、通过人群的平均坏账也更高”。这时候你看总体坏账率,可能因为人群结构变化而看不出问题。正确做法是固定客群做对比——同一个分数段、同一个渠道、同一个产品下,两版策略的表现差异是多少。

这也是为什么”固定样本重放”(replay)在信贷实验里比在线分流更重要:把同一批历史申请分别用冠军和挑战者跑一遍,比较两者在完全相同的人群上的决策差异。 这种方法不受在线流量波动影响,也不需要等待表现期,可以作为上线前的第一道门槛。

五、表现期要多长:这是最容易被压缩的一步

海外现金贷最常见的翻车方式,是用 FPD 表现去判断一个需要用 M3 才能判断的策略。 具体场景:某个市场的 M3 坏账率约 8%,M1 约 12%,FPD30 约 3%。两个挑战者策略在 FPD30 上的差异只有 0.1 个百分点——这个差异远小于统计噪声,但团队等了两个月看到数据,就宣布”新策略 FPD 更好”然后全量替换。等到 M3 数据回来,发现新策略的 M3 反而差了 2 个百分点。

根本原因是:不同策略对不同账龄的风险敏感度不一样。 一个放开额度上限的策略,可能在 FPD 阶段看不出问题(第一期还款意愿通常高),但在 M2、M3 阶段坏账集中爆发。反过来,一个收紧获客的策略可能在 FPD 有明显改善,但 M3 提升有限。

实务上的判断标准是:判断结论必须建立在与策略性质匹配的账龄上。 涉及额度、期限、定价结构变化的策略,至少要看到 M3 才能下结论;只涉及客群筛选(cut-off 调整、名单剔除)的策略,M1 可以给出初步判断,但最终结论仍需 M3 确认。

在样本量不足的小市场,还有一个替代方案:跨市场迁移。 如果同一个策略在结构相似的其他市场(比如同为东非、同样以移动钱包为主要入口)已经跑过完整表现期,可以作为参考证据。但要注意:迁移证据只能作为辅助,不能替代本地验证,因为各国的欺诈模式、收入结构、催收环境差异很大。

六、统计数据说话:什么时候允许换冠军

换冠军需要一个事前定好的、可执行的判定规则,而不是事后看数据”感觉可以了”。一个可用的规则包含三个条件:

条件一:主要指标优于冠军,且幅度超过预设阈值。 阈值不能是 0,因为统计噪声永远存在。实务上建议把阈值设在”统计显著 + 业务有意义”的交集上——比如 M3 坏账率相对改善 5% 以上,且通过率没有下降超过 2 个百分点。

条件二:统计检验通过。 两版策略在同一批样本上的表现差异是否显著,需要做统计检验。学术与工业界的成熟做法包括对相关 ROC 曲线做显著性检验(常用的方法之一是 DeLong 检验)、以及用方差缩减技术(如 CUPED,把实验前的基线风险作为协变量)来提升检验灵敏度。在样本量小的小市场,方差缩减技术的价值尤其大——它能在不增加样本的情况下显著提高判断置信度。

条件三:稳定性与治理条件满足。 包括:模型稳定性指标(PSI)在可接受范围内、各主要客群的改善方向一致(不能出现”总体变好但某个核心客群明显变差”)、没有引入新的合规问题(比如规则用了不该用的数据、或对某个群体形成了不成比例的拒贷)。

多个挑战者同时达标时,选主要指标最优的那个,而不是选”最新的”或”最复杂的”。 这一点在实践里经常被违反:团队花了三个月做了个复杂的机器学习模型,明明一个简单规则调整效果更好,但因为”不想浪费这三个月的投入”,还是上了复杂模型。实验的意义就是防止这种沉没成本驱动的决策。

不达标时,正确的动作是保留冠军,并记录挑战者未晋级的理由与数据。 这个记录本身就是治理资产——下次监管问”你们怎么决定不换模型的”,你有据可查。

七、出海场景下最容易翻车的四个地方

翻车一:把”通过率上升”当作成功。 在获客压力大的市场,通过率上升往往被解读为好事。但如果坏账率同步上升、且净收益没有改善,那只是把利润换成了规模。每一个通过率提升都必须配一个”这部分新增通过人群的预期损失是多少”的测算,算不出这个数,通过率提升就没有意义。

翻车二:忽略执行层面的差异。 挑战者上线后,实际执行可能和设计不一致:决策引擎的某个分支没配好、某个数据源在挑战者路径上没接通、或者审批人员的操作习惯对新规则不适用。这时候你测的不是”新策略好不好”,而是”新策略执行得怎么样”。 上线前必须做三件事:分支覆盖测试(每一条决策路径,含拒绝、转人工、例外,都有测试用例)、历史回放(新版本跑在历史申请上,逐笔对比决策)、版本对比(批准率、坏账率、自定义 KPI 的跨版本比较)。测试环境和决策环境分离,是版本漂移的常见来源。

翻车三:没有回滚方案。 换冠军之后出问题,需要多长时间能切回去?如果答案超过一天,说明回滚方案不存在。一个可用的回滚方案要提前写清楚三件事:触发的阈值(分客群的批准率、早期逾期、稳定性指标、操作错误率)、切回的路径(旧版本仍然打包好、可部署)、以及决策人(谁能不召集委员会就做决定)。 没有演练过的回滚不能算有回滚。

翻车四:在线申请的归属没定。 一笔信贷申请可能持续几分钟到几天(需要补资料、需要人工复核)。版本切换的那一刻,正在流程中的申请由哪个版本决定?这个必须在上线前决定并记录,否则会在切换后暴露出一批”用旧版本收了件、用新版本出了决策”的脏数据,而这些数据会污染后续所有分析。

八、把这件事变成制度,而不是项目

最后回到根本:Champion/Challenger 的价值不在于”做过一次实验”,而在于把它变成一条长期运行的机制。

成熟的做法是建立月度或季度的固定评估周期:在每个评估周期,用截止到上一周期的全部历史数据训练候选挑战者,用本周期的时间外样本评估;计算每个挑战者相对现任冠军的指标提升幅度,做统计显著性检验;只有在主要指标优于冠军且检验显著的情况下才允许晋级;多个达标时取最优者;没有达标者则保留冠军。 每次评估都要登记冠军版本、验证指标、检验显著性水平与晋级决策。

这个机制的核心产出不是”更好的模型”,而是”一套能在数据分布持续变化的条件下,稳定维持模型有效性的治理流程”。 对出海团队来说,它的现实意义更直接:海外市场的数据分布变化比成熟市场快得多——汇率波动会改变还款能力分布、监管调整会改变客群结构、新的欺诈手法会在一两个月内让现有规则失效。在这种环境下,一个静态模型的生命周期可能只有半年。 没有更新机制,模型就是负债。

小结

Champion/Challenger 要回答的其实是一个很基础的问题:你怎么知道你的风控策略在变好? 离线指标给不出答案,业务直觉给不出答案,只有真实流量上的真实表现能给答案。

而要让这个答案可信,需要四个前提:随机且可追溯的分流、能映射到损益的指标、与策略性质匹配的表现期、以及事前定好的晋级规则。这四条缺一条,实验就变成了一次昂贵的自我确认。

下篇预告

下一篇(232)讲拒绝推断与样本偏差:你只看到被放款的人的表现,被拒的人后来怎么样了?这个看不见的部分,正是让风控模型持续高估自己能力的原因。

扫码加入交流群

海外现金贷风控交流群 入群二维码

长按识别关注公众号

AI风控实验室 公众号关注二维码

由于微信修改了推送规则,没有经常点“推荐”的,会慢慢收不到推送。如果你还想看到我们的信息,请将“AI风控实验室”加为星标,每次看完后别忘记点下“赞”哦!
0 赞 打赏
未经允许不得转载:卡锁 » Champion/Challenger:把”我觉得这个策略更好”变成”数据证明这个策略更好”
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏支持

支付宝扫一扫打赏

微信扫一扫打赏

'); })();