3. Champion 模型基线建立
在启动 A/B 测试之前,必须为当前线上运行的信用评分模型(Champion)建立一份可量化的历史表现基线。该基线将作为后续 Challenger 模型对比的“零刻度”,所有提升或退化都以此为准。本章聚焦于提取 Champion 模型在离线验证集与线上稳定期的核心指标:KS、AUC、坏账率。
3.1 Champion 模型定义与数据窗口
首先明确 Champion 模型的版本标识与数据提取范围:
| 属性 | 说明 |
|---|---|
| 模型版本 | v2.3.1(2024-03 上线) |
| 算法类型 | XGBoost + 逻辑回归校准 |
| 评分区间 | 300 – 850 分 |
| 决策阈值 | 拒绝 < 580,人工审核 [580, 620),通过 ≥ 620 |
| 历史数据窗口 | 2024-04-01 至 2024-09-30(6 个月线上表现) |
| 观察样本量 | 约 120 万笔申请,其中 15 万笔有完整贷后表现 |
数据窗口选择原则:窗口应覆盖至少一个完整业务周期(含节假日、营销活动),且贷后表现期 ≥ 90 天,确保坏账标签充分暴露。
3.2 核心指标计算逻辑
三个基线指标的计算方式与业务含义如下:
- KS(Kolmogorov-Smirnov):衡量模型区分好/坏客户的最大累积差异。KS ≥ 0.3 为可用,≥ 0.4 为优秀。计算公式:
KS = max(|CumGood% - CumBad%|)。 - AUC(Area Under the ROC Curve):反映模型排序能力的全局指标。AUC ≥ 0.75 为良好,≥ 0.85 为优秀。
- 坏账率(Bad Rate):在通过客群中,逾期 ≥ 90 天的客户占比。需按评分段分层统计,避免均值掩盖尾部风险。
基线提取脚本(Python 伪代码):
import pandas as pd
from sklearn.metrics import roc_auc_score
# 加载 Champion 历史评分与贷后标签
df = pd.read_parquet("champion_history.parquet")
# 计算 KS
df_sorted = df.sort_values("score", ascending=True)
df_sorted["cum_good"] = (1 - df_sorted["is_bad"]).cumsum() / (1 - df_sorted["is_bad"]).sum()
df_sorted["cum_bad"] = df_sorted["is_bad"].cumsum() / df_sorted["is_bad"].sum()
ks = round(abs(df_sorted["cum_good"] - df_sorted["cum_bad"]).max(), 4)
# 计算 AUC
auc = round(roc_auc_score(df["is_bad"], df["score"]), 4)
# 计算整体坏账率
bad_rate = round(df["is_bad"].mean(), 4)
print(f"Champion 基线 | KS: {ks} | AUC: {auc} | BadRate: {bad_rate:.2%}")
3.3 基线结果总览
下表汇总 Champion 模型在历史窗口上的核心表现:
| 指标 | Champion 值 | 行业参考线 | 评估结论 |
|---|---|---|---|
| KS | 0.412 | ≥ 0.30 | 优秀 |
| AUC | 0.832 | ≥ 0.75 | 良好 |
| 整体坏账率 | 3.87% | ≤ 5.00% | 可控 |
| 通过率 | 62.3% | — | 辅助参考 |
注意:基线指标必须附带置信区间。例如 KS 的 95% 置信区间为 [0.398, 0.426],若 Challenger 的 KS 落在此区间内,则不能判定为显著提升。
3.4 按评分段分层基线
整体指标会掩盖低分段与高分段的行为差异。必须按评分段输出分层基线:
| 评分段 | 样本占比 | 坏账率 | KS 贡献 | 通过率 |
|---|---|---|---|---|
| 300 – 579(拒绝) | 18.2% | 12.41% | 0.152 | 0% |
| 580 – 619(人工) | 19.5% | 6.73% | 0.108 | 42.1% |
| 620 – 699(通过) | 35.1% | 2.85% | 0.097 | 100% |
| 700 – 850(优质) | 27.2% | 0.94% | 0.055 | 100% |
分层数据揭示:Champion 在低分段区分能力较强(KS 贡献 0.152),但在优质段区分力衰减(KS 贡献 0.055),这是 Challenger 模型可能的优化方向。
3.5 Champion 基线结构图
下图展示 Champion 基线建立的完整流程与指标层级:
3.6 基线确认清单
在将基线锁定为对照基准前,请逐项确认:
- 数据完整性:贷后表现标签覆盖 ≥ 90% 的通过样本,无系统性缺失。
- 时间一致性:训练集与线上表现期的客群分布无显著漂移(PSI < 0.1)。
- 指标稳定性:按月滚动计算 KS/AUC,波动幅度 ≤ ±0.02,无单调下降趋势。
- 分层合理性:各评分段坏账率单调递减,无异常倒挂。
- 置信区间:使用 Bootstrap 法(n=1000)计算各指标的 95% 置信区间并记录。
交付物:Champion 基线报告(PDF + JSON 格式),包含整体指标、分层指标、置信区间、数据窗口说明。该报告将作为第 4 章 Challenger 模型评估的硬性对照标准。