自本月月初疫情全面放开后,身边的朋友基本都阳了一遍,希望正在浏览本篇文章的读者您是还没阳过的幸运儿。另外,今天也是冬至了,祝各位读者身边健康,远离羊群!
最近我们分享了信贷业务年终总结系列的前2篇文章:信贷产品年终总结之客群特征画像(12月13日),信贷产品年终总结之贷中行为分析(12月19日),今天我们将再次续集,来介绍“信贷产品年终总结之贷后逾期分析”。作为信贷风控重要环节的贷后模块,用户逾期分析是一项非常核心的体系内容,是风控规则挖掘、催收策略制定、不良资产处置等版块的必要工作。因此,围绕贷后用户的逾期数据分析,在实际场景中不仅对客户管理体系发挥着关键作用,而且对整体业务发展具有决定性意义。
针对存量用户数据的贷后逾期分析,根据场景需求可以展开不同角度的研究,例如确定好坏目标的账龄与滚动率分析、信贷用户风险五级分类的划分、逾期不良资产规模的量化等。本文主要是围绕信贷周期结束的用户群体数据,通过分析来刻画描述用户群体的逾期行为表现,以了解不同客群的逾期规模与特征差异。在具体内容的介绍过程中,我们将结合实例样本数据来展开分析,从而客观呈现样本用户逾期表现的数据分布。

1、实例样本数据

本文选取的实例样本数据,来自于客户还款信息明细表,共包含87405条样本与10个字段,部分数据样例如图1所示,每条样本观测代表某客户某一分期的还款详情,各特征字段的标签含义分别为:apply_id(客户订单号)、loan_date(放款日期)、loan_amount(放款金额)、contract_amount(合同金额)、period_type(分期类型)、period_num(产品期数)、repay_date(应还日期)、repay_amount(应还金额)、paid_amount(已还金额)、clear_date(结清日期)。本样本数据的放款时间窗口(loan_date)为2020040120201230,且应还时间窗口(repay_date)为2020043020211229,假设当前分析时点为20220101,说明当前样本的所有用户均已结束信贷周期,也就是分期账单已无未到时间的应还日期,无论按时还款还是逾期违约,在待分析时间点不存在未到还款日的情况。


逾期数据分析机器学习流程 逾期数据分析的维度_python


图1 样本数据样例针对产品放款日期(loan_date)与分期类型(period_type),我们从整体上来了解下当前客群在不同月份与不同期数的规模分布,包括用户数量、放款金融的具体数据,其中放款月份(loan_month)从放款日期(loan_date)来提取,具体实现详见知识星球代码详情,输出的数据结果如图3所示,对应可视化分布如图4所示。


逾期数据分析机器学习流程 逾期数据分析的维度_数据_02


图3 放款月份数据分布

逾期数据分析机器学习流程 逾期数据分析的维度_python_03


图4 放款月份可视化由上图结果可知,从放款月份202004到202012,放款用户数量与放款金额规模的变化趋势大体是一致的,说明各月份的件均金额是比较接近的。其中,202010月份的放款数量与放款总额均是最大值,其占比分别为18.0598%、17.9554%;202005月份的放款数量与放款总额均是最大值,其占比分别为2.33106%、2.5306%;除了月份202004、202005外,从202006到202012期间,各月的放款业务量整体表现较为平稳。

我们接下来对产品不同分期类型(period_type)的数据规模进行描述,具体实现过程详见知识星球代码详情,输出的数据结果如图6所示,放款金额的可视化分布如图7所示。由图数据可知,当前产品分期形式包括6、9、12共3种类型,其中6期所占比重规模明显最多,用户数量与放款总额分别为82.6073%、85.601%,而9期相应维度的体量表现最少。


逾期数据分析机器学习流程 逾期数据分析的维度_数据_04


图6 分期类型数据分布


逾期数据分析机器学习流程 逾期数据分析的维度_数据_05


图7 分期类型可视化2、逾期天数分析

