寫(xiě)給產(chǎn)品和運(yùn)營(yíng)人看的數(shù)據(jù)系列(1):維度和指標(biāo)——事實(shí)的視角

2 評(píng)論 11783 瀏覽 71 收藏 16 分鐘

在向數(shù)據(jù)分析師提需求時(shí),你是否只會(huì)用“字段”這個(gè)詞,來(lái)指代所有的維度和指標(biāo)呢?其實(shí),數(shù)據(jù)的維度和指標(biāo)是非常重要的,當(dāng)你理清正確的維度和指標(biāo)時(shí),你的問(wèn)題便已經(jīng)解決了一大半。如何正確理解維度和指標(biāo)呢?一起來(lái)看一下吧。

請(qǐng)不要用“字段”,掩蓋自己對(duì)維度和指標(biāo)的一知半解。

剛剛工作那會(huì),我在鵝廠從事廣告變現(xiàn)相關(guān)工作。在向數(shù)據(jù)分析師提需求的時(shí)候,我只會(huì)用“字段”這個(gè)詞,來(lái)指代所有的維度和指標(biāo)。很多時(shí)候,數(shù)據(jù)分析師同學(xué)會(huì)向我耐心解釋,為什么這個(gè)“字段”不能被計(jì)算,那個(gè)字段沒(méi)有辦法取出來(lái)。

直到我后來(lái)系統(tǒng)學(xué)習(xí)了數(shù)據(jù)分析、數(shù)據(jù)倉(cāng)庫(kù)相關(guān)的知識(shí),了解了維度、指標(biāo)、OLAP、上卷和下鉆這些基本概念之后,才發(fā)現(xiàn)我當(dāng)初的需求文檔問(wèn)題有多大,而這也是我寫(xiě)下這篇文章的原因——避坑。

01 為什么要搞清楚維度和指標(biāo)?

最直接的,理解了維度和指標(biāo)之后,再跟BI和RD提需求,能避免被當(dāng)做一個(gè)數(shù)據(jù)白癡,體現(xiàn)自己的專業(yè)性(至少看起來(lái))。

其次,理解維度和指標(biāo)的前提,是了解業(yè)務(wù)邏輯和數(shù)據(jù)生產(chǎn)邏輯。

以往我們是從用戶流程、組織層級(jí)等視角理解我們的業(yè)務(wù),但是不妨從數(shù)據(jù)邏輯視角試試:數(shù)據(jù)是在哪個(gè)主體上,在什么場(chǎng)景下,以什么樣的方式被生產(chǎn)和記錄的?數(shù)據(jù)是怎么被加工和呈現(xiàn)的?為什么需要這么呈現(xiàn)?這個(gè)指標(biāo)如果跌了,對(duì)業(yè)務(wù)有指向意義嗎?

當(dāng)你問(wèn)這些問(wèn)題的時(shí)候,你會(huì)發(fā)現(xiàn)你不僅要知道產(chǎn)品的設(shè)計(jì)邏輯、各個(gè)模塊的功能點(diǎn),還要知道它們的耦合和組織方式。這些都會(huì)驅(qū)動(dòng)你去問(wèn)同事、查wiki、自己上手體驗(yàn)。相信我,這樣全套流程走下來(lái),你對(duì)業(yè)務(wù)和產(chǎn)品一定會(huì)有更深入的理解。

再次,理清楚維度和指標(biāo),能幫我們確定分析的思路。

業(yè)務(wù)指標(biāo)下降了,我們要做定位和分析;要寫(xiě)PRD了,我們要做功能點(diǎn)的收益預(yù)估——相信你一定為數(shù)據(jù)抓耳撓腮過(guò)。

那么我們究竟應(yīng)該從龐大的數(shù)據(jù)庫(kù)中,選取哪些“字段”來(lái)輔助分析呢?高效的方式之一——在對(duì)業(yè)務(wù)理解基礎(chǔ)上提出假設(shè),然后把假設(shè)翻譯成維度和指標(biāo),否則我們只會(huì)陷入在龐大的數(shù)據(jù)細(xì)節(jié)中而無(wú)從下手。

所以,當(dāng)你理清楚正確的維度和指標(biāo)的時(shí)候,你的問(wèn)題已經(jīng)解決了一大半。

02 從事件的視角,認(rèn)識(shí)維度和指標(biāo)

網(wǎng)上介紹維度、指標(biāo)及其差異的文章很多,可以作為基礎(chǔ)概念輔助初識(shí)維度和指標(biāo)。

我希望從“事件”的視角,帶你重新認(rèn)識(shí)這兩個(gè)名詞。

