风控模型开发验证报告

实验 ID: ITE-mv9ajv7k-31c8 · 生成时间: 2026-10-15 16:43 (GMT+8) · 报告结构:标准14节模型开发验证模板

00 模型概要信息

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

01 模型设计

建模数据样本窗口

项目内容
切分方式外部 data_flag 划分(TRAIN 内 6/4 随机开发/测试,VALI 跨时间,PSI 时点)
开发样本(Train)窗口2025-01-01 ~ 2025-04-19
预留验证样本窗口2025-01-01 ~ 2025-04-19
跨时间验证样本窗口2025-04-19 ~ 2025-05-25
PSI时点样本窗口2025-05-26 ~ 2025-06-30

模型好坏定义

项目内容
目标变量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_score0.14340.00%0.91%0.9986
risk_score_v20.13900.00%0.94%0.9986
bh_a0010.13820.00%0.15%0.9298
ScoreCust2_v20.13210.00%1.14%0.9952
ScoreCust20.12770.00%1.13%0.9952
bh_a0090.12710.00%1.73%0.8070
cust_seg20.08480.00%30.86%0.6662
avg_tnr0.08410.00%1.92%0.6947
query_cnt_3m0.07320.00%16.53%0.5822
income_grade0.06320.00%31.12%0.5458
repay_amt_6m_grade0.06070.00%27.69%0.5342
rare_field0.033096.32%0.76%0.0812
tenure_m0.02170.00%5.50%0.3328
card_usage_ratio0.02140.00%1.69%0.3613
bank_997_cnt_3m0.02050.00%34.62%0.2757
edu_level0.00040.00%42.13%—
region_code0.00040.00%20.63%—
flag_special0.00000.00%95.41%0.0380

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

03 单变量分析(细分箱)

