基礎指標
和計算指標
基礎指標
是指當前業務系統可以直接獲取的指標,好比客戶評級模型
中客戶的年齡、學歷、性別、總借款次數
等等計算指標
是指經過定義計算公式,從其它指標計算得出的指標,好比: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]])
匹配左閉區間
匹配左閉區間
匹配左閉區間