開發部門在做指標加工的全流程中,是否經常出現如下問題: · 業務部門看指標數據的時候,看到兩個名稱相似的指標,不清楚兩個指標的差異性,來咨詢開發部門指標計算口徑,開發部門配合業務部門翻找代碼,找出指標口徑差異性,影響工作效率 · 業務部門看指標數據的時候,總會出現不同頁面的同一指標統計的結果不一致的 ...
開發部門在做指標加工的全流程中,是否經常出現如下問題:
· 業務部門看指標數據的時候,看到兩個名稱相似的指標,不清楚兩個指標的差異性,來咨詢開發部門指標計算口徑,開發部門配合業務部門翻找代碼,找出指標口徑差異性,影響工作效率
· 業務部門看指標數據的時候,總會出現不同頁面的同一指標統計的結果不一致的問題,業務部門不知道該以哪個數據為準,就會給開發部門提線上問題;開發部門在收到線上問題後,總會花費很多時間去定位任務、翻看代碼差異來排查指標口徑問題,修複後發佈上線,但此時業務的決策進度已經受到了負向影響
· 開發部門基於業務訴求上線了一個新的指標,也在平臺A上驗證了數據的正確性,但第二天業務部門在平臺B上看數據的時候發現了很嚴重的線上BUG(不產出數據甚至是數據錯誤),阻塞了業務層工作進展,甚至影響的是客戶數據,直接產生了外部客戶的客訴行為
出現上述問題,大概率是因為開發部門在指標加工的過程中沒有做指標管理,或是指標管理粒度不夠。業務初期沒有做指標管理問題不大,但隨著業務的不斷演進,因為指標管理沒做好而導致的指標問題就會日益嚴重,到後期會大到開發每天陷入查線上問題、解線上問題,再產生新的線上問題的惡性迴圈中。
為了避免後期產生如此嚴重的問題,在業務發展初期,我們就要做好規範的指標管理,以保證隨著業務的不斷發展,數據化決策能夠成為業務強有力的支撐。本文將為大家詳解如何通過袋鼠雲指標管理平臺DataIndex 進行規範化的指標開發管理,輕鬆開髮指標。
指標問題產生的原因
要想做好指標管理,我們首先需要知道在指標加工過程中,究竟是哪些環節存在問題導致後續會產生指標問題。
指標血緣無法追蹤
從需求提出到指標上線應用的全流程,沒有做指標加工的全流程跟進。最初的指標需求提出是由其他平臺完成,甚至是口頭提出,開發過程中只是保證了代碼的實現,不考慮前後鏈路的關聯性,導致隨著時間的推移,無法追溯需求來源,也不方便追蹤指標流向,後期治理起來的成本很大。
以下圖為例,2022年銷售額數據計算,因某一任務數據計算異常,導致該數據計算結果錯誤,因無法通過指標血緣查詢上游數據變化,導致任務排查速度大大降低。
沒有統一的地方做指標定義口徑的管理
指標口徑定義完全依賴開發對錶定義、欄位定義、表說明、欄位說明、代碼註釋等方式實現,沒有額外的地方對指標和表之間的關聯關係、生成規則做規範化的記錄。或是記錄分散在不同的地方,以不規範的方式記錄著各種各樣凌亂的業務訴求。
以表格文件的方式粗放的記錄指標口徑
初期的版本記錄會相對規範些,但隨著指標版本的不斷更新,出現了越來越多的文件,產生了越來越多的記錄,文件檢索與更新都變得十分困難,這種方式也漸漸失去了它本該產生的價值。
同時,隨著時間的推移,大量的文件管理也容易產生丟失的情況,導致原本的指標管理問題演化成了文件管理問題。
指標重覆計算
因為前期沒有做好指標管理,指標檢索周期長。同時基於業務的緊急程度需要,沒時間去查找歷史相同指標,就會緊急給業務側出一個新指標,後續就會出現兩個相同的指標在同時運行的情況。
因為不同的業務方正在使用不同的指標表,也不方便做下線或變更處理,只能繼續同時運行著,無形中造成了大量人力、資源的浪費。
指標加工過程中耦合嚴重
一張表同時生成了多個指標,不同的指標又有不同業務層的過濾條件,彼此之間相互影響,牽一發而動全身。導致後期因不確定口徑修改的影響點,不能輕易下線指標、修改指標口徑,只能通過新增的方式做指標計算,重覆指標進一步增加。
如何實現高效指標管理
找到了指標加工問題產生的原因,接下來就是如何通過袋鼠雲指標平臺DataIndex 來逐個擊破難點,實現指標的輕鬆管理。
第一步:確定全流程需求管理方案
指標需求的來源通常是業務層,業務層的數據需求需要有統一的錄入入口,以便後續業務方可以有效跟進需求開發進展,開發部門也可以對需求來源及需求流向有統一的管理。
需求管理過程中主要有四類角色參與:
· 業務方:負責產生需求,在整個需求開發過程中主要做需求答疑、需求結果驗收
· 需求管理方:主要負責整個數據管理過程中的制度管理,如:需求的拆解、任務的指派、指標發佈審批等,在整個開發過程中起到統籌規劃、全局管控的作用
· 指標管理方:通常每個人會負責一個業務域,管理自己業務域下的指標,保障指標的規範定義,是業務方與開發方溝通的重要橋梁。主要負責判定分派的指標任務所屬業務域,指標重覆性檢索、指標口徑定義、指標需求評審等,是指標開發方的重要輸入來源
· 指標開發方:負責指標的開發落地與任務運維,同時在需求開發過程中配合需求管理方、指標管理方做指標重覆性檢索與指標口徑定義
實際生產中,四類角色可以根據實際情況做一定的組合,如需求管理方和指標管理方可以由一人負責,指標管理方與指標開發方可以由一人負責,負責的工作範圍則是多個角色工作範圍的組合。需求管理的過程就是對這一步步需求流轉流程的細化與保障,讓整個過程好管、好控、好查、好跟進。
第二步:準備好底層數據
指標管理本質上是面向業務層面的管理,業務層面的頻繁更新、不斷迭代加工出繁多的指標類數據。所以在進行指標層數據加工前,需要先在 ODS、DWD 層將數據清洗、整合完成。整合後的數據表儘量不會出現因為業務場景/訴求的變化,需要頻繁對表結構做變更的情況,指標加工時依賴 DWD、DM 層數據即可。
第三步:實現指標平臺的冷啟動
對歷史已有指標做梳理,形成一套指標體系,並落地指標平臺,實現指標平臺的冷啟動。冷啟動的過程相對是艱難而痛苦的過程,但梳理好了之後,後續的指標管理就會輕鬆很多。
這個過程涉及到各方角色的共同參與,梳理歷史指標口徑,拆分出聚合維度、統計周期、業務限定、通用計算公式,規劃好指標目錄、描述指標的指標元信息,依次生成數據模型、原子指標、派生指標、複合指標,由系統實現任務的有序調度管理。具體的指標體系設計與加工方案可以參考之前的文章:實用五步法教會你指標體系的設計與加工丨DTVision分析洞察篇
在整個指標加工的過程中,系統也會時刻做好指標的重覆性校驗,以保障通過指標平臺生成的指標不會出現指標重覆加工的問題。
第四步:對新需求的規範化承接與落地
當來了一個新的指標需求,首先由需求管理方對需求進行拆解,確定是否是指標需求以及該指標需求是否有對應的已經加工的指標可用,已有的指標可直接匹配,自動完成任務,尚未實現的指標則指派給對應的指標管理方做指標的分析與口徑定義。
定義好的指標則由開發進行指標加工與運維,並由指標管理方對開髮結果做初步驗收,這個過程很多可以通過系統直接實現,如 SQL 生成、任務提交、實例運行等。
最後由需求管理方完成指標的發佈上線,根據制度規範校驗好配置的指標許可權、數據許可權,業務方便可進行數據查詢,用數據助力自己做後續業務決策。整個指標資源可通過指標市場進行彙總與檢索。
第五步:讓業務通過指標平臺實現指標查詢與數據分析
業務方可通過袋鼠雲指標管理平臺自主實現指標看板的搭建、數據臨時查詢。因整個指標有了規範的加工流程,任務加工過程中存在的斷點問題也可以通過指標血緣、任務提示、指標口徑比較等快速定位,業務方的決策效率將得到有效保障。
同時,對於上層的業務平臺的數據應用與呈現,也可通過 API 輕鬆實現查詢與展示,系統將根據上游指標的更新自動完成下游指標更新甚至 API 的更新,API 調用數據不會再出現不同業務系統數據存在差異的情況。
通過上述五步對指標加工全流程的管理與保障,讓曾經不斷阻塞業務的難題通過袋鼠雲指標管理平臺DataIndex 迎刃而解。
《數棧產品白皮書》:https://www.dtstack.com/resources/1004?src=szsm
《數據治理行業實踐白皮書》下載地址:https://www.dtstack.com/resources/1001?src=szsm
想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky
同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack