决策引擎选购指南[通俗易懂]

决策引擎选购指南[通俗易懂]决策引擎选购指南决策引擎或规则引擎的概念在2015年随着互联网金融行业的发展得到了快速普及,逐渐被各大公司接纳并入到企业基础设施中,用于集中管理高频多变的业务运营策略,相对于原先的硬代码维护的方式,有着便捷、高效、低成本的特点。市面上关于决策引擎的分享不少,但主要集中在技术层面的经验分享,比如如何从0到1搭建一套决策引擎,大家如果感兴趣也可以自行进行查阅。反而从公司层面出发,如何评估以及选择决策引擎的文章十分有限,从而导致了公司在采购的时候往往因为信息不对称而十分被动。因此,本文将从一位…

大家好,又见面了,我是你们的朋友全栈君。

图片

图片

图片

决策引擎选购指南

决策引擎或规则引擎的概念在2015年随着互联网金融行业的发展得到了快速普及,逐渐被各大公司接纳并入到企业基础设施中,用于集中管理高频多变的业务运营策略,相对于原先的硬代码维护的方式,有着便捷、高效、低成本的特点。

市面上关于决策引擎的分享不少,但主要集中在技术层面的经验分享,比如如何从0到1搭建一套决策引擎,大家如果感兴趣也可以自行进行查阅。反而从公司层面出发,如何评估以及选择决策引擎的文章十分有限,从而导致了公司在采购的时候往往因为信息不对称而十分被动。因此,本文将从一位决策引擎使用者的视角出发,来分享一下我认为的公司在采购决策引擎应用考虑或者注意的事项。(注:本文中不涉及到与数据结合的十分紧密的应用型引擎产品,这类产品的可扩展性十分有限)

总的来说,市面上的决策引擎主要分两类,一类是开源引擎(如Drools)或基于开源引擎二次开发(服务层)的产品,另一类是成熟的商业化决策引擎(如FICO Blaze、 IBM ODM,、Experian SMG3、Sparkling Logic SMARTS等)。前者的优势在于高度定制化,可完全按照业务需求进行设计与开发,初期投入不高,但对公司的技术实力要求较高且后期维护成本不低。后者的优势在于成熟的产品化设计(毕竟经过多年的市场验证与迭代),但初期投入即产品采购成本较高(具体视不同厂商、产品版本与功能模块而定)且几乎不支持项目制的定制化开发,但由于后期仅需对部署在其中的策略进行维护,针对软件本身的升级与迭代可完全由厂商负责,因此维护成本相对而言比较低。

至于是选择开源的引擎产品,还是选择成熟的商业引擎,主要取决于公司的实际需求与技术实力。首先需要明确决策引擎在整个公司基础设施中的定位,并同时梳理清楚主要需求与次要需求。其次,需要综合评估好开发的前期投入,后期持续的投入与运维成本。简而言之,如果需求中有主要功能是商业引擎覆盖不到的,那么建议使用开源引擎进行定制化开发,当然前期的开发成本,后期的维护成本相当高。如果市面上的商业引擎能覆盖主要需求,那么还是建议择机选择适合的引擎厂商。毕竟就决策引擎而言,最主要的功能还是支持对业务策略进行便捷与高效的迭代。接下来我就如何选择引擎厂商进行进一步展开。

对于公司而言,选择引擎厂商或者其它任何软硬件产品,其实本质上就是在选择一位长期的合作伙伴。选择合作伙伴,首先我们会衡量他的能力。对于决策引擎而言,首先需要了解的是它的开发团队的从业经验,这往往是产品生命力的无形背书。其次需要了解清楚的是该产品的版本迭代情况,一个有生命力的产品往往几个月会进行小的更新,1-2年内会进行大版本更新,更新的内容往往涉及到技术更新,功能新增,bug修复等。如果一个引擎产品长时间没有迭代,请谨慎考虑。当然,售后服务也是不得不考虑的问题,这个可以通过与其客户沟通进行了解。最后,才是价格。

Rule 1:选择技术实力过硬,从业经验丰富的厂商,并且产品要保持生命力。

接下来我们再看下如何从用户的角度出发来进行选型。通常来讲,基于决策引擎构建数据驱动的自动化决策系统通常涉及到三类人员:业务,IT与模型。

