风控模型开发验证报告

实验 ID: 20261027-094603-65f1 · 生成时间: 2026-10-27 09:46 (GMT+8) · 报告结构:标准14节模型开发验证模板

00 模型概要信息

项目内容
模型名称exp_20261027-094603-65f1
开发完成日期2026-10-27
模型开发人员(人工填写)
模型开发人员邮件地址(人工填写)
模型验证人员(人工填写)
模型验证人员邮件地址(人工填写)
模型应用环节preloan_approval
模型应用频率(人工填写)
模型开发背景及业务用途描述Local MVP full pipeline run.
模型适用产品/客户描述(人工填写)
模型重开发原因(如有)—
模型拟监控频率(人工填写)
模型路线LR + WOE 评分卡
目标变量flag_30
实验 ID20261027-094603-65f1
待补充:模型开发/验证人员、应用频率、产品描述等字段需人工补填。

01 模型设计

建模数据样本窗口

项目内容
切分方式外部 data_flag 划分(TRAIN 内 6/4 随机开发/测试,VALI 跨时间,PSI 时点)
开发样本(Train)窗口—
预留验证样本窗口—
跨时间验证样本窗口—
PSI时点样本窗口—

模型好坏定义

项目内容
目标变量flag_30
坏样本(BAD=1)占比22.06%
好样本(BAD=0)占比—
不确定样本本流程要求目标变量已预计算为 0/1 二值,不确定样本请在上游合并口径

样本排除规则

序号排除规则说明
1credit_no主键/时间/口径字段,不入模
2apply_dt主键/时间/口径字段,不入模
3flag_30 为空排除 0 行

滚动率分析

待补充:滚动率分析(M0→M6+ 状态迁移矩阵)需要逾期状态口径数据,当前流程目标变量为上游已计算的二值标签,暂未生成。
待补充:表现窗口及坏账率分析、模型细分定义需结合业务口径人工补充。

02 数据流

开发时点 — 样本排除

类别样本数
全部样本30000
排除:目标变量为空0
排除后样本30000

注:按照01模型设计的排除规则统计;当前流程的排除项为目标变量缺失。

总体样本概况

数据集样本量好样本坏样本坏样本率占比
全部样本3000023383661722.06%100.00%
开发样本108018453234821.74%36.00%
测试样本71995635156421.73%24.00%
训练+测试样本1800014088391221.73%60.00%
跨时间验证样本60004624137622.93%20.00%
PSI时点样本600046711329—20.00%

开发/预留验证样本交叉统计

类别开发+预留样本数开发样本数开发占比预留验证样本数预留验证占比
好14088845360.00%563540.00%
坏3912234860.02%156439.98%
合计180001080160.01%719939.99%

细致变量分析(预分箱口径,开发样本)

变量IV缺失率取值集中度最大相关系数
risk_score_v20.86490.00%0.94%0.9986
risk_score0.86470.00%0.91%0.9986
bh_a0010.84260.00%0.15%0.9298
ScoreCust20.79720.00%1.13%0.9952
ScoreCust2_v20.78220.00%1.14%0.9952
bh_a0090.63120.00%1.73%0.8070
avg_tnr0.44310.00%1.92%0.6947
cust_seg20.39830.00%30.86%0.6662
query_cnt_3m0.33630.00%16.53%0.5822
income_grade0.27910.00%31.12%0.5458
repay_amt_6m_grade0.25090.00%27.69%0.5342
tenure_m0.14310.00%5.50%0.3328
card_usage_ratio0.12340.00%1.69%0.3613
rare_field0.112896.32%0.76%0.0812
bank_997_cnt_3m0.05870.00%34.62%0.2757
edu_level0.00130.00%42.13%—
region_code0.00120.00%20.63%—
flag_special0.00000.00%95.41%0.0380

注:共 18 个候选变量,按 IV 降序展示前 18 个;集中度 = 最大频次取值样本数 ÷ 非空样本数;相关性为皮尔逊(仅数值变量),完整数据见 variable_detail.json。

03 单变量分析(细分箱)

risk_score — IV 0.8674,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 519.5]255524141415.52%1.5593
2(519.5, 564.5]3183275243113.54%0.5730
3(564.5, 600.5]2574194662824.40%-0.1500
4(600.5, 643.5]1752106069239.50%-0.8545
5(643.5, inf]73728145661.87%-1.7651
risk_score_v2 — IV 0.8628,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 518.5]251123721395.54%1.5561
2(518.5, 563.5]3131271142013.41%0.5839
3(563.5, 602.5]2766209667024.22%-0.1404
4(602.5, 643.5]165399366039.93%-0.8725
5(643.5, inf]74028145962.03%-1.7717
bh_a001 — IV 0.7941,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 280.0500030517578]394136413007.61%1.2153
2(280.0500030517578, 332.75]3801305075119.76%0.1205
3(332.75, 367.75]1739115958033.35%-0.5887
4(367.75, 394.25]75639236448.15%-1.2068
5(394.25, inf]56421135362.59%-1.7956
ScoreCust2_v2 — IV 0.7932,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 507.5]16491574754.55%1.7629
2(507.5, 544.5]3158279436411.53%0.7571
3(544.5, 583.5]3802291289023.41%-0.0956
4(583.5, 606.5]129580249338.07%-0.7944
5(606.5, inf]89737152658.64%-1.6301
ScoreCust2 — IV 0.7925,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 508.5]17061626804.69%1.7309
2(508.5, 545.5]3198282537311.66%0.7437
3(545.5, 579.5]3393261378022.99%-0.0720
4(579.5, 604.5]152797355436.28%-0.7177
5(604.5, inf]97741656157.42%-1.5800
bh_a009 — IV 0.6036,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 6.3500001430511475]90243346952.00%-1.3608
2(6.3500001430511475, 8.050000190734863]1648105759135.86%-0.6996
3(8.050000190734863, 9.25]1640118345727.87%-0.3298
4(9.25, 11.449999809265137]3422285556716.57%0.3355
5(11.449999809265137, inf]318929252648.28%1.1241
avg_tnr — IV 0.4376,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.149999976158142]92647445248.81%-1.2334
2(2.149999976158142, 3.350000023841858]96160935236.63%-0.7328
3(3.350000023841858, 4.450000047683716]125890335528.22%-0.3474
4(4.450000047683716, 7.3500001430511475]4230339183919.83%0.1157
5(7.3500001430511475, inf]3426307635010.22%0.8925
cust_seg2 — IV 0.3733,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]205618671899.19%1.0094
2(3.5, 4.5]3333282251115.33%0.4279
3(4.5, 5.5]3330250582524.77%-0.1703
4(5.5, inf]2082125982339.53%-0.8558
query_cnt_3m — IV 0.3273,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]55028826247.64%-1.1863
2(0.5, 2.5]2750187587531.82%-0.5188
3(2.5, 3.5]1785138440122.46%-0.0422
4(3.5, 5.5]3012249252017.26%0.2861
5(5.5, inf]2704241429010.72%0.8382
income_grade — IV 0.2791,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]121174346838.65%-0.8187
2(3.5, 4.5]2510176674429.64%-0.4165
3(4.5, 5.5]3361268967219.99%0.1057
4(5.5, 6.5]2503215035314.10%0.5258
5(6.5, inf]121611051119.13%1.0171
repay_amt_6m_grade — IV 0.2509,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]1647104760036.43%-0.7242
2(3.5, 4.5]2268163463427.95%-0.3342
3(4.5, 5.5]2991238460720.29%0.0870
4(5.5, 6.5]2286194434214.96%0.4567
5(6.5, inf]1609144416510.25%0.8883
tenure_m — IV 0.1702,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.5]69641428240.52%-0.8970
2(2.5, 10.5]117989128824.43%-0.1516
3(10.5, 53.5]77156046166921.63%0.0062
4(53.5, 58.5]6475687912.21%0.6917
5(58.5, inf]564534305.32%1.5982
card_usage_ratio — IV 0.1589,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.107999999076128]922854687.38%1.2495
2(0.107999999076128, 0.3381499946117401]3589290468519.09%0.1635
3(0.3381499946117401, 0.6137499809265137]44403434100622.66%-0.0532
4(0.6137499809265137, 0.7716499865055084]130992538429.34%-0.4018
5(0.7716499865055084, inf]54133620537.89%-0.7869
bank_997_cnt_3m — IV 0.0804,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]3447289954815.90%0.3849
2(0.5, 1.5]3739292881121.69%0.0028
3(1.5, 2.5]2224165556925.58%-0.2133
4(2.5, inf]139197142030.19%-0.4429
rare_field — IV 0.0679,2 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 1.0099999904632568]3352666920.60%0.1224
2(1.0099999904632568, inf]62412133.87%-0.5580
edu_level — IV 0.0013,4 箱
分组号分栏TotalGoodBadBad RateWOE
1大专3260257468621.04%0.0414
2本科4550355599521.87%-0.0076
3硕士及以上1405108132423.06%-0.0761
4高中及以下1586124334321.63%0.0066
region_code — IV 0.0012,5 箱
分组号分栏TotalGoodBadBad RateWOE
1其他2119165746221.80%-0.0038
2华东2156168547121.85%-0.0063
3华北2119168243720.62%0.0668
4华南2179170147821.94%-0.0116
5西南2228172850022.44%-0.0408
flag_special — IV 0.0000,1 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, inf]108018453234821.74%0.0000

注:统计全部候选变量的自动分箱明细(初分组),按 IV 降序展示前 18 个变量,共 18 个;完整数据见 feature_report.json。

04 单变量分析(粗分箱)

risk_score — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 519.5]255524141415.52%1.5593
2(519.5, 564.5]3183275243113.54%0.5730
3(564.5, 600.5]2574194662824.40%-0.1500
4(600.5, 643.5]1752106069239.50%-0.8545
5(643.5, inf]73728145661.87%-1.7651
2026-10-27T09:46:06.658556 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(5.52% → 61.87%),WOE 单调下降(1.5593 → -1.7651),符合风控分箱预期。IV=0.8674,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 5 箱((643.5, inf])为极高风险区间:坏率高达 61.87%,策略上应重点管控

avg_tnr — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.149999976158142]92647445248.81%-1.2334
2(2.149999976158142, 3.350000023841858]96160935236.63%-0.7328
3(3.350000023841858, 4.450000047683716]125890335528.22%-0.3474
4(4.450000047683716, 7.3500001430511475]4230339183919.83%0.1157
5(7.3500001430511475, inf]3426307635010.22%0.8925
2026-10-27T09:46:06.786491 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(48.81% → 10.22%),WOE 单调上升(-1.2334 → 0.8925),符合风控分箱预期。IV=0.4376,该变量区分度尚可。

