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