前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用户行为序列的特征设计和挖掘思路分享

用户行为序列的特征设计和挖掘思路分享

作者头像
Sam Gor
发布2021-01-05 11:46:30
2K0
发布2021-01-05 11:46:30
举报
文章被收录于专栏:SAMshareSAMshare

风控用户行为序列的特征设计和挖掘

本回答将分为三个部分:

  • 业务理解:风控包含哪几个阶段以及各阶段任务
  • 手动构建特征方法
  • 自动特征工程方法

业务理解

金融风控,可以是对于信贷类金融风控(银行贷款,花呗,信用卡等),也可以是现金支出(刷微信支付余额和支付宝余额)。

  • 对于现金类收入支出,主要的任务是反欺诈反盗刷。特征和信贷类的”贷中“阶段有点类似。
  • 如果涉及信贷,对于金融风控,无论是传统银行还是互联网金融,都包含三个部分:贷前(申请与审批),贷中(监控,调整额度),贷后(从放款到全部收回),催收管理(出现逾期的处理)。如果用评分卡,那每个阶段的评分卡分别是A卡,B卡,C卡。每个阶段的任务都不一样,如下图。

信用卡虽然不是贷款,但从业务上,和贷款一样,信用卡属于提前消费,也就是银行或者金融机构给你垫付。所以后面无论讲到信用卡还是贷款,都用”贷前贷中贷后“来方便叙述,希望不会给读者造成太大的概念混淆。

我经常说,领域知识(domain knowledge)是进行特征设计和挖掘的基础。无论你用最简单的逻辑回归模型还是用复杂的深度学习模型,都是一个效果:trash in trash out。所以,理解了业务就能构建有效的特征。金融风控,有“风险”,有“控制”。风险存在于每个阶段,控制也是按照每个阶段的情况来制定策略。

01

贷前阶段这个阶段。

首先给读者一分钟想想这个阶段的任务。没错,这个阶段的任务就是排除不及格的用户,不让他们拿到贷款或者额度。但是,有的看似及格甚至优良的用户,可能是假的!

在A卡阶段,我们需要预筛选和客户授信。这个阶段如何运用用户行为序列进行特征设计和挖掘呢?

所以我们需要找到一些特征,来:1.判断客户是否存在欺诈。2.对于非欺诈用户,是否有还款能力,如果有,能给用户多少额度。

02

贷中这个阶段

依然惯例,首先给读者一分钟想想这个阶段的任务。

没错,这个阶段的任务就是检测用户行为,是否存在异常,例如盗刷,是否出现逾期,是否存在消费情况不正常。如果客户表现好,是否要给客户多点额度,如果客户行为不太好,是否要降低客户的额度。

03

贷后阶段

这也是我这两年来研究最多,最熟悉的阶段。贷后是用户出现了还款逾期,银行或者金融机构进行催收/坏账准备的阶段。

可以看到贷后和贷中有一点业务重叠,就是“监控”这个任务。但贷中更侧重发生逾期前的额度调整贷后更侧重逾期发生后的催收,如果实在催收不成功,则坏账准备(例如银行通过分析发现,当客户逾期超过180天了,95%的客户会永远还不上钱,则银行认栽,把坏资产打包出售给第三方公司等等)。

手动构建特征

由于此回答主要讲用户行为序列,那么非用户行为的特征(例如征信等级,信用评分,是否在黑名单上)这里就不讨论了。

如果你熟悉客户管理/营销,那么你可以听过RFM模型。其中R(Recency)和F(Frequency)都是用户行为序列相关的。这里我们也可以借鉴这个思想。除此之外,还可以构建异常行为特征。总结下在如果需要手动构建特征,一般可以从几个方面入手:

近期类特征。例如最近一次使用信用卡的时间,上一次联系时间,上次逾期时间等。

频率类特征:普通用户为了完成某一任务,通常目的达到动作就会跟着终止,所以正常用户的动作通常是离散和稀疏的。而对于黑产用户而言,为了实现收益的最大化,高频率的动作是降低成本的核心,所以往往黑产用户的动作是连续而紧密的。基于这种理念,频率类的策略在风控中就有着非常重要的作用。考虑频率特征时,通常考虑几个因素,分别是:时间窗口资源、运算阈值

统计类(速度类或者方差类)特征:如果客户某个行为呈现加速状态或者减速状态,那么可能其风险等级也发生改变。例如过去六个月的平均消费金额为1000,但本月消费金额为15000,则显示出了十几倍的加速,这种情况可能说明客户在恶意透支信用额度,更可能是被盗刷。这个速度类特征也可以用方差类特征来代替,例如本次消费金额在过去六个月所有消费里,是否处于

之外。