做過(guò)App/網(wǎng)頁(yè)前端埋點(diǎn)的同學(xué),相信對(duì)“事件”(event)這個(gè)詞一定不會(huì)陌生,它指的是某個(gè)特定行為的發(fā)生,如某個(gè)按鈕的曝光、點(diǎn)擊,這些都可以稱作事件。

這里,我們將事件的含義泛化一下,不局限在某個(gè)具體行為上,也不要拘泥在行為埋點(diǎn)范疇中,而是將其擴(kuò)展到所有的結(jié)構(gòu)化數(shù)據(jù)表上。

每一張數(shù)據(jù)表,都是圍繞一個(gè)特定事件進(jìn)行創(chuàng)建的。而事件的發(fā)生,必然有其主體,即出發(fā)事件發(fā)生的人/物/事。

維度,是對(duì)事件發(fā)生主體屬性的補(bǔ)充描述,或者伴隨主體而存在的,除了事件發(fā)生的時(shí)間,它一般是靜態(tài)存在的,不依賴于事件的發(fā)生。

指標(biāo),則是對(duì)事件發(fā)展程度的量化描述;一個(gè)指標(biāo),通常描述主體的其中一種狀態(tài)。它依賴于事件的發(fā)生,是一個(gè)動(dòng)態(tài)變化的數(shù)值。

如果覺(jué)得抽象,我們來(lái)看個(gè)例子。

作為產(chǎn)品經(jīng)理,我們需要關(guān)注的一個(gè)重要指標(biāo)是“次留”,即今天打開(kāi)App的用戶,有多少比例會(huì)在第2天,繼續(xù)打開(kāi)我們的App:回訪在這里就構(gòu)成了一個(gè)事件,而事件發(fā)生的主體是用戶。

如果要細(xì)拆留存,可以分拆的維度有:性別、年齡、機(jī)型、新/老用戶、地域、來(lái)源渠道、是否在App內(nèi)支付過(guò),等等。這些維度,本身是依附于用戶這個(gè)主體而存在的,它并不依賴于回訪的發(fā)生。所以,它是一個(gè)靜態(tài)的屬性描述,并不會(huì)因?yàn)槭录欠癜l(fā)生,而發(fā)生變化。

但是指標(biāo)不是。次留隨著會(huì)隨著你觀察的時(shí)間、觀察的群體而發(fā)生變化。

03 維度的4個(gè)作用

1)篩選:我們一般通過(guò)維度來(lái)篩選所觀察的數(shù)據(jù)范圍。

如果是定性的分類(lèi)維度,那么通過(guò)枚舉可以篩選,典型的定性維度如年份、省份等;如果是定量的維度,那么可以像指標(biāo)一樣,按照數(shù)值大小取一個(gè)范圍即可,如身高。

2)聚合:通俗地來(lái)說(shuō),即我們希望在多大粒度上分析數(shù)據(jù)。

比如你要統(tǒng)計(jì)廣告消耗,那么是在創(chuàng)意粒度上看,還是將創(chuàng)意粒度消耗數(shù)據(jù)加總,并上卷到計(jì)劃粒度分析消耗呢?如果你之前寫(xiě)過(guò)SQL,那么肯定知道在對(duì)指標(biāo)進(jìn)行sum(求和)、avg(求平均)之后,要在腳本最后加入group by XX,也就是你希望聚合到的維度。

但是需要注意的是,你在進(jìn)行聚合的時(shí)候,一定要確認(rèn)計(jì)算的指標(biāo),是可以在該維度上可分和可計(jì)算的,否則你算出來(lái)的數(shù)據(jù)肯定是錯(cuò)誤的,這個(gè)會(huì)在后面會(huì)詳述。

3)對(duì)比:數(shù)據(jù)只有在對(duì)比的時(shí)候才有意義。

我們發(fā)現(xiàn)數(shù)據(jù)上漲、下跌、波動(dòng),是因?yàn)槲覀冎勒5臄?shù)據(jù)應(yīng)該是多少,超過(guò)這個(gè)范圍的數(shù)據(jù)都是異常的,才會(huì)需要進(jìn)一步比較和分析。我們?cè)趯?duì)比數(shù)據(jù)的時(shí)候,通常會(huì)選擇某一個(gè)維度,然后在該維度下進(jìn)行對(duì)比。不在同一個(gè)維度上,對(duì)比2個(gè)同樣指標(biāo),在業(yè)務(wù)中沒(méi)有任何意義。

假設(shè)我們要對(duì)比每一個(gè)機(jī)型的留存,必須是在同一個(gè)維度(機(jī)型)的下鉆和比較,這通常稱為橫向?qū)Ρ取?/p>

