數(shù)倉(cāng)構(gòu)建案例:從需求分析到數(shù)倉(cāng)構(gòu)建全流程

0 評(píng)論 6720 瀏覽 47 收藏 14 分鐘

如何解讀從數(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ù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!