risk_score — IV 0.1880,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 519.5]255524141415.52%0.3384
2(519.5, 564.5]3183275243113.54%0.1888
3(564.5, 600.5]2574194662824.40%-0.0498
4(600.5, 643.5]1752106069239.50%-0.2396
5(643.5, inf]73728145661.87%-0.2638
bh_a001 — IV 0.1854,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 280.0500030517578]394136413007.61%0.3938
2(280.0500030517578, 332.75]3801305075119.76%0.0488
3(332.75, 367.75]1739115958033.35%-0.1591
4(367.75, 394.25]75639236448.15%-0.1814
5(394.25, inf]56421135362.59%-0.2142
risk_score_v2 — IV 0.1841,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 518.5]251123721395.54%0.3336
2(518.5, 563.5]3131271142013.41%0.1897
3(563.5, 602.5]2766209667024.22%-0.0488
4(602.5, 643.5]165399366039.93%-0.2351
5(643.5, inf]74028145962.03%-0.2656
ScoreCust2 — IV 0.1611,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 508.5]17061626804.69%0.2596
2(508.5, 545.5]3198282537311.66%0.2360
3(545.5, 579.5]3393261378022.99%-0.0281
4(579.5, 604.5]152797355436.28%-0.1794
5(604.5, inf]97741656157.42%-0.2967
ScoreCust2_v2 — IV 0.1542,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 507.5]16491574754.55%0.2546
2(507.5, 544.5]3158279436411.53%0.2374
3(544.5, 583.5]3802291289023.41%-0.0401
4(583.5, 606.5]129580249338.07%-0.1769
5(606.5, inf]89737152658.64%-0.2861
bh_a009 — IV 0.1505,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 6.3500001430511475]90243346952.00%-0.2386
2(6.3500001430511475, 8.050000190734863]1648105759135.86%-0.1845
3(8.050000190734863, 9.25]1640118345727.87%-0.0820
4(9.25, 11.449999809265137]3422285556716.57%0.1221
5(11.449999809265137, inf]318929252648.28%0.3231
avg_tnr — IV 0.1066,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.149999976158142]92647445248.81%-0.2194
2(2.149999976158142, 3.350000023841858]96160935236.63%-0.1276
3(3.350000023841858, 4.450000047683716]125890335528.22%-0.0706
4(4.450000047683716, 7.3500001430511475]4230339183919.83%0.0499
5(7.3500001430511475, inf]3426307635010.22%0.2859
cust_seg2 — IV 0.1060,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]205618671899.19%0.2166
2(3.5, 4.5]3333282251115.33%0.1501
3(4.5, 5.5]3330250582524.77%-0.0668
4(5.5, inf]2082125982339.53%-0.2705
query_cnt_3m — IV 0.0982,3 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]50853547153830.25%-0.2279
2(3.5, 5.5]3012249252017.26%0.0968
3(5.5, inf]2704241429010.72%0.2311
income_grade — IV 0.0805,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]121174346838.65%-0.1736
2(3.5, 4.5]2510176674429.64%-0.1417
3(4.5, 5.5]3361268967219.99%0.0398
4(5.5, inf]3719325546412.48%0.2380
rare_field — IV 0.0659,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, -0.05299999937415123]1881484021.28%0.0391
2(-0.05299999937415123, 0.3699999898672104]58382034.48%-0.1465
3(0.3699999898672104, 1.0099999904632568]8980910.11%0.2372
4(1.0099999904632568, 1.324500024318695]2619726.92%-0.0279
5(1.324500024318695, inf]36221438.89%-0.1369
repay_amt_6m_grade — IV 0.0607,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]1647104760036.43%-0.1915
2(3.5, 4.5]2268163463427.95%-0.1049
3(4.5, 5.5]2991238460720.29%0.0305
4(5.5, 6.5]2286194434214.96%0.1227
5(6.5, inf]1609144416510.25%0.1624
card_usage_ratio — IV 0.0278,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.107999999076128]922854687.38%0.1277
2(0.107999999076128, 0.3381499946117401]3589290468519.09%0.0634
3(0.3381499946117401, 0.6137499809265137]44403434100622.66%-0.0242
4(0.6137499809265137, inf]1850126158931.84%-0.1455
bank_997_cnt_3m — IV 0.0246,4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]3447289954815.90%0.1392
2(0.5, 1.5]3739292881121.69%0.0012
3(1.5, 2.5]2224165556925.58%-0.0648
4(2.5, inf]139197142030.19%-0.0990
tenure_m — IV 0.0159,5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 2.5]69641428240.52%-0.1218
2(2.5, 10.5]117989128824.43%-0.0281
3(10.5, 53.5]77156046166921.63%0.0037
4(53.5, 58.5]6475687912.21%0.0610
5(58.5, inf]564534305.32%0.0937
edu_level — IV 0.0004,4 箱
分组号分栏TotalGoodBadBad RateWOE
1大专3260257468621.04%0.0155
2本科4550355599521.87%-0.0035
3硕士及以上1405108132423.06%-0.0160
4高中及以下1586124334321.63%0.0015
region_code — IV 0.0004,5 箱
分组号分栏TotalGoodBadBad RateWOE
1其他2119165746221.80%-0.0011
2华东2156168547121.85%-0.0018
3华北2119168243720.62%0.0186
4华南2179170147821.94%-0.0033
5西南2228172850022.44%-0.0120
flag_special — IV 0.0000,1 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, inf]108018453234821.74%0.0000
data_flag — IV 0.0000,1 箱
分组号分栏TotalGoodBadBad RateWOE
1TRAIN108018453234821.74%0.0000

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

04 单变量分析(粗分箱)

risk_score — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 519.5]255524141415.52%0.3384
2(519.5, 564.5]3183275243113.54%0.1888
3(564.5, 600.5]2574194662824.40%-0.0498
4(600.5, 643.5]1752106069239.50%-0.2396
5(643.5, inf]73728145661.87%-0.2638
2026-10-15T16:43:03.619721 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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%-0.2194
2(2.149999976158142, 3.350000023841858]96160935236.63%-0.1276
3(3.350000023841858, 4.450000047683716]125890335528.22%-0.0706
4(4.450000047683716, 7.3500001430511475]4230339183919.83%0.0499
5(7.3500001430511475, inf]3426307635010.22%0.2859
2026-10-15T16:43:03.749706 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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%0.2166
2(3.5, 4.5]3333282251115.33%0.1501
3(4.5, 5.5]3330250582524.77%-0.0668
4(5.5, inf]2082125982339.53%-0.2705
2026-10-15T16:43:03.876373 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