另一種對(duì)比,則是以時(shí)間為維度的縱向?qū)Ρ?。我們看DAU、留存這些指標(biāo),究竟是漲了還是跌了,通常都是觀察一段時(shí)間的指標(biāo)變化;環(huán)比、同比這些,則是基于不同時(shí)間窗口維度,對(duì)指標(biāo)的二次加工和計(jì)算。

4)歸因:這里的歸因,指的是對(duì)數(shù)據(jù)波動(dòng)的解釋,而不是數(shù)字廣告領(lǐng)域的歸因模型(attribution model)。

當(dāng)我們通過(guò)同維度的對(duì)比,發(fā)現(xiàn)數(shù)據(jù)異常波動(dòng)時(shí),通常我們需要對(duì)波動(dòng)的原因進(jìn)行定位和解釋。而最終的排查結(jié)果,必然會(huì)定位到某個(gè)維度上,或者維度的某個(gè)值(枚舉)上。

我們發(fā)現(xiàn)昨日的訂單數(shù),日環(huán)比(相對(duì)于前天)跌了30%,如果排除掉運(yùn)營(yíng)活動(dòng)結(jié)束帶來(lái)的正常下跌,而是一個(gè)異常的下降,我們必須找到可能的原因。

我們通常會(huì)逐個(gè)維度分析。比如看品類(lèi):是衣服跌的多,還是鞋子跌的多,還是整體都在跌;看時(shí)間,訂單數(shù)量是否在某個(gè)時(shí)間段跌的多(是否某個(gè)時(shí)間段服務(wù)器崩了);看交易方式(是否某個(gè)支付方式出了問(wèn)題)、看App版本(是否某個(gè)版本有bug)……

關(guān)于數(shù)據(jù)波動(dòng)的歸因,后續(xù)會(huì)再單獨(dú)用一章的篇幅,來(lái)重點(diǎn)講。

04 指標(biāo)在維度上是否可分和可聚合

我們拿到一份數(shù)據(jù),先不要急著上手分析,而是要弄清楚維度與指標(biāo)的關(guān)系。這里的“關(guān)系”我們?nèi)匀环謨蓪觼?lái)理解。

第一層:指標(biāo)所反映的事實(shí),可以在所選維度上發(fā)生、被統(tǒng)計(jì);換句話說(shuō),指標(biāo)所反映的被統(tǒng)計(jì)的事實(shí),在業(yè)務(wù)場(chǎng)景中是真實(shí)存在的。

比如我們?cè)跀?shù)字廣告場(chǎng)景中,衡量一條創(chuàng)意好壞的指標(biāo)是CTR(點(diǎn)擊率,Click Through Rate)= 同時(shí)期點(diǎn)擊次數(shù)/該廣告曝光次數(shù)。我們可以比較不同創(chuàng)意、不同計(jì)劃之間的CTR,但是不會(huì)比較不同廣告落地頁(yè)之間的CTR。

因?yàn)閺V告落地頁(yè)是用戶點(diǎn)擊完廣告之后打開(kāi)的頁(yè)面,外顯廣告點(diǎn)擊行為并不在落地頁(yè)這個(gè)主體上發(fā)生。盡管對(duì)比之下,不同落地頁(yè)的CTR之間肯定略有差異,但是落地頁(yè)并不是造成CTR差異的原因,這種橫向?qū)Ρ炔o(wú)實(shí)際意義。

另一個(gè)案例中,指標(biāo)確實(shí)在這個(gè)維度上發(fā)生,但通常情況下并不能被計(jì)算。

我們經(jīng)??吹囊粋€(gè)指標(biāo)是UV(獨(dú)立訪客數(shù)),如果在device_id(設(shè)備ID)維度上看UV,一般沒(méi)太大實(shí)際意義,因?yàn)橥ǔG闆r下,一個(gè)設(shè)備ID上只有1個(gè)UV,即UV和設(shè)備ID等價(jià)(除非某些業(yè)務(wù)如反作弊場(chǎng)景下,需要分析1個(gè)設(shè)備登錄了幾個(gè)賬號(hào))。

第二層:計(jì)算時(shí),指標(biāo)在所有參與計(jì)算維度上可分割、可加總。

如果我們把維度,想象成一把梳子,把指標(biāo)想象成一縷頭發(fā)。當(dāng)梳子經(jīng)過(guò)頭發(fā)的時(shí)候,頭發(fā)能被梳齒,分成N塊更細(xì)的發(fā)束(分割),且頭發(fā)的數(shù)量并沒(méi)有發(fā)生改變;當(dāng)拿掉這把梳子的時(shí)候,這些發(fā)束又聚合在一起(加總),恢復(fù)成原來(lái)的樣子。