WOE 在第 3、4 箱之间穿越 0 线:前 3 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 2.149999976158142])为极高风险区间:坏率高达 48.81%,策略上应重点管控

cust_seg2 — 4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]205618671899.19%1.0094
2(3.5, 4.5]3333282251115.33%0.4279
3(4.5, 5.5]3330250582524.77%-0.1703
4(5.5, inf]2082125982339.53%-0.8558
2026-10-27T09:46:06.916589 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(9.19% → 39.53%),WOE 单调下降(1.0094 → -0.8558),符合风控分箱预期。IV=0.3733,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 4 箱((5.5, inf])为极高风险区间:坏率高达 39.53%,策略上应重点管控

query_cnt_3m — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]55028826247.64%-1.1863
2(0.5, 2.5]2750187587531.82%-0.5188
3(2.5, 3.5]1785138440122.46%-0.0422
4(3.5, 5.5]3012249252017.26%0.2861
5(5.5, inf]2704241429010.72%0.8382
2026-10-27T09:46:07.048226 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(47.64% → 10.72%),WOE 单调上升(-1.1863 → 0.8382),符合风控分箱预期。IV=0.3273,该变量区分度尚可。

WOE 在第 3、4 箱之间穿越 0 线:前 3 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 0.5])为极高风险区间:坏率高达 47.64%,策略上应重点管控

income_grade — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]121174346838.65%-0.8187
2(3.5, 4.5]2510176674429.64%-0.4165
3(4.5, 5.5]3361268967219.99%0.1057
4(5.5, 6.5]2503215035314.10%0.5258
5(6.5, inf]121611051119.13%1.0171
2026-10-27T09:46:07.180801 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(38.65% → 9.13%),WOE 单调上升(-0.8187 → 1.0171),符合风控分箱预期。IV=0.2791,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 3.5])为极高风险区间:坏率高达 38.65%,策略上应重点管控

repay_amt_6m_grade — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]1647104760036.43%-0.7242
2(3.5, 4.5]2268163463427.95%-0.3342
3(4.5, 5.5]2991238460720.29%0.0870
4(5.5, 6.5]2286194434214.96%0.4567
5(6.5, inf]1609144416510.25%0.8883
2026-10-27T09:46:07.311144 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(36.43% → 10.25%),WOE 单调上升(-0.7242 → 0.8883),符合风控分箱预期。IV=0.2509,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 3.5])为极高风险区间:坏率高达 36.43%,策略上应重点管控

tenure_m — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.5]69641428240.52%-0.8970
2(2.5, 10.5]117989128824.43%-0.1516
3(10.5, 53.5]77156046166921.63%0.0062
4(53.5, 58.5]6475687912.21%0.6917
5(58.5, inf]564534305.32%1.5982
2026-10-27T09:46:07.439620 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(40.52% → 5.32%),WOE 单调上升(-0.8970 → 1.5982),符合风控分箱预期。IV=0.1702,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 2.5])为极高风险区间:坏率高达 40.52%,策略上应重点管控

card_usage_ratio — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.107999999076128]922854687.38%1.2495
2(0.107999999076128, 0.3381499946117401]3589290468519.09%0.1635
3(0.3381499946117401, 0.6137499809265137]44403434100622.66%-0.0532
4(0.6137499809265137, 0.7716499865055084]130992538429.34%-0.4018
5(0.7716499865055084, inf]54133620537.89%-0.7869
2026-10-27T09:46:07.612792 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(7.38% → 37.89%),WOE 单调下降(1.2495 → -0.7869),符合风控分箱预期。IV=0.1589,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 5 箱((0.7716499865055084, inf])为极高风险区间:坏率高达 37.89%,策略上应重点管控

bank_997_cnt_3m — 4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]3447289954815.90%0.3849
2(0.5, 1.5]3739292881121.69%0.0028
3(1.5, 2.5]2224165556925.58%-0.2133
4(2.5, inf]139197142030.19%-0.4429
2026-10-27T09:46:07.740708 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(15.90% → 30.19%),WOE 单调下降(0.3849 → -0.4429),符合风控分箱预期。IV=0.0804,该变量区分度偏弱但可用。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 4 箱((2.5, inf])为高风险区间:坏率高达 30.19%,可作为拒绝或重点风控策略的阈值参考

注:统计入模变量经合并调整后的最终分箱明细(开发样本口径)。当前流程细/粗分箱由同一自动分箱算法直接产出。

05 变量筛选

项目内容
筛选优先级黑名单 > 白名单 > 自动规则
IV 下限0.02
缺失率上限0.8
集中度上限0.9
相关性上限(皮尔逊)0.7
PSI 上限0.25
重要性 Top-K80
黑名单无
白名单无

候选变量 18,成功分箱 18,入模 9