query_cnt_3m — 3 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]50853547153830.25%-0.2279
2(3.5, 5.5]3012249252017.26%0.0968
3(5.5, inf]2704241429010.72%0.2311
2026-10-15T16:43:03.994563 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

income_grade — 4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]121174346838.65%-0.1736
2(3.5, 4.5]2510176674429.64%-0.1417
3(4.5, 5.5]3361268967219.99%0.0398
4(5.5, inf]3719325546412.48%0.2380
2026-10-15T16:43:04.105919 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

repay_amt_6m_grade — 5 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 3.5]1647104760036.43%-0.1915
2(3.5, 4.5]2268163463427.95%-0.1049
3(4.5, 5.5]2991238460720.29%0.0305
4(5.5, 6.5]2286194434214.96%0.1227
5(6.5, inf]1609144416510.25%0.1624
2026-10-15T16:43:04.225466 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

card_usage_ratio — 4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.107999999076128]922854687.38%0.1277
2(0.107999999076128, 0.3381499946117401]3589290468519.09%0.0634
3(0.3381499946117401, 0.6137499809265137]44403434100622.66%-0.0242
4(0.6137499809265137, inf]1850126158931.84%-0.1455
2026-10-15T16:43:04.346177 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

bank_997_cnt_3m — 4 箱
分组号分栏TotalGoodBadBad RateWOE
1(-inf, 0.5]3447289954815.90%0.1392
2(0.5, 1.5]3739292881121.69%0.0012
3(1.5, 2.5]2224165556925.58%-0.0648
4(2.5, inf]139197142030.19%-0.0990
2026-10-15T16:43:04.512131 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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
黑名单无
白名单无

候选变量 19,成功分箱 19,入模 8

变量白名单入模IV缺失率集中度IV门槛相关性PSI剔除原因
risk_score—Y0.1880PASSPASSPASSPASS0.0010
ScoreCust2—N0.1611PASSPASSPASSFAIL0.0019与 risk_score 相关>0.7
cust_seg2—Y0.1060PASSPASSPASSPASS0.0005
income_grade—Y0.0805PASSPASSPASSPASS0.0004
bh_a001—N0.1854PASSPASSPASSFAIL0.0006与 risk_score 相关>0.7
bh_a009—N0.1505PASSPASSPASSFAIL0.0007与 risk_score 相关>0.7
bank_997_cnt_3m—Y0.0246PASSPASSPASSPASS0.0010
avg_tnr—Y0.1066PASSPASSPASSPASS0.0010
repay_amt_6m_grade—Y0.0607PASSPASSPASSPASS0.0007
tenure_m—N0.0159PASSPASSFAIL——IV<0.02
query_cnt_3m—Y0.0982PASSPASSPASSPASS0.0001
card_usage_ratio—Y0.0278PASSPASSPASSPASS0.0004
rare_field—N0.0659FAILPASS———缺失率>0.8
flag_special—N0.0000PASSFAIL———集中度>0.9
edu_level—N0.0004PASSPASSFAIL——IV<0.02
region_code—N0.0004PASSPASSFAIL——IV<0.02
risk_score_v2—N0.1841PASSPASSPASSFAIL0.0013与 risk_score 相关>0.7
ScoreCust2_v2—N0.1542PASSPASSPASSFAIL0.0010与 risk_score 相关>0.7
data_flag—N0.0000PASSFAIL———集中度>0.9

06 回归结果

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

ParameterLabelEstimate(无惩罚)Standard ErrorWald Chi-SquarePr > ChiSqStandardized Estimate
InterceptIntercept-1.23220.02891815.21<0.0001—
WOE_risk_scorerisk_score-2.84180.1891225.81<0.0001-0.6210
WOE_avg_tnravg_tnr-1.01320.194627.11<0.0001-0.1692
WOE_cust_seg2cust_seg2-0.49950.17168.480.0036-0.0881
WOE_query_cnt_3mquery_cnt_3m-0.39720.15017.000.0081-0.0794
WOE_income_gradeincome_grade-0.59660.179411.060.0009-0.0967
WOE_repay_amt_6m_graderepay_amt_6m_grade-0.56780.22766.220.0126-0.0701
WOE_card_usage_ratiocard_usage_ratio-1.04490.322710.490.0012-0.0848
WOE_bank_997_cnt_3mbank_997_cnt_3m-0.78980.29507.170.0074-0.0705

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

