2. 坏样本定义与标签体系:逾期天数定义(M0/M1/M2+)、坏账认定标准、样本标签的构建方法
在贷后预警体系中,坏样本的定义与标签体系是数据分析的基石。如果坏样本的定义不清晰、标签体系不统一,后续的模型训练、策略评估和风险监控都将失去准绳。本节将系统讲解逾期天数的标准化定义、坏账认定的核心标准,以及如何构建可落地的样本标签体系。
2.1 逾期天数定义:M0 / M1 / M2+ 标准化
行业通用的逾期阶段划分以 M(Month) 为单位,代表逾期月份数。不同机构可能对 M0、M1、M2 的起止天数有细微差异,但主流标准如下:
| 逾期阶段 | 逾期天数范围 | 常见别名 | 风险特征 |
|---|---|---|---|
| M0 | 0 天(未逾期) | 正常 / 当前 | 客户处于还款期内,无违约行为 |
| M1 | 1 ~ 30 天 | 早期逾期 / 催收初期 | 客户可能遗忘或临时资金紧张,回收率较高 |
| M2 | 31 ~ 60 天 | 中期逾期 | 客户还款意愿或能力明显下降,需加大催收力度 |
| M3+ | 61 天及以上 | 严重逾期 / 坏账预备 | 回收率急剧降低,通常进入法催或核销流程 |
实务提示:部分机构将 M2 定义为 31~90 天,M3 定义为 91~120 天。在构建标签体系时,务必与业务方确认统一的“逾期天数计算口径”(如:是否含宽限期、是否按自然日计算),避免因口径不一致导致样本错标。
2.2 坏账认定标准
坏账认定是标签体系中最关键的决策点。通常从以下三个维度综合判定:
- 逾期天数阈值:多数机构将 M3+(逾期 ≥ 90 天) 作为坏账认定的核心门槛。部分消费金融产品可能放宽至 M4+(≥ 120 天)。
- 还款行为特征:客户是否已失联、是否被标记为欺诈、是否已进入法催或核销流程。
- 资产处置状态:是否已完成核销、是否已转让给第三方催收或资产管理公司。
坏账认定标准示例(某消费金融公司):
✅ 逾期天数 ≥ 90 天(M3+)
✅ 且经 3 次以上有效催收仍无还款动作
✅ 且未被标记为“争议中”或“展期”
✅ 满足以上条件,则认定为“坏账样本”(标签 = 1)
✅ 逾期天数 ≥ 90 天(M3+)
✅ 且经 3 次以上有效催收仍无还款动作
✅ 且未被标记为“争议中”或“展期”
✅ 满足以上条件,则认定为“坏账样本”(标签 = 1)
2.3 样本标签的构建方法
构建样本标签的核心目标是:为每个借款账户生成一个明确的“好/坏”标识,用于后续的预警模型训练和策略分析。以下是标准构建流程:
- 数据准备:提取借款账户的完整还款计划表、实际还款记录、逾期状态变更日志。
- 逾期阶段映射:根据逾期天数将每个账户的每个还款期映射到 M0/M1/M2/M3+ 阶段。
- 坏账判定:应用坏账认定标准,标记每个账户是否为坏样本(1 = 坏,0 = 好)。
- 观察期与表现期对齐:确定观察期窗口(如:放款后 6 个月)和表现期窗口(如:放款后 12 个月),确保标签与特征时间对齐。
- 标签去重与清洗:剔除数据异常、信息缺失或业务规则冲突的样本。
常见陷阱:不要将“当前逾期但后续还清”的账户直接标记为好样本。这类账户属于“逾期修复”样本,应单独归类或使用“滚动率”方法处理,否则会低估坏账率。
2.4 标签体系架构图
以下 SVG 图展示了从原始还款数据到最终样本标签的完整构建流程:
2.5 标签体系示例代码
以下 Python 代码展示了如何根据逾期天数生成 M 阶段标签和坏账标签:
import pandas as pd
import numpy as np
# 示例数据:借款账户的逾期天数
data = {
'account_id': ['A001', 'A002', 'A003', 'A004', 'A005'],
'overdue_days': [0, 15, 45, 95, 120]
}
df = pd.DataFrame(data)
# 定义逾期阶段映射函数
def map_m_stage(days):
if days == 0:
return 'M0'
elif 1 <= days <= 30:
return 'M1'
elif 31 <= days <= 60:
return 'M2'
else:
return 'M3+'
# 定义坏账标签(M3+ 且逾期天数 ≥ 90)
def label_bad(row):
if row['overdue_days'] >= 90:
return 1
else:
return 0
# 生成标签
df['m_stage'] = df['overdue_days'].apply(map_m_stage)
df['bad_label'] = df.apply(label_bad, axis=1)
print(df)
2.6 标签体系质量检查清单
在标签体系构建完成后,建议使用以下清单进行质量检查:
- 一致性:同一账户在不同时间点的标签是否逻辑自洽?
- 完整性:所有样本是否都有明确的标签?缺失标签的样本是否已记录原因?
- 时效性:标签是否基于最新的还款数据生成?是否考虑了展期、延期等特殊状态?
- 可解释性:业务团队是否理解标签的含义?标签定义文档是否完备?
最佳实践:建议在标签体系中增加一个“标签版本号”字段,每次调整坏账认定标准或逾期天数口径时,生成新版本标签,并保留历史版本。这有助于回溯分析和模型迭代。