3. Vintage分析核心指标:Vintage逾期率、Vintage坏账率、累计Vintage曲线、月度Vintage曲线
Vintage分析的核心在于通过一组标准化指标,将不同账龄的资产表现对齐到同一时间轴上进行比较。本节将详细拆解四个最关键的指标:Vintage逾期率、Vintage坏账率、累计Vintage曲线与月度Vintage曲线。理解这些指标的定义、计算逻辑与业务含义,是后续进行坏样本归因的基础。
3.1 核心指标定义与计算公式
以下表格汇总了四个核心指标的定义、计算公式与典型应用场景,便于快速对照理解。
| 指标名称 | 定义 | 计算公式 | 典型应用场景 |
|---|---|---|---|
| Vintage逾期率 | 特定放款月份(Vintage)的资产,在某个账龄月(MOB)末处于逾期状态(如M1+)的余额占比。 | Vintage逾期率 = 该Vintage在MOB n末逾期余额 / 该Vintage放款总本金 |
评估早期风险暴露速度,对比不同月份放款的质量差异。 |
| Vintage坏账率 | 特定放款月份的资产,在某个账龄月(MOB)末已确认核销或达到坏账标准的金额占比。 | Vintage坏账率 = 该Vintage在MOB n末累计坏账金额 / 该Vintage放款总本金 |
衡量最终损失水平,用于准备金计提与产品定价。 |
| 累计Vintage曲线 | 将同一Vintage在不同账龄月的逾期率或坏账率连接而成的曲线,反映该批次资产全生命周期的风险演变。 | 横轴为账龄月(MOB),纵轴为逾期率或坏账率,每个Vintage一条线。 | 判断资产成熟期、比较不同Vintage的最终损失差异。 |
| 月度Vintage曲线 | 将不同Vintage在同一个固定账龄月(如MOB 6)的逾期率或坏账率连接而成的曲线,反映放款时间趋势。 | 横轴为放款月份,纵轴为指定账龄月的逾期率或坏账率。 | 监控风控策略调整效果、识别外部环境变化(如疫情、政策)对资产质量的影响。 |
关键区分:累计Vintage曲线是“纵向看生命周期”,月度Vintage曲线是“横向看时间趋势”。两者结合使用,才能全面诊断风险来源是来自“批次本身质量”还是“外部环境变化”。
3.2 累计Vintage曲线:资产生命周期的“心电图”
累计Vintage曲线是Vintage分析中最核心的可视化工具。它通过追踪同一批次放款在后续每个月的表现,揭示风险是如何随时间累积的。
曲线形态解读:
- 陡峭上升型:早期逾期率快速攀升,说明该批次资产在放款后3-6个月内迅速暴露风险,可能对应高风险客群或宽松的审批策略。
- 平缓爬升型:风险释放缓慢,曲线斜率较小,说明资产质量相对稳定,风险暴露周期较长。
- 趋于平坦(成熟期):当曲线斜率趋近于0时,表示该批次资产已进入“成熟期”,后续新增逾期或坏账极少,此时累计坏账率可视为该批次的最终损失率。
实战经验:对于消费信贷产品,通常观察MOB 12-18的累计Vintage曲线是否趋于平坦。如果曲线在MOB 24后仍在明显上升,说明产品期限过长或催收策略存在滞后效应,需要重新审视资产的生命周期假设。
3.3 月度Vintage曲线:风控策略的“温度计”
月度Vintage曲线固定了“账龄”这个变量,专门用来观察不同放款月份之间的质量波动。例如,固定观察MOB 6的逾期率,将2023年1月至12月每个放款批次在MOB 6的表现连成一条线。
曲线形态解读:
- 上升趋势:说明近期放款在相同账龄下的表现变差,可能原因是:审批标准放松、获客渠道下沉、外部经济环境恶化。
- 下降趋势:说明风控策略优化见效,或客群结构上移,资产质量持续改善。
- 突然跳升/跳降:往往对应特定事件,如:上线了新评分卡、调整了定价策略、遭遇了黑产攻击、或发生了疫情等宏观冲击。
避坑指南:使用月度Vintage曲线时,务必确保所选账龄月已经进入“稳定期”。如果选择MOB 3这样的早期账龄,曲线波动可能只是随机噪声,而非真实趋势。建议至少选择MOB 6或MOB 12作为观察点。
3.4 指标对比与选择策略
在实际分析中,需要根据分析目的选择合适的指标组合。下表总结了不同场景下的指标推荐。
| 分析目的 | 推荐指标 | 关注点 |
|---|---|---|
| 评估某批次最终损失 | 累计Vintage坏账率曲线 | 曲线是否趋于平坦,最终损失率是多少 |
| 监控近期风控策略效果 | 月度Vintage曲线(固定MOB 6或MOB 12) | 曲线趋势是上升还是下降,是否有突变点 |
| 识别早期风险信号 | Vintage逾期率(MOB 1-3) | 首期逾期率是否异常偏高,是否存在欺诈风险 |
| 对比不同产品/渠道质量 | 累计Vintage逾期率曲线(分组对比) | 不同分组的曲线是否明显分离,分离点出现在哪个账龄 |
| 准备金计提 | 累计Vintage坏账率(成熟期值) | 取最近12个月成熟批次的平均坏账率作为预期损失率 |
实战建议:在制作Vintage分析报告时,建议同时展示两张图:一张是累计Vintage曲线(展示各批次全貌),另一张是月度Vintage曲线(展示时间趋势)。两张图结合,可以快速定位风险变化是由“批次差异”还是“时间趋势”驱动的。
3.5 计算示例:从原始数据到指标
以下是一个简化的Python计算示例,展示如何从原始还款计划表计算Vintage逾期率。
import pandas as pd
import numpy as np
# 示例数据:每笔贷款的放款月份、账龄月、逾期状态
data = {
'loan_id': ['L001', 'L002', 'L003', 'L004'],
'vintage_month': ['2023-01', '2023-01', '2023-02', '2023-02'],
'mob': [1, 2, 1, 2],
'overdue_flag': [0, 1, 1, 0], # 1表示逾期
'loan_amount': [10000, 10000, 15000, 15000]
}
df = pd.DataFrame(data)
# 计算每个Vintage在每个MOB的逾期率
vintage_group = df.groupby(['vintage_month', 'mob']).agg(
overdue_amount=('loan_amount', lambda x: x[df.loc[x.index, 'overdue_flag'] == 1].sum()),
total_amount=('loan_amount', 'sum')
).reset_index()
vintage_group['vintage_overdue_rate'] = (
vintage_group['overdue_amount'] / vintage_group['total_amount']
)
print(vintage_group[['vintage_month', 'mob', 'vintage_overdue_rate']])
# 输出示例:
# vintage_month mob vintage_overdue_rate
# 0 2023-01 1 0.00
# 1 2023-01 2 1.00
# 2 2023-02 1 0.67
# 3 2023-02 2 0.00
注意:实际生产环境中,数据量通常达到百万级,建议使用Spark或ClickHouse等分布式引擎进行计算。同时,需要处理提前结清、展期、核销等特殊状态,确保分母(放款总本金)的准确性。