07 VIF

VIF

ParameterVIF
risk_score2.76953
avg_tnr1.65510
cust_seg21.61768
query_cnt_3m1.34143
income_grade1.32391
repay_amt_6m_grade1.33569
card_usage_ratio1.11088
bank_997_cnt_3m1.06962

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

risk_scoreavg_tnrcust_seg2query_cnt_3mincome_graderepay_amt_6m_gradecard_usage_ratiobank_997_cnt_3m
risk_score1.0000.6190.6060.4930.4830.4910.3060.247
avg_tnr0.6191.0000.4320.3510.3450.3490.2230.175
cust_seg20.6060.4321.0000.3520.3350.3520.2230.176
query_cnt_3m0.4930.3510.3521.0000.2840.2820.1850.146
income_grade0.4830.3450.3350.2841.0000.2790.1810.156
repay_amt_6m_grade0.4910.3490.3520.2820.2791.0000.1740.137
card_usage_ratio0.3060.2230.2230.1850.1810.1741.0000.091
bank_997_cnt_3m0.2470.1750.1760.1460.1560.1370.0911.000

08 最终评分卡

标准分600.0
标准ODD20.0
PDO20.0
变量分栏WOECoefficientScorecard Points
risk_score(-inf, 519.5]0.3384-2.780796
(519.5, 564.5]0.1888-2.780784
(564.5, 600.5]-0.0498-2.780765
(600.5, 643.5]-0.2396-2.780749
(643.5, inf]-0.2638-2.780747
avg_tnr(-inf, 2.149999976158142]-0.2194-1.030462
(2.149999976158142, 3.350000023841858]-0.1276-1.030465
(3.350000023841858, 4.450000047683716]-0.0706-1.030467
(4.450000047683716, 7.3500001430511475]0.0499-1.030470
(7.3500001430511475, inf]0.2859-1.030477
cust_seg2(-inf, 3.5]0.2166-0.514472
(3.5, 4.5]0.1501-0.514471
(4.5, 5.5]-0.0668-0.514468
(5.5, inf]-0.2705-0.514465
query_cnt_3m(-inf, 3.5]-0.2279-0.414766
(3.5, 5.5]0.0968-0.414770
(5.5, inf]0.2311-0.414771
income_grade(-inf, 3.5]-0.1736-0.604666
(3.5, 4.5]-0.1417-0.604666
(4.5, 5.5]0.0398-0.604669
(5.5, inf]0.2380-0.604673
repay_amt_6m_grade(-inf, 3.5]-0.1915-0.584665
(3.5, 4.5]-0.1049-0.584667
(4.5, 5.5]0.0305-0.584669
(5.5, 6.5]0.1227-0.584671
(6.5, inf]0.1624-0.584671
card_usage_ratio(-inf, 0.107999999076128]0.1277-0.979072
(0.107999999076128, 0.3381499946117401]0.0634-0.979070
(0.3381499946117401, 0.6137499809265137]-0.0242-0.979068
(0.6137499809265137, inf]-0.1455-0.979065
bank_997_cnt_3m(-inf, 0.5]0.1392-0.740072
(0.5, 1.5]0.0012-0.740069
(1.5, 2.5]-0.0648-0.740067
(2.5, inf]-0.0990-0.740067

09 模型表现

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

模型样本KSAUCGINI
LR + WOE 评分卡开发样本0.37530.75100.5020
LR + WOE 评分卡测试样本0.37170.74460.4892
LR + WOE 评分卡训练+测试样本0.37130.74850.4970
LR + WOE 评分卡跨时间验证样本0.33910.72840.4568

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

开发样本(KS 0.0198,AUC 0.4926)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[502, 517)108159548655.04%10.01%25.34%5.75%
[517, 528)108044963141.57%10.00%44.46%13.21%
[528, 540)108031176928.80%10.00%57.71%22.31%
[540, 548)108025982123.98%10.00%68.74%32.02%
[548, 562)108021486619.81%10.00%77.85%42.27%
[562, 570)108317490916.07%10.03%85.26%53.02%
[570, 577)107713494312.44%9.97%90.97%64.18%
[577, 586)10811009819.25%10.01%95.23%75.78%
[586, 594)10796710126.21%9.99%98.08%87.76%
[594, 604)10804510354.17%10.00%100.00%100.00%
2026-10-15T16:43:04.639444 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:04.765090 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

