數(shù)倉構建案例:從需求分析到數(shù)倉構建全流程
如何解讀從數(shù)據(jù)需求到數(shù)倉構建的整體流程?這篇文章里,作者結合實際案例,從需求分析、可視化看板設計、數(shù)據(jù)采集、數(shù)倉規(guī)劃、維度建模等方面進行了描述和拆解,不妨來看一下,或許會對你有做幫助。
一、背景
最近發(fā)文章,發(fā)現(xiàn)在文章中有插入廣告功能,假設廣告插入為新上線的新功能。
1. Web端鏈路
曝光環(huán)節(jié):每次刷新,都會有不同的內容。如下圖所示:
具體落地頁,大家可以自己點擊看看。
2. 業(yè)務需求
功能上線一個月后,老板想看看該功能帶來了多少營收?
運營人員希望分析廣告投放、廣告曝光、落地頁曝光、支付頁、支付成功轉化鏈路的轉化情況?
本文以此為背景,從需求分析、可視化看板設計、數(shù)據(jù)采集、數(shù)倉規(guī)劃、維度建模等幾個階段去描述數(shù)據(jù)需求到數(shù)倉構建的整體流程。
二、需求分析階段
1. 目的
了解清楚業(yè)務問題和目標后,搞清楚數(shù)據(jù)怎么定義和描述這個問題?列出結果指標和過程指標,確定指標的展現(xiàn)形式。
2. 業(yè)務過程調研
需要整體分析各角色之間存在的各類要素流動關系。
3. 需求調研
根據(jù)業(yè)務調研及業(yè)務目標,使用不同的數(shù)據(jù)分析分析方法列出指標體系,最終大致遵循常用指標分類方式。
需求調研可以從以下角度出發(fā):
1)根據(jù)與分析師、業(yè)務運營人員的溝通獲知需求。
2)了解以前的報表,對現(xiàn)有報表系統(tǒng)中的報表進行研究分析,了解關鍵性指標。
4. 確定指標
5. 確定指標統(tǒng)計含義及口徑
在篩選指標時,需要考慮指標的數(shù)據(jù)來源、數(shù)據(jù)質量、數(shù)據(jù)可靠性等因素。在此過程中,需要補充數(shù)據(jù)來源系統(tǒng),來源表,來源字段,計算方式等。
三、可視化看板設計階段
1. 根據(jù)指標需求設計可視化看板
2. 確定展示內容和篩選條件
1)卡片展示內容:指標名稱、統(tǒng)計口徑、指標值、指標單位、統(tǒng)計日期、同比值、環(huán)比值、更新時間。
篩選條件:日期、支持選擇今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能選擇今天及以后。
2)支付情況日變動趨勢圖
篩選條件:日期范圍。支持選擇今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能選擇今天及以后,支持按日、按月、按年去對比。
3)下單轉化漏斗
篩選條件:日期范圍,支持選擇今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能選擇今天及以后。
可選統(tǒng)計方式:次數(shù)/人數(shù)
四、數(shù)據(jù)采集階段
數(shù)據(jù)采集前需要考慮以下兩點。
1)熟悉業(yè)務數(shù)據(jù):明確業(yè)務過程與表之間的關系,表與表之間的關系,字段之間的關聯(lián)關系。
2)調研數(shù)據(jù)源情況:是否具備采集條件,數(shù)據(jù)庫類型,存儲格式,通過什么方式采集。對缺失的用戶行為數(shù)據(jù)進行埋點。
埋點時需根據(jù)不同埋點類型以及業(yè)務情況選擇合適的埋點方案和前后端采集方案。
1. 埋點需求分析
2. 自定義埋點方案設計
標準埋點方案一般由 4 張表組成:
- 埋點說明 – 埋點實施參考
- 事件&屬性 – 記錄事及相關信息;
- 用戶屬性 – 記錄用戶與相關信息
- 默認采集事件屬性 – 默認采集的事件屬性說明
公共屬性:
自定義事件&屬性:
在設計埋點前,可做一些埋點文檔和埋點評審的規(guī)范定義,方便文檔的維護和工作的開展。
比如:事件命名由 4 部分組成:類型_流程_頁面_功能。
- 類型:點擊、進入、停留、指標
- 流程:事件所屬的業(yè)務流程,填寫規(guī)則是[流程名稱 +“流程”]
- 頁面:事件所在的頁面,填寫規(guī)則是[頁面名稱 + “頁面”]
- 功能:可以是按鈕或功能的名稱
未了保障數(shù)據(jù)的準確性,需注意觸發(fā)時機和規(guī)則定義:比如什么樣的曝光是有效的?商品停留時間超過2s,卡片至少漏過50%。商品曝光重復:如果之前已經(jīng)可見且上報了,那么不做二次上報等規(guī)則。
五、數(shù)倉規(guī)劃階段
在構建數(shù)倉前,需要對數(shù)倉進行整體規(guī)劃,包括:
- 技術架構設計:數(shù)據(jù)存儲技術的選擇、ETL工具選擇、任務調度工具選擇;
- 分層架構:數(shù)倉分層規(guī)劃;
- 主題域規(guī)劃:主題域確定;
- 數(shù)據(jù)開發(fā)規(guī)范指定:命名規(guī)范、開發(fā)規(guī)范、各種流程規(guī)范;
- 元數(shù)據(jù)管理方法等等。
1. 數(shù)倉分層規(guī)劃
操作數(shù)據(jù)層:ODS(Operational Data Store):把操作系統(tǒng)數(shù)據(jù)幾乎無處理地存放在數(shù)據(jù)倉庫系統(tǒng)中。
事實明細層:DWD(Data Warehouse Detail):DWD 層是在ODS層基礎上,根據(jù)業(yè)務過程建模出來的事實明細層。
公共匯總層:DWS(Data Warehouse Summary):一般根據(jù)維表數(shù)據(jù)和明細事實數(shù)據(jù)加工生成,作為通用的數(shù)據(jù)模型使用。
應用數(shù)據(jù)層:ADS(Application Data Store):存放數(shù)據(jù)產(chǎn)品個性化的統(tǒng)計指標,根據(jù)明細層、匯總層及維表數(shù)據(jù)加工生成。
想了解更多數(shù)倉分層可查閱上篇文章《帶你輕松理解數(shù)倉為啥分層?》http://m.22none.com/share/5892372.html
2. 主題域規(guī)劃
我們選擇按照業(yè)務過程劃分主題域:劃分的前提,先理清業(yè)務過程,根據(jù)業(yè)務過程去抽象出主題,比如瀏覽,曝光,點擊,都屬于用戶行為的業(yè)務過程,就可以劃分成流量主題。
想了解更多主題域規(guī)劃可查閱《如何理解主題域?》。
六、數(shù)倉設計階段
1. 構建業(yè)務總線矩陣
在數(shù)據(jù)倉庫領域中,業(yè)務總線矩陣是一種用于設計和組織數(shù)據(jù)倉庫的業(yè)務模型的工具。它是基于業(yè)務需求和業(yè)務過程的分析,明確業(yè)務過程與維度的關系。它幫助將業(yè)務需求轉化為數(shù)據(jù)模型,并指導數(shù)據(jù)倉庫的建模和設計過程。
從該業(yè)務矩陣中,我們可以得知需要建設哪些DIM層維度表,DWD層的事實表。
2. 指標拆分
指標的拆分是運算過程的拆分,維度模型里的指標拆分是一種思路,是模型設計很重要的一環(huán)。想了解更多可看《原子指標、派生指標、復合指標》。
原子指標:不可再分的指標。
派生指標:派生指標是由原子指標、時間周期、修飾詞構成,用于反映企業(yè)某一業(yè)務活動在指定時間周期及目標范圍中的業(yè)務狀況。
復合指標:由派生指標直接運算而來,通常是比率型指標。比如最近七天廣告點擊率,他的特點就是產(chǎn)生了新的原子指標。
3. 維度表設計
根據(jù)業(yè)務總線矩陣,可構建用戶維度表、時間維度表、地理位置維度表等等。
日期維度表示例:
4. 事實表設計
此處拓展事實表構建流程。
事實表說明:
事實表包括:事務型事實表、周期快照事實表、累積快照事實表。
1)選擇業(yè)務過程及確定事實表類型
業(yè)務過程定義:業(yè)務過程是從企業(yè)的經(jīng)營收益、成本出發(fā),價值鏈條上有影響力的用戶需求事情或者事件。而且,這樣的過程非常多,我們要分析當中的核心關鍵過程,不斷細分。
核心內容:企業(yè)活動事件、不可拆分原則。
2)聲明粒度:定義事實表的每一行所表示的業(yè)務含義,盡量選擇最細級別的原子粒度,以確保事實表的應用具有最大的靈活性。
3)確定維度:選擇能夠描述清楚業(yè)務過程所處的環(huán)境的維度信息。
4)確定事實:事實有可加性、半可加性、非可加性三種類型 需要將不可加性事實分解為可加的組件。
5)冗余維度:考慮更多的是提高下游用戶的使用效率,降低數(shù)據(jù)獲取的復雜性,減少關聯(lián)的表數(shù)量。
文章閱讀事實表:
頁面瀏覽事實表:
下單累計快照事實表:
交易域每日支付匯總表:
流量域每日曝光匯總表:
根據(jù)需求,匯總表還需要統(tǒng)計每月、每年、近7天、近30天等數(shù)據(jù)匯總情況,此處不做過多表格展示。需要注意命名規(guī)范以及事實是否可加。
最后:文中涉及很多概念大都一概而過,后續(xù)會慢慢分享相關內容。
本文由 @清小墨 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發(fā)揮!