指标模型的概念
- 关键指标分析是一种常用的业务分析手段
- 指标可分为
基础指标
和计算指标
-
基础指标
是指当前业务系统能够直接获取的指标,比如客户评级模型
中客户的年龄、学历、性别、总借款次数
等等 -
计算指标
是指通过定义计算公式,从其它指标计算得出的指标,比如:-
性别得分
这个指标的公式为如果 (${性别} == "女") 60分 否则 40分
-
基本信息汇总得分
这个指标的公式为${性别得分}×20% + ${年龄得分}×20% + ${学历得分}×60%
-
客户评级最终得分
这个指标的公式为${基本信息汇总得分}×30% + ${业务统计信息得分}×40% + ${征信信息得分}×30%
-
-
通过上面列举的计算公式可以看出,指标模型的指标之间存在非常复杂的多层依赖关系
-
性别得分
依赖性别
-
基本信息汇总得分
依赖性别得分
、年龄得分
和学历得分
-
客户评级最终得分
依赖基本信息汇总得分
、业务统计信息得分
、和征信信息得分
-
- 所以,某一业务领域的
指标模型
包含该业务领域设定的关键指标以及它们之间的计算关系。
文章后半段有系统演示,先聊聊概念和意义
建立指标模型的意义
- 首先当然是满足当前的指标定义、计算、分析、展现需求(虽然普通的报表系统也能实现指标统计,但指标模型的真正价值在于对持续优化过程的支持和促进)
- 业务人员对指标的多层计算过程有了一个全面的了解
- 指标的计算公式能对应需求的具体细节,业务需求不再需要文档来维护,可以直接配置到系统上(解决需求文档和代码脱节的问题)
- 用领域专用语言(DSL)定义计算公式,普通业务人员也能很好的理解,可以自行维护
- 通过以上几点,业务人员对需求可进行较好的把控,有利于指标模型的逐步优化完善
- 通过指标模型的不断演进,模型所对应的业务领域的分析维度逐步清晰,再加上历史数据的积累,这时再以这些指标为基础,去做大数据分析、机器学习就水到渠成了
- 《三体》的“维度攻击”是近期非常热门的一个概念,新维度的发现需要数据的积累和一个不断试错的过程,而如何让业务、技术人员有目标性的去寻找新的维度,建立逻辑清晰、易配置、可扩展的指标模型是非常必要的手段。
一个指标不一定就是一个有重要意义的维度,但不去建立指标模型、不去测试指标数据,那永远也找不到新的维度。比如假设一批借款数据,其中女性借款人的不良率是0.5%,男性是1.2%,差距非常大;如果没有建立包含性别
这个指标的指标模型,就不会想到用指标的思维来分析数据;而更进一步,可能性别+学历
、性别+年龄+学历
组合计算之后,会有一个更加重要的维度出现,如果不先建立指标模型,这些都难以发现。缺少传统业务分析积累、缺少业务人员的深度参与、无演进过程的大数据分析系统都将只是花架子。
系统功能模块:指标模型定义
- 指标模型管理
- 指标管理(一个模型包括多个指标,指标的依赖限定于同一模型内)
- 指标计算公式的维护
- 解析指标计算公式的变量(支持普通、通配符、正则表达式变量),建立指标的依赖关系
- 指标值、公式的有效性检查
- 指标依赖死循环的检查
- 报表定义(每张报表包含多个指标,满足多业务场景的分析需求)
系统功能模块:指标模型运算
- 运算对象管理(不同模型有不同类型的运算对象,如
客户评级模型
是客户
、股票分析模型
是股票
、软件代码质量评价模型
<