测试样本(KS 0.0254,AUC 0.5038)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[502, 518)72138533653.40%10.02%24.62%5.96%
[518, 528)72029442640.83%10.00%43.41%13.52%
[528, 540)71921550429.90%9.99%57.16%22.47%
[540, 549)72118653525.80%10.02%69.05%31.96%
[549, 563)71913058918.08%9.99%77.37%42.41%
[563, 570)72011061015.28%10.00%84.40%53.24%
[570, 577)7199262712.80%9.99%90.28%64.37%
[577, 586)7217764410.68%10.02%95.20%75.79%
[586, 595)720416795.69%10.00%97.83%87.84%
[595, 604)719346854.73%9.99%100.00%100.00%
2026-10-15T16:43:04.895145 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.015950 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

训练+测试样本(KS 0.0102,AUC 0.4987)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[502, 518)180298481854.61%10.01%25.15%5.81%
[518, 528)1798740105841.16%9.99%44.07%13.32%
[528, 540)1800525127529.17%10.00%57.49%22.37%
[540, 549)1800442135824.56%10.00%68.79%32.01%
[549, 562)1800342145819.00%10.00%77.53%42.36%
[562, 570)1801289151216.05%10.01%84.92%53.09%
[570, 577)1799224157512.45%9.99%90.64%64.27%
[577, 586)180017716239.83%10.00%95.17%75.79%
[586, 594)180211316896.27%10.01%98.06%87.78%
[594, 604)17987617224.23%9.99%100.00%100.00%
2026-10-15T16:43:05.138146 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.259292 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

跨时间验证样本(KS 0.0408,AUC 0.4824)

cutscntbadgoodbad_ratepopulation_pctcum_bad_ratecum_good_rate
[502, 518)60031428652.33%10.00%22.82%6.19%
[518, 528)60024135940.17%10.00%40.33%13.95%
[528, 540)60218941331.40%10.03%54.07%22.88%
[540, 548)59815444425.75%9.97%65.26%32.48%
[548, 561)60014645424.33%10.00%75.87%42.30%
[561, 570)6009950116.50%10.00%83.07%53.14%
[570, 577)6008651414.33%10.00%89.32%64.25%
[577, 586)6007053011.67%10.00%94.40%75.71%
[586, 594)601535488.82%10.02%98.26%87.56%
[594, 604)599245754.01%9.98%100.00%100.00%
2026-10-15T16:43:05.383325 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.503545 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 52.33% → … → 4.01%(低分 → 高分),无倒挂,最低分段坏率是最高分段的 13.0 倍。

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

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

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

10 KS和GINI

LR + WOE 评分卡

样本KSGINIAUC
开发样本0.37530.50200.7510
测试样本0.37170.48920.7446
训练+测试样本0.37130.49700.7485
跨时间验证样本0.33910.45680.7284

开发样本

2026-10-15T16:43:05.590289 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.659740 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

测试样本

2026-10-15T16:43:05.727703 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.852664 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

训练+测试样本

2026-10-15T16:43:05.922075 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:05.991296 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

跨时间验证样本

2026-10-15T16:43:06.059909 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:06.129697 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.00330.0024—0.0019

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

分数段开发样本占比跨时间验证样本占比PSI 贡献累计 PSI
(-inf,0.0574]10.00%9.83%0.00000.0000
(0.0574,0.0754]9.99%9.88%0.00000.0000
(0.0754,0.1004]10.02%10.82%0.00060.0007
(0.1004,0.1228]9.96%8.98%0.00100.0017
(0.1228,0.159]10.03%10.30%0.00010.0017
(0.159,0.2298]10.01%9.98%0.00000.0017
(0.2298,0.2833]10.00%10.08%0.00000.0017
(0.2833,0.3808]9.99%10.47%0.00020.0020
(0.3808,0.4674]10.00%10.23%0.00010.0020
(0.4674,inf]10.01%9.42%0.00040.0024

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

