问题

请问在金融风控方向,如何运用用户行为序列进行特征设计和挖掘?

回答
洞察蛛丝马迹:金融风控中的用户行为序列特征设计与挖掘

在日新月异的金融科技领域,风险控制的重要性不言而喻。传统的风控模型往往侧重于静态的个人画像和交易记录,但却忽略了用户在时间维度上的动态交互信息。然而,正是这些“行为的涟漪”,往往潜藏着重要的风险信号。用户行为序列,就像用户在金融世界中的一次次“足迹”,记录着他们的习惯、意图和潜在的风险倾向。如何从这些看似杂乱无章的序列中挖掘出有价值的风控特征,是当前金融风控领域的一个重要课题。

本文将深入探讨如何运用用户行为序列进行特征设计与挖掘,从数据采集、特征工程到模型应用,力求为您呈现一个全面而实用的视角。

一、 理解“行为序列”:不止是点击和浏览

首先,我们需要明确什么是用户行为序列。它并非简单地将用户的操作罗列出来,而是关注用户在一段时间内,按照发生顺序所产生的一系列离散或连续的事件。这些事件的类型非常广泛,在金融风控场景下,可以包括但不限于:

登录与认证类: 登录尝试(成功/失败)、登录设备变更、IP地址变更、风控验证(如短信验证码、人脸识别)、密码修改等。
账户操作类: 账户注册、信息修改(手机号、邮箱、职业等)、实名认证、绑定/解绑银行卡、设置/修改交易密码等。
交易行为类: 充值、提现、转账、支付、还款、贷款申请、信用卡申请、投资、赎回、查询等。
浏览与查询类: 浏览产品页面、搜索关键词、查看账户余额、查看交易明细、查看征信报告、查看逾期记录等。
风控干预类: 收到风险提示、被系统拦截、主动联系客服、账户被冻结/解冻等。
信息交互类: 短信接收、App推送接收、邮件接收、客服咨询、反馈提交等。

一个完整的行为序列,是这些事件在时间线上的有序集合,例如:“用户A在10:00登录成功 > 10:05查询账户余额 > 10:15发起一笔1000元的转账 > 10:20交易失败 > 10:22联系客服”。

二、 数据采集与预处理:构筑特征的基石

要进行行为序列的特征挖掘,首先需要高质量的数据。

1. 数据来源:
平台内部日志: 这是最直接的数据来源,包括Web端、App端、API接口等产生的各种用户操作日志。
交易系统: 记录所有资金流动相关的行为。
客服系统: 记录用户与客服的沟通内容、咨询类型等。
第三方数据: 如征信机构提供的信用报告、社交媒体行为(需合规获取)等。

2. 数据清洗与标准化:
去重与异常值处理: 剔除重复的日志记录,处理不符合逻辑的异常数据(如时间戳异常、操作频率过高等)。
时间戳统一: 确保所有事件的时间戳格式统一,便于排序和计算时间间隔。
事件类型归一: 对相似但表述不同的事件进行归类,例如,“ATM取款”、“网上银行转账”都可以归入“资金流出”这一大类,但为了更精细的分析,可以保留其原始类型。
用户ID对齐: 确保来自不同系统的数据能够正确地映射到同一个用户。

3. 序列构建:
用户为中心: 以用户ID为分组键,将用户在一定时间窗口内(如近30天、近90天)发生的所有行为按照时间升序排列,形成每个用户的行为序列。
时间窗口选择: 时间窗口的大小直接影响特征的粒度和时效性。短期窗口(如24小时、7天)更侧重于即时风险,长期窗口(如90天、180天)则能捕捉用户行为模式的长期变化。可以根据具体风控场景(如反欺诈、信用评估、催收)来选择合适的窗口。

三、 特征设计:从序列中提取“行为密码”

行为序列的特征设计是关键环节,需要将离散的事件转化为模型可理解的数值或类别特征。我们可以从多个维度进行构思:

3.1 基础统计特征 (Aggregate Features)

这是最直接的特征提取方式,通过对整个行为序列或特定时间窗口内的行为进行统计描述。

