在数字化时代,规则引擎在各种业务场景中发挥着越来越重要的作用。评分卡作为规则引擎的一个重要应用,被广泛应用于员工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分钟。


软件部长
43 声望6 粉丝

软件研发行业老司机,提供些踩坑的经验而已