全流程风控专题:变量管理的设计
编辑导语:上文讲到了 全流程风控专题:变量在风险政策中的使用 ,从五个角度进行分析;本文作者从概念说明、业务流程、功能需求三个大方向,详细介绍了变量管理是如何设计的,需要注意哪些地方。
一、概念说明
- 政策:政策是对某个业务过程的抽象,每一场景可能触发一个或者多个事件。
- 事件:事件是对真实业务中需要风险进行决策的点进行的抽象,比如注册、登陆、准入检查、预审、终审等。事件的原始信息称为事件属性。
- 属性:属性是指原始信息,包括事件固有的(如事件ID、时间、渠道、商户等)、用户填写的信息(如手机号、联系人等)、外部查询的信息(如人行单位地址、综合评分等)以及变量的输出值。
- 变量:变量是对特定计算逻辑的封装。变量来源于事件属性、名单、外部资信数据等的加工。变量包含输入、输出、血缘关系、分桶和计算逻辑。
- 策略:策略是风险体系中对风险决策过程的抽象,比如大额终审策略。
在政策中,需要决策的时候,调用策略;策略返回决策建议,政策流程依此决定下一步。
二、业务流程
以申请业务为例,流程如下图所示:
三、功能需求
1. 状态管理
变量状态如下图所示:
2. 版本管理
变量运行最高版本的可运行版本。引用、依赖不记录版本信息,只记录变量编码。
每次版本的发布,必须对整个风险大脑执行一次快照。同时提供生成快照功能,供策略发布时生成快照。
3. 属性管理
属性管理贯穿整个业务过程,所有属性必须先被定义才能使用。属性的使用包括策略、计算逻辑、数据服务等。
1)属性说明
属性的定义包含以下几部分:
- 英文名称
- 中文名称
- 描述
- 数据类型
- 值的长度
- 一级分类
- 二级分类
- 来源
- 关联码值(可选,枚举时有值)
- 关联校验逻辑(可选)
- 关联计算逻辑(可选,数据为变量时)
- 关联策略(可选,被使用时自动关联)
- 血缘关系(可选,为变量时才有)
- 存储主键
数据类型包含字符串、数值、布尔值、时间4种类型。
2)属性类别: 是指对属性业务用途的分类,分为一级分类和二级分类两级,具体值可以根据业务进行配置。
3)属性来源: 包括人行资信、上送、事件属性、变量加工等。
4)属性列表: 用于展示所有的属性定义,并提供属性操作入口,界面原型如下图所示。
整个属性的配置方式见下图,主要包含的字段都在图中有标识:
根据业务需求,提供了一个查看属性血缘关系的功能,据此可以看到整个属性的归属关系和关联层次,有助于用户查看属性关系。
当属性有多个版本时,可以进行历史对比,查看两版本间的差异,差异部分将标红展示。
4. 变量管理
变量的管理主要是对变量计算逻辑的管理。一个计算逻辑包含以下几部分:
- 目标数据(属性):指定计算完成后输出哪个(属性)数据;
- 默认值:当执行失败时的默认值;
- 执行条件:开始执行的前置条件;
- 计算参数:具体计算逻辑,选择的模板不一样参数也不一样;
- 依赖变量:当变量计算有先后顺序时的前置变量。
1)变量列表: 用于展示所有的变量,并提供相关的操作入口,原型如下图所示:
2)新增变量计算逻辑: 新增计算逻辑有多个入口,可以在计算逻辑列表点击新增进行新增,也可以配置变量定义时跳转到计算逻辑配置,也可以在配置计算过程和配置数据服务出参时跳转到计算逻辑配置;计算逻辑的配置,参见计算模板,指定计算模板及参数及参数完成计算逻辑配置。
3)执行条件: 为计算的前置条件,配置如下图所示,可以通过配置条件组,组合成复杂的执行条件。
4)依赖变量: 可以控制变量计算的顺序,配置如下图所示,可以添加依赖变量,让依赖的变量先执行。
5. 服务管理
数据服务提供数据获取的功能,包括内部(其它系统)数据和外部数据(资信)的获取。
通过接口调用才能查询到的数据,我们统一称为数据服务;数据服务查询回来的数据可以进行二次加工为变量。
1)服务列表: 用于展示所有的服务定义,并提供服务操作入口,界面原型如下图所示。
2)服务类型: 包括内部服务和外部服务两种,内部服务的返回方式可以为同步或异步,外部服务的返回方式只能是异步,协议类型是指数据提供方提供的通讯协议,支持包含Http、Dubbo。
Dubbo
Http
3)返回方式: 是指数据获取后通知调用方的方式,同步是指在同一会话中返回,异步是指另一会话中通知返回结果(如通过MQ通知)。
6. 变量计算
变量计算包括变量同步计算、变量异步计算、变量定时计算。
- 变量同步计算:通过接口调用触发计算。接口传递用户、流水、策略ID及上下文信息;系统解析策略ID使用的变量,然后进行计算;对于数据服务,接口数据返回后也会调用同步计算,对输出变量进行计算。
- 变量异步计算:是针对特殊的变量(如标签、累加等),在变量同步计算时,将数据推送到流处理平台进行异步计算。
- 变量定时计算:是指对于一些运算量比较大、实时性又要求不高的变量,每天定时触发计算。
本文由 @blerk.zhao原创发布于人人都是产品经理。未经许可,禁止转载
题图来自pexels,基于CC0协议