I.内容提要

  • 风控决策引擎系统从架构设计到开发实践

  • 特征引擎系统及实时计算引擎

  • 模型引擎系统及智能风控引擎

  • 大数据风控-用数据驱动的风控全流程系统构建

II.风控决策引擎介绍

Q:互金领域的风险有哪些?

A:欺诈风险 、 信用风险、合规风险(监管要求)

Q:如何对抗风险?

A:通过大数据来构建规则和模型进行风险控制和风险预警

Q:业务规则和模型策略 如何落地?

A:通过决策引擎承载规则和模型的自动化实施和部署

风控决策引擎,支持规则和模型的配置、管理、执行,支持通过专家经验和大数据机器学习进行风险控制。如图所示,风控决策引擎作为风控核心支撑组件,对风控管控起到重要的决策作用。

决策引擎作为系统,那么系统设计的功能目标和性能目标都有哪些?

II.风控决策引擎开发设计

1.从一条规则开始抽象建模

决策引擎就是将规则配置与程序代码分离,那么首先就要将规则配置抽象化

这里依赖于基础运算符操作。

根据特征类型不同,有不同的操作符。

为了更好地系统易用性,需要进一步实现可视化规则配置后台。可视化后台,使用关系型数据库进行数据管理,然后在“发布”时统一转换为自定义特定领域语言 DSL

此代码详细实现参阅:

决策引擎规则抽象实现

2.规则集

多条规则 集合在一起 组成一个规则集。

规则集就是将所有规则打包一起执行,它的执行结果 = Max(Sort(规则执行结果, 优先级))

3.决策树

树形结构来展示和构建规则

决策树:可以拆解为规则执行执行结果的组合决策

4.决策矩阵

决策矩阵:包含横向和纵向两个维度的特征,通过两个维度特征的不同限制,交叉决策其结果。

此代码详细实现参阅:

决策树、决策表&决策矩阵实现

5.DSL 抽象总结

6.决策流

决策流:对不同的规则和决策进行流程编排,类似工作流。

决策流数据结构选型:

Pipeline 模型:管道模型。用链式串联不同节点组件,组成直线工作流。

Rete 模型:构建成网络。区分alpha网络和beta网络。

此代码详细实现参阅:

决策流实现

7.总结决策引擎架构设计

III.风控特征/指标处理

决策引擎的决策离不开特征的支持,特征又源自业务数据或业务日志衍生,所以特征加工和衍生也是风控开发重要的一环。先看看特征长什么样?

保障决策引擎的可复用性,可更好的支持不同的业务场景和业务环节,那么与业务耦合较重的特

征,就需要解耦拆分出来,于是有了特征引擎

特征引擎,也有叫变量平台,为了保障风控决策的高效性和实时性,特征获取就必须足够高效,那么特征加工计算分为读时计算写时计算,写时计算也叫预计算。对一些复杂聚合类特征,还有融合计算,使用 Lambda 架构将聚合数据和明细数据再做计算。

保障系统高性能

  • 数据并发调用,并发计算

  • 增加数据缓存,特征(计算结果)缓存

  • 对计算处理耗时长的特征做预计算

  • 融合计算:历史聚合数据+最新明细数据进行融合计算

  • 异步化 ,分离实时和准实时

IV.引入智能环节:模型

规则在准入和反欺诈识别上有更好的应用。而模型可以通过更多维度特征的评估,用于识别团伙欺诈,识别信用风控。
模型工作的基本前提:

  • 具有相同特征的数据具有相同的结果;

  • 历史的数据与未来的数据遵循同样的规律。

常用的建模方法:

  • 传统建模方法:评分卡建模

  • 基于大数据建模方法:机器学习、深度学习

关于评分卡建模详细实现参阅:

评分卡建模

关于机器学习建模详细实现参阅:

机器学习建模

V.可靠性保障

  • 做好监控和报警

  • 系统灰度陪跑,一致性比对

  • 新模型上线,先陪跑验证后进行决策

  • 策略发布,在决策流配置挑战者小流量分支,灰度验证

  • 线上数据引流测试

  • 数据过程快照和结果快照,通过模型平台回溯

  • 熔断限流,并设置默认值兜底

  • 制定 SLA

  • ...

详细实现参阅:

监控大盘实现

VI.数据驱动智能风控系统架构全景图

VII.QA环节

Q:开发特征就是 flink sql 吗?

A:flink sql 对聚合类指标特征能较好实现。除此外,还有代码计算特征,融合计算特征等不同方式。

Q:规则引擎结果怎么回溯?

A:保存决策引擎计算时所有数据快照,特征,以及决策结果,通过回溯平台回溯。

Q:怎么同时支持反欺诈场景和现金贷

A:决策引擎是一种通用能力,通过与不同的规则和决策配置,可以支持不同的决策类型;决策引擎与业务之间通过业务中间件系统来进行语义转换。

Q:规则引擎用的哪家的

A:自研的,golang 演示版 通过 DSL 抽象 + govaluate 计算实现,java 版本还可以通过 groovy、drools 或 qlexpress 等开源实现。

Q:特征计算时三方数据怎么处理

A:简单的通过自动化配置解析结果字段,复杂的需要对结果进行二次加工,通过代码实现。在特征引擎完成数据处理。

Q:先跑特征还是先跑规则

A:不同的业务场景有不同的实现方式,决策引擎需要同时兼容两种方式。对一些简单业务场景,可以将特征都加工好后一起送进决策引擎,这样可以更高效的出结果。而复杂决策流,可能会先配置内部特征规则,如黑名单类,触发就不再继续执行,通过内部规则后可发起调用三方收费数据,加工特征,再进行规则决策。