变量白名单入模IV缺失率集中度IV门槛相关性PSI剔除原因
risk_score—Y0.8674PASSPASSPASSPASS0.0010
ScoreCust2—N0.7925PASSPASSPASSFAIL0.0019与 risk_score 相关>0.7
cust_seg2—Y0.3733PASSPASSPASSPASS0.0005
income_grade—Y0.2791PASSPASSPASSPASS0.0009
bh_a001—N0.7941PASSPASSPASSFAIL0.0006与 risk_score 相关>0.7
bh_a009—N0.6036PASSPASSPASSFAIL0.0007与 risk_score 相关>0.7
bank_997_cnt_3m—Y0.0804PASSPASSPASSPASS0.0010
avg_tnr—Y0.4376PASSPASSPASSPASS0.0010
repay_amt_6m_grade—Y0.2509PASSPASSPASSPASS0.0007
tenure_m—Y0.1702PASSPASSPASSPASS0.0015
query_cnt_3m—Y0.3273PASSPASSPASSPASS0.0002
card_usage_ratio—Y0.1589PASSPASSPASSPASS0.0004
rare_field—N0.0679FAILPASS———缺失率>0.8
flag_special—N0.0000PASSFAIL———集中度>0.9
edu_level—N0.0013PASSPASSFAIL——IV<0.02
region_code—N0.0012PASSPASSFAIL——IV<0.02
risk_score_v2—N0.8628PASSPASSPASSFAIL0.0013与 risk_score 相关>0.7
ScoreCust2_v2—N0.7932PASSPASSPASSFAIL0.0010与 risk_score 相关>0.7

06 回归结果

硬门槛:P≥0.1 / VIF>4.0 迭代剔除,共 1 个变量被剔除(2 轮):cust_seg2。

ParameterLabelEstimate(无惩罚)Standard ErrorWald Chi-SquarePr > ChiSqStandardized Estimate
InterceptIntercept-1.28090.02602430.36<0.0001—
WOE_risk_scorerisk_score-0.72880.0440274.97<0.0001-0.7101
WOE_avg_tnravg_tnr-0.20560.047318.90<0.0001-0.1358
WOE_query_cnt_3mquery_cnt_3m-0.12590.05245.770.0163-0.0724
WOE_income_gradeincome_grade-0.14900.05517.320.0068-0.0806
WOE_repay_amt_6m_graderepay_amt_6m_grade-0.10650.05763.420.0644-0.0545
WOE_tenure_mtenure_m-0.13240.06813.780.0520-0.0611
WOE_card_usage_ratiocard_usage_ratio-0.26960.071414.260.0002-0.1179
WOE_bank_997_cnt_3mbank_997_cnt_3m-0.19750.09084.730.0296-0.0563

注:Estimate 列为无惩罚(精确推断)拟合;生产系数保持 L2 正则(model_results.json / score.py 口径),两套估计并列展示。标准误基于无惩罚似然观测信息矩阵。

07 VIF

VIF

ParameterVIF
risk_score2.79407
avg_tnr1.69830
query_cnt_3m1.46745
income_grade1.37277
repay_amt_6m_grade1.35263
tenure_m1.16600
card_usage_ratio1.13428
bank_997_cnt_3m1.07526

相关系数(WOE 转换后,开发样本)

risk_scoreavg_tnrquery_cnt_3mincome_graderepay_amt_6m_gradetenure_mcard_usage_ratiobank_997_cnt_3m
risk_score1.0000.6360.5560.5130.5060.3730.3380.259
avg_tnr0.6361.0000.4010.3620.3530.2630.2410.184
query_cnt_3m0.5560.4011.0000.3320.3150.2340.2220.166
income_grade0.5130.3620.3321.0000.2910.2210.1990.164
repay_amt_6m_grade0.5060.3530.3150.2911.0000.2060.1920.147
tenure_m0.3730.2630.2340.2210.2061.0000.1400.104
card_usage_ratio0.3380.2410.2220.1990.1920.1401.0000.100
bank_997_cnt_3m0.2590.1840.1660.1640.1470.1040.1001.000

08 最终评分卡

标准分600.0
标准ODD20.0
PDO20.0
变量分栏WOECoefficientScorecard Points
risk_score(-inf, 519.5]1.5593-0.7289102
(519.5, 564.5]0.5730-0.728981
(564.5, 600.5]-0.1500-0.728966
(600.5, 643.5]-0.8545-0.728951
(643.5, inf]-1.7651-0.728932
avg_tnr(-inf, 2.149999976158142]-1.2334-0.205062
(2.149999976158142, 3.350000023841858]-0.7328-0.205064
(3.350000023841858, 4.450000047683716]-0.3474-0.205067
(4.450000047683716, 7.3500001430511475]0.1157-0.205069
(7.3500001430511475, inf]0.8925-0.205074
query_cnt_3m(-inf, 0.5]-1.1863-0.125565
(0.5, 2.5]-0.5188-0.125567
(2.5, 3.5]-0.0422-0.125569
(3.5, 5.5]0.2861-0.125570
(5.5, inf]0.8382-0.125572
income_grade(-inf, 3.5]-0.8187-0.149565
(3.5, 4.5]-0.4165-0.149567
(4.5, 5.5]0.1057-0.149569
(5.5, 6.5]0.5258-0.149571
(6.5, inf]1.0171-0.149573
repay_amt_6m_grade(-inf, 3.5]-0.7242-0.107567
(3.5, 4.5]-0.3342-0.107568
(4.5, 5.5]0.0870-0.107569
(5.5, 6.5]0.4567-0.107570
(6.5, inf]0.8883-0.107572
tenure_m(-inf, 2.5]-0.8970-0.133265
(2.5, 10.5]-0.1516-0.133268
(10.5, 53.5]0.0062-0.133269
(53.5, 58.5]0.6917-0.133271
(58.5, inf]1.5982-0.133275
card_usage_ratio(-inf, 0.107999999076128]1.2495-0.265978
(0.107999999076128, 0.3381499946117401]0.1635-0.265970
(0.3381499946117401, 0.6137499809265137]-0.0532-0.265968
(0.6137499809265137, 0.7716499865055084]-0.4018-0.265966
(0.7716499865055084, inf]-0.7869-0.265963
bank_997_cnt_3m(-inf, 0.5]0.3849-0.200471
(0.5, 1.5]0.0028-0.200469
(1.5, 2.5]-0.2133-0.200468
(2.5, inf]-0.4429-0.200466

