在数字化时代,规则引擎在各种业务场景中发挥着越来越重要的作用。评分卡作为规则引擎的一个重要应用,被广泛应用于员工KPI考核、业务评估、授信额度计算等等场景。本文引用了奔跑的小武哥的内容,对市面上的几个规则引擎进行对比展示,就小武哥整理的内容做个增补分析。
评分卡其实很多场景都会用到,员工kpi考核、业务评估、授信额度计算等等,都需要评分卡。
评分卡
先来评分卡的案例说明
这里就drools 、ODM、urule、jvs-rules几个产品做个截图对比:
1、Drools实现过程
Eclipse插件版本应该是不支持评分卡,事实上可以通过【若干个规则集】来变相实现,达到得分的累计效果。
- Eclipse中没有新建评分卡的选项
- 如下是通过规则集DRL实现对变量score累计,即评分功能
2、ODM实现过程
ODM插件版本应该是不支持评分卡,也可以通过规则集变相实现得分的累加效果。
3、uRule实现过程
变量(BOM)
规则设计
- 创建评分卡
- 导入变量库
- 表格绑定变量
- 最终得分赋值
- 添加属性行/条件行
- 配置条件
- 添加属性行
添加属性行,表格会新增一个顶格行
- 巧用复制粘贴等协助功能
辅助输入,复制粘贴
- 完成评分卡设计
测试与验证
规则测试
查看日志
4、jvs-rules的配置
决策设计
在规则引擎中,决策设计是定义和管理一组规则的过程,这些规则描述了特定情况下的决策逻辑。能够确保规则的正确性和执行效果。
新建决策
变量定义
决策的调用入参,这里可自定义入参设置,比如三个入参参数:Age、Sex、Marriage,这三个字段由业务系统调用时提供,如下图所示:
评分卡配置
评分卡用于评估客户信用、风险等级或其他指标的重要工具。它通常用于金融、信贷等领域,以便根据一系列预定义的规则和权重来对客户进行评分。
jvs-rules评分卡,用户可直接通过界面进行简单配置,无需写任何逻辑代码。便可满足各项评分要求。选择评分卡,先把入参转化为节点可以使用的变量,然后点击评分卡节点,设置如下图所示的评分卡配置:
评分卡满足日常基础分数计算外,同时支持复杂评分卡配置,每一种变量提供三种条件判断方式实现分数计算,分别为集合、线性、映射。
集合:变量满足集合区间中任一值时,则得出分数;集合区间支持自定义区间开闭条件,通知支持excel导入批量区间条件。
线性:设置判断条件最大值和最小值,形成线性关系,当变量满足线性条件上的任意值时,得出分数。
映射:变量满足映射条件时,得出分数,映射条件可以为汉字、字母、数字等类型。
评分卡除基础分数求和计算以外,同时支持权重求和。开启权重求和后,设置各变量计算式权重占比,各分数计算条件得出结果后,按照最终权重占比得出最后结果。
在评分卡配置中,函数通过判断条件得分,可以为一个固定分数,也可以为动态变量分数。评分卡配置除了支持得分以外,同时也支持扣分,分数设置可以设置为负数,例如-1.
在线验证
以上步骤配置好之后点击在线执行,可以用实际的数据去验证最终的业务结果
决策将按照线性条件往后续节点依次执行,执行后,每次节点将详细展示每一个变量及设置的判断条件式最终结果。同时系统将实时生成动态日志,展示决策执行过程中过的所有情况,便于相关人员对数据进行分析。
在线demo:http://rules.bctools.cn/
小结
整体来讲,四个规则引擎其实都不错的,只是四个产品各自特点不同;
drools:相对来讲功能成熟(时间较长),开源使用成本低,但是更偏开发人员使用,开发上手预计3小时。
ODM:功能相对强大,但是使用成本太贵,配置太复杂,不利于使用,上手预计 3小时左右。
urule:商用版本才支持,使用门槛较低,商用版本小贵,非专业人员上手10分钟。
jvs-rules:商用版本才支持,用户体验性更好,界面的交互更加产品化,提供源代码, 非专业人员上手5分钟。