评分卡在数字化时代的应用与比较,谁是最强规则引擎?

2023-12-19

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

评分卡在数字化时代的应用与比较,谁是最强规则引擎? 的相关文章

  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • BENTLY 125720-01 后卡模块

    BENTLY 125720 01 后卡模块 BENTLY 125720 01 后卡模块 产品详情 Bently Nevada 的产品 尤其是振动监测和机械振动解决方案 具有以下可能的特点 高精度测量 Bently Nevada 的产品通常设
  • 做一个wiki页面是体验HTML语义的好方法

    HTML语义 如何运用语义类标签来呈现Wiki网页 在上一篇文章中 我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景 那么 哪些场景适合用到语义类标签呢 又如何运用语义类标签呢 不知道你还记不记得在大学时代 你被导师逼着改毕业论
  • git commit提交代码时 提交类别 - 提交开头命名规范

    feat 新功能 feature fix 修补bug refactor 重构 即不是新增功能 也不是修改bug的其他代码改动 style 格式 不影响代码运行的变动 test 增加测试 docs 文档 documentation chore
  • 20231219_101701 java io演练 功能演练 保存学生姓名到记事本

    需求 程序启动后 向用户询问学生姓名 如果输入的内容是s 就保存并退出 当程序结束后 把所有的输入的学生姓名 保存到名为students txt的记事本中 一个学生的名字占一行 分析 因为接收的是中文名字 所以建议使用字符流 我们随意选择一
  • 【数据结构和算法】 K 和数对的最大数目

    其他系列文章导航 Java基础合集 数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一 题目描述 二 题解 2 1 方法一 双指针排序 三 代码 3 1 方法一 双指针排序 3
  • 20231219_093920 java 字符流写数据 FileWriter

    说明 FileWriter比起FileOutputWriter要更加好用 后者使用的时候还需要一个FileOutputStream对象 前者直接使用 示例 定义对象 FileWriter fileWriter new FileWriter
  • 比 style gan 更好的 style gan2

    上一篇博客介绍了 style gan 原理 但是 style gan 的结果会有水珠伪影 作者实验后发现是 Adain 导致的 AdaIN对每一个feature map的通道进行归一化 这样可能破坏掉feature之间的信息 当然实验证明发
  • 【工具库推荐】小程序一款阳历阴历(农历)日历组件

    展示 使用方法 组件目录如上图 调用如下图 第一步 在pages rl index json中设置引用这个日历组件 代码如下 第二步 在需要调用页面wxml文件中引用这个日历组件 并绑定相应的属性 如下图 属性解释 showDatePick
  • 策略模式在数据接收和发送场景的应用

    其他系列文章导航 Java基础合集 数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一 策略模式改进 1 1 策略模式的定义 1 2 策略模式的结构通常包括以下组成部分 1 3
  • C/C++编程:令人印象深刻的高级技巧案例

    C C 编程语言在软件开发领域有着悠久的历史 由于其高效 灵活和底层访问能力 至今仍然被广泛应用 本文将介绍一些在C C 编程中令人印象深刻的高级技巧 帮助读者提升编程水平 更加高效地使用这两种强大的编程语言 一 指针运算与内存管理 C C
  • 高可用:如何实现消息队列的 HA?

    管理学上有一个木桶理论 一只水桶能装多少水取决于它最短的那块木板 这个理论推广到分布式系统的可用性上 就是系统整体的可用性取决于系统中最容易出现故障 或者性能最低的组件 系统中的各个组件都要进行高可用设计 防止单点故障 消息队列也不例外 本
  • 开源Cloudreve云盘系统源码/ 支持本地储存+对接各大对象储存/带云盘系统安装教程/公私兼备网盘系统

    源码介绍 Cloudreve云盘系统源码 它不仅支持本地储存 而且还对接各大对象储存 附带云盘系统安装教程 轻松搭建个人网盘 拥有美观界面 云盘系统安装教程 公私兼备网盘系统 多功能仿百度网盘源码 测试环境 PHP7 1 MYSQL5 6
  • 20231219_095713 java 字符缓冲输出流 BufferedWritter

    示例 关闭资源的时候 先关缓冲流 再关字符流 定义字符缓冲输出流对象 FileWriter fileWriter new FileWriter b txt BufferedWriter bufferedWriter new Buffered
  • 聊聊如何实现热插拔AOP

    前言 之前偶然看到一篇文章 利用aop实现热拔插 类似于插件 里面的实现挺好玩 今天我们也来玩一把 前置知识 Advice org aopalliance aop Advice 通知 表示 Aspect 在特定的 Join point 采取
  • 题解 | #输出某一年的各个月份的天数#

    三方寄过去了 告诉我停止24届招聘 全部毁约 牛的 he芯 毁约应届生 34316 广西北部湾银行2022年校园招聘 广西北部湾银行股份有限公司2022届校园招聘 看终端大把大把15级的 这个14级是不是终端bg的白菜了 程序员面试六战六捷
  • 永久删除的文件如何恢复?这3个简单方法可以帮到你!

    我在清理电脑的过程中 一不小心就删除了一些很重要的文件和数据 很想通过某种方法将这些数据找回来 但是不知道应该如何操作 有朋友可以分享一下文件找回的简单方法吗 在日常生活和工作中 我们时常会遇到误删重要文件的情况 一旦文件被永久删除 很多人
  • Mybatis配置-插件(plugins)

    MyBatis允许在映射语句执行的某些点拦截方法调用 默认情况下 MyBatis允许插件拦截以下方法调用 Executor update query flushStatements commit rollback getTransactio
  • 我的创作纪念日365

    机缘 提示 可以和大家分享最初成为创作者的初心 例如 实战项目中的经验分享 日常学习过程中的记录 通过文章进行技术交流 收获 提示 在创作的过程中都有哪些收获 例如 获得了多少粉丝的关注 获得了多少正向的反馈 如赞 评论 阅读量等 认识和哪
  • linux网络版计算机

    文章目录 前言 一 网络版计算机 1 序列化与反序列化 2 网络版计算机实现 3 守护进程 4 json格式 前言 一 网络版计算机 1 序列化与反序列化 协议是一种 约定 sock
  • 评分卡在数字化时代的应用与比较,谁是最强规则引擎?

    在数字化时代 规则引擎在各种业务场景中发挥着越来越重要的作用 评分卡作为规则引擎的一个重要应用 被广泛应用于员工KPI考核 业务评估 授信额度计算等等场景 本文引用了奔跑的小武哥的内容 对市面上的几个规则引擎进行对比展示 就小武哥整理的内容