09 模型表现

模型区分度评估(按样本)

模型样本KSAUCGINI
LR + WOE 评分卡开发样本0.37690.75360.5072
LR + WOE 评分卡测试样本0.37430.74500.4900
LR + WOE 评分卡训练+测试样本0.37520.75020.5004
LR + WOE 评分卡跨时间验证样本0.34050.73090.4618

LR + WOE 评分卡 — 4 样本评估表(score_cut 粒度)

开发样本(KS 0.0198,AUC 0.5064)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[485, 521)108161746457.08%10.01%26.28%5.49%
[521, 531)108043264840.00%10.00%44.68%13.16%
[531, 543)108030677428.33%10.00%57.71%22.31%
[543, 550)108027380725.28%10.00%69.34%31.86%
[550, 560)108120787419.15%10.01%78.15%42.20%
[560, 567)107916691315.38%9.99%85.22%53.00%
[567, 572)108013095012.04%10.00%90.76%64.24%
[572, 589)108011097010.19%10.00%95.44%75.71%
[589, 597)10826410185.91%10.02%98.17%87.76%
[597, 617)10784310353.99%9.98%100.00%100.00%
2026-10-27T09:46:07.884788 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:08.013108 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

测试样本(KS 0.0254,AUC 0.5077)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[486, 521)72039532554.86%10.00%25.26%5.77%
[521, 531)72228643639.61%10.03%43.54%13.50%
[531, 543)71822049830.64%9.97%57.61%22.34%
[543, 550)72117754424.55%10.02%68.93%32.00%
[550, 561)71913058918.08%9.99%77.24%42.45%
[561, 567)7199562413.21%9.99%83.31%53.52%
[567, 573)72011360715.69%10.00%90.54%64.29%
[573, 590)720716499.86%10.00%95.08%75.81%
[590, 597)720356854.86%10.00%97.31%87.97%
[597, 617)720426785.83%10.00%100.00%100.00%
2026-10-27T09:46:08.136517 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:08.256739 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

训练+测试样本(KS 0.0104,AUC 0.5029)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[485, 521)1800101278856.22%10.00%25.87%5.59%
[521, 531)1802714108839.62%10.01%44.12%13.32%
[531, 543)1798530126829.48%9.99%57.67%22.32%
[543, 550)1801447135424.82%10.01%69.10%31.93%
[550, 561)1800344145619.11%10.00%77.89%42.26%
[561, 567)1804261154314.47%10.02%84.56%53.22%
[567, 573)1795238155713.26%9.97%90.64%64.27%
[573, 590)1802181162110.04%10.01%95.27%75.77%
[590, 597)17989916995.51%9.99%97.80%87.83%
[597, 617)18008617144.78%10.00%100.00%100.00%
2026-10-27T09:46:08.379850 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:08.500903 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

跨时间验证样本(KS 0.0170,AUC 0.4984)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[485, 521)60032427654.00%10.00%23.55%5.97%
[521, 531)60023136938.50%10.00%40.33%13.95%
[531, 543)60019740332.83%10.00%54.65%22.66%
[543, 550)60015244825.33%10.00%65.70%32.35%
[550, 560)60013946123.17%10.00%75.80%42.32%
[560, 567)60010349717.17%10.00%83.28%53.07%
[567, 573)6028451813.95%10.03%89.39%64.27%
[573, 589)5986952911.54%9.97%94.40%75.71%
[589, 597)600525488.67%10.00%98.18%87.56%
[597, 617)600255754.17%10.00%100.00%100.00%
2026-10-27T09:46:08.626474 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:08.748807 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

跨时间验证样本结论

风险高度集中在低分尾端——最低 20% 样本集中了全量 40.3% 的坏客户,策略切分空间很大。

① 样本与分箱结构:共 6,000 样本 / 1,376 坏样本,整体坏率 22.93%,好坏比约 3.4:1;10 档等频分数分栏,每箱约 10%,分箱均匀,无空箱无过厚箱。

② 排序性与单调性:逐箱 Bad Rate 54.00% → … → 4.17%(低分 → 高分),无倒挂,最低分段坏率是最高分段的 12.9 倍。

③ 区分度与坏客户捕获:最低 20% 样本捕获全量 40.3% 的坏客户,最低 50% 捕获 75.8%;最高 20% 样本仅含 5.6% 的坏客户,其中风险最高一箱单独占 23.5%。

