白話數據產品(三)——指標體系

6 評論 28072 瀏覽 141 收藏 6 分鐘

“指標”是指對于數據的統計值,建立指標體系是為了在報表、Dashboard等工具中快速靈活體現公司數據。

一、指標系統介紹

從直觀上來理解,報表系統中的每張報表是通過一些SQL語句計算出來的,系統只要每天按照每張報表的SQL定時去跑數據就可以了。

但是隨著時間的推移,報表數量越來越多,每天的定時SQL任務跑不動了。但是會發現其實很多報表用到了類似的指標,可能維度不同或者可能完全相同。

這時候就需要升華一下方案,將報表的計算,細化到指標的計算上。

上述問題的解決需要通過一套完善的指標管理服務來實現,指標服務相當于存儲了某個指標各種維度下的SQL查詢結果。如下圖所示,對于指標1,指標服務需要存儲其在維度1和維度2等維度下的所有拆分值,即存儲的是“維度1-維度2-指標1的值”這樣的索引結構。

有些數據團隊會把這些指標值存儲為數據倉庫中的一個層級,相當于是對DW層明細數據的統計值計算,但是在實際應用中,對指標值的調用需要滿足很強的即時性,存在數據倉庫中可能達不到這樣的性能要求,于是改為存儲在HBase這種Key-Value存儲方式的數據庫中。

按照這樣的存儲方式好處是什么呢?

當你想要看指標1在“維度1=A&維度2=a”等各種組合條件下的值的時候,可以方便取出來,如果指標1是可以簡單加和的,那么你還可以查看各種維度組合加和的數據。比如:不選擇維度1和維度2的條件,直接看指標1的總計值,也是可以通過加和做到的。

這樣的處理方式還為用戶自助創建報表提供了可能,用戶可以選擇想看的指標在任意維度下的數據,還可以任意拼接指標形成自己的專屬報表。

而且,這樣做,一個指標不管被多少個報表用到,只用計算一遍數據即可。具體報表呈現的時候,實際只是將各種統計值進行組合,不需要運行SQL實時拉取計算數據,效率也就提高了很多。

二、指標系統的SQL實現

指標系統實際就是寫一個稍微復雜的包含多個group by的SQL,其實看到上面的圖,大家也可以聯想到,其實就是自己在運行SQL的時候得到的一個包含多個索引的group by結果。

思路即使將指標拆分到最小粒度,再在報表中根據需要組合各個維度下的值。

三、指標系統的優缺點

上面解決方案聽起來很完美,實際操作中還是有不少問題存在的。

  • 對于計算時需要去重的指標(比如:一個用戶多個訂單這種事實表,要計算用戶的數量),你得到的只是在當前維度組合下的指標。并不能簡單實現只取部分指標的場景,或不選擇維度的場景,大家可以自己思考下為什么。
  • 因為指標系統拆為了盡可能增大指標的可重復使用性,拆分了盡可能多的維度,有時候甚至維度的組合行數已經達到了10萬+的級別。這就造成在報表系統中組合不同維度的數據有時候,實時處理壓力很大。當然也是有辦法進行優化的,這里就不深入介紹了。
  • 因為指標是一層數據抽象,當指標數據出現問題的時候,排查問題就相當于多了一層。類似的,修復數據也要多修復一層。
  • 另外,如果要給現有指標體系增加維度,舊數據的處理也是一件比較麻煩的事情,因為需要重跑之前的歷史數據。

四、業務的指標體系建立

指標的原理講完了,那么在實際操作中,我們需要做哪些指標出來呢?

其實指標需求主要來自業務方運營人員等,但是不同運營部門可能關心的側重點不同,而且會有遺漏情況。

首先我們要把不同部門的需求收集完,然后根據需求指標類型進行分類。在分類中要cover到大家的需求,還要盡可能窮舉其他可能的指標。這部分也是依賴自己對于業務系統的了解及數據庫的了解,其實跟數據倉庫的搭建是一體的事情。

相關閱讀

白話數據產品(一):數據倉庫

白話數據產品(二):SQL 5分鐘入門

 

作者:小九,一枚互金數據產品

本文由 @小九 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 怎么聯系你,加我q2244999284

    來自香港 回復
  2. 大家期待已久的《數據產品經理實戰訓練營》終于在起點學院(人人都是產品經理旗下教育機構)上線啦!

    本課程非常適合新手數據產品經理,或者想要轉崗的產品經理、數據分析師、研發、產品運營等人群。

    課程會從基礎概念,到核心技能,再通過典型數據分析平臺的實戰,幫助大家構建完整的知識體系,掌握數據產品經理的基本功。

    學完后你會掌握怎么建指標體系、指標字典,如何設計數據埋點、保證數據質量,規劃大數據分析平臺等實際工作技能~

    現在就添加空空老師(微信id:anne012520),咨詢課程詳情并領取福利優惠吧!

    來自廣東 回復
  3. 謝謝,很有用

    回復
  4. 目前我正在做一塊,期望進一步交流

    回復
  5. 路過看看

    回復
  6. 路過看看

    回復