Q:模型特征和规则策略特征来自同一特征引擎吗

A:是的。有时特征和模型用的特征是一样的。不过一般情况下模型用特征结构更复杂,维度更多,所以一般特征引擎也会有类型区分和加工方式区分。

Q:人行征信数据怎么支持计算出不同特征?

A:人行征信数据,需要先进行解析,有时是 pdf 文本,这部分需要通过代码来实现,然后将解析好的特征存储到高性能缓存中。挖掘出的特征可配置到决策引擎中,决策引擎执行时依赖人行的特征,通过特征引擎获取高性能缓存中的特征。

智能风控决策引擎系统架构设计与开发实践相关推荐

  1. python智能决策系统_智能风控决策引擎系统可落地实现方案(三)模型引擎实现...

    I.风控模型介绍 在之前的文章中,我们实现了规则引擎和决策流,基本完成了风控决策引擎系统的雏形.相关文章请看: 大数据风控领域通常根据规则对风险用户进行有效识别并拒绝准入或提高准入门槛,如判断用户信用 ...

  2. 架构设计参考项目系列主题:智能风控决策引擎系统可落地实现方案:风控监控大盘实现

    本文转自: 技术岁月 Author 贺鹏Kavin 目录 I.前文提要 II.完整决策流 III.风控结果数据分析监控 IV.引入 Fink I.前文提要 通过之前五篇文章,分别介绍了决策引擎的主要功 ...

  3. 如何设计一个风控实验?以度小满风控实验平台架构设计为例

    导读:大数据风控在互联网金融领域的应用已相对成熟,现在大多金融服务都已可线上进行,因此各个方面的风险控制更加信息化.风控系统的建立就是依赖于数据的积累做规则与分析,为风险控制提供更好的技术手段验证,而 ...

  4. 码code | 腾讯大佬带你深入理解小游戏的架构设计与开发

    转载来源:云加社区 原作者:余国良 小游戏自发布以来,微信平台上已经出现了不少现象级的小游戏,包括跳一跳.在技术上微信小游戏和小程序的区别是什么?开发商在开发一款小游戏的时候通常会遇到什么问题?怎么去 ...

  5. 电子电器架构设计与开发流程

    电子电器架构设计与开发流程 随着汽车配置复杂度的增加,电子电器系统越来越复杂.同时,电子电器的成本压力也越来越大,对电器系统优化的要求也日益增加.鉴于以上原因,电子电器架构EEA (Electroni ...

  6. 直播客户端架构设计与开发-DQLive for Android

    DQLive 直播客户端架构设计与开发的经典学习项目,隆重推出了! 直播Android客户端应用实战!欢迎Star,持续更新. 基于声网SDK实现的推拉流,项目虽小,五脏俱全. 特色:优良的直播间的架 ...

  7. 大规模 Node.js 网关架构设计与工程实践

    作者:王伟嘉,腾讯云 CloudBase 前端负责人. 本文是王伟嘉在 GMTC 2021 全球大前端技术大会(深圳站)上的演讲内容:<十亿级 Node.js 网关的架构设计与工程实践>. ...

  8. 腾讯云十亿级 Node.js 网关的架构设计与工程实践

    作者|王伟嘉 编辑|孙瑞瑞 本文由 InfoQ 整理自腾讯云 CloudBase 前端负责人王伟嘉在 GMTC 全球大前端技术大会(深圳站)2021 上的演讲<十亿级 Node.js 网关的架构 ...

  9. IaaS首席架构师的架构设计思考与实践

    摘要:本文分享了华为云Stack IaaS的设计思考与实践,基于公有云先进的架构技术和创新能力,采用重构改造+积木式搭配+抽屉式替换等方式,健康的.可持续的为客户不断的提供产品和服务. 本文分享自华为 ...

最新文章

  1. linux基础简介,Linux简介基础
  2. 使用Spring Data MongoDB和Spring Boot进行数据聚合
  3. mount NTFS FOR RHEL5
  4. 判断两个字符串是否由相同的字符组成
  5. LeetCode 2155. 分组得分最高的所有下标(前缀和)
  6. 聊聊缓存机制:双写兜兜转转,又回到了串行化
  7. python中 yield 的用法详解——最简单,最清晰的解释(排序节省内存消耗)
  8. 理解 webpack 热更新
  9. 如何实现实时文本过滤
  10. 随手记--计算机网络原理
  11. 【预测模型】基于matlab RLS算法预测【含Matlab源码 222期】
  12. win10壁纸不能幻灯片放映_教你巧妙解决雨林木风Win10系统中背景桌面无法自动播放幻灯片...
  13. TCP自时钟/拥塞控制/带宽利用之脉络半景解析
  14. Access仿Excel的RoundUp函数向上取整的方法。
  15. 批处理之读写ini配置文件
  16. Android使用mob实现第三方登录(Facebook、Twitter)
  17. 大数据时代对存储发展需要哪些要求
  18. asr标注工具_传统ASR全流程【转载】
  19. 外部连接Redis时候,出现Time Out异常
  20. js如何实现随机数切换

热门文章

  1. CSI数据dat文件转换mat文件问题(matlab、python数据处理)
  2. .mat文件与.dat/.txt文件的相互转换
  3. 3D数学基础:图形和游戏开发(第2版)第2章笔记
  4. 【文献学习】静电纺丝
  5. 错误代码: 1052 Column 'stu_id' in field list is ambiguous
  6. 愉快的舞会----单项队列
  7. 最强大脑(9-10)
  8. Xj123.biz 新疆维文网址导航站正式开通了!
  9. 【全套】Android零基础入门教程(知识精讲+强化实战)
  10. 网络常见的安全威胁和攻击手段