大家好,我是东哥。
信贷风控领域中,经常用到账龄Vintage报表,是初学者入门必过的难点之一,因为它涉及到用户还款、逾期等多种行为以及业务上的多种统计口径,因此很多朋友一直无法将逻辑梳理清楚。本次来给大家详细拆解介绍Vintage报表的底层计算逻辑、以及Python代码实操,内容节选自👉《100天风控专家》报表篇。
一、什么是Vintage?
Vintage这个词原意是指酿造葡萄酒的酒窖。葡萄酒是很讲究年份的,哪年光景好,哪年光景不好,直接会影响到葡萄酒的品质。因此根据不同时期的光景,每一次酿造出来的葡萄酒品质都不一样的。虽然不一样,但是它们在窖藏一定年份后,葡萄酒的品质将趋于稳定,也就是品质成熟,这段年份数被称为成熟期(maturity)。
后来借用到信贷资产行业,指的是每个月贷款的资产质量情况,未来每一期发生的逾期金额要直接和放款月份的余额做比较,每个放款月的资产彼此之间都是独立的。
二、Vintage的理解
1)分析方法:属于cohort群组分析,是在信贷资产场景的特殊应用;
2)表达含义:纵轴是放款月份,横轴是账龄MOB,每一行数据代表了每个月放款后各个账龄期限的逾期率。Vintage计算的逾期率都是历史数据,即已经发生了的事情,表中的NA是未发生的。比如23年10月份向后推4个月是24年2月份(mob4),大于当前统计时点,需等到2月份过完才可以统计出来;
3)逾期本质:Vintage计算逾期率的逻辑,本质就是“递延指标”的思想;
4)逾期对象:下表中vintage统计的逾期对象是M2+(逾期超过30天)逾期率。
三、Vintage的逾期口径
1)即期逾期 or 递延逾期:Vintage本质是递延指标思想,追本溯源。
2)M1+逾期 or M2+逾期:根据需求自定义风险程度
3)金额逾期 or 订单数逾期:
- 订单口径,逾期率= 逾期订单数/ 总放贷订单数
- 金额口径,逾期率= 逾期剩余本金/ 总放贷本金(一般常用金额口径)
4)当前逾期 or 曾经逾期:一般常用当前逾期
四、Vintage的分析角度
1)账龄最长为12个月,代表产品期限为12期。随着12期结束,账户的生命周期走到尽头。
2)这个Vintage的统计逾期指标为M2+(逾期超过30天)风险。
3)放款月份从2022年11月~2023年10月的最终M2+逾期率都在降低,说明资产质量在不断提升,可能是因为风控水平控制的很好。
4)不同月份放款月的M2+逾期率在经过9个月的MOB后开始趋于稳定,说明稳定的表现期是9个月。
五、Vintage的4个核心统计时点
2022-11放款月份为例,各个MOB对应的M2+逾期率为:
MOB1的M2+逾期率=MOB1的M2+逾期金额/2022年11月总放款金额=0
MOB2的M2+逾期率=MOB2的M2+逾期金额/2022年11月总放款金额=0.95%
…
MOB12的M2+逾期率=MOB12的M2+逾期金额/2022年11月总放款金额=3.22%
通用公式:MOB(N)的M2+逾期率=MOB(N)的M2+逾期金额/xx放款月份的总放款金额
要计算每个单元格的逾期率,需要首先了解4个统计时点:应还款日、实际还款日、MOB观察日,当前观察日。
- 应还款日:还款计划生成后,确定了每个月的还款日。有两个方式,第一种是还款日根据放款日而定,比如2022年11月10日放款,那么后续每个月10号还款,第二种是所有客户都是同一还款日,比如所有客户都在每个月的21号还款。
- 实际还款日:客户实际的还款日,由客户还款行为决定,与应还款日比较以后可有三种方式,提前还款、按时还款、逾期不还。
- MOB观察日:每个MOB月的观察时点,也分为两种,一种是期末时点,一种是月末时点。
- 当前观察日:就是假设你站在了某个时点,然后对历史每个月放款后各MOB逾期数据的回看。与前三个时点不同,当前观察日不是周期性产生的,而是固定不变的,对于所有放款月都一样。
总结一下,在进行Vintage计算之前需要确认几个事项:
- 当前观察日是哪天?
- MOB观察日的口径,是月末时点,还是期末时点?
- 观察逾期的口径,是当前current逾期,还是曾经ever逾期?
- 金额口径还是订单口径?
实际业务场景中,比较常用的是“MOB月末时点观测+当前逾期口径+逾期未结清余额”的逾期率口径。
以上4个都确定以后,剩下就看应还款日和实际还款日了,而应还款日是根据产品设计而定的,因此只有实际还款日是不确定的。实际还款日是由客户行为决定的,可以发生在任何的时间点,所以根据实际还款日的不同发生位置,就会产生多种情况。
六、Vintage的逾期天数计算
第一种是,当应还日超过当前观察日的时候,也就是应还日还在未来,是未发生的事,因此我们无法判断。
第二种是,应还日在当前观察日之内了,属于我们可以观察到的历史数据了。此时,如果实际还款日在应还日当天或者之前,说明是正常还款,未发生逾期,因此逾期天数为0。
第三种是,实际还款日在应还日和mob观察日之间,说明虽然逾期了,但在mob观察日之前还上了。此时如果是当前逾期的口径,那么在mob月底观察是未发生逾期的,那么逾期天数为0;如果是曾经逾期口径,那么就发生过逾期了,逾期天数=实还日-应还日=5
第四种是,实际还款日在mob观察日之后,虽然也还了,但晚于mob观察点,因此当前逾期与曾经逾期口径是一样的,逾期天数都=MOB观察日-应还款日=21
第五种是,从应还日一直到当前观察日,客户一直没有还款动作,也就是一直未结清。因此当前逾期与曾经逾期口径也是一样的,逾期天数都=MOB观察日-应还款日=21
七、逾期金额计算
前面我们根据4个统计时点,计算出每个客户在各个mob下的逾期状态和逾期天数。
- 逾期天数可以转化为逾期期数,比如M1+/M2+/M3+等等,因此我们就可以观察M1+/M2+/M3+的逾期率在vintage账龄下的趋势。
- 通过各mob的逾期状态判断,我们也可以统计出逾期的剩余未还本金,也就是我们前面所要求的金额逾期率口径的分子。
八、逾期率计算逻辑
九、Python代码实操
核心部分Python代码展示
Vintage账龄报表,30页PPT,40min视频👇
以上报表篇Vintage理论篇节选内容,完整讲解和数据代码(真实业务数据+代码实操)参考👉《100天风控专家》(共更新150期,涵盖业务、产品、策略、模型、数据等5大核心模块、10大专栏)