行为频率类:
总行为次数(在某个时间窗口内)
各类行为次数(如登录次数、交易次数、提现次数、失败交易次数)
异常行为次数(如异地登录次数、密码错误次数、风控验证失败次数)
不同类型行为的比例(如交易失败率、异常登录占总登录次数的比例)
行为时间类:
首次行为时间、最后行为时间
最近一次行为距当前时间(天/小时)
行为的集中度(如行为发生的方差、熵)
一天中、一周中行为发生的时段分布(如白天/夜晚行为比例)
行为强度/金额类:
总交易金额、平均交易金额
最大/最小交易金额
提现总金额、贷款申请总金额
风险交易金额(如被标记为高风险的交易)

3.2 序列模式特征 (Sequential Pattern Features)

这类特征关注的是行为发生的顺序、组合以及模式。

Ngram 特征: 借鉴自然语言处理中的Ngram思想,将连续的N个行为视为一个“词语”。
Bigram特征: 如“登录成功 > 交易”、“交易失败 > 联系客服”、“绑定银行卡 > 首次充值”等。统计这些Ngram出现的频率或比例。
Trigram特征: 如“异地登录 > 密码错误 > 账号锁定”。
如何提取: 可以先将行为序列编码为数字(如基于常见行为的Onehot编码),然后从中提取Ngram,再统计出现次数。
状态转移特征: 关注用户在不同行为状态之间的转移。
从“正常登录”到“异常登录”的次数。
从“交易成功”到“交易失败”的次数。
在某个特定状态(如“账户被冻结”)停留的时间长度或次数。
高风险路径/模式识别: 识别已知或潜在的高风险行为链。
例如,一系列快速的、小额的提现,或者在短时间内多次尝试添加不常用的支付方式。
可以定义一些“规则”来匹配这些模式,并将其量化为特征。

3.3 行为间隔特征 (Interval Features)

关注不同行为发生之间的时间间隔。

相邻行为间隔:
两次登录之间的平均间隔、最大/最小间隔。
两次交易之间的平均间隔。
“尝试操作”与“成功操作”之间的时间间隔(例如,两次密码错误之间的间隔)。
特定行为间隔:
第一次登录到第一次交易的时间间隔。
账户信息修改后到首次大额交易的时间间隔。
客服咨询后到异常行为发生的时间间隔。

3.4 行为时序特征 (Time Series Features)

将行为序列视为一种时间序列,可以提取更深层次的时序特征。

趋势与周期性:
行为次数随时间的变化趋势(上升、下降、平稳)。
行为发生的周期性(如周内的活跃高峰、月度交易模式)。
平滑与衰减:
对近期行为给予更高的权重,例如使用指数加权移动平均(EWMA)来计算行为频率或交易金额。
“遗忘”较早期的行为。
异常检测(基于序列):
使用诸如ARIMA、LSTM等模型来预测下一个行为,并计算预测误差,将大误差作为异常特征。

3.5 行为聚合与组合特征 (Aggregated & Combined Features)

将上述不同维度的特征进行组合,产生更具指示性的特征。

“行为时间”组合:
“夜间交易次数” / “总交易次数”。
“登录失败次数” / “最近1小时内登录次数”。
“行为金额”组合:
“高风险交易金额” / “总交易金额”。
“异常提现金额” / “账户余额”。
“行为模式”组合:
“触发高风险Ngram模式的次数”。

3.6 基于 embedding 的特征 (Embedding Features)

对于行为序列中数量庞大且复杂的行为,可以考虑使用 embedding 技术将其映射到低维向量空间。

Word2Vec/Doc2Vec 风格: 将行为序列类比为文本,对行为进行 embedding,从而捕捉行为之间的语义关系。
RNN/LSTM/Transformer: 直接将整个序列或序列片段输入到深度学习模型中,利用模型的隐藏状态或输出作为特征。例如,LSTM的最终隐藏状态可以作为用户整个行为序列的摘要表示。

四、 特征挖掘与选择:精炼“行为语言”

海量的行为序列特征设计出来后,如何从中选出真正对风控目标(如识别欺诈、预测逾期)最有帮助的特征,是特征工程的又一关键步骤。

1. 特征重要性评估:
模型内置重要性: 如决策树、GBDT、XGBoost等模型可以直接输出特征重要性评分。
基于模型的方法: 如Permutation Importance(置换重要性),通过随机打乱某个特征的值,观察模型性能下降程度来评估其重要性。
过滤方法: 如卡方检验、互信息等,在模型训练前对特征与目标变量的相关性进行评估。

