智能分析最佳實踐——指標邏輯樹
背景
所有業務都會面對“為什么漲、為什么降、原因是什么?”這種簡單粗暴又不易定位的業務問題。為了找出數據發生異動的原因,業務人員會通過使用多維查詢、dashboard等數據產品鎖定問題,再輔助人工分析查找問題原因,這個過程通常需要一天時間。幾乎每種業務角色的用戶都在做相似的分析,但在業務方分析人員發生工作變動時,分析方法難以得到較好傳承。因此我們需要一款自動給出分析結論的智能化數據產品來解決上面的問題,產品的基本功能如圖1所示。
圖1 產品架構圖
由上圖可知,指標邏輯樹就是我們抽象出來的智能異動分析數據產品的***實踐。它將固定的分析方法和業務場景抽象出來,套用靈活的數據源(包含Kylin、MySQL、Elasticsearch、Druid等),自動生成符合各類用戶的異動分析報告;它能夠直接給出分析結論進而快速落實業務行動,降低分析成本和決策周期。選定兩個時間周期,指定指標順序,通過指標邏輯樹就可找出導致核心指標發生異動的關鍵指標,同時可對單一指標進行細分維度拆分,鎖定細分維度對整體的影響。
挑戰
指標邏輯樹作為一款支持酒旅各業務線的異動分析數據產品,面臨的挑戰如下:
- 基礎指標多、維度多,且來自于不同的數據源。
- 支持多種異動分析算法。
- 自定義計算指標。
針對上面的挑戰,我們給出如下的解決方案。
解決方案:指標邏輯樹
體系架構
圖2 指標邏輯樹體系架構
如圖2所示:
- 指標計算,用于解決基礎指標多、維度多,且來自于不同數據源的問題以及自定義計算指標的問題;
- 分析算法,用于支持多種異動分析算法;
- 計算服務,采用master-work的方式解決查詢性能的問題。
具體方案
指標計算
指標計算包含指標漏斗、基礎指標序列、指標分類,它們之間的關系如圖3所示。
圖3 指標計算
如圖3所示,指標漏斗為用戶自定義的有序指標序列,包含基礎指標和計算指標(如,B=(L+H)*Y) ;基礎指標序列,是將指標漏斗中的計算指標按照順序拆分之后的指標序列;指標分類采取大圣魔方(可以參考大圣魔方:https://tech.meituan.com/dsmf.html )配置的規則對基礎指標進行分類。
分析算法
目前指標邏輯樹支持兩種異動分析算法,后續可以根據需要進行擴展。
- 生成瀑布分析圖的連環迭代分析法。
- 根據指標下鉆維度方案,生成單個指標解釋度的基尼系數算法。
下面分別介紹這兩種算法在指標邏輯樹中的運用。
連環迭代分析法
連環迭代分析法,用于從用戶自定義的有序指標列表中找出導致核心指標發生異動的關鍵指標,如圖4可知,本期結果指標E產生的波動,主要由于A指標的波動影響。
圖4 瀑布分析圖
圖5 指標漏斗
如圖5所示,意向UV、訪購率、人均單量、連帶率、SKU單價等幾個指標中的任意一個發生數據波動,都可能引起支付GMV的波動。采用連環迭代分析法,可以確定某個具體指標在本期支付GMV的波動中產生的影響***。算法公式,支付GMV=意向UV*訪購率*人均單量*連帶率*SKU單價。
基尼系數
基尼系數A/(A+B),用于計算各下鉆維度方案對單個指標波動的影響程度,橫軸用特征分組基期累計占比,縱軸用波動值累計占比(可以為負值),基尼系數越大說明該特征對波動的解釋效果越好。
圖6 基尼系數計算
如圖6所示,指標計算,用于獲取層級下鉆維度中各個維度的基礎數據,如各個城市等級的本期、基期值等信息;分析算法,根據維度基礎數據計算出排序因子,利用排序之后的排序因子計算各特征分組的基期累積占比及波動值累計占比,進而獲取到基尼系數;最終選取基尼系數***的特征作為最終解釋。
計算服務
隨著業務分析需求的增加,分析用戶自行配置的指標序列以及針對單個指標的下鉆維度方案將會急劇增加,隨之帶來的影響就是單個請求需要支持大量的查詢任務,因而提升并行計算能力是提升系統性能的一個關鍵因素。如圖7所示,計算服務包括任務拆分、并行計算和結果合并。
圖7 計算服務
任務拆分
任務拆分分為如下幾個步驟:
- 將指標漏斗中的計算指標拆分成基礎指標。
- 填充基礎指標的細化維度方案,記錄指標的各個維度方案及各方案下的層級下鉆維度。
- 對基礎指標按照數據模型和維度方案進行分類。
并行計算
并行計算提供分布式計算功能,主要處理的是任務拆分之后的細粒度查詢任務。
查詢任務主要有以下兩類:
- 按照數據模型分類之后的指標序列查詢任務,需要分別查詢本期和基期值,查詢量相對較少。
- 按照數據模型和維度方案分類之后的查詢任務,需要分別查詢本期和基期值,涉及到細化維度,查詢量比較大。
結果合并
結果合并主要是針對計算指標來說的,計算指標是分析用戶自定義的針對基礎指標的一組計算公式。并行查詢的結果是針對基礎指標的,需要合并基礎指標的查詢結果數據,生成符合計算公式的指標數據。結果合并模塊需要做兩部分的工作,一是解析計算公式,二是根據已有的數據,按照計算公式生成新的數據。
系統中用到數據組裝的模塊主要有如下:
- 如圖8所示,根據拆分之后的基礎指標數據,生成滿足計算公式的計算指標數據。
- 如圖9所示,根據拆分之后的下鉆維度基礎數據,分別計算出各個維度的數據,生成符合計算公式的下鉆維度數據。
圖8 計算指標數據組裝
圖9 指標下鉆維度數據組裝
總結
指標邏輯樹在美團點評酒店旅游各業務線中已經得到了一定的應用,并收獲了大量好評。本文只是指標邏輯樹的一個總綱,目前產品尚處于初級階段,后續還有很多功能需要完善。
【本文為51CTO專欄機構“美團點評技術團隊”的原創稿件,轉載請通過微信公眾號聯系機構獲取授權】