還是以UV舉例。我們通常需要看DAU日活和WAU周活2個(gè)指標(biāo)。DAU統(tǒng)計(jì)比較簡(jiǎn)單,看每天有多少用戶數(shù)打開(kāi)了App。WAU是對(duì)過(guò)去一周的訪客數(shù)的去重計(jì)數(shù),若1個(gè)用戶在周一和周三都打開(kāi)了App,在WAU的計(jì)算中,這個(gè)用戶只會(huì)被計(jì)算一次,但是在日活的口徑中,周一和周三會(huì)被分別統(tǒng)計(jì)一次。

如果我們拿到的是以周為維度、周活為指標(biāo)的一張表,假設(shè)我們想要分析過(guò)去一周每天的UV,那么顯然不能直接用周活進(jìn)行計(jì)算,即WAU在日期維度上不可分割。反之,周一到周日每天的DAU,加總起來(lái)也不是周活,也就是說(shuō)DAU在周維度上不可加總。

特別要注意的是,一些復(fù)合指標(biāo)在整體上有意義,也能在一些維度層級(jí)上被分割和被計(jì)算,但是不能被無(wú)限分割。

我們通常會(huì)看創(chuàng)意、(上卷一層到)計(jì)劃、(再上卷一層到)賬戶維度的CTR,但是我們通常不會(huì)去計(jì)算單個(gè)用戶粒度的CTR。因?yàn)榧僭O(shè)每個(gè)用戶只會(huì)看見(jiàn)1次廣告,對(duì)這條廣告點(diǎn)擊行為只有“是”或者“否”兩種情況,CTR要么是0,要么是1,這種極端值,并不能反映一條廣告質(zhì)量的好壞。

05 維度和指標(biāo)可互換

我們對(duì)于維度和指標(biāo)的理解,一定要在具體業(yè)務(wù)場(chǎng)景下深入分析。并不是某些字段一定是維度,某些字段一定是指標(biāo);維度和指標(biāo)的界定,一定要根據(jù)具體業(yè)務(wù)場(chǎng)景,以及在該業(yè)務(wù)場(chǎng)景下的數(shù)據(jù)生產(chǎn)邏輯。

正如上文所說(shuō)的那樣,就像“薛定諤的貓”一樣,它取決于你對(duì)這次事件的主體、性質(zhì)等的觀察。

如果單看“體重”這個(gè)字段,你覺(jué)得它應(yīng)該是維度,還是指標(biāo)呢?

我認(rèn)為要看“體重”所在的場(chǎng)景。

如果你是一個(gè)體育老師,現(xiàn)在要通過(guò)體重、升高、BMI、肺活量等這些字段的數(shù)值,給每一個(gè)學(xué)生的健康狀況打分,體重在這里就是一個(gè)要被計(jì)算的指標(biāo)。

反之,假設(shè)我們要看體重跟薪資收入、壽命的關(guān)系,則體重作為維度更加適合。

此外,通過(guò)二次計(jì)算,維度和指標(biāo)也可以互換,即原來(lái)是維度的字段,可以變成指標(biāo);反之,指標(biāo)通過(guò)設(shè)置區(qū)間可以變成維度。

還是以上文提到的廣告消耗為例。我們拿到的數(shù)據(jù)是計(jì)劃ID(維度)、消耗(指標(biāo));但是如果我們想看,消耗在5萬(wàn)及以上、3-5萬(wàn)(不含5萬(wàn))、1-3萬(wàn)(不含3萬(wàn))和不到1萬(wàn)的計(jì)劃數(shù)有多少,那么就需要把指標(biāo)變成一個(gè)分類(lèi)維度,然后對(duì)計(jì)劃ID去重計(jì)數(shù)——計(jì)劃數(shù)成了指標(biāo)。

總之,對(duì)維度和指標(biāo)介紹文章看的再多,也不如自己親手實(shí)踐。你可以找公司的數(shù)倉(cāng)或者BI同學(xué),要1張數(shù)據(jù)底表的字段明細(xì),嘗試自己分析,比如看指標(biāo)是否可以在維度上可分割、可加總,哪些維度可以篩選、聚合。

本文由 @簡(jiǎn)寫(xiě)2019 原創(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. 可不可以這么理解,指標(biāo)是需要去做量化的,最終需要得到值;維度是用來(lái)做分組的,是用來(lái)作為得出值的分組依據(jù)

    來(lái)自北京 回復(fù)
  2. 可不可以這么理解,指標(biāo)是需要去做量化的,最終需要得到值;維度是用來(lái)做分組的,是用來(lái)作為得出值的依據(jù)

    來(lái)自北京 回復(fù)