天天看點

搭建名額體系的實施過程 -- 大資料團隊實踐分享

作者:資料築夢空間

在 如何搭建名額體系?OSM+ARGO+金字塔原理 一文中,我們讨論了公司層面搭建名額體系的方法,更多的是從公司決策的角度,拉齊各部門(營運、産品、大資料)之間關于名額體系的建設和使用。

本文主要從大資料部門實施的角度,來介紹建構名額體系的實施流程。

搭建名額體系的實施過程 -- 大資料團隊實踐分享

搭建名額體系的一般步驟

  1. 業務調研:了解業務和需求,明确資料的使用方式和建設名額體系的目标。
  2. 收集業務過程:大資料工程師與産品經理一起讨論和定義業務過程,這些業務過程是名額體系中的基本機關,對應了名額體系中的基礎名額(下文有關于基礎名額的介紹)。
  3. 劃分資料域:将聯系緊密的業務過程劃分到相同的資料域。
  4. 定義名額:定義基礎名額、派生名額、複合名額。
  5. 開發資料模型:資料模型中包含了名額的度量和次元,資料模型由一張或者多張資料表關聯而成。資料模型在邏輯上是一張大寬表。
  6. 部署到排程系統:每天自動生産出名額的資料。
  7. 名額可視化:支援名額報表并且支援名額自助查詢。

搭建名額體系的步驟示例

1.業務調研

充分的業務調研是名額體系建構的基礎,在資料名額體系搭建項目啟動前,需要與各業務方詳細了解具體業務、梳理清楚關鍵業務流程。

需求采集可分為定量、定性采集兩種類型,定量地發放調研問卷形式,廣泛采集業務需求;定性地進行使用者訪談,深度挖掘業務應用場景和核心需求。

2.收集業務過程

搭建名額體系的實施過程 -- 大資料團隊實踐分享

乘客端流程可劃分為:注冊/登陸、下單、服務、支付、評價/客服投訴。

核心流程中所産生的業務過程:

1) 注冊/登陸階段:新使用者數、使用者數、不同管道使用者數

2) 下單階段:下單量、新使用者下單量、老使用者下單量、不同城市下單量資料、不同車型下單量資料、下單成功使用者數

3) 決策階段:議價訂單數、非議價訂單數、決策階段使用者主動取消訂單數、決策階段逾時取消數、數加價完成訂單數、減價完成訂單數

4) 服務階段:下單成功使用者數、訂單時長、下單成功率、完單量、完單率、完單使用者數

5) 支付階段:訂單金額、訂單平均金額、訂單優惠金額、計費差額

6) 評價階段:好評率、差評率

搭建名額體系的實施過程 -- 大資料團隊實踐分享

業務流程中産生的核心業務過程:

1) 注冊/登陸階段:注冊使用者數、新增使用者數

2) 加盟階段:送出稽核使用者數、稽核通過使用者數、新注冊司機、累計注冊量、老司機量、新司機量

3) 接單階段:線上司機數、聽單司機數、有效聽單司機數、中标司機數、中标率、日均中标司機數

4) 決策階段:決策階段司機取消訂單數

5) 服務:服務平均距離、平均時長、空駛平均距離、空駛平均時長

6) 評價:司機好評率、司機差評率、平均星級

7) 提現:司機餘額、提現次數、提現金額

3.劃分資料域

在明确使用者的業務過程後,需要根據分析決策的業務,劃分資料域,并在相應的資料域下拆解具體的業務過程。

資料域:是聯系較為緊密的資料主題的集合,是對業務對象高度概括的概念層歸類,目的是便于資料管理與應用。

在劃分資料域時,需要注意:

1) 能涵蓋目前所有的業務需求

2) 能拓展新業務進入已有資料域,或者拓展新的資料域

4.定義名額

搭建名額體系的實施過程 -- 大資料團隊實踐分享

