NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

风控建模流程:以京东群体感知项目为例

  • 2019-08-28
  • 本文字数:3321 字

    阅读完需:约 11 分钟

风控建模流程:以京东群体感知项目为例

业务需求挖掘


任何项目的起源,都是从需求挖掘开始的,不可能一蹴而就,会经过多次循环。这体现了作为数据分析师和建模人员的功力,可能有的业务要 A,你就给他 A,而没有往下深入几个层次进行考虑,因为有的时候,可能业务的需求自己也没有想清楚需要的是什么,这和传统的软件工程是一样的,所以宁可在这里多花一点时间,也好过到后面踩坑之后,在回来重新挖掘需求


① 目标


  • 找出关键变量(与判断项目成功与否的指标相关,最好的方法就是定义几个场景,比如做风控,是坏账率下降,还是机注量下降了,或者其他指标),并把关键变量作为模型目标

  • 识别业务已经使用或者需要获取的数据源


② 实现方法


  • 定义目标,与用户以及其他利益相关方一起理解,识别业务问题,并构建多个问题(这些问题要能定义出业务目标同时也能作为建模的目标)

  • 识别数据源:基于问题找出能帮助回答的数据源,越多越好


③ 交付物


  • 项目需求文档(比如 A、B、C 三个场景,机注量下降 2%,或者坏账率下降 1%等等)

  • 数据源梳理,有几张宽表,有几个数据源,都需要弄清楚


④ 业务方的诉求与抱怨



业务方的诉求与抱怨,抽象来说就是多、快、准、省:


  • :在风控反欺诈领域,对于抓黑产,召回率越高越好。

  • :实时反应,不能等到 T+1 时间过去了才反应,比如拼多多的风控事件,不仅仅需要做到实时,最好做到事前,并且可以发出告警,提示哪个环节被攻击。

  • :准确率(auc,roc 曲线)大家都比较熟悉,尤其对于金融风控,准确率要求更高。

  • :省心,傻瓜式操作,不需要告诉具体指标的含义。对于模型,只需提供给业务方 0 或 1 即可。


所以,对于业务的诉求和抱怨,就在这四个字之中,当我们接到群体风险感知这个 Case 时,我们首先需要做的就是:定义群体风险感知(为什么叫群体而不叫团伙?),明确业务场景,找出业务痛点。


两个场景:


  • 一堆人来买我的货,我不会认为他们是坏的人;

  • iphone 新品首发,黄牛带货,对我的品牌或者收益造成损失,这时,我们需要进行控制打压。


所以我们交付的东西,需要是中性的,把模型看作一把刀,具体刀用来做什么,由业务来决定


⑤ 需求分析



风险未知可能出现的状态:


  • 少量交易造成巨大损失(例如:网络舆情事件,诈骗,网络攻击等)

  • 大量交易造成巨大损失(例如:拼多多事件,上万个账号薅优惠券,然后快速的变现)


黑灰产的主要特征:


  • 逐利性(不断升级,不断寻找漏洞):由于他们是在为自己牟利,没有 kpi 没有 996,甚至一天可以更新迭代 4 个版本,他们自己干的很起劲。

  • 群体性(短期,快速,大量获利)目前成熟的电商,基本上不会让一个账号短时间内下很多单了,现在的黑产为了达到短期快速大量获利,一般使用群控手机,即用软件控制几百台手机,尤其在 6·18 和 11·11 时,给我们造成的压力也是比较大的。


项目的定义:


以黑灰产群体作为特征指标,发现交易链条上可能存在的漏洞增强防控能力,提高黑产成本(黑产本质上是生意,风控人员不是为了消灭黑产,是为了让他们这门生意做不下去,明面上是技术的对抗,实际上是成本的对抗)。


⑥ 项目目标


监控指标体系与异常发现(输出结果形式):


  • 线索账号的线索:某个特定群体的行为(观察某个小白鼠在迷宫里的行为特征)

  • 群体维度线索:多个群体聚集情况(观察一群小白鼠在迷宫里的群体共同行为)


监控指标体系与异常发现(输出结果内容):


  • 聚集性指标,灵活制定规则(告诉业务方,商品、库存、优惠劵是不是被攻击了)

  • 提前发现风险点,预警后续环节(黑产领券之后,会不会有什么大动作,需要提前预警)

  • SKU,优惠券,订单,相关账号(我们有一个评分,一旦被群体模型识别,就打一个黑标签,让风险值变高)

  • 新的套利,作弊方式,交易漏洞(将黑产规律输出给分析师,分析黑产的作弊方式以及交易环节的漏洞)