对于业务团队而言,需要能借助决策引擎快速地将业务需求转换为自动化决策中的业务规则,这就要求产品是易用的。在简单的培训之后,能让有一定经验(熟悉EXCEL公式或者SQL)的同事快速上手进行规则编写。从这个角度出发,引擎软件应该是可视化程度高、规则编写语言清晰易懂的。并且就我过往的经验而言,还必须是支持在平台上直接进行可视化验证与测试的,比如支持制作报表展现测试结果。这点非常重要,相对于离线分析的方式,这类所见即所得的测试方法可以更高效地完成规则测试以及业务验证。并且从业务角度出发,生产环境中运行的策略版本也应该由业务团队进行管理,这就要求决策引擎支持界面化的版本管理与发布功能。

Rule 2: 选择支持可视化规则编辑和分析的低代码/弱代码的决策引擎,并且需要支持完善的版本管理功能

其次由于当前越来越多的场景中会将经验策略(可读可理解)与模型策略(大部分黑盒不易理解)相结合,共同组成实际的自动化决策。因此对于模型团队而言,需要决策引擎能够支持对算法模型的导入,导出以及调用。当然,如果能直接提供对应的模型开发和调试功能,当然更好。但这个不是必须,毕竟都有专门的工具做这事。借助于决策引擎的可视化测试功能,在决策的上下文中对模型的准确性和精确性进行验证。

Rule 3: 选择支持算法模型集成和调用的决策引擎

最后,对于大部分公司而言,IT资源都是十分紧缺的。因此,如何能快速地将业务系统与决策引擎之间的交互机制建立起来,也是需要考虑的。这要求决策引擎提供标准化的API接口,并且能适配到不同的开发平台。

Rule 4: 选择提供标准API接口,支持便捷集成的决策引擎

以上是我个人总结的一些经验,市面上满足上述条件的决策引擎产品其实不算多,大家可以逐一筛查。相对而言,就产品力与产品功能完整度而言,个人还是更推荐国外产品。也希望国内有更优秀的决策引擎产品出现。

星标我,每天多一点智慧

图片

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 高级 PHP 工程师必备的编码技巧及思维

    高级 PHP 工程师必备的编码技巧及思维

    2022年2月14日
    37
  • TCP-三次握手

    TCP-三次握手文章目录三次握手三次握手过程详解三次握手的状态变化面试题:四次挥手三次握手简单示意图:客户端–发送带有SYN标志的数据包–一次握手–服务端服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端客户端–发送带有带有ACK标志的数据包–三次握手–服务端SYN同步序列编号(SynchronizeSequenceNumbers):是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN

    2022年10月3日
    0
  • Python爬虫程序实例

    Python爬虫程序实例在这个爬虫程序中使用到“BeautifulSoup”与“requests”两个包,所以我们之前要安装这两个包,如果不清楚是否安装,可以使“piplist”查看是否已经安装。做“爬虫程序”时建议用谷歌浏览器对网页元素进行检查,在网页空白处右击鼠标在弹出菜单中,使用“检查”菜单项。在检查元素窗口中,在“Elements”窗口仔细查看网页元素,特别要观察所要截取的内容前后HTML元素的特征。在上述代码中:主要抓取中的元素,这里看到它们的class元素的名称都是“news_li_strong”,所以在代

    2022年6月17日
    32
  • 史上最简单的Hibernate入门简单介绍

    史上最简单的Hibernate入门简单介绍

    2021年12月9日
    38
  • lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令

    lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令1.前言errorLNK2019:无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib。笔记本重装了系统,有32Bit升到64Bit,运行VTK程序时,始终报错如下:1>  正在创建库E:\Driverprogram\imgport\Debug\imgport.lib和对象E:\Driverprog

    2022年10月6日
    0
  • tkMapper的使用-超详细

    tkMapper的使用-超详细tkMapper已经完成了对单表的通用操作的封装,主要封装在Mapper接口和MysqlMapper接口中,因此我们如果要完成对单表的操作,只需要自定义dao接口继承这两个接口即可。增加方法在准备工作中已经完成,如果想了解此部分内容,可以向上进行查看,此处主要是添加功能的另一种实现————主键回填。注意在进行主键回填的时候,实体类中id必须要用@Id指定一下,要不然映射的时候找不到id;过程如下创建一个users对象,对象的id是需要修改的用户的id,其他信息是需要更改后的信息。…

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号