地理位置的异常偏移:比如ip的归属地和设备的定位差距过大,地理位置变化的速度太快。这说明用户可能通过作弊手段修改定位,使用代理ip等等。这个特征在反盗刷和反欺诈很重要。

分解到贷前中后三个阶段,分别有(这里只讲行为类特征):

贷前可构建这些特征特征(凭着个人回忆写的,未能穷尽,欢迎补充)

如果客户在本行已有记录,则可以观测用户近期还款情况,上一次逾期时间。如果有信用卡,则观测近三个月内平均逾期天数比过去十二个月,是否变得更少。例如

如果客户在本行没有记录,则可以从征信信息观测其行为序列。例如过去几个月其贷款笔数是多了还是少了,其贷款总额的增速是多少。

如果是通过互联网银行/手机银行申请的,可以检查数据埋点的行为序列。我由于是给传统零售银行做业务的,所以我并没有使用过埋点数据。

贷中特征(凭着个人回忆写的,未能穷尽,欢迎补充)

  • 本笔信用卡消费在过去六个月所有消费里,是否处于

之外。如果是的话,有被盗刷风险

  • 分期还款笔数的增加或者减少(和用户经济负担有关,如果用户的卡里有着多个商品的分期付款,例如iphone 12的24期付款,那么再用分期付款买一个MacBook,那么经济负担就更重了,很可能还款能力就变低了)
  • 额度使用度的变化。这个特征并不是单一方向的。例如信用卡有10000块额度,比如你所说每个月额度都刷满并且按时还款,那么银行可能会认为客户信用额度不够就给你提额,但也可能认为你在套现,给你降额。至于这个特征怎么决定客户的信用度,则需要结合其他特征来观测。(如果你工资卡也是这个银行的,那么它可以看你工资卡收入是否有变多)。又如果客户有一万块额度,之前六个月平均每个月花1000,并且能按时还上,这个月花了9999,并且逾期了,则说明这个客户可能在授信时额度给多了,需要调整额度。
  • 消费习惯,负债变化。履约历史等。这里推荐

贷后特征(凭着个人回忆写的,未能穷尽,欢迎补充)

  • 客户本次逾期距离上次逾期的时间。(如果上个月逾期了这个月还是逾期,说明客户的情况并没有好转,考虑优先催收,如果距离上次逾期都一年了,说明这个客户并不是经常逾期,即使不催收也可能自己会还)
  • 最近联系记录。由于客户逾期会触发金融机构的催收部门联系客户,所以联系记录也可以作为特征。例如最近一个月被电联的次数vs过去六个月平均每个月被电联次数(说明催收难度大了,客户的经济情况也许在恶化),过去一个月电话接通率vs过去六个月电话接通率(越来越难接通有可能说明客户在恶意欠款)

自动特征工程方法

自动特征工程的方法一般你只需要定义输入哪些序列,至于每个序列分别代表什么,你不一定需要商业理解,可以交给深度学习模型来搞定。说实话,这个方法我并没有给客户做过,但我看了一些国内厂商的做法,我可以介绍一下。

例如蚂蚁金服[3],他们是这样做的。不过他们这个并非信贷模型,但其反欺诈的思路值得参考。在反欺诈方面,他们有两个场景:1. 转账到账户场景 ;2.转账到卡场景

例如对场景1,他们的序列包括:

(注:RPC为Remote Procedure Call Protocol,远程过程调用)

  • 他们采用的模型:LSTM。
  • 他们监控的序列包含:
    • 序列1:支出账户的实时事件序列
    • 序列2:支出账户的实时RPC序列
    • 序列3:收款账户的实时事件序列
    • 序列4:收款账户的实时RPC序列
    • 序列5:支出账户的历史事件序列
    • 序列6:收款账户的历史事件序列
    • 序列7:支出账户与收款账户历史序列
    • 序列8:支出账户与收款账户实时事件序列

他们分别基于8种不同序列建立LSTM模型,将序列隐藏层最后一步输出接一个全连接层最终输出风险分值,将8个序列风险分值与现有变量合并建模,输出最终欺诈风险分。可以看到,其实最后的模型也是一个GBDT模型,虽然得到这些风险分的过程难以解 释,但起码在最后一步是用可解释模型的。所以说,可解释性永远是风控逃不开的话题。

代码语言:javascript
复制
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAMshare 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 风控用户行为序列的特征设计和挖掘
    • 由于此回答主要讲用户行为序列,那么非用户行为的特征(例如征信等级,信用评分,是否在黑名单上)这里就不讨论了。
      • 自动特征工程的方法一般你只需要定义输入哪些序列,至于每个序列分别代表什么,你不一定需要商业理解,可以交给深度学习模型来搞定。说实话,这个方法我并没有给客户做过,但我看了一些国内厂商的做法,我可以介绍一下。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档