2. 样本定义与标签设计:好坏样本的定义标准、观察点与表现期设定

在风控建模中,样本定义与标签设计是决定模型上限的基石。如果好坏样本的定义不准确,后续的特征工程和模型训练都会偏离真实风险。本节将系统讲解逾期天数、滚动率、观察点与表现期的设定方法,以及样本窗口的划分策略。

2.1 好坏样本的定义标准

好坏样本的定义通常基于逾期天数(Days Past Due, DPD)和滚动率(Roll Rate)两个核心指标。逾期天数直接反映客户的还款延迟程度,而滚动率则揭示客户从轻度逾期向重度逾期恶化的趋势。

2.1.1 基于逾期天数的定义

逾期天数是最直观的标签定义方式。常见的定义标准如下:

样本类型 常见定义标准 适用场景
好样本(Good) 表现期内最大逾期天数 ≤ 0(即从未逾期) 严格风控、低风险产品
好样本(Good) 表现期内最大逾期天数 ≤ 30 天 常规消费信贷、信用卡
坏样本(Bad) 表现期内最大逾期天数 ≥ 90 天 行业通用标准(Basel II 参考)
坏样本(Bad) 表现期内最大逾期天数 ≥ 60 天 短期小额贷款、现金贷
模糊样本(Indeterminate) 1 天 ≤ 最大逾期天数 ≤ 59 天 需结合滚动率进一步判断
实践建议:不建议将逾期 1 天直接定义为坏样本,因为部分客户可能因遗忘或系统延迟而短暂逾期,这类客户往往在 3-7 天内就会还款。将逾期 90 天作为坏样本标准,在多数场景下具有较好的区分度和业务可解释性。

2.1.2 基于滚动率的定义

滚动率衡量的是客户从当前逾期状态向更严重逾期状态迁移的概率。滚动率分析可以帮助我们识别“伪好客户”和“真坏客户”。

滚动率的计算公式为:

滚动率(M0→M1)= 当前处于 M0 且在下一周期进入 M1 的客户数 / 当前处于 M0 的客户总数

其中:
M0 = 未逾期(Current)
M1 = 逾期 1-30 天
M2 = 逾期 31-60 天
M3 = 逾期 61-90 天
M4+ = 逾期 90 天以上

通过滚动率分析,我们可以找到“坏样本”的临界点。例如,如果 M2→M3 的滚动率显著高于 M1→M2,说明一旦客户逾期超过 60 天,其恶化概率急剧上升,此时可以将逾期 60 天作为坏样本的阈值。

关键结论:滚动率分析的核心价值在于发现逾期状态的“不可逆拐点”。当某个逾期阶段的滚动率超过 50% 时,该阶段之前的逾期天数通常可以作为坏样本定义的参考阈值。

2.2 观察点与表现期的设定

观察点(Observation Point)和表现期(Performance Period)是样本构建的时间轴核心概念。观察点是提取特征的时间截面,表现期是观察客户后续表现的时间窗口。

2.2.1 观察点与表现期的关系

下图展示了观察点与表现期在时间轴上的位置关系:

观察点与表现期时间轴示意图 T₀ (观察点) T₀ + 6M (表现期末) T₀ + 12M (表现期末,长窗口) 表现期(6个月) 表现期(12个月,可选长窗口) 观察点:提取特征的时间截面;表现期:观察客户是否违约的时间窗口

2.2.2 观察点的选择原则

  • 业务时点对齐:观察点应选择在客户完成授信审批、首次放款或账单生成等关键业务节点。
  • 避免幸存者偏差:观察点不能选择在表现期之后,否则会引入未来信息,导致模型在线上失效。
  • 多观察点策略:对于循环授信产品(如信用卡),可以设置多个观察点(如每月账单日),以捕捉客户行为的变化。

2.2.3 表现期的长度设定

表现期的长度直接影响标签的准确性和样本量。常见设定如下:

产品类型 推荐表现期 说明
短期现金贷(7-30天) 1-3个月 产品周期短,逾期行为在短期内即可暴露
消费分期(3-12期) 6个月 行业常用标准,平衡标签准确性与样本时效性
信用卡循环贷 12个月 循环授信,需要更长时间观察客户还款习惯
住房抵押贷款 24个月或更长 长期贷款,违约风险暴露周期长
注意:表现期过长会导致样本时效性下降,模型可能无法反映最新的客群变化;表现期过短则可能将“暂时逾期但最终还款”的客户误判为坏样本。建议在建模前进行表现期敏感性分析。

2.3 样本窗口划分

样本窗口划分决定了训练集、验证集和测试集的时间范围。合理的窗口划分可以避免时间穿越(Time Travel)问题,确保模型评估的可靠性。

2.3.1 样本窗口划分结构

下图展示了典型的样本窗口划分方式:

样本窗口划分结构图 2023-01 2023-07 2024-01 2024-07 2025-01 训练集(2023-01 ~ 2024-01) 验证集 测试集 表现期(6个月) 表现期 表现期 窗口划分关键原则 1. 训练集、验证集、测试集在时间上严格不重叠 2. 测试集必须是最新的时间窗口,模拟线上真实环境 3. 每个窗口的观察点与表现期之间留有足够的时间间隔

2.3.2 窗口划分的常见策略

  1. 固定时间窗口:将历史数据按固定时间长度(如 6 个月)划分为训练集、验证集和测试集。适用于业务相对稳定的场景。
  2. 滚动时间窗口:使用最近 N 个月的数据作为训练集,后续 M 个月作为验证集,再后续 K 个月作为测试集。适用于客群变化较快的场景。
  3. 时间序列交叉验证:按时间顺序依次划分多个训练/验证对,每个验证集都是训练集之后的时间段。适用于样本量较小的场景。

2.3.3 窗口划分的避坑指南

常见错误:将同一客户在不同时间点的样本同时放入训练集和测试集,导致信息泄露。例如,客户 A 在 2023 年 1 月的样本在训练集,2023 年 7 月的样本在测试集,模型可能“记住”了该客户的历史表现。
  • 按客户划分:确保同一客户的所有样本只出现在一个数据集中(训练/验证/测试),避免客户级别的信息泄露。
  • 时间对齐:训练集、验证集、测试集的观察点必须严格按时间顺序排列,不能出现验证集时间早于训练集的情况。
  • 表现期对齐:所有样本的表现期长度必须一致,否则标签的定义标准会不一致,导致模型学习到时间窗口长度带来的偏差。

2.4 样本定义与标签设计的完整流程

综合以上内容,样本定义与标签设计的完整流程可以总结为以下步骤:

步骤 操作内容 输出结果
1 确定产品类型与业务目标 明确是申请评分卡、行为评分卡还是催收评分卡
2 进行滚动率分析 找到逾期状态的“不可逆拐点”
3 定义好坏样本标准 确定逾期天数阈值(如 90 天)
4 设定观察点与表现期 确定特征提取时间截面和表现观察窗口
5 划分样本窗口 生成训练集、验证集、测试集的时间范围
6 生成标签并检查分布 确认坏样本率在合理范围(通常 2%-10%)
经验分享:在初次建模时,建议先使用 6 个月表现期和 90 天逾期标准作为基线。后续根据模型在验证集上的表现,再调整表现期长度或逾期阈值。不要一开始就追求“完美”的标签定义,快速迭代比过度优化更重要。