基础指标
和计算指标
基础指标
是指当前业务系统可以直接获取的指标,好比客户评级模型
中客户的年龄、学历、性别、总借款次数
等等计算指标
是指经过定义计算公式,从其它指标计算得出的指标,好比:java
性别得分
这个指标的公式为若是 (${性别} == "女") 60分 不然 40分
基本信息汇总得分
这个指标的公式为${性别得分}×20% + ${年龄得分}×20% + ${学历得分}×60%
客户评级最终得分
这个指标的公式为${基本信息汇总得分}×30% + ${业务统计信息得分}×40% + ${征信信息得分}×30%
经过上面列举的计算公式能够看出,指标模型的指标之间存在很是复杂的多层依赖关系程序员
性别得分
依赖性别
基本信息汇总得分
依赖性别得分
、年龄得分
和学历得分
客户评级最终得分
依赖基本信息汇总得分
、业务统计信息得分
、和征信信息得分
指标模型
包含该业务领域设定的关键指标以及它们之间的计算关系。文章后半段有系统演示,先聊聊概念和意义
一个指标不必定就是一个有重要意义的维度,但不去创建指标模型、不去测试指标数据,那永远也找不到新的维度。好比假设一批借款数据,其中女性借款人的不良率是0.5%,男性是1.2%,差距很是大;若是没有创建包含性别
这个指标的指标模型,就不会想到用指标的思惟来分析数据;而更进一步,可能性别+学历
、性别+年龄+学历
组合计算以后,会有一个更加剧要的维度出现,若是不先创建指标模型,这些都难以发现。缺乏传统业务分析积累、缺乏业务人员的深度参与、无演进过程的大数据分析系统都将只是花架子。正则表达式
客户评级模型
是客户
、股票分析模型
是股票
、软件代码质量评价模型
就是程序员
)基础指标录入,录入方式包括:机器学习
计算指标
结果指标关系图
,把单个运算对象的全部指标计算结果和多层依赖关系经过关系图的方式展现出来,很是直观的分析了计算过程和结果模型报表
,根据模型定义中设置的报表,集中展现多个运算对象的运算结果,或单个运算对象的屡次运算结果指标对比雷达图
,用雷达图同时展现多个运算批次的报表指标值,可针对多对象多批次
和单对象多批次
的对比分析下有大量图片,PC端查看效果更佳
测试值,是用来检查指标计算关系配置是否准确用的学习
例如这两个指标:户籍认证
,户籍认证得分
(计算公式为:${户籍认证} == '是' ? 100 : 0
);若是户籍认证
的测试值设置的是否
,那么户籍认证得分
的测试必须设置为0
,和计算公式的结果一致
测试值
,能够检查整个指标模型的配置是否正确,因此后面会有检查测试值
这个功能下图1为普通变量
,图2为通配符变量
)认证信息得分
公式配置错误致使计算出错,同时致使全部直接、间接依赖它的指标也没法计算客户评级结果
依赖审核信息得分
依赖年龄得分
,年龄得分
只依赖年龄
这个基础指标年龄得分
依赖客户评级结果
发起
,为初始状态,导入基础指标以后可提交模型运算运算中
,系统后台计算任务正在运行成功
,模型计算完成,能够查看结果做废
,取消的运算批次指标关系图
模型报表
业务统计指标报表
配置回顾业务统计指标报表
将实时对应报表定义
的配置关键指标报表
指标对比雷达图
运算对象
的指标数据对比业务统计指标报表
的雷达图关键指标报表
的雷达图运算对象
的屡次运算数据对比可用于分析同一个运算对象
在不一样业务范围的数据,好比可对一个程序员
在项目A
、项目B
、项目C
的代码质量进行比较分析
${<指标名>}
${下单金额}
通配符
匹配指标名${xxx*xxx??xxx}
,其中*
表明任意多个字符,?
表明任意单个字符${*得分}
表明以得分
结尾的全部指标${??金额}
表明总共4字,以金额
结尾的指标正则表达式
匹配指标名#{<表达式>}
#{0[1-6]月金额}
匹配01月金额
~06月金额
六个指标如下为当前实现的部份DSL方法,系统支持DSL方法的扩展,可根据不一样业务领域的特殊要求进行定制
样例测试
/** * 按百分比汇总 * <p>例如 指标A = 百分比汇总([[${指标1}, 20], [${指标2}, 80]]) * <p>表示 指标A由指标1和指标2,其中指标1占比20%,指标2占比80% * <p>至关于 指标A = 指标1 * 20% + 指标2 * 80%
* * @param valueList 参数1,一组包含值(value)和占比(percentage)的列表 * @return 汇总后的值 */ ```
样例大数据
/** * 根据输入项和条件进行匹配,计算结果 * @param inputMap 输入项,如:v1:${金额}, v2: ${数量}* * @param expList 匹配项列表,如: * [['v1 <= 50', 40], * ['v1 > 50 && v1 <= 150', 60], * ['v1 > 150 && v1 <= 300', 80], * ['v1 > 300 && v2 <=100', 90], * ['v1 > 300 && v2 > 100', 100]]
*/ ```
平均值([${*得分}])
,表明以“得分”结尾的全部指标的平均值最小值([${*得分}])
最大值([${*得分}])
总和([${*得分}])
标准差([${指标1},${指标2},${下单??}])
样例优化
匹配左闭区间(${年龄}, [[null, 20, 0], [20, 40, 80], [40, 60, 100], [60, null, 60]])
匹配左闭区间
匹配左闭区间
匹配左闭区间