如何搭建风控规则引擎？
决策引擎承载的是风控业务的专家知识，基于变量和模型的输出，对用户进行分层、用户风险判断、以及用户风险定价的操作。其核心为判断流程的编制。 决策引擎产品提供可视化操作，支持判断逻辑的多种组合，流程链路配置，支持0开发部署上线，使得策略迭代速度能够得到最大的优化。 策略画布是一个策略的主干，承担着执行链路配置的功能。画布中主要的组成部分如下：   增加分流：可以在图中两个节点A，B之间进行连线，代表A的下一个执行节点为B。一个节点的分流可以有多个（开始节点除外），例如A节点可以和 B、C、D相互连接，形成以下三条路由： A -> B： A -> C： A -> D：  判断如何走到分支，由分流上的判断条件来判断。如下 分流1 A -> B： if judge_1 == true 分流2 A -> C： if judge_2 == ture 分流3 A -> D：  分流判断的条件从上到下顺序执行，满足一条条件则走该分流 最后的分流：示例中的 分流为兜底路由，如果上述两条分流的条件都不满足，则走该条分流。  结束节点为最后结束的节点，所有分流都必须走到结束节点。结束节点没有后续连接的节点。结束节点中包含的内容为：输出变量配置，可以绑定的为 策略变量，进行策略变量的输出操作。  最后策略的输出为： 策略组件有 规则、评分卡、决策表 三个类型构成，具体详情可见组件介绍。  组件血缘：记录了策略中组件相互之间关联的关系，从上最开始的策略到最下面的变量。依据血缘的引用，定义了组件的 引用和使用这两种状态：  血缘的引用关系将会在组件的修改过程中被检查：   规则配置： 规则执行的是if…then…语句的判断，可以进行的操作有：配置 if的多层嵌套，条件可以是 并（and） 以及 或（or）。 上图中的执行语表示为：if { 1 and 2 and 3 and { 4 or 5 or 6}}  判断语句下拉框会根据选择的变量类型，来选择对应的匹配符，如果是数值型的变量，则提供 数值型判断（=, !=, >, <, >=, <=），如果是文本型的变量则提供（in，not in，contain，not contain，is null，is notnull，==，!=，~=）。  规则执行判断： 规则执行中一行条件为一个执行单位，执行单位根据组合的规则是否命中决定最后结果。一条规则中会有多个执行单位，规则将对执行单位的结果进行汇总，汇总的逻辑为 取最为严重的结果，如果执行单位中有 一个为reject，则规则结果为 reject。如果执行单位中 没有reject，执行单位中 有一个为 reference，则规则结果为 reference。如果执行单位结果全部为 pass，则最后结果为 pass。 决策表介绍，决策表提供的是变量交叉组合之后给予特定结果。 决策表配置：决策表配置是以表格为基础的，每一列都有一个变量，分为输入和输出。每一行，是一个判断条件组合，表示 如果（变量1 条件， 变量2 条件，变量3 条件，…）都满足则，执行 输出（输出变量 =1， 输出变量 =2）。  决策表的变量支持： 决策表执行逻辑： 决策表执行，将配置表的信息从上往下执行，第一个命中的行则将相应的结果值输出。以上述配置为例，如果 A为20，B为北京，则该决策表会命中其中第二行条件。结果为：loan_rate=200，credit_level=L5，credit_amount为 decision_tree2的输出amount的值。 评分卡分为两个部分：评分项（根据单条件给对应的分值），评分汇总判断（根据各个评分项的结果，进行加总评分，根据总评分来划分不同档位）。  评分项配置： 评分项执行： 评分汇总判断：  策略版本管理主要功能为： 版本控制操作说明：针对正式环境 1. 拷贝到测试：将当前的策略拷贝到测试环境中去，如果测试环境已经有同名策略，则进行覆盖，作为新建的策略，将版本作为草稿版本 2. 保存到预发： 将当前的策略拷贝到预发环境中去，如果预发环境已经有同名策略，则进行覆盖，作为新建的策略，将版本作为草稿版本 3. 发布：发布到正式环境，策略生效 4. 删除草稿：将当前草稿修改的内容清空，还原成上一个版本的状态  测试环境：拷贝到测试和拷贝到预发 功能失效，无法拷贝 预发环境：拷贝到测试和拷贝到预发 功能失效，无法拷贝  多版本查看：版本变化说明 版本有草稿和正式两种，草稿版本发布之后会变为正式版本。草稿版本编号以 XX.1为标识，正式版本都为 整数版本号。  版本修改历史：每次变更都记录，不记录具体变更内容  画布变更： 【类型：节点】 1. 新增 2. 修改 • 节点（基础属性）：修改（节点名称） • 节点（规则）：修改（增加规则，删除规则） • 节点（赋值）：修改（增加缓存变量，删除缓存变量，赋值表达式变更） • 节点（分流）：修改（新增加路由，删除路由，路由优先级变更，路由表达式变更） 3. 删除 4. 开始节点：修改（策略名称修改，版本描述修改） 5. 结束节点： • 节点（赋值）：修改（增加缓存变量，删除缓存变量，赋值表达式变更）  【缓存变量】 1. 缓存变量：新增 2. 缓存变量：删除  组件变更： 【组件】 1. 组件：新增 2. 组件：修改 3. 组件：删除  版本变更： 1. 发布 2. 新建  记录示例如下： 策略debug：主要是为了回溯特定订单在策略内执行的路径，主要场景有，对某些定价出现问题的客户，回溯当时策略执行的完整路径。  主要展示内容：   更多风控其他系统的设计：变量中心 - 反欺诈平台 -实验平台，欢迎关注专栏：风控产品设计与分享   