大家好,欢迎来到IT知识分享网。
说明
为什么要写这篇文章,因为决策引擎对很多风控从业者来说都是绕不开的必学知识点,每一个与金融业务相关的技术框架,都需要一个成熟稳定的决策引擎组件来支持,而目前,只有15%左右的互联网产品,配置了这一工具。
本文旨在帮助大家认识决策引擎,包括前台规则配置与后台技术搭建,另外提供几个比较不错的轻量级开源引擎供大家进一步学习。
全文总计1.6w字,因内容较长,可分四部分进行阅读:
- 1.决策引擎介绍(适用人员:还没使用决策引擎的老板)
- 1.1 决策
- 1.2 决策引擎
- 1.3 应用场景
- 1.4 功能需求
- 2. 前台规则管理(适用人员:业务、分析、模型、决策)
- 2.1 平台介绍
- 2.2 功能介绍
- 2.3 使用流程
- 2.4 规则设置建议
- 3. 后台引擎框架(适用人员:模型、开发、架构)
- 3.1 引擎框架
- 3.2 核心组件
- 3.3 扩展组件
- 3.4 执行流程
- 4. 决策引擎调研(适用人员:有开发需求或者学习需求)
- 4.1 开源决策引擎
- 4.2 商用决策引擎
- 4.3 决策引擎项目
- drools
- radar
- urule
- sparkling logic
本着对读者负责的态度,笔者行文时尽可能做到以下几点:结构完整、内容真实、逻辑清晰、重点突出、删繁就简,用关键词、数据、配图和案例体现决策引擎的定义优势、应用方法、框架流程等。
另,感谢开源引擎radar开发者“飞虎”、信数风控引擎老师“海棠”、maze开发者张宁以及drools社群对笔者的指导和支持。
本文内容难免有疏忽,会不断更新完善,请关注知乎“正阳”及专栏“大数据风控”,多谢!
正阳:https://www.zhihu.com/people/wx971a6f47df448a18?utm_source=wechat_session&utm_medium=social&utm_oi=0
专栏【大数据风控】:https://zhuanlan.zhihu.com/sun-energy-field?utm_source=wechat_session&utm_medium=social&utm_oi=0
注:文中内容,如有侵权处,请联系笔者删除,感谢支持。
1.决策引擎介绍
1.1 什么是决策
决策,指做决定时所用的策略或方法,是人们为各种事件出主意、做决定的过程。它是一个复杂的思操作过程,是信息搜集、加工、整合最后作出判断、得出结论的过程。在消费金融业务场景中,决策主要指技术人员、业务人员、管理人员共同参与制定的面向整个用户信贷生命周期各环节的策略规则。
1.2 什么是决策引擎
1.2.1 早期规则模型
传统的风控规则模型主要内嵌在后台代码中,直接用硬编码的方式实现数据的获取、规则的定义、风险的判断。
伪代码如下:
if (StringUtil.isBlank(fieldA) || StringUtil.isBlank(fieldB) || StringUtil.isBlank(fieldC) || StringUtil.isBlank(fieldD)) { return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "门店参数缺少必填项"); } if (fieldA.length() < 10) { return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "门店名称长度不能少于10个字符"); } if (!isConsistent(fieldB, fieldC, fieldD)) { return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "门店xxx地址、行政区和经纬度不一致"); }
- 优点
- 当规则较少、变动不频繁时,开发效率最高。
- 稳定性较佳:语法级别错误不会出现,由编译系统保证。
- 缺点
- 规则迭代成本高:对规则的少量改动就需要走全流程(开发、测试、部署)。
- 当存量规则较多时,可维护性差。
- 规则开发和维护门槛高:规则对业务分析人员不可见。业务分析人员有规则变更需求后无法自助完成开发,需要由开发人员介入开发。
1.2.2 业务定制引擎
基于特定业务场景开发的定制引擎,可视为一种推理引擎。
- 优点
- 规则配置门槛低:视图和引擎内部数据模型完全贴合绩效业务模型,因此业务分析师很容易上手。
- 系统支持规则热部署。
- 缺点
- 适用范围有限:因为视图和引擎的设计完全基于特定业务模型,因此很难低成本修改后推广到别的业务。
1.2.3 通用决策引擎
通用决策引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件。实现的功能包括:将业务决策从应用程序代码中分离出来,使用预定义的语义模块编写业务决策,接收数据输入,解释业务规则,并根据业务决策做出业务规则。
简单点,可以理解为:
决策引擎特点:
- 决策引擎将复杂的业务逻辑从代码中剥离出来,可以显著降低业务逻辑实现的难度,降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,;
- 剥离的业务规则使用决策引擎实现,可以使多变的业务规则变的可维护、易维护;
- 配合决策引擎提供的良好的业务规则设计器,不用编码就可以快速编辑复杂的业务规则;
- 即使是完全不懂编程的业务人员,也可以使用决策引擎来定义复杂的业务规则;
- 业务系统运行过程中难免会发生业务规则变化的情形,有了决策引擎,业务规则部分采用决策引擎实现,这样在系统正常运行的情况就可以利用决策引擎对业务规则进行修改,从而实现业务规则的随需应便。
决策引擎功能:
可以看到,常用决策引擎在传统风控决策的基础上,提供更加丰富的功能,包括:
- 层次更加丰富的逻辑运算
- 包含规则、评分卡、模型、表达式、决策流等
- 个性化业务场景事件管理
- 资源包
- 规则配置
- 阈值管理
- 标签管理
- 可视化编排
- 决策结果分析
- 规则监控
- 模型分析
- 模型报告
- 复杂决策
- 决策流
- 丰富的特征变量与场景识别
核心技术与挑战:
在目前围绕大数据、大数据决策为核心的风控技术体系中,整体的数据量达到一定水平,存在的挑战将会是数据的稀疏化。随着风控业务覆盖的行业越来越多,平台间的数据稀疏问题就越明显。
此外,对于大数据来说,具有数据和大数据决策,却没很稳定的落地平台也不行。大数据应用要做到完整,还需要符合以下要求的平台:
- 容纳量:能容纳特别多的数据;
- 响应:任何决策都能实时响应;
- 并发:在大量数据并发时也能保持调用。
1.2.4 未来发展趋势
更高阶的风控决策引擎,在现有的风控决策引擎上融入了自言语言处理平台、流计算平台、实时预警、深度学习、可视化科学计算等,提升了现有决策引擎的算力和处理时效。
随着技术的革新,未来的决策引擎,会向着功能更加丰富,性能更加优良的风控实时决策系统演进。
1.3 应用场景
1.3.1 互联网金融风险决策
互联网金融行业是近期发展最为迅速的一个金融业务领域,而其中的风险控制更是整体业务体系的核心环节。互联网金融的门槛核心在于风控系统,面向C端客群的线上产品线,如消费分期、现金贷及信用卡代偿等业务方向,需实时支持大量业务的自动化处理,风控系统将承担贷前、贷中和贷后的风控评估、处理及预警的角色,极大地解放人工处理的瓶颈与效率。
- 根据设计好的风险模型和业务规则,实现商户和客户评分、评级;
- 根据不同渠道、不同产品的用户的申请信息、第三方数据、存量数据等,并结合设计好的业务规则,实现实时自动审批规则(拒绝、通过)的系统落地;
- 根据已有模型和规则,实现商户和客户的额度测算;
- 实现不同的催收策略配置,实现催收客户风险排序以及高危客户检测;
- 根据业务规则,实现贷后预警指标的落地。
业务规则的制定和变更,是贯穿于金融行业的各项业务环节中的重要任务之一。如:
- 资格审查
- 额度费率计算
- 信用评分评级
- 风险发现
- 积分管理
- 市场营销
- 渠道收费
这些业务中都有大量的规则,规则的来源包括:
- 政策法规
- 市场营销策略
- 产品合同
- 专家经验
1.4 功能要求
好的决策引擎产品甚至无需 IT 人员的参与 就可以实现规则的变更, 减少了维护的成本。同时决策引擎响应规则变更的速度相当快,1-3 天就可以完成,大幅度减少业务人员与技术人员的沟通成本,花更少的时间处理数据,加速业务扩展。
一个优秀的决策系统,应该具备以下几个条件:
1.4.1 灵活可配
- 易用性:改善用户体验,使业务用户能轻松编写规则,降低进入门槛。零基础简易便捷的配置多种复杂规则,实时高效管控用户异常行为;
- 安全性:风控规则完全由风控部门知晓和负责演进
- 高效性:实现快速实施,开发人员能够快速建模,与其他系统集成,提高工作效率;
- 兼容性:可以在各主流操作系统,中间件,浏览器,数据库上运行和使用;
- 平台化:与业务场景分离的通用规则引擎平台,一个平台可快速的应用在各个业务系统中;
- 可视化:规则设计器、打包测试工具,全部基于浏览器实现,所有的规则设计器皆为可视化、图形化设计器,通过鼠标点击即可实现复杂的业务规则定义,多条件组合也可以用图形方式展现。
1.4.2 快速启动
- 决策引擎目前已广泛的应用于金融行业的 IT 系统。配置好的规则模型可实时生效,如果涉及一般规则修改时,可做灰度部署。
- 简单的使用方式
1.4.3 高性能可用
- 应对海量业务申请,实现毫秒级审批
- 借鉴Rete等算法的优势,结合中式规则引擎的特点,开发一套自己的规则模式匹配算法,从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。
1.4.4 部署模式多样化
- 本地部署
- (VA虚拟镜像/Docker容器)
- 嵌入式部署
- JAVA/.NET,API调用
- 云端部署
- Saas云
1.4.5 支持外部多方数据源调用
- 支持各种数据源,可自定义增加删减
- 引擎按需动态调用外部数据
- 支持RPC远程函数,由决策节点按需动态调用数据
- 动态调用外部黑名单数据
- 远程函数配置简单
1.4.6 高效能规则管理
- 支持全中文编写,高可用性
- 支持多样化的编写方式
- 支持零代码规则开发
- 拉拖拽即可搭建决策流
- 可以直接调用决策库中的决策
- 支持外部规则导入
1.4.7 支持模型评分的部署与维护
支持模型的部署——线性回归、决策树等简单模型容易将其变成规则来部署,但支持向量机、深度学习等对模型支持的功能有更高的要求。
- 不仅支持业务规则,还全面支持AI模型
<
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/146820.html