由于各用户均有多笔分期账单(6或9或12),且各期的还款行为表现可能也有一定差异,具体可体现为提前还款、正常还款、逾期已还、逾期未还、未到还款日,其中逾期已还、逾期未还这2种状态都会有逾期天数的表现,区别在于一个已是静态固定(逾期已还),而另一个仍然动态变化(逾期未还)。结合本文主题内容在于逾期数据表现,因此我们重点来分析用户还款历史的逾期程度,以及相应维度的细节特征描述。在汇总客户层的逾期表现之前,我们需要分别得到各账单层的逾期天数overdue_day,具体实现过程如图8所示。这里简单描述下逾期天数的加工逻辑,对于分期账单金额已结清的用户,逾期天数(overdue_day)=结清日期(clear_date)-应还日期(repay_date);对于分期账单金额未结清的用户,逾期天数(overdue_day)=分析时点(20220101)-应还日期(repay_date)。


逾期数据分析机器学习流程 逾期数据分析的维度_人工智能_06


图8 逾期天数加工当得到逾期天数overdue_day后,可以根据此指标是否大于0来判断历史是否有过逾期,当overdue_day>0时说明当前账单有逾期,以overdue_state=1来表示;当overdue_day<=0时说明当前账单无逾期,以overdue_state=0来表示。这里需要注意的是,有逾期并不代表一定没有还款,实际情况会包含逾期已还、逾期未还这2种还款状态。

每个分期账单的逾期天数overdue_day、逾期状态overdue_state确定之后,接下来我们便可以进一步梳理用户所有账单的逾期总次数、最高逾期天数等指标。由于用户账单类型存在6/9/12期的区分,这里为了更好的量化对比逾期次数分布,我们按照产品分期类型6/9/12依次进行分析,此处以样本最多的6期用户群体为例,对用户的逾期表现展开进一步分析。我们先来了解下客户层分期账单的逾期总次数,具体实现过程详见知识星球代码详情,对6期类型的逾期次数取值范围0~6,来同步输出相应的频数分布如图10所示,同时以可视化形式展示如图11所示。

逾期数据分析机器学习流程 逾期数据分析的维度_逾期数据分析机器学习流程_07


图10 用户逾期次数分布(6期)


逾期数据分析机器学习流程 逾期数据分析的维度_人工智能_08


图11 用户逾期次数可视化(6期)由以上结果可知,对于分期类型为6期的用户群体,历史账单未出现过逾期的用户数量为5218,对应占比为49.5772%;逾期1次的用户占比为12.057%;逾期2~6次各情况的占比均为7.5%左右。从业务场景上理解,随着逾期次数的增加,用户群体的风险程度也会较大程度升高。按照以上对6期用户群体分析的原理逻辑,我们可以同理得到分期为9和12对应的逾期次数分布,具体结果分别如图12、13所示,相关代码详见本文附件。


逾期数据分析机器学习流程 逾期数据分析的维度_python_09


图12 用户逾期次数分布(9期)

逾期数据分析机器学习流程 逾期数据分析的维度_逾期数据分析机器学习流程_10


图13 用户逾期次数分布(12期)3、逾期等级分析

通过以上逾期次数的维度分析,虽然能够直观反映用户的整体风险情况,但每个分期订单的逾期天数可以进一步体现用户的风险特征,尤其是以客户层描述的最高逾期天数,在实际场景中有着非常重要的参考意义,下面我们便来分析下各用户的最大逾期天数,即统计出每个用户在历史分期订单中逾期天数的最大值,我们仍以6期用户群体为例,具体实现过程如图14所示。


逾期数据分析机器学习流程 逾期数据分析的维度_人工智能_11


图14 用户最大逾期天数(6期)通过以上过程可以得到客户层最大逾期天数overdue_max,由于本文样例数据的最早应还款日期repay_date(20200430)距当前分析时点current_date(20220101)有600多天,因此样本用户最大逾期天数的取值范围较大。为了便于进一步分析,我们通过最大逾期天数来衍生加工最高逾期等级Mn(M0/M1/M2/M3等),具体加工逻辑为:M0(未逾期)、M1(逾期130天)、M2(逾期3160天)、M3(逾期6190天)、M4(逾期91120天)、M5(逾期121150天)、M6(逾期151180天)、M7+(逾期180天以上)。按照以上分析逻辑,针对6期用户群体的具体分析过程详见知识星球代码详情,得到的数据分布结果如图16所示。