数据获取与理解


数据获取与理解,主要分四个部分:数据源(在哪分布,可能需要做数据同步,也有可能需要买一些服务,定期做 API 的推送,需要把数据源定义清楚),数据管道(如何做清洗、加工,如何接入到模型中),开发环境(根据数据规模,选择开发环境),数据整理、探索、清理:结构化、非结构化,数据验证与清理,可视化等等。


① 目标


  • 产出一个干净、高质量的数据集,充分的理解数据集和项目目标变量的关系

  • 把数据集放置在一个适合开发环境以便进行后续建模

  • 开发数据管道的解决方案,定期对数据进行刷新


② 实现方法


  • 将数据导入目标分析环境

  • 研究数据以确定数据质量是否足以回答项目要解决的问题(PS:前段时间比较火的生物探针技术,可以获取一些黑灰产的特征,但这项技术落地的时候,回收的数据缺失率很高,很难得到应用)

  • 设置数据管道来抽取新的数据或者定期刷新数据


③ 交付物


  • 数据质量报告

  • 数据管道架构

  • 可行性评估


④ Tity Data(with Pandas)


具体地址:http://pandas.pydata.org 包含了语法的介绍,重塑,聚合,缺失数据处理,窗口函数,可视化等等。




⑤ 数据维度



我们从静态数据和动态行为数据俩个角度来构建立体多维群体行为画像:


  • 静态数据

  • 注册信息画像:时间,设备,ip,渠道

  • 登录信息画像:时间,设备,ip,版本

  • 动态行为数据


假设 A、B、C 三个账号由同一个人控制,那么每次有活动他们就一起来了,可知道他们是一伙的,如何把这三个人每次活动一起来这件事儿,通过数据来描述好加工出来,供后面的模型使用,这是我们当时研究的重点。


动态行为数据包括:


  • 浏览行为画像:时间,设备,ip,渠道(同静态相同,但是是账号之间的比较)

  • 下单行为画像:商品信息,时间信息,设备,ip,地址,优惠券, 支付

  • 领券行为画像:频率,使用周期

建模


建模的三个主要模块


  • 特征工程:特征处理,数值,文本,图片,特征选择

  • 模型训练:参数调优,模型管理

  • 模型评估:交叉验证,模型报告,A/B 测试


① 目标


  • 确定要输入模型的数据特征

  • 选择一个最能满足项目要求的模型(如果这个项目以准确率为最核心的 KPI,可能 A、B、C 三个模型都各有所长,有的效率高、有的速度快、有的召回率高,这时就需要按要求选择)

  • 模型参数调优,针对生产环境做优化(A/B TEST)


② 实现方法


  • 特征工程

  • 模型选择(分类、聚类、有监督、无监督、深度学习、强化学习)

  • 模型训练(如何调优)

  • 评估模型在生产环境的适应性


③ 交付物


  • 特征集

  • 模型报告


④ 算法模型路径选择


  • Sklearn 算法选择路径图(这是目前网上比较流行的模型选择路径,大家可以根据业务的具体需求来选择模型);



  • 微软的模型选择路径:



⑤ 群体风险识别建模



  • 用户类型:正常消费,新增疑似黄牛用户,黄牛 &众包用户

  • 行为轨迹:多种数据源,多种维度,寻找在时间,空间,行为的聚集性

  • 模型输出:发现时间,空间,行为上的聚集性


⑥ 静态特征识别



  • 关系图,聚类:Louvain,Fast Greedy,Markov Cluster,Info Map,Walktrap。

  • 图计算的社区发现(前人的一些经验):



  • 常用算法比较:




⑦ 动态特征识别



这是我们归结出来的数据底层形式,包括:时间,活动场景,下单账号几个维度。


群体划分(聚类问题):距离的选择对聚类的结果影响巨大


部署


部署的时候需要考虑的两个关键因素:评分和效果监控



  • 目标:把模型和配套的数据管道部署到生产环境

  • 实现方法:推荐 api 接口形式部署模型

  • 交付物:监控报表,模型说明文档(输出和部署细节),数据管道说明文档

用户应用

① 目标


  • 完成项目交付


② 实现方法


  • 验证部署好的系统的功能性和准确率,满足业务需求

  • 所有文档都要完成并进行审阅

  • 项目交接工作可能是交给 IT 运维部分或者是用户的数据团队甚至可能是业务团队


③ 交付物


  • 项目交付报告


④ 业务应用架构



