同一张评分卡、同一批申请人,只改利率: 利率 12% 时最优卡点在 0.0 分,通过 50.6%,坏账 6.0%,利润 +489。 利率提到 24%,最优点放宽到 -0.6 分,通过率升到 72.9%,坏账升到 9.9%,利润 +1889。 坏账率和通过率两列一模一样——变的只有一个东西:定价。
上一节的教训是「别相信回测挑出来的最优」。 这一节反过来说一个「最优确实存在」的场景:审批阈值。 它的最优点不靠历史挑,靠当期的价格和成本算出来。
一、阈值不是模型参数
很多人以为风控模型的交付物是「一个通过率」或者「一个分数卡点」。 其实那只是模型的一半——另一半在业务方手里:你打算收多少利息。 原因很直接:卡点决定「放给谁」,利率决定「放出去赚多少」。 这两件事乘起来才是利润。 所以卡点必须跟着利率动,它不是模型的属性,是定价的属性。 Demo 造 20000 个申请人,整体违约率 20%,违约损失率 60%,资金成本 3%。 利润口径是:通过的人里,好人赚利差,坏人亏掉本金的 60%。 然后在 8 个分数卡点上(-1.0 到 0.8),分别按 12% 和 24% 两个利率算总利润,看最优点在哪。 注意两轮的通过率和坏账率完全相同——因为模型和人群没变。 变的只有最后一列,而那一列决定了业务该怎么干。
二、利率翻倍,最优点反而放宽
| 卡点 | 通过率 | 坏账率 | 利润 12% | 利润 24% |
|---|---|---|---|---|
| -1.0 | 84.5% | 13.1% | -9 | +1752 |
| -0.6 | 72.9% | 9.9% | +314 | +1889 |
| -0.2 | 58.1% | 7.1% | +474 | +1769 |
| 0.0 | 50.6% | 6.0% | +489 | +1630 |
| 0.2 | 42.6% | 5.0% | +471 | +1442 |
| 0.4 | 35.2% | 4.2% | +430 | +1240 |
| 0.6 | 28.4% | 3.6% | +371 | +1028 |
| 0.8 | 21.8% | 3.1% | +300 | +807 |
| 前两列一模一样,这是这张表最要紧的地方。 | ||||
| 模型没变、人群没变、坏账曲线没变——变的只有定价。 | ||||
| 利率 12% 时最优点在 0.0 分(利润 +489),通过率 50.6%。 | ||||
| 利率 24% 时最优点挪到 -0.6 分(利润 +1889),通过率 72.9%。 | ||||
| 利率翻倍之后,最优点反而放宽了,通过率从 51% 涨到 73%。 | ||||
| 因为好人的利润变厚了,多担一点坏账还是划算。 | ||||
| 这一条反直觉,但它是纯算术: | ||||
| 利率低的时候,一个坏客户的损失要靠很多好客户才能补回来,所以要严。反过来,利率高的时候, | ||||
| 一个坏客户亏的钱,两个好客户就赚回来了,所以可以松。 |
三、坏账率是结果,不是目标
看坏账率那一列:从 13.1% 一路降到 3.1%。 收紧卡点确实能压低坏账,但利润是倒 U 形的——压到极致就不赚钱了。 「把坏账降到最低」和「利润最高」是两个不同的目标。 前者只要把所有人都拒掉就能实现(坏账率 0),但那也意味着利润 0。 这是风控里最常被误读的一件事:坏账率是结果指标,不是优化目标。 优化目标永远是「给定定价下的期望利润」,坏账只是其中一项。 而这张表还藏着一个操作细节:最优点附近曲线很平。 12% 时 -0.2 到 0.2 三个点分别是 +474、+489、+471——差别不到 4%。 所以卡点选偏一点,损失不大。 真正危险的是选到两端:-1.0 时利润是 -9(亏钱),0.8 时只剩 +300。 一个太松、一个太紧,两头的代价远大于中间的误差。
四、落地:交付一条曲线,不是一个数
所以正确的交付物不是「一个阈值」,而是「一条阈值-利润曲线」。 业务方按自己的定价去曲线上取点,风控方只保证曲线的形状对。 这条分工很重要:定价是业务决策(市场竞争、资金成本、产品定位),风控只负责把它翻译成卡点。 如果风控自己拍一个卡点,那它其实是在替业务定价格。 第二件事是分段建模。 这张表假设所有通过者共用一个违约概率曲线,但真实业务里不同客群(额度、地域、 渠道)的曲线不同。 同一个卡点,对不同客群的「边际客户」是不一样的。 第三件事是压力测试。 这张表里的违约率 20% 是平稳期的数;如果经济下行、违约率翻倍,最优点会立刻收紧。 所以交付时应该给出「违约率 20%/30%/40% 三档下的最优点」,而不是一个数。 最后一句:「最优卡点」是一个随定价和周期移动的点,不是一个可以封存的结论。 把它当成固定的数字,过半年就会变成错误答案。
五、动手 Demo:审批阈值:利率 12% 时最优在 0.0 分,提到 24% 放宽到 -0.6 分
造 20000 个申请人,分数服从某个分布、违约概率随分数递减、整体违约率 20%。 违约损失率 60%,资金成本 3%,利润口径为「好人赚利差、坏人亏六成本金」。 在 8 个分数卡点上分别按 12% 和 24% 两个利率算通过率、坏账率与总利润,找出各自的最优点。
def profit(rate, cut):
keep = s >= cut # 卡点以上放款
good = keep & (y < 0.5)
bad = keep & (y > 0.5)
earn = good.sum() * (rate - 0.03) # 好人赚利差
loss = bad.sum() * 0.60 # 坏人亏六成本金
return float(earn - loss)
for rate in (0.12, 0.24):
row = [profit(rate, c) for c in cuts]
best = cuts[int(np.argmax(row))]
实跑输出:
--------------------------------------------------------------------
审批阈值:利率 12% 时最优在 0.0 分,提到 24% 放宽到 -0.6 分
--------------------------------------------------------------------
申请人 20000 人,整体违约率 20%
违约损失率 60%(本金损失)
资金成本 3%
利润口径 通过者里:好人赚利差,坏人亏 60%
利率 12% 时(利差 9 个点):
分数卡点 通过率 坏账率 总利润
----------------------------------
-1.0 84.5% 13.1% -9
-0.6 72.9% 9.9% +314
-0.2 58.1% 7.1% +474
0.0 50.6% 6.0% +489
0.2 42.6% 5.0% +471
0.4 35.2% 4.2% +430
0.6 28.4% 3.6% +371
0.8 21.8% 3.1% +300
利率 24% 时(利差 21 个点):
分数卡点 通过率 坏账率 总利润
----------------------------------
-1.0 84.5% 13.1% +1752
-0.6 72.9% 9.9% +1889
-0.2 58.1% 7.1% +1769
0.0 50.6% 6.0% +1630
0.2 42.6% 5.0% +1442
0.4 35.2% 4.2% +1240
0.6 28.4% 3.6% +1028
0.8 21.8% 3.1% +807
**两张表的坏账率和通过率两列一模一样——模型没变,只是定价变了。**
**变的只有最后一列,和最优点位置:0.0 分对 -0.6 分。**
**利率翻倍之后,最优点反而放宽了,通过率从 51% 涨到 73%。**
**因为好人的利润变厚了,多担一点坏账还是划算。**
**所以阈值不是模型参数,是定价参数。**
这一点在风控落地里极其重要。**同一个评分卡,做信用卡和做小贷,最优卡点可以差一倍。**
**所以交付物不该是「一个阈值」,而是「一条阈值-利润曲线」。**
业务方按自己的定价去取点,风控方只保证曲线的形状对。
再看第一张表的坏账率那一列:**从 13.1% 一路降到 3.1%。**
**收紧卡点确实能压低坏账,但利润是倒 U 形的——压到极致就不赚钱了。**
**「把坏账降到最低」和「利润最高」是两个不同的目标。**
**这也是风控里最常被误读的一件事:坏账率是结果指标,不是优化目标。**
**优化目标永远是「给定定价下的期望利润」,坏账只是其中一项。**
还有一个细节值得看:**利率 12% 时,最优点附近(-0.2 到 0.2)利润是 +474 到 +471,差别很小。**
**这说明曲线在最优点附近是平的——卡点选偏一点,损失不大。**
**真正危险的是选到两端:-1.0 时利润只剩 -9,0.8 时剩 +300。**
要说明:分数分布、违约概率曲线、损失率都是我**设的**。
**真实业务的损失率随账龄变化,还有提前还款、展期、催回等因素。**
**但「最优卡点随定价移动」这个结论不依赖具体数字。**
两张表的前两列一模一样,这是最有说服力的一点: 模型、人群、坏账曲线完全不动,只是把利率从 12% 改成 24%,最优点就从 0.0 挪到 -0.6。 所以「最佳卡点」这个说法本身有问题——它必须带上前提:在什么定价下、什么违约率下。 24% 那一列的最优点利润是 12% 的 3.9 倍,但这个对比不能直接读。 利率翻倍意味着风险成本也变了,真实的 24% 产品客群会和这里不同。 这里能信的是「移动方向」,不是「倍数」。 曲线的形状也值得记:最优点附近很平,两端很陡。 这决定了运营上应该「保守地选中间,激进地避两端」。 要说明:分数分布、违约概率曲线、损失率都是我设的。 真实业务的损失率随账龄变化,还有提前还款、展期、催回等因素。 但「最优卡点随定价移动」这个结论不依赖具体数字。
30 秒实验
- 把违约损失率从 60% 改成 90%(无抵押产品),再看两个利率下的最优点。 都会收紧,而且 12% 时可能全区间亏损——这说明「定价能不能覆盖风险」是一个生死线, 不是优化问题。
- 把整体违约率从 20% 提到 35%,看最优点怎么动。大幅收紧,且利润曲线的峰值变矮。 这就是压力测试要看的:不是「最优点在哪」,是「最优点还剩多少」。
- 把卡点从 8 个加密到 40 个,看最优利润能提到多少。 提升很小——说明 0.2 分一档已经够了,精细到 0.04 分带来的收益比管理成本还低。
常见误区
- 「卡点是风控定的,和定价无关」。 利率从 12% 到 24%,最优点从 0.0 挪到 -0.6,通过率差 22 个点。
- 「坏账率越低越好」。压到极致就是全拒,利润也归零;坏账是结果指标。
- 「最优点附近要多试几次找精确位置」。 曲线在峰附近很平,多试的收益不到 4%,不如把精力放在估准损失率上。
自测三问(点开对答案)
1. 为什么利率提高之后,最优卡点反而放宽? —— 利率高时每个好客户贡献的利差更大,能覆盖更多坏客户造成的损失, 所以「多放一批边际客户」变得划算。 2. 为什么说坏账率不是优化目标? —— 全拒可以把坏账率压到 0,同时利润也变成 0; 真正的目标是给定定价下的期望利润,坏账只是其中一项成本。 3. 为什么交付物应该是一条曲线而不是一个数? —— 最优点随定价和周期移动;只给一个数等于替业务定了价格,而且环境一变这个数就失效。阈值定了「放给谁」。 接下来是「进来之后怎么要回来」——催收排序。这里的坑是「该找谁」和「该先找谁」不是一回事。
- ☐ (本节完,下一节 12.2.3 运营效能提升)