逾期数据分析机器学习流程 逾期数据分析的维度_开发语言_12


图16 用户逾期等级分布(6期)由以上结果可知,针对6期用户群体的历史还款表现,从未有过逾期的用户数量为5218,占比为49.5772%;历史逾期程度达到M1(1~30天)的用户数量为2348,占比为22.3088%;历史逾期程度达到M2/M3/M4/M5/M6的用户占比均不足1%;历史逾期程度达到M7+(180天以上)的用户群体数量为2866,占比为27.2304%,这类用户的风险程度很高。对于9期与12期用户群体,按照以上同样逻辑可以得到相应的分布结果,分别如图17、18所示。


逾期数据分析机器学习流程 逾期数据分析的维度_人工智能_13


图17 用户逾期等级分布(9期)

逾期数据分析机器学习流程 逾期数据分析的维度_数据_14


图18 用户逾期等级分布(12期)4、逾期金额分析

以上对逾期天数、逾期次数、逾期等级等维度的分析,都是从用户数量来量化分析的,但针对同样逾期等级的用户,逾期金额大小是有差异的,而在实际业务场景中,从资金利益的角度来讲,我们还需要同步了解逾期金额的规模。围绕不同分期(6/9/12)的用户群体,逾期未还金额的分析过程具体详见知识星球代码详情,汇总相应数据结果如图20所示。


逾期数据分析机器学习流程 逾期数据分析的维度_数据_15


图20 逾期未还金额规模由以上结果可知,本例存量用户的逾期待还总金额规模为14883169.81,其中6期类型用户占主要群体,逾期金额为12343231.5,对应占比为82.934%,9期与12期的规模占比分别为4.623%、12.443%。

在熟悉了整体逾期待还金额情况后,接下来我们以6期用户群体为例,来从不同月份(loan_month)的时间维度来进一步了解下逾期金额分布,同时将用户数量、逾期本金等明细数据同步进行展示,具体实现过程详见知识星球代码详情,输出的数据分布结果如图22所示。


逾期数据分析机器学习流程 逾期数据分析的维度_python_16


图22 不同月份逾期金额明细(6期)由以上结果可知,6期用户群体在放款时间窗口202004~202012的各个月份均有业务体量,且都存在一定程度的逾期情况。其中,202010月份的逾期用户数量、逾期金额规模,相比其他月份数据表现较高,对应占比分别为21.7885%、20.2513%;202012月份的逾期用户数量及其金额大小,在所有月份是表现最低的,占比仅有1%稍多,当然这与当月6期放款数量较少情况是直接相关的。按照图21的实现逻辑,我们可以同理得到9期与12期的不同月份逾期分布,具体如图23、24所示。


逾期数据分析机器学习流程 逾期数据分析的维度_逾期数据分析机器学习流程_17


图23 不同月份逾期金额明细(9期)


逾期数据分析机器学习流程 逾期数据分析的维度_人工智能_18


图24 不同月份逾期金额明细(12期)通过上图分布结果可知,6期与12期的分期类型,从202011月份才开始实行,由于本例样本数据的放款时间窗为2022年,因此对于6期和12期用户仅有2个月的数据表现,且在202012月份的逾期用户数量与逾期金额大小,相应占比均达到了90%以上。

综合以上内容,我们围绕实例样本数据,依次从逾期天数、逾期次数、逾期等级、逾期金额等维度,对用户群体的历史贷后数据完成了全方位探索与分析,得到了用户在不同分层角度下的逾期行为表现。同时,根据不同逾期月份(202004~202012)、不同分期类型(6/9/12),对各类用户的特征数据进行了细化描述,全面概括了贷后整体逾期表现的分布情况。为了便于大家对以上内容的进一步理解与熟悉,本文额外附带了更详细的Python代码与样本数据,详情请移至知识星球查看相关内容。

逾期数据分析机器学习流程 逾期数据分析的维度_python_19


逾期数据分析机器学习流程 逾期数据分析的维度_开发语言_20