(口径:分数 = 按基准分/优比/PDO 刻度由模型概率转换,分数越高风险越低;结论由程序按分箱数据自动生成。)

注:score_cut 表按分数等频分 10 档(低分 → 高分):分数由模型概率按基准分/优比/PDO 刻度转换,分数越高风险越低;每表附 KS/AUC(按概率计算,与分栏口径无关);训练+测试 = TRAIN 全体。旧实验无分数转换时为 PD 等频口径。

10 KS和GINI

LR + WOE 评分卡

样本KSGINIAUC
开发样本0.37690.50720.7536
测试样本0.37430.49000.7450
训练+测试样本0.37520.50040.7502
跨时间验证样本0.34050.46180.7309

开发样本

2026-10-27T09:46:08.903985 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:08.989294 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

测试样本

2026-10-27T09:46:09.068199 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:09.139575 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

训练+测试样本

2026-10-27T09:46:09.213443 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:09.285218 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

跨时间验证样本

2026-10-27T09:46:09.356102 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:09.426540 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

注:GINI = 2×AUC−1。KS 图 X 轴为分数(升序),红虚线为最大间隔位置;ROC 图例标注 AUC。

11 PSI

模型稳定性评估

模型训练集与测试集训练集与跨时间验证训练集与oot验证集训练集与psi验证集
LR + WOE 评分卡0.00110.0011—0.0017

分数段 PSI 明细(开发样本 vs 跨时间验证样本)

分数段开发样本占比跨时间验证样本占比PSI 贡献累计 PSI
(-inf,0.0526]9.98%9.57%0.00020.0002
(0.0526,0.0674]10.02%10.37%0.00010.0003
(0.0674,0.1151]10.00%10.35%0.00010.0004
(0.1151,0.1374]10.00%10.13%0.00000.0004
(0.1374,0.1652]9.99%9.35%0.00040.0009
(0.1652,0.2213]10.01%9.93%0.00000.0009
(0.2213,0.2638]10.00%10.47%0.00020.0011
(0.2638,0.355]10.00%10.05%0.00000.0011
(0.355,0.4389]10.00%9.87%0.00000.0011
(0.4389,inf]10.01%9.92%0.00000.0011

分数段 PSI 明细(开发样本 vs PSI时点样本)

分数段开发样本占比PSI时点占比PSI 贡献累计 PSI
(-inf,0.0526]9.98%9.80%0.00000.0000
(0.0526,0.0674]10.02%10.23%0.00000.0001
(0.0674,0.1151]10.00%10.67%0.00040.0005
(0.1151,0.1374]10.00%10.55%0.00030.0008
(0.1374,0.1652]9.99%9.33%0.00040.0013
(0.1652,0.2213]10.01%9.90%0.00000.0013
(0.2213,0.2638]10.00%9.78%0.00000.0013
(0.2638,0.355]10.00%9.45%0.00030.0016
(0.355,0.4389]10.00%10.10%0.00000.0016
(0.4389,inf]10.01%10.18%0.00000.0017
2026-10-27T09:46:09.506503 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

模型样本量分布评估

评分段开发样本样本量开发样本占比测试样本样本量测试样本占比训练+测试样本样本量训练+测试样本占比跨时间验证样本样本量跨时间验证样本占比PSI时点样本样本量PSI时点样本占比
(-inf, inf]10789.98%7039.77%17819.89%5749.57%5889.80%
(0.0526, 0.0674]108210.02%76310.60%184510.25%62210.37%61410.23%
(0.0674, 0.1151]108010.00%7089.83%17889.93%62110.35%64010.67%
(0.1151, 0.1374]108010.00%73810.25%181810.10%60810.13%63310.55%
(0.1374, 0.1652]10799.99%74310.32%182210.12%5619.35%5609.33%
(0.1652, 0.2213]108110.01%6789.42%17599.77%5969.93%5949.90%
(0.2213, 0.2638]108010.00%7179.96%17979.98%62810.47%5879.78%
(0.2638, 0.355]108010.00%73710.24%181710.09%60310.05%5679.45%
(0.355, 0.4389]108010.00%7129.89%17929.96%5929.87%60610.10%
(0.4389, inf]108110.01%7009.72%17819.89%5959.92%61110.18%
sum10801100.00%7199100.00%18000100.00%6000100.00%6000100.00%

变量 PSI(开发样本 vs PSI时点样本,按入模变量分箱)

