明确问题
对象粒度
标签定义
3.1 支付领域标签定义
3.2 信贷领域标签定义
①名词定义
②滚动率分析
③账龄(Vintage)分析
④因变量Y的确定
4.细分客群
在建模比赛中,通常直接给出了建模可用的数据集,并定义了标签和评估样本集。
在实际业务中,我们需要明确项目的背景和目标,根据具体情况定义预测目标和设计方案。
通常需要仔细斟酌,否则基于错误的问题定义,模型训练越好,结果可能越糟糕。
比如在信贷领域,我们可以定义问题为:预测一笔信贷借款在放款3个月内逾期超过30天的概率。
显然,在实际情况中,这样的定义可能有些人会提出质疑。比如:
①对于有些产品,一个申请人可以借多笔借款,每次借款可能有不同的风险表现。到底是以订单维度去建模好一些,还是客户维度?
②为什么要预测放款3个月内逾期的风险?如果是12期的产品,为什么不选择6个月、9个月等?
③为什么预测的是逾期超过30天的概率,而不是60天、90天?如果客户逾期超过30天,但截至统计时已还款,如何处理?
④是否需要划分不同客群分别建模?
想要回答这一系列的问题,我们要分别了解对象粒度、标签定义和细分客群。
在信贷领域中,对于实际业务,我们可能面对不同层次的问题。
如一个客户有多笔借款,那么客户和一笔借款就分属不同的层次。基于不同的层次,我们可以将预测对象定义为不同的粒度。
①渠道粒度:不同的借款人可能来自不同的渠道,我们可以预测渠道的风险,一个渠道是一条记录。
②客户粒度:一个借款人可能有多笔借款,从借款人角度考虑风险,只有该借款人任何一笔借款出现逾期,即表示出现风险事件,一个人是一条记录。
③借款粒度:对借款人的一次借款申请考虑风险,该笔借款逾期,即表示出现风险事件,一次借款是一条记录。
④还款粒度:每个借款人的每次借款都可能分为不同的还款期,如12期借款将有12个还款事件。如果预测每一期还款是否出现违约,那么一次还款是一条记录。
在实际业务中,我们需要根据业务模式和模型应用策略来选择合适的粒度进行建模。
如一次性借款产品的申请风险模型通常选择借款粒度、循环额度产品选择客户粒度、催收还款预估通常选择还款粒度。
预测对象的粒度决定了标签定义和特征计算的粒度。
风险模型用来预测未来的风险,是典型的有监督学习方式,因此需要定义样本标签。
标签是模型所要预测的结果,即我们常见的y。它可以是二元分类结果,如好/坏、响应/不响应等,也可以是连续变量,如收益、损失等。
风险评估模型通常用来预测未来的表现是好还是坏,且不同行业对于评分卡建模中Y的定义有差异,也有相似点。
本文以支付领域和信贷领域作为切入口,向大家介绍模型标签Y的确定。
1 支付领域标签定义
对于支付领域,标签Y的定义相对简单。
比如公司有1亿家商户的入网和交易数据,现在想建立一个模型,评估什么交易类型的商户存在赌博风险。
在定义因变量Y时,可以把系统中历史关闭原因带“赌博”字样且目前商户状态是关闭的商户定义为1(坏样本)。
为什么要求商户状态一定是关闭的?
原因在于有些商户的交易和赌博交易比较相似,会存在误稽核的情况。
如果商户在被稽核为赌博后,进行了材料申诉,证实自己是正常经营的,且符合商户经营范畴。该商户账号就会进行重开,商户状态就会调整为正常。
在坏样本数据足够多的情况下,有时为了计算方便,只截取最近两年被定义为赌博且关闭的商户为坏样本进行建模。
定义完了坏样本,那什么情况定义为0(好样本)?
可以有两种方式,一种是目前状态为正常的商户定义为0,另一种是目前状态为正常,且未被历史稽核为赌博的商户定义为0。
一般正常商户的数据量过大,需根据坏样本的数量按比例、时间抽取一些正常样本来建立模型。
对于信贷领域的欺诈模型,通常可以用还款第一期的逾期表现(首逾)来定义标签Y。
跟支付领域评分卡模型一样,定义相对简单。
但是对于信贷领域的信用模型,因变量Y的确定相对复杂,一般要结合滚动率分析和vintage分析。
滚动率分析确定什么程度的逾期客户定义为坏,vintage分析确定有多久表现期的客户能纳入模型。
为了简单起见,以单个人为例。
假设有一个人在2021年4月12日上午10点8分在网络平台上借了一笔1万元的信用贷款,以等额本息的方式在未来12个月进行偿还。
为了更清晰地展示部分名词,把这些名词放到如下图中进行展示:
1.观察点(obs_date):客户贷款的时点(2021年4月12日上午10点8分)。
我们用截止到贷款申请时点过去一段时间的数据去预测客户未来逾期的可能性。
2.观察期:用来生成客户特征(自变量)的时间区间。
3.表现期:用来定义客户好坏的时间区间。严格来讲,分期12期的客户只有在所有钱都还完后才能定义好坏。
但是通过Vintage分析可以看出放款客户在经过多久后,该变坏的已经变坏,剩下的基本都能按时还款了,从而可以缩短表现期的时间,增加能进入建模的客户数量。
4.表现点:截止到多长时点的客户能被定义成“好客户”和”坏客户“。
5.账龄MOB(Month on Book):资产放款月份。
MOB0:放款日至当月月底,例子中指2021年4月12日到2021年4月30日。
MOB1:放款第二个月,例子中指2021年5月1日到2021年5月31日。
MOB2:放款第三个月,例子中指2021年5月1日到2021年5月31日。
MOB3:放款第四个月,例子中指2021年6月1日到2021年6月30日。
依此类推,
MOB12:指放款第13个月,例子中指2022年3月31日到2022年4月30日。
如果产品是12期的,那么该资产的生命周期是12期,MOB最大到MOB12。如果产品是24期的,MOB最大到MOB24。
6.逾期:客户未能在应还款日全额偿还当月应还款额,那么这个合同就产生了逾期。
7.逾期天数DPD(Days Past Due)
定义:客户到了应还款日还未还款,逾期天数为应还日次日起到实还日(含)期间的日数,如客户当期未还款无实还日,则取数据统计日取代实还日。
表达方式:DPDN+表示逾期天数≥N天的客户,如DPD60+表示逾期天数≥60天的客户。
即客户在第一个还款日(2021年5月12日)未还款,那么2021年5月13日即为逾期一天,客户在5月17日还款,该客户首逾5天。
其他说明:
分析时按需求可采用任何逾期天数,如逾期3天/7天/15天/30天等。
分析时按逾期天数设定取决于入催方式及催回率。
8.逾期期数
计算方式:以指定的逾期天数作为逾期一期,如逾期1~30天对应M1、逾期31~60天对应M2、以此类推,则逾期期数和逾期天数有必然对应关系,可以通过逾期天数直接计算逾期期数(注:不同的机构划分可能会有差异)。
定义:自应还日次日起到实还日(含)期间的期数,如客户当期未还款无实还日,则取数据统计日取代实还日。
表达方式:
M0:正常资产,当前未逾期(也可用C来表示)。
M1:逾期1-30天,逾期一期。
M2:逾期31-60天,逾期二期。
M3:逾期61-90天,逾期三期。
M4:逾期91-120天,逾期四期。
M5:逾期121-150天,逾期五期。
M6:逾期151-180天,逾期六期。
Mn:逾期30*n-29~30*n天,逾期N期。
类似的,
M3+:逾期90天以上,逾期3期(不含)以上。
M4+:逾期120天以上,逾期4期(不含)以上。
M6+:逾期180天以上,逾期6期(不含)以上,也被称为呆账,会注销账户。
Mn+:逾期3*n天以上,逾期n期(不含)以上。
9.逾期率
订单笔数口径:逾期率=逾期订单笔数/总放贷订单笔数
二、滚动率分析
1.目的:为了让风控模型有更好的区分能力,我们需要确定逾期多久的客户定义为1(坏客户)。
因为有些逾期几天的客户很可能是忘记还款了,经过提醒就还了,并非没有还款意愿和还款能力。
如果所有有逾期表现的客户都定义为1,会导致模型的坏客户定义不清晰,从而影响模型的区分能力。
滚动率分析可以展示客户在不同时间段从一种状态向另一种状态转移的情况,从而可以分析不同逾期状态的客户发展变化情况。
2.定义:从观察点1之前一段时间(观察期1)的最坏状态,向观察点1之后一段时间(观察期2)的最坏状态转移情况。
3.滚动率分析具体步骤:
step1:选择观察点1,以观察点1为截止时间,根据还款计划表统计客户在观察期1(如过去6个月)的最长逾期期数,按最坏逾期状态将客户分为不同层次,如C、M1、M2、M3、M4+等。
step2:以观察点1为起始时间,统计客户在观察期2(如未来6个月)的最长逾期期数,按最坏逾期状态将用户分为不同层次,如C、M1、M2、M3、M4+等。
step3:交叉统计转移矩阵中的客户数。
step4:根据转移矩阵中的客户数统计占比。
step5:选择不同的观察点,重复step1~step4,对比滚动率数值。
例如,选择观察点为2021年6月30日晚上12点,取20,000个客户作为观察对象,统计这些客户从观察期1到观察期2的最大逾期状态变化情况。
首先统计出如下客户逾期状态的明细表(仅为理解业务需要,非真实数据):
根据逾期状态明细表统计出如下滚动率分析矩阵:
①观察期1中逾期状态为C(正常)的客户,在未来6个月里,有95.29%会继续保持正常状态,4.71%会转变为逾期客户。
②观察期1中逾期状态为M1的客户,未来有81.16%会回到正常状态,即从良率为81.86%,有11.96%依然是M1状态,6.88%会进一步恶化。
③观察期1中逾期状态为M2的客户,从良率为25.96%,有6.41%转化为M1状态,26.12%依然是M2状态,41.51%会进一步恶化。
④观察期1中逾期状态为M3的客户,从良率为19.77%,10.6%转化为M1和M2,11.46%依然是M3状态,58.17%会进一步恶化。
⑤观察期1中逾期状态为M3+的客户,从良率为3.36%,24.16%转化为M1、M2和M3,72.48%依然是M3+状态。
根据从良率数量来看,逾期状态为M3+的客户几乎不会从良,为了让风控模型有更好的区分能力,可以定义坏客户为逾期状态为M3+(逾期超过90天)的客户。
实际信贷建模时,由于业务规模、产品上线时间等约束,建模样本量可能较少,导致坏样本数量更少。
有时会人为划定逾期n天以上的为1(坏样本),未逾期的客户定义为0(好样本),逾期n天以内的定义为灰样本(舍弃)。
现在逾期多少天以上的客户定义为坏客户已经有了衡量的标准。需要确定有多久表现期的客户才能纳入评估。
假设一个产品的贷款期限是12期,我们是需要12期都走完才能定义一个客户是否为坏客户吗?
严格来讲,确实如此。否则,我们只能说到目前为止,该客户不是坏客户,但并不能知道在未来几期会不会逾期变成坏客户。
而且有些账户是在前几期就达到M3+,有些是在后几期才达到M3+。
因此,我们只需确定一个合适的表现期能够覆盖足够多的坏客户即可。vintage分析就是确定表现期设定多久比较合适。
三、账龄(Vintage)分析
1.目的:统计每个月新增放款后在每个MOB中的逾期情况,对比每月放款的逾期情况,判断策略、模型的有效性,分析客户的风险成熟期。
2.表现方式:Vintage曲线的横坐标是MOB,纵坐标是逾期率。逾期率可以计算金额维度的,也可以计算订单维度的。
3.逾期率计算及统计方式(金额):
逾期率=逾期剩余本金/总放贷本金。
分母是放款当月的总计本金,即合同金额,不随时间变动(不因结清或核销减少)。
分子是逾期达到Bad定义时的本金余额,假设Bad定义为M3+,分子有两种计算方式。
逾期率=逾期订单笔数/总放贷订单笔数
分母是放款当月的总计订单笔数,不随时间变动(不因结清或核销减少)。
分子是逾期达到Bad定义时的订单笔数,假设Bad定义为M3+,分子同样有两种计算方式。
现假设有一款对客费率36%的现金贷产品,产品期限12期,件均2千元,月均放款笔数在1万笔左右,还款方式为等额本息。
由滚动率分析可以得到逾期Mn+的客户几乎不会从良,从而可以定义坏客户为Mn+的客户。
本文假设该产品通过滚动率分析后得到逾期状态为M3+的客户几乎不会从良。
统计2021年3月到2022年5月(如今)该产品的放款表现,可得到如下表格:
由vintage表知:
①横轴表明客户的生命周期,体现了客户成熟过程中发生的变化。
②纵轴体现了拥有相同账龄的客户随时间改变而发生的变化,展示了不同月份的违约率变化情况。
③由于产品期限为12期,所以MOB(账龄)最长为12个月,反之也成立。
④数据统计的是Ever M3+逾期率,所以账龄MOB1、MOB2的都为0。
⑤放贷月份从2021年3月到2021年11月账户的逾期率都在降低,说明资产质量在不断提升,有可能是风控对该产品风险维度有了更全面的认识,风控水平在不断提升。
⑥不同月份放款的客户在经过9个MOB后逾期率M3+趋于稳定,说明账户的成熟期是9个月。
⑦由于统计的是Ever M3+逾期率,所以单月的逾期率数值只增不减。
从该Vintage表知,如果我们现在想要建立信用贷前评分卡模型(A卡),有完整表现(放款走完了12 期)的放款月份是2021年3月到2021年6月。
如果只以有完整表现的数据建模,样本只能从放款月份是2021年3月到2021年5月的客户中取。
如果以账户成熟期9个月的数据建模,样本可以从2021年3月到2021年8月中取,多三个月的样本数据。
由于该Vintage表的数据是虚造的,看起来比较清晰。现实中有些放贷数据可能突然在某一个月由于流量、外部环境、风控策略调整等因素导致逾期表现突增。
比如有一个电商客群贷,产品期限12期、件均5,000元、对客费率36%的现金贷产品,Vintage表现如下(数据经过处理):
四、因变量Y的确定
1.定义:因变量Y即为客户好坏标签变量。
2.方法:用滚动率分析定义客户的好坏程度,Vintage分析确定合适的表现期。
3.具体操作步骤:
step1:利用滚动率定义坏客户,例如上文案例中定义:逾期率为M3+的客户是坏客户。
step2:以M3+作为资产质量统计指标,统计Vintage数据表,绘制Vintage曲线,分析账户成熟期。例如上文案例确定:账户成熟期是9个月。
step3:表现期大于成熟期的样本可以用于建模,表现期小于成熟期的样本无法准确定义Y变量,暂时舍弃。
4.结论:根据上文案例知,表现期超过9个月,且M3+逾期的客户定义为1,表现期超过9个月,且未逾期的客户定义为0,表现期超过9个月,历史逾期未达到M3+的客户定义为灰样本,表现期未达到9个月的客户,无法定义好坏,属于不定样本,一般不建议纳入建模样本中。
对于灰样本,通常有两种处理方法:第一种是直接舍弃,第二种是将其纳入好样本,这样可以增加样本量。
在灰度样本较少时,我们一般采用第一种方法。如果灰度样本较多,那么可以尝试上述两种方法,以最终模型预测效果作为选择依据。
在建模任务中,如果客群差异较大,一般需要细分客群建模。
比如,对不同的产品分别建模,或者对于同类产品,可以根据进件渠道、借款期数、区域和借款金额等维度拆分客群。
除此之外,我们还可以采用聚类等无监督方法划分客群。
细分客群建模需满足如下条件:
①细分客群之间的风险水平差异较大。
②细分客群可以获得的特征维度不同。
③每个细分客群的样本足够多。
通过细分客群建模,可以让模型更专注于细分客群风险模式的学习,从而提高模型效果。
在策略应用上,有更多模型可供选择,更加灵活。
但细分客群建模也存在一些弊端,比如:
①模型数量增多,投入的时间和资源增加,维护成本提高。
②相比总样本,各客群的样本量会减少很多,特别是某些客群的坏样本数量可能不够,反而降低了模型的效果。
因此,在实践中,通常基于全客群建立通用模型。然后再考虑建立细分客群模型。通过在细分客群上评估效果,可以判断最终应用的是细分客群还是全客群模型。
至此,风控建模中的标签定义已分析完毕,欢迎分享给更多有需要的小伙伴。
【部分群限时免费进】分群讨论学习Python、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如风控建模。
参考文献
智能风控实践指南从模型、特征到决策
http://t.zoukankan.com/zjfjava-p-14213026.html
https://blog.csdn.net/eroswang/article/details/117735703
https://vip.kingdee.com/article/243694728837810944?productLineId=1
https://baijiahao.baidu.com/s?id=1703345218390615519&wfr=spider&for=pc
限时免费加群
19967879837
添加微信号、手机号