一、所谓风控(What && Why)
所谓风控,可以拆解从2个方面看,即 风险 控制
风险(what)
风险 这里狭隘的特指互联网产品中存在的风险点,例如
1) 账户风险
垃圾注册账号 账号被泄露盗用
2) 交易支付风险 刷单:为提升卖家店铺人气,买卖家串通等方式虚假交易 恶拍:恶意买家在卖家店铺频繁下单不支付;恶意买家通过频繁下单传播垃圾UGC等行为 盗刷:买家卡被盗在平台上消费 套现:伪装买卖家,在平台上信用卡交易,套出现金获利
3) UGC风险 风险类别:涉政、涉黄、涉爆等方面的文本、视频 传播渠道:创建店铺、商品相关的标题,详情页;下单支付的备注留言;IM消息等
控制(why)
一般互联网产品,特别电商类产品,都希望拉新提升日活,同时运营好这些用户,提升用户粘性。
类似刷单、恶拍等交易支付风险,传播垃圾信息等UGC风险会严重影响平台产品体验,所以我们需要控制这些风险点。
控制 即是要预防、识别、控制风险的发生。风险的控制一般分为事前,事中,事后3个阶段处理。
识别及预防:一般风险行为和正常行为的行为链路会有所不同。通过分析用户的整个行为链路,可以将风险行为和正常行为区分开
事后控制:风险事件发生后,可以采取一定措施控制事件影响,例如用户套现,交易已经发生,但是可以通过控制提现时长或者冻结资金等方式来控制减小影响面
二、如何风控-How
下图是美团风控架构图,自己想要总结的也和下图大同小异。这里借用,下面详细描述各模块职责和一些技术细节
对接系统
从产品层面看,风控会对接很多产品线,例如上图中到店餐饮、外卖等。
和业务线的对接方式不断迭代有以下优化
原始的方式:每个业务线单独对接,都需要新开接口,单独支持联调。成本高,效率低 优化后方式:打造统一接入平台,业务+场景 平台化配置,自动对接调试。 对接系统只专注负责一个事情,即通过配置化对接业务的风控接入,需要配置的点,包含2个部分
配置业务和场景:让风控感知到新的业务场景的接入 数据协议:配置请求参数的数据字段 异步事件接入:额外的数据接入,可能是通过消息接入。例如订单状态变更的消息等 各业务线接入后,整个数据层面也可以通过账户或设备指纹等维度打通,这样就可以从用户整个行为链路分析和识别风险。
平台系统
规则引擎
规则引擎作为风控的核心,最重要的便是如何将 规则算法 和 数据特征 灵活高效组装,将他们的功效输出。
直白讲,规则引擎对每次 事件 的风险判定,是根据 规则算法 综合判定的,而规则算法一般都会需要很多特征数据。
左手规则算法,后手特征数据,拼装在一块,变得出风险判定结果
规则引擎系统的打造,一些细节采用如下QA的方式表述
Q1:规则集如何获取
A1:依据风控事件的不同,从规则管理中心获取对应规则。同时规则也应有版本控制
Q2:特征数据如何获取
A2:规则集获取到后,便知道整个规则集需要的特征数据集,直接从数据中心获取
Q3:规则的依赖关系及并行执行
A3:并行;串行;树形等
TODO 更多的细节待思考和补充
Q:规则的动态化发布;规则的表达和可配置;
Q:风险事件的同步、异步接入
事件的风险判定。
数据:事件基础数据;扩展数据
几个概念
Facts:some facts
Rule:when(Condition) and then
Actions
规则平台
规则设计
从不同层次看,规则可以分为
因子:最小的逻辑单元。例如 买家单日下单总量>5;注册时间3天内等 规则:最小的决策单元,由若干因子和与或逻辑嵌套组成。例如 买家单日下单总量>5 且 (注册时间3天内 或 买家单月支付总额>1000) 策略集:某个业务场景下的规则集,由若干规则组成
规则维护
从B端角度看,规则中心主要负责
规则的增删查改的维护 规则的测试 规则效果分析
从C端角度看
各业务线规则集的查询
数据特征中心
一般针对需要风控介入的场景,称场景下的每次行为为一个事件,例如称一个新用户注册为一个注册事件,一次下单行为为交易事件,一次支付行为为支付事件等等。
上面描述的每个事件,都可称为基本事件数据。
特征中心主要负责维护规则和算法需要的各种特征数据。针对事件数据,可能做多种维度的统计和分析得到处理后的数据,称为 特征数据 。例如单个用户每小时,每天,每周的下单量等。
处罚中心
负责各种维度的处罚记录和查询,维度包括用户,卡,设备,银行卡号等维度。
处罚数据其实也可以看做一种特征数据。维护黑白灰等名单。
验证中心
验证码;短信;语音;人脸
运营系统
审核中心
针对处罚后需要用户申诉及客服审核的业务线,需要建设案例库及审核中心来支持。
客服中心
客诉;用户反馈
风控圈子
行业参考
小米:https://toutiao.io/posts/c355w5/preview
饿了么:https://blog.csdn.net/gitchat/article/details/78086327
美团:美团博客上的后来被删除,估计是太敏感了。不过网上应该都能搜到。 待补充
携程:https://mp.weixin.qq.com/s/muufqznNNVidPgamlcurCQ
风控er
同盾 张新波 http://xinbo.me/ (已不能访问)
美团 唐义哲 http://typd.github.io/pages/about-me.ch/
唯品会 WalterInSH https://github.com/WalterInSH/risk-management-note
相关活动及会议
SACC 2016 互联网安全和风控体系 会议分享(京东、爱奇艺、美团等):http://safe.it168.com/a2016/1028/3000/000003000971_all.shtml
问题备忘
1.规则引擎的准确性
Q:每个规则都有一个准确率p(p<1),当多个规则并行判定的时候,准确率就会是p1p2…*pn,规则越多,准确率越小?
A:不是。多个规则并行判定准确率的乘法计算,是基于各规则独立的假设。事实上,这个独立性假设一般不满足。规则间一般都是有所关联的,例如黑白名单的过滤,规则条件的关联等。
2.规则更新
Q:一般规则会经常更新,如何保证规则的更快生效?重启服务,加载规则?
A:服务加载规则一般会缓存,这里规则有更新后,推送消息给应用,让缓存失效,重新拉取最新规则
3.特征计算的代价。懒加载
Q:风控规则一般涉及到很多数据特征,不同数据特征的计算和获取代价不一样。在策略运行方面一般会做什么样的优化从而可以更快做出决策
A:逻辑短路的原理。例如规则表达式 (data1 > 10) && (data2 <= 4),data1的计算代码明显大于data2。则规则表达式可优化为 (data2 <= 4) && (data1 > 10)。这个例子相对比较简单,更复杂的表达式其实也是类似的原理。
另外根据时候策略运行的结果和数据特征的关系,可以评估出各数据特征对于决策的重要性,也是一个优化点。
4.个人工作经历整体抽象总结
Q:广告推荐;风控
A:这个问题其实是自己问的自己,很早就有过思考。有点像将发表在不同方向的论文糅合为毕业论文的感觉
level1 背景简介
广告推荐:用户浏览广告/商品,点击,或者还有后面的转化行为。我们的工作则是推荐策略,挑选出合适的广告或者商品,让用户有更好体验,同时后续转化更高。
风控:和黑产的不断较量。黑产为了薅羊毛或者传播自身推广信息,在平台上注册,登录,浏览,点击,购买等行为,会和正常用户有很大的区别。风控的目的便是要准确识别这些行为,将这些行为的影响控制到最小。
level2 抽象点看
数据层面:收集各种行为数据,两者都是收集用户的各种行为数据,还有各种扩展维度的数据,例如用户基本信息,关联数据等
策略层面:两者都是通过分析用户历史行为数据,找到某种特定的pattern,沉淀为规则策略或者训练出算法模型,然后用于对未来行为预测和分析。
level3 言简意赅点说
分析数据,找到pattern。
参考
支付宝如何识别骗子:https://www.zhihu.com/question/20669015
美团风控架构设计:https://tech.meituan.com/2017/01/13/risk-control-system-experience-sharing.html
risk-management-note:https://github.com/WalterInSH/risk-management-note
参考资料
https://github.com/yangliang1415/awesome-risk-control