特征项PSI状态
tenure_m0.0015稳定
bank_997_cnt_3m0.0010稳定
risk_score0.0010稳定
avg_tnr0.0010稳定
income_grade0.0009稳定
repay_amt_6m_grade0.0007稳定
cust_seg20.0005稳定
card_usage_ratio0.0004稳定
query_cnt_3m0.0002稳定
risk_score — PSI 0.0010
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 519.5]23.66%23.95%0.29%0.0000
(519.5, 564.5]29.47%30.13%0.66%0.0001
(564.5, 600.5]23.83%22.52%-1.31%0.0007
(600.5, 643.5]16.22%16.37%0.15%0.0000
(643.5, inf]6.82%7.03%0.21%0.0001
avg_tnr — PSI 0.0010
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 2.149999976158142]8.57%8.88%0.31%0.0001
(2.149999976158142, 3.350000023841858]8.90%8.87%-0.03%0.0000
(3.350000023841858, 4.450000047683716]11.65%11.57%-0.08%0.0000
(4.450000047683716, 7.3500001430511475]39.16%37.82%-1.35%0.0005
(7.3500001430511475, inf]31.72%32.87%1.15%0.0004
cust_seg2 — PSI 0.0005
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 3.5]19.04%19.07%0.03%0.0000
(3.5, 4.5]30.86%30.50%-0.36%0.0000
(4.5, 5.5]30.83%31.77%0.94%0.0003
(5.5, inf]19.28%18.67%-0.61%0.0002
query_cnt_3m — PSI 0.0002
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 0.5]5.09%5.28%0.19%0.0001
(0.5, 2.5]25.46%25.40%-0.06%0.0000
(2.5, 3.5]16.53%16.27%-0.26%0.0000
(3.5, 5.5]27.89%28.37%0.48%0.0001
(5.5, inf]25.03%24.68%-0.35%0.0001
income_grade — PSI 0.0009
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 3.5]11.21%10.70%-0.51%0.0002
(3.5, 4.5]23.24%23.15%-0.09%0.0000
(4.5, 5.5]31.12%31.07%-0.05%0.0000
(5.5, 6.5]23.17%24.25%1.08%0.0005
(6.5, inf]11.26%10.83%-0.42%0.0002
repay_amt_6m_grade — PSI 0.0007
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 3.5]15.25%14.83%-0.42%0.0001
(3.5, 4.5]21.00%21.75%0.75%0.0003
(4.5, 5.5]27.69%26.92%-0.78%0.0002
(5.5, 6.5]21.16%21.43%0.27%0.0000
(6.5, inf]14.90%15.07%0.17%0.0000
tenure_m — PSI 0.0015
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 2.5]6.44%5.53%-0.91%0.0014
(2.5, 10.5]10.92%11.22%0.30%0.0001
(10.5, 53.5]71.43%71.92%0.49%0.0000
(53.5, 58.5]5.99%6.13%0.14%0.0000
(58.5, inf]5.22%5.20%-0.02%0.0000
card_usage_ratio — PSI 0.0004
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 0.107999999076128]8.54%8.40%-0.14%0.0000
(0.107999999076128, 0.3381499946117401]33.23%33.98%0.75%0.0002
(0.3381499946117401, 0.6137499809265137]41.11%40.27%-0.84%0.0002
(0.6137499809265137, 0.7716499865055084]12.12%12.15%0.03%0.0000
(0.7716499865055084, inf]5.01%5.20%0.19%0.0001
bank_997_cnt_3m — PSI 0.0010
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 0.5]31.91%32.48%0.57%0.0001
(0.5, 1.5]34.62%35.27%0.65%0.0001
(1.5, 2.5]20.59%20.35%-0.24%0.0000
(2.5, inf]12.88%11.90%-0.98%0.0008

注:PSI ≤ 0.1 视为稳定,0.1~0.25 需关注,> 0.25 不稳定。

12 单变量分析

注:统计所有入模变量的单变量分析(开发样本口径)。预留验证/总体/OOT 口径的分组明细待扩展。

risk_score
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 519.5]255523.66%24141415.52%17.12
2(519.5, 564.5]318353.12%275243113.54%6.39
3(564.5, 600.5]257476.96%194662824.40%3.10
4(600.5, 643.5]175293.18%106069239.50%1.53
5(643.5, inf]737100.00%28145661.87%0.62
合计108018453234821.74%3.60
2026-10-27T09:46:09.621381 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(5.52% → 61.87%),WOE 单调下降(1.5593 → -1.7651),符合风控分箱预期。IV=0.8674,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 5 箱((643.5, inf])为极高风险区间:坏率高达 61.87%,策略上应重点管控

avg_tnr
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 2.149999976158142]9268.57%47445248.81%1.05
2(2.149999976158142, 3.350000023841858]96117.47%60935236.63%1.73
3(3.350000023841858, 4.450000047683716]125829.12%90335528.22%2.54
4(4.450000047683716, 7.3500001430511475]423068.28%339183919.83%4.04
5(7.3500001430511475, inf]3426100.00%307635010.22%8.79
合计108018453234821.74%3.60
2026-10-27T09:46:09.750661 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(48.81% → 10.22%),WOE 单调上升(-1.2334 → 0.8925),符合风控分箱预期。IV=0.4376,该变量区分度尚可。

WOE 在第 3、4 箱之间穿越 0 线:前 3 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 2.149999976158142])为极高风险区间:坏率高达 48.81%,策略上应重点管控

cust_seg2
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 3.5]205619.04%18671899.19%9.88
2(3.5, 4.5]333349.89%282251115.33%5.52
3(4.5, 5.5]333080.72%250582524.77%3.04
4(5.5, inf]2082100.00%125982339.53%1.53
合计108018453234821.74%3.60
2026-10-27T09:46:09.878385 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(9.19% → 39.53%),WOE 单调下降(1.0094 → -0.8558),符合风控分箱预期。IV=0.3733,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 4 箱((5.5, inf])为极高风险区间:坏率高达 39.53%,策略上应重点管控

