2、评分卡模型原理:标准评分卡、逻辑回归评分卡、A卡B卡C卡

做信用评分这些年,我见过不少团队把评分卡当成黑盒——调完参数就跑,根本不理解底层原理。其实评分卡的核心就两件事:怎么把坏客户筛出来,怎么把分数算准。这章咱们把三种最常见的评分卡模型掰开揉碎讲清楚。

标准评分卡(经典方法)

标准评分卡,说白了就是老一辈风控工程师用Excel都能搓出来的东西。它的基础是WOE(证据权重)和IV(信息价值)。为什么用WOE?因为WOE能把原始特征转成对数几率,这样就能和评分做线性对齐。

我早期做信用卡申请评分卡时,用的就是标准评分卡。那时没有Python,全靠跑SAS。每个变量先手动分箱,算WOE,然后给每个分箱赋值。你想想看,如果一个变量分5箱,就得算5个WOE值,再转换成加减分。嗯,确实繁琐,但好处是解释性极强——业务方拿着打分表就能跟客户解释为什么拒贷。

构建标准评分卡的标准步骤:

  1. 数据准备:好坏样本定义(通常好=1,坏=0),时间窗口对齐。
  2. 分箱:对连续变量(如年龄、收入)做等距或等频分箱,对离散变量做类别合并。我个人习惯用卡方分箱保证组内坏账率单调。
  3. 计算WOE:WOE = ln( (好客户占比) / (坏客户占比) ),正数表示该箱比整体好。
  4. IV筛选:IV < 0.02的变量直接扔掉,IV > 0.5可能有过度相关。
  5. 线性转换:设定基准分(如600分)和刻度(每增加20分信用风险翻倍),把WOE映射成分值。
  6. 校准:用历史数据做PSI(群体稳定性指数)测试。我曾经因为没做PSI,上线一个月后分数漂了30分,紧急回滚。
标准评分卡的本质:通过分箱 + WOE变换,把非线性关系强行掰成线性可加。它的上限取决于分箱质量,下限则受限于不会过拟合——因为分箱本身就做了强正则化。

逻辑回归评分卡(现代主流)

现在多数金融机构用的其实是逻辑回归评分卡。它的原理和标准评分卡一个模子,只是将WOE计算和系数估计交给了模型。说白了,逻辑回归的log-odds就是线性组合:

log(p/(1-p)) = β₀ + β₁x₁ + β₂x₂ + ...

然后通过一个固定公式把log-odds转成分数:

Score = Offset + Scale × (β₀ + β₁x₁ + ...)

这里Offset和Scale由业务定义——比如设定600分为均值,每20分对应坏账率翻倍。

相比标准评分卡,逻辑回归评分卡的好处是自动加权,不用人工拍权重。但代价是解释性变差——业务人员看不懂为什么某个特征系数是0.15。我建议必须同时保留WOE矩阵,这样每个变量贡献多少分,仍然可以分解给业务看。

对比维度标准评分卡逻辑回归评分卡
分箱方式手动/卡方分箱可自动分箱或直接入模
系数估计人工设定或简单回归最大似然估计
解释性极好,每项可追溯中等,需借助WOE映射
过拟合风险低(分箱正则化)中等(可加L1/L2调节)
维护成本高,每次需重新分箱较低,可自动重训
经验之谈:如果你刚开始做评分卡,我建议先用逻辑回归版本快速上线,再逐步替换为标准评分卡。因为逻辑回归的迭代成本低,可以更快看到效果。但到了监管合规阶段,标准评分卡才是硬通货。

A卡、B卡、C卡(应用场景分类)

评分卡不只一种,不同场景对应不同卡片。这是很多新人容易搞混的。其实区分很简单:A卡看申请,B卡看行为,C卡看催收。

  • A卡(Application Scorecard):用在客户申请时。评估准入风险,输入变量通常是客户填表信息(年龄、收入、职业)和外部征信。目标是拒绝坏客户,别让他们进来。
  • B卡(Behavior Scorecard):用在客户已经用卡后。评估未来逾期风险,输入变量是交易流水、还款记录、额度使用率。目标是提前干预,调整额度或催收。
  • C卡(Collection Scorecard):用在客户逾期后。评估催收成功率,输入变量是逾期天数、历史催收记录、联络方式有效性。目标是决定先催谁、怎么催。

记得有一次帮某银行优化B卡,业务方拿来一堆A卡变量往里塞,结果模型失效。我告诉他们:A卡是准入门槛,B卡是动态管理,两者用的信息完全不一样。你想想看,一个客户的还款行为,怎么可能用他申请时填写的“本科毕业”预测出来?

下面这张图把三张卡放在客户生命周期里,一看就懂:

客户生命周期中的三种评分卡 申请 使用/交易 逾期 A卡 申请评分 B卡 行为评分 C卡 催收评分 关键区别 A卡:一次性准入,特征来自申请表+征信(年龄、收入、负债率) B卡:持续更新,特征来自交易行为(还款习惯、额度使用率) C卡:逾期后触发,特征来自催收互动(失联天数、历史承诺)
重要提醒:不要企图用A卡替代B卡做贷中管理。我遇到过有人把A卡分数直接当行为分数用,结果完全失效——因为A卡变量(如“学历”)在贷后根本不变,无法捕捉风险迁移。三张卡必须各司其职,数据源和训练样本要严格分开。

另外,很多人问「能不能用一套模型跑三个场景?」理论上可以,但实操上不推荐。因为三个阶段的Y定义不一样:A卡的坏账通常定义在开卡后12个月内逾期90天以上;B卡的坏账定义更短,比如未来3个月逾期30天;C卡则把「能收回30%本金」算做好。目标不同,模型自然不同。

关于校准,我个人有个小习惯:每张卡上线前,都要做时间外验证(OOT)。拿A卡来说,用2019年数据训练,用2020年数据回测,看看分组坏账率是否单调。如果不单调,说明分箱或系数有问题。这个习惯让我避免了至少两次上线翻车。