分数段开发样本占比PSI时点占比PSI 贡献累计 PSI
(-inf,0.0574]10.00%10.10%0.00000.0000
(0.0574,0.0754]9.99%9.88%0.00000.0000
(0.0754,0.1004]10.02%11.12%0.00110.0012
(0.1004,0.1228]9.96%9.53%0.00020.0014
(0.1228,0.159]10.03%10.13%0.00000.0014
(0.159,0.2298]10.01%9.93%0.00000.0014
(0.2298,0.2833]10.00%9.32%0.00050.0019
(0.2833,0.3808]9.99%9.95%0.00000.0019
(0.3808,0.4674]10.00%10.03%0.00000.0019
(0.4674,inf]10.01%10.00%0.00000.0019
2026-10-15T16:43:06.209558 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

模型样本量分布评估

评分段开发样本样本量开发样本占比测试样本样本量测试样本占比训练+测试样本样本量训练+测试样本占比跨时间验证样本样本量跨时间验证样本占比PSI时点样本样本量PSI时点样本占比
(-inf, inf]108010.00%73610.22%181610.09%5909.83%60610.10%
(0.0574, 0.0754]10799.99%73310.18%181210.07%5939.88%5939.88%
(0.0754, 0.1004]108210.02%73310.18%181510.08%64910.82%66711.12%
(0.1004, 0.1228]10769.96%6759.38%17519.73%5398.98%5729.53%
(0.1228, 0.159]108310.03%79911.10%188210.46%61810.30%60810.13%
(0.159, 0.2298]108110.01%6669.25%17479.71%5999.98%5969.93%
(0.2298, 0.2833]108010.00%6779.40%17579.76%60510.08%5599.32%
(0.2833, 0.3808]10799.99%76910.68%184810.27%62810.47%5979.95%
(0.3808, 0.4674]108010.00%72710.10%180710.04%61410.23%60210.03%
(0.4674, inf]108110.01%6849.50%17659.81%5659.42%60010.00%
sum10801100.00%7199100.00%18000100.00%6000100.00%6000100.00%

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

特征项PSI状态
bank_997_cnt_3m0.0010稳定
risk_score0.0010稳定
avg_tnr0.0010稳定
repay_amt_6m_grade0.0007稳定
cust_seg20.0005稳定
card_usage_ratio0.0004稳定
income_grade0.0004稳定
query_cnt_3m0.0001稳定
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.0001
分栏开发基准比例PSI时点样本 比例变更贡献
(-inf, 3.5]47.08%46.95%-0.13%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.0004
分栏开发基准比例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, inf]34.43%35.08%0.65%0.0001
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
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, inf]17.13%17.35%0.22%0.0000
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-15T16:43:06.317340 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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-15T16:43:06.444921 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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-15T16:43:06.569589 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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, 3.5]508547.08%3547153830.25%2.31
2(3.5, 5.5]301274.97%249252017.26%4.79
3(5.5, inf]2704100.00%241429010.72%8.32
合计108018453234821.74%3.60
2026-10-15T16:43:06.685424 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

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, inf]3719100.00%325546412.48%7.02
合计108018453234821.74%3.60
2026-10-15T16:43:06.795312 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

WOE 在第 2、3 箱之间穿越 0 线:前 2 箱 WOE>0(客户质量优于整体),后 2 箱 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-15T16:43:06.935731 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

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, inf]1850100.00%126158931.84%2.14
合计108018453234821.74%3.60
2026-10-15T16:43:07.055090 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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

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

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-15T16:43:07.230881 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

关键结论

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

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.6210
avg_tnr0.1692
income_grade0.0967
cust_seg20.0881
card_usage_ratio0.0848
query_cnt_3m0.0794
bank_997_cnt_3m0.0705
repay_amt_6m_grade0.0701

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

KS = 0.3391,GINI = 0.4568

2026-10-15T16:43:07.357605 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:07.477521 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

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

指标数值
样本量6000 → 3688(剔除好样本 2312)
KS0.3351
AUC0.7254
GINI0.4508
2026-10-15T16:43:07.603122 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2026-10-15T16:43:07.730491 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

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