query_cnt_3m
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 0.5]5505.09%28826247.64%1.10
2(0.5, 2.5]275030.55%187587531.82%2.14
3(2.5, 3.5]178547.08%138440122.46%3.45
4(3.5, 5.5]301274.97%249252017.26%4.79
5(5.5, inf]2704100.00%241429010.72%8.32
合计108018453234821.74%3.60
2026-10-27T09:46:10.007563 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(47.64% → 10.72%),WOE 单调上升(-1.1863 → 0.8382),符合风控分箱预期。IV=0.3273,该变量区分度尚可。

WOE 在第 3、4 箱之间穿越 0 线:前 3 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 0.5])为极高风险区间:坏率高达 47.64%,策略上应重点管控

income_grade
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 3.5]121111.21%74346838.65%1.59
2(3.5, 4.5]251034.45%176674429.64%2.37
3(4.5, 5.5]336165.57%268967219.99%4.00
4(5.5, 6.5]250388.74%215035314.10%6.09
5(6.5, inf]1216100.00%11051119.13%9.95
合计108018453234821.74%3.60
2026-10-27T09:46:10.138182 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(38.65% → 9.13%),WOE 单调上升(-0.8187 → 1.0171),符合风控分箱预期。IV=0.2791,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 3.5])为极高风险区间:坏率高达 38.65%,策略上应重点管控

repay_amt_6m_grade
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 3.5]164715.25%104760036.43%1.75
2(3.5, 4.5]226836.25%163463427.95%2.58
3(4.5, 5.5]299163.94%238460720.29%3.93
4(5.5, 6.5]228685.10%194434214.96%5.68
5(6.5, inf]1609100.00%144416510.25%8.75
合计108018453234821.74%3.60
2026-10-27T09:46:10.319446 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(36.43% → 10.25%),WOE 单调上升(-0.7242 → 0.8883),符合风控分箱预期。IV=0.2509,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 3.5])为极高风险区间:坏率高达 36.43%,策略上应重点管控

tenure_m
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 2.5]6966.44%41428240.52%1.47
2(2.5, 10.5]117917.36%89128824.43%3.09
3(10.5, 53.5]771588.79%6046166921.63%3.62
4(53.5, 58.5]64794.78%5687912.21%7.19
5(58.5, inf]564100.00%534305.32%17.80
合计108018453234821.74%3.60
2026-10-27T09:46:10.445849 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调下降(40.52% → 5.32%),WOE 单调上升(-0.8970 → 1.5982),符合风控分箱预期。IV=0.1702,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 1 箱((-inf, 2.5])为极高风险区间:坏率高达 40.52%,策略上应重点管控

card_usage_ratio
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 0.107999999076128]9228.54%854687.38%12.56
2(0.107999999076128, 0.3381499946117401]358941.76%290468519.09%4.24
3(0.3381499946117401, 0.6137499809265137]444082.87%3434100622.66%3.41
4(0.6137499809265137, 0.7716499865055084]130994.99%92538429.34%2.41
5(0.7716499865055084, inf]541100.00%33620537.89%1.64
合计108018453234821.74%3.60
2026-10-27T09:46:10.575917 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(7.38% → 37.89%),WOE 单调下降(1.2495 → -0.7869),符合风控分箱预期。IV=0.1589,该变量区分度尚可。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 3 箱 WOE<0(风险高于平均)

第 5 箱((0.7716499865055084, inf])为极高风险区间:坏率高达 37.89%,策略上应重点管控

bank_997_cnt_3m
组号ValueTot. Records累计占比#Goods#BadsBad RateG/B Odds
1(-inf, 0.5]344731.91%289954815.90%5.29
2(0.5, 1.5]373966.53%292881121.69%3.61
3(1.5, 2.5]222487.12%165556925.58%2.91
4(2.5, inf]1391100.00%97142030.19%2.31
合计108018453234821.74%3.60
2026-10-27T09:46:10.703486 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

单调性良好:随分栏增大,Bad Rate 单调上升(15.90% → 30.19%),WOE 单调下降(0.3849 → -0.4429),符合风控分箱预期。IV=0.0804,该变量区分度偏弱但可用。

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 2 箱 WOE<0(风险高于平均)

第 4 箱((2.5, inf])为高风险区间:坏率高达 30.19%,可作为拒绝或重点风控策略的阈值参考

13 压力测试

注:验证压力情境下模型的有效性和区分能力稳定性:a.坏浓度更高样本 b.时间外样本 c.特定特征客群 d.极端时间样本。当前流程自动生成情景1(跨时间样本)与情景2(跨时间样本剔除一半好样本,批注16)。

测试情景1:跨时间验证样本

变量贡献度

变量贡献度
risk_score0.7101
avg_tnr0.1358
card_usage_ratio0.1179
income_grade0.0806
query_cnt_3m0.0724
tenure_m0.0611
bank_997_cnt_3m0.0563
repay_amt_6m_grade0.0545

区分度验证 — LR + WOE 评分卡 @ 跨时间样本

KS = 0.3405,GINI = 0.4618

2026-10-27T09:46:10.833513 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:10.952594 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

测试情景2:跨时间样本剔除一半好样本

指标数值
样本量6000 → 3688(剔除好样本 2312)
KS0.3369
AUC0.7275
GINI0.4550
2026-10-27T09:46:11.078685 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-27T09:46:11.204789 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

注:情景2 模拟好样本分布右移的压力情形(固定 seed=42,可复现);剔除后 KS/AUC 下降幅度反映模型对好样本结构的敏感度。