2. 相关性分析:
特征与目标变量相关性: 识别与风险事件(如欺诈、逾期)高度相关的特征。
特征之间相关性: 剔除冗余特征,避免多重共线性问题,可以使用相关系数(Pearson、Spearman)或VDM(Variable Dependence Measure)等。

3. 降维技术:
PCA (主成分分析): 将高维特征空间线性投影到低维空间,保留方差最大的方向。
tSNE / UMAP: 用于可视化和降维,尤其适用于Embedding特征。

4. 人工领域知识:
风控专家往往能根据经验识别出一些关键的行为模式,这些“直觉”可以指导特征工程,验证挖掘出的特征是否符合业务逻辑。

五、 模型应用与迭代:让行为特征“说话”

经过精心设计的行为序列特征,最终需要融入到风控模型中。

1. 模型选择:
传统模型: 逻辑回归、SVM、GBDT、XGBoost、LightGBM 等,可以将行为序列特征直接作为模型的输入。
深度学习模型: RNN、LSTM、GRU、Transformer等,可以直接处理序列数据,或将序列特征与 Embedding 特征结合。
混合模型: 将传统统计特征与深度学习提取的序列特征进行拼接,喂给最终的分类器。

2. 模型训练与评估:
使用AUC、KS值、Precision、Recall、F1score等指标评估模型的风控效果。
特别关注对“欺诈”或“高风险”类别的识别能力。

3. 实时性考量:
金融风控往往需要实时或近乎实时的决策。因此,在设计特征时,需要考虑其计算的实时性。某些复杂的序列特征可能需要预计算或流式计算。

4. 模型迭代与反馈:
风控是一个持续对抗和演进的过程。定期对模型进行评估和更新,监控新出现的风险行为模式,并及时调整特征工程策略,是保持风控能力的关键。
将模型预测结果和实际的风险事件进行对比,形成反馈闭环,不断优化特征。

结语

用户行为序列是金融风控领域的一座金矿。通过深入理解用户的每一次点击、每一次交易、每一次交互,并将其转化为有意义的特征,我们可以更早地发现风险,更精准地预测潜在问题。这不仅需要数据科学家和风控工程师的专业技能,更需要跨部门的协作和对业务场景的深刻洞察。从细微处捕捉用户的行为痕迹,构建起坚实的风控壁垒,是我们在智能时代守护金融安全的必经之路。

网友意见

user avatar

题主算是邀请对人了。

本回答将分为三个部分:

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

业务理解

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

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

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

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

首先讲讲贷前阶段这个阶段。

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

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

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

然后讲讲贷中这个阶段。

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

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

然后就是贷后阶段。

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

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

手动构建特征

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

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

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

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

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

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


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

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

  • 如果客户在本行已有记录,则可以观测用户近期还款情况,上一次逾期时间。如果有信用卡,则观测近三个月内平均逾期天数比过去十二个月,是否变得更少。例如
  • 如果客户在本行没有记录,则可以从征信信息观测其行为序列。例如过去几个月其贷款笔数是多了还是少了,其贷款总额的增速是多少。
  • 如果是通过互联网银行/手机银行申请的,可以检查数据埋点的行为序列。我由于是给传统零售银行做业务的,所以我并没有使用过埋点数据。知乎上 @黄姐姐HJJ 写的黄姐姐HJJ:好的埋点是反欺诈的基石 这篇很好[1]

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

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

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

  • 客户本次逾期距离上次逾期的时间。(如果上个月逾期了这个月还是逾期,说明客户的情况并没有好转,考虑优先催收,如果距离上次逾期都一年了,说明这个客户并不是经常逾期,即使不催收也可能自己会还)
  • 最近联系记录。由于客户逾期会触发金融机构的催收部门联系客户,所以联系记录也可以作为特征。例如最近一个月被电联的次数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模型,虽然得到这些风险分的过程难以解释,但起码在最后一步是用可解释模型的。所以说,可解释性永远是风控逃不开的话题。


如果还想了解更多风控建模、特征工程、工程化实践等方面的内容,可以关注我这个目录

参考

  1. ^好的埋点是反欺诈的基石 https://zhuanlan.zhihu.com/p/103363690
  2. ^贷中行为评分卡(B卡)模型 https://zhuanlan.zhihu.com/p/109487237
  3. ^干货解析 | 如何通过用户的行为序列来提升欺诈风险识别 https://mp.weixin.qq.com/s/KfYYCKbb4YSIMicBDOO99w

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有