如上圖所示,設計名額時需清晰定義業務域=用車業務、資料域=服務域、業務過程=下單、次元=城市、屬性=北京、時間周期=近7天、修飾詞=快車、度量/原子名額=下單量。通過增加對原子名額的限制條件,規範産生派生名額=近7天北京快車下單量,提供一套通用的名額定義标準,友善不同業務部門的人了解名額含義。

關于基礎名額、派生名額、複合名額在 SQL 上的表現,請看:基于開源可視化資料探索平台 Superset 的名額體系建設 。

名額體系中的名詞介紹:

業務域:比資料域更高次元的業務劃分方法,适用于特别龐大的業務系統,且業務闆塊之間的名額或業務重疊性較小。例如用車業務闆塊包含乘客端、司機端,電商業務闆塊包含商城、返利子產品。

業務過程:指企業的業務活動事件,如下單、支付、退款都是業務過程。請注意:業務過程是一個不可拆分的行為事件。通俗的講,業務過程就是企業活動中的事件。

資料域:是聯系較為緊密的資料主題的集合,是對業務對象高度概括的概念層歸類,目的是便于資料管理與應用。

修飾類型:是對修飾詞的一種抽象劃分。修飾類型從屬于某個業務域,如日志域的通路終端類型涵蓋無線端、PC端等修飾詞。

修飾詞:指出了統計次元以外名額的業務場景限定抽象,修飾詞隸屬于一種修飾類型,如果在日志域的通路終端類型下,有修飾詞PC端、無線端等。

時間周期:用來明确資料統計的時間範圍或者時間點,如最近30天、自然周、截至當日等。

度量 / 基礎名額:原子名額和度量含義相同,基于某一業務事件行為下的度量,是業務定義中不可再拆分的名額,具有明确業務含義的名詞,通常是業務過程 + 度量組合而成,如支付金額。

次元:次元是度量的環境,用來反映業務的一類屬性,這類屬性的集合構成一個次元,也可以成為實體對象。次元屬于一個資料域,如地理緯度、時間次元。例如:在分析交易過程時,可以通過買家、賣家、商品和時間等次元描述交易發生的環境。

次元屬性:次元屬性隸屬于次元,相當于次元的具體說明,如使用者次元中性别為男、女。

派生名額:派生名額 = 一個基礎名額 + 多個修飾詞(可選) + 時間周期。可以了解為對原子名額業務統計範圍的圈定。如原子名額:支付金額,最近一天海外買家支付金額則為派生名額(最近1天為時間周期,海外為修飾詞,買家作為次元,而不作為修飾詞)。

5.開發資料模型

采用 次元模組化 的方法,開發資料模型。

6.部署到排程系統

将資料表、資料模型的 ETL(Extract - Transform - Load)作業部署到排程系統上,每天自動生産名額的資料。如果公司已經有了作業排程系統,請使用公司的排程系統;如果使用開源作業排程系統的話,推薦使用 Apache DolphinScheduler。關于 DolphinScheduler 的使用,請參考:

  • 手把手教你源碼安裝 Dolphin Scheduler 作業排程系統
  • Dolphin Scheduler:從 Shell 工作流說到代碼解析任務間的依賴關系

7.名額可視化

名額每天自動産出之後,将名額可視化,幫助分析師和營運團隊進行資料分析和業務決策。如果公司已經有了BI(Business Inteligence)系統,請使用公司的 BI 系統;如果考慮使用開源 BI 系統的話,推薦使用 Apache Superset。關于 Superset 的使用,請參考:

  • 基于開源可視化資料探索平台 Superset 的名額體系建設
  • 基于開源可視化資料探索平台 Superset 的資料安全管理

總結

本文從實施的角度,介紹了大資料團隊搭建名額體系的實踐經驗。将名額體系建設的步驟和示例進行列舉和說明。然而在名額建設過程中,還會遇到名額口徑不一緻、名額查詢性能慢等問題,期望在未來的文章中進行讨論和交流。

繼續閱讀