2. 信贷样本基础

在信贷风控建模中,样本是模型学习的起点。样本定义不清,后续无论用多复杂的算法,都会得到看似合理却无法落地的结果。本节围绕四个核心问题展开:什么是建模样本、观察期与表现期如何切分、好坏样本如何定义、标签如何构建。这四个问题共同决定了模型“学什么、跟谁学、学到什么程度”。

一、样本定义:谁有资格进入建模样本

信贷建模样本不是“所有借款人”,而是满足特定条件的客户集合。一个合格的建模样本通常需要同时满足三个条件:有明确的准入时间、有可观测的贷后表现、有稳定的业务口径。具体来说,样本定义要回答:在哪个时间点、对哪类客户、用哪笔贷款、观察多长时间的表现。

例如,某消费贷产品要构建申请评分卡,样本定义可以描述为:2023年1月至2023年6月期间首次申请该产品、且完成授信审批的客户,观察其放款后6个月内的还款表现。这里“首次申请”排除了重复申请带来的样本污染,“完成授信审批”保证了样本有明确的决策节点,“放款后6个月”则给出了表现窗口。

样本定义必须与业务决策点对齐。申请评分卡的样本应来自“申请—审批”节点,行为评分卡的样本应来自“放款后—观察点”节点。样本来源错位,模型输出就无法对应真实决策场景。

二、观察期与表现期:时间切分的核心

观察期(Observation Period)是收集客户特征的时间窗口,表现期(Performance Period)是观察客户是否发生违约的时间窗口。两者在时间轴上前后衔接,共同构成一个完整的样本窗口。

以2023年1月1日放款的客户为例:观察期可以是放款前6个月至放款日,用于提取申请时的收入、负债、征信查询等特征;表现期则是放款后6个月,用于判断客户是否逾期超过30天。观察期回答“客户当时是什么样”,表现期回答“客户后来怎么样了”。

观察期与表现期的长度选择需要平衡两个因素:表现期太短,坏样本尚未充分暴露,标签被低估;表现期太长,好样本被过度观察,样本量减少且业务节奏滞后。消费贷通常选择6~12个月表现期,房贷可能延长至12~24个月。

观察期(特征窗口) 放款 表现期(标签窗口) T-6M T T+0 T+6M 提取申请特征 判断是否逾期

三、好坏样本定义:标签的判定标准

好坏样本定义是标签构建的核心。在信贷场景中,“坏”通常指客户发生严重逾期或违约,“好”指客户按时还款或仅轻微逾期。定义的关键在于选择逾期天数阈值(DPD,Days Past Due)。

标签类型 常见定义 适用场景 注意事项
坏样本 DPD30+、DPD60+、DPD90+ 申请评分卡、行为评分卡 阈值越高,坏样本越少但越确定
好样本 从未逾期或DPD<5 与坏样本形成对照 需排除“灰样本”干扰
灰样本 DPD5~DPD30、提前结清、展期 通常剔除或单独分析 避免标签模糊导致模型漂移

除了逾期天数,还要考虑“债项”与“客户”两个层面。同一客户可能有多笔贷款,一笔逾期不代表客户整体违约。因此需要明确标签粒度:是“这笔贷款是否逾期”,还是“这个客户在表现期内是否发生任意逾期”。粒度不同,样本量和模型含义都会变化。

不要用“当前是否逾期”作为历史样本标签。历史样本必须基于表现期内的“是否曾发生逾期”来定义,否则会引入未来信息,导致标签泄漏。

四、样本标签构建方法:从原始数据到建模标签

标签构建是一个工程化流程,通常包括以下步骤:

  1. 确定样本窗口:明确观察期起止、表现期起止,形成样本时间轴。
  2. 提取表现数据:从还款计划表、还款流水表、逾期表中获取每笔贷款在表现期内的还款状态。
  3. 计算最大逾期天数:对每笔贷款,计算表现期内最大连续逾期天数或累计逾期天数。
  4. 映射标签:根据阈值将最大逾期天数映射为0/1标签,如DPD30+为1,其余为0。
  5. 剔除灰样本:将无法明确判定好坏的样本剔除,如提前结清、展期、数据缺失等。
  6. 标签校验:检查坏样本比例、时间分布、渠道分布是否合理。

以下是一个简化的标签构建SQL示例,用于从还款流水表中生成DPD30+标签:

SELECT
    loan_id,
    customer_id,
    MAX(overdue_days) AS max_dpd,
    CASE
        WHEN MAX(overdue_days) >= 30 THEN 1
        ELSE 0
    END AS label_bad
FROM repayment_flow
WHERE loan_date BETWEEN '2023-01-01' AND '2023-06-30'
  AND repayment_date <= DATE_ADD(loan_date, INTERVAL 6 MONTH)
GROUP BY loan_id, customer_id;

标签构建完成后,还需要进行样本分层分析。例如按申请渠道、客户等级、放款月份分别统计坏样本率,观察是否存在异常波动。如果某个月份坏样本率突然飙升,可能是政策调整或数据质量问题,需要回溯排查。

标签构建的最终产出是一张“样本—标签”宽表,每行代表一个建模样本,包含样本ID、时间戳、特征字段和标签字段。这张表是后续特征工程和模型训练的唯一输入。

五、常见误区与复盘

误区一:观察期与表现期重叠。如果观察期包含了表现期内的信息,比如用放款后3个月的还款行为预测放款后6个月的违约,就会造成标签泄漏。正确做法是观察期严格在放款日之前,表现期严格在放款日之后。

误区二:好坏样本定义过于宽松。将DPD1+定义为坏样本,会把大量短期遗忘还款的客户误判为高风险,导致模型过于保守。通常建议消费贷使用DPD30+,抵押贷使用DPD60+或DPD90+。

误区三:忽略样本时间分布。如果样本集中在某一季度,而该季度恰好是促销期,客户质量整体偏高,模型上线后面对正常客群就会失效。样本应覆盖至少一个完整的业务周期,并尽量均匀分布。

误区四:灰样本处理随意。灰样本既不是明确的好客户,也不是明确的坏客户。直接删除会减少样本量,直接归为好或坏会引入噪声。建议先分析灰样本占比,若低于5%可剔除,若高于10%则需要单独建模或调整定义。

复盘时可以用一张清单检查样本质量:样本时间窗口是否清晰、观察期与表现期是否严格分离、好坏定义是否与业务目标一致、灰样本处理是否有依据、标签分布是否稳定、样本量是否满足建模要求。这六个问题全部通过,样本基础才算扎实。