用规则引擎(实时计算、多重规则、实时指标),模型引擎(模型管理、模型部署、模型运算),决策引擎(策略管理、策略可视化、策略路由)连接数据中心和用户行为。


⑤ 设计多层次风控场景策略



  • 标准策略:标配,黑白名单,评分

  • 定制策略:针对不同的经营周期动态调整策略

  • 场景策略:针对渠道,行为维度

  • 弹性策略:场景策略和定制策略中增加弹性指标,用于业务变化,紧急升级和降级


作者介绍


曾军崴,京东集团智能风险感知实验室架构师。北航博士,从事数据科学工作多年,有译著《 python 基础教程》。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247493097&idx=1&sn=4fcd2a5f3efb9fb2850ebc506b2579b7&chksm=fbd75785cca0de93a93b3c301893a27aa62ffc2b05c2b9524d16fc3175e7cb493d278f878451&scene=27#wechat_redirect


2019-08-28 08:005687

评论

发布
暂无评论
发现更多内容

突破疫情限制,WorkPlus助力企业打开远程高效办公新模式

WorkPlus

京东面试题:ElasticSearch深度分页解决方案

爱好编程进阶

Java 程序员 后端开发

全渠道CRM系统解决方案

低代码小观

低代码 CRM 客户关系管理 CRM系统 客户关系管理系统

2022年国内外好用的10大甘特图软件(团队使用)

PingCode

项目管理 Worktile 研发管理 甘特图 PingCode

云计算平台与传统平台的区别是什么?怎么理解?

行云管家

云计算 云服务 IDC

2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金

网易数帆

分布式 云原生 存储 Ceph curve

【国产】分布式批量作业调度平台TASKCTL产品验证的几种方式

TASKCTL

程序员 DevOps 分布式 ETL任务 自动化运维

案例成果展 | 一朵“航空云”为国航APP核心业务保驾护航

York

云原生 敏捷实践 应用现代化

Klocwork 2022.1推出Kotlin分析引擎

龙智—DevSecOps解决方案

klocwork perforce

多家波卡生态项目招聘开发者,高薪职位等你来 Pick!

One Block Community

区块链 招聘 波卡生态

直播可以使用 https 了,快来试试吧

CRMEB

关于数据一致性解决方案

穿过生命散发芬芳

数据一致性 5月月更

游戏美术和设计师的福音,Helix DAM 测试版来了!

龙智—DevSecOps解决方案

perforce Helix DAM

Spark离线开发框架设计与实现

百度Geek说

后端

最佳实践 | 用腾讯云AI文字识别从0到1实现通信行程卡识别

牵着蜗牛去散步

腾讯 文字识别 技术实践 腾讯云AI 疫情防控

技术干货| MongoDB时间序列集合

MongoDB中文社区

mongodb

​对 Jenkins 和 CloudBees CI 的 UI 改进

龙智—DevSecOps解决方案

CloudBees

戴尔赋能科创小企业,共塑科创大时代

科创人

Authing 宣布推出云原生「多租户」身份解决方案

Authing

身份云 数字化转型 SaaS 多租户

前车之鉴:聊聊钉钉 Flutter 落地桌面端踩过的“坑” | Dutter

阿里巴巴终端技术

flutter 钉钉 移动端 跨端框架 桌面端

客户体验和客户服务的区别

龙国富

客户服务 客户体验管理

自助洗车怎么洗?来看看洗车教程

共享电单车厂家

自助洗车加盟 自助洗车怎么洗 自助洗车机使用

龙蜥开源内核追踪利器 Surftrace:协议包解析效率提升 10 倍! | 龙蜥技术

OpenAnolis小助手

Linux 网络协议 系统运维 龙蜥社区 Surftrace

初识DevOps

天翼云开发者社区

DevOps 运维 前端开发

实战攻略:企业如何一步步建立自己的数字孪生

WorkPlus

Nebula Graph|信息图谱在携程酒店的应用

NebulaGraph

图数据库 知识图谱 NebulaGraph

Chrome Devtools调试小技巧

百度Geek说

后端

密钥管理系统-为你的天翼云资产上把“锁

天翼云开发者社区

数据 数据安全 密码管理

架构训练 模块五

小马

「架构实战营」

2022-05微软漏洞通告

火绒安全

微软 终端安全 安全漏洞

疫情期间,IT运维人员远程办公软件有哪些?

行云管家

远程办公 IT运维 服务器运维 居家办公 运维软件

风控建模流程:以京东群体感知项目为例_文化 & 方法_DataFunTalk_InfoQ精选文章