寫給產品和運營人看的數據系列(1):維度和指標——事實的視角
在向數據分析師提需求時,你是否只會用“字段”這個詞,來指代所有的維度和指標呢?其實,數據的維度和指標是非常重要的,當你理清正確的維度和指標時,你的問題便已經解決了一大半。如何正確理解維度和指標呢?一起來看一下吧。
請不要用“字段”,掩蓋自己對維度和指標的一知半解。
剛剛工作那會,我在鵝廠從事廣告變現相關工作。在向數據分析師提需求的時候,我只會用“字段”這個詞,來指代所有的維度和指標。很多時候,數據分析師同學會向我耐心解釋,為什么這個“字段”不能被計算,那個字段沒有辦法取出來。
直到我后來系統學習了數據分析、數據倉庫相關的知識,了解了維度、指標、OLAP、上卷和下鉆這些基本概念之后,才發現我當初的需求文檔問題有多大,而這也是我寫下這篇文章的原因——避坑。
01 為什么要搞清楚維度和指標?
最直接的,理解了維度和指標之后,再跟BI和RD提需求,能避免被當做一個數據白癡,體現自己的專業性(至少看起來)。
其次,理解維度和指標的前提,是了解業務邏輯和數據生產邏輯。
以往我們是從用戶流程、組織層級等視角理解我們的業務,但是不妨從數據邏輯視角試試:數據是在哪個主體上,在什么場景下,以什么樣的方式被生產和記錄的?數據是怎么被加工和呈現的?為什么需要這么呈現?這個指標如果跌了,對業務有指向意義嗎?
當你問這些問題的時候,你會發現你不僅要知道產品的設計邏輯、各個模塊的功能點,還要知道它們的耦合和組織方式。這些都會驅動你去問同事、查wiki、自己上手體驗。相信我,這樣全套流程走下來,你對業務和產品一定會有更深入的理解。
再次,理清楚維度和指標,能幫我們確定分析的思路。
業務指標下降了,我們要做定位和分析;要寫PRD了,我們要做功能點的收益預估——相信你一定為數據抓耳撓腮過。
那么我們究竟應該從龐大的數據庫中,選取哪些“字段”來輔助分析呢?高效的方式之一——在對業務理解基礎上提出假設,然后把假設翻譯成維度和指標,否則我們只會陷入在龐大的數據細節中而無從下手。
所以,當你理清楚正確的維度和指標的時候,你的問題已經解決了一大半。
02 從事件的視角,認識維度和指標
網上介紹維度、指標及其差異的文章很多,可以作為基礎概念輔助初識維度和指標。
我希望從“事件”的視角,帶你重新認識這兩個名詞。
做過App/網頁前端埋點的同學,相信對“事件”(event)這個詞一定不會陌生,它指的是某個特定行為的發生,如某個按鈕的曝光、點擊,這些都可以稱作事件。
這里,我們將事件的含義泛化一下,不局限在某個具體行為上,也不要拘泥在行為埋點范疇中,而是將其擴展到所有的結構化數據表上。
每一張數據表,都是圍繞一個特定事件進行創建的。而事件的發生,必然有其主體,即出發事件發生的人/物/事。
維度,是對事件發生主體屬性的補充描述,或者伴隨主體而存在的,除了事件發生的時間,它一般是靜態存在的,不依賴于事件的發生。
指標,則是對事件發展程度的量化描述;一個指標,通常描述主體的其中一種狀態。它依賴于事件的發生,是一個動態變化的數值。
如果覺得抽象,我們來看個例子。
作為產品經理,我們需要關注的一個重要指標是“次留”,即今天打開App的用戶,有多少比例會在第2天,繼續打開我們的App:回訪在這里就構成了一個事件,而事件發生的主體是用戶。
如果要細拆留存,可以分拆的維度有:性別、年齡、機型、新/老用戶、地域、來源渠道、是否在App內支付過,等等。這些維度,本身是依附于用戶這個主體而存在的,它并不依賴于回訪的發生。所以,它是一個靜態的屬性描述,并不會因為事件是否發生,而發生變化。
但是指標不是。次留隨著會隨著你觀察的時間、觀察的群體而發生變化。
03 維度的4個作用
1)篩選:我們一般通過維度來篩選所觀察的數據范圍。
如果是定性的分類維度,那么通過枚舉可以篩選,典型的定性維度如年份、省份等;如果是定量的維度,那么可以像指標一樣,按照數值大小取一個范圍即可,如身高。
2)聚合:通俗地來說,即我們希望在多大粒度上分析數據。
比如你要統計廣告消耗,那么是在創意粒度上看,還是將創意粒度消耗數據加總,并上卷到計劃粒度分析消耗呢?如果你之前寫過SQL,那么肯定知道在對指標進行sum(求和)、avg(求平均)之后,要在腳本最后加入group by XX,也就是你希望聚合到的維度。
但是需要注意的是,你在進行聚合的時候,一定要確認計算的指標,是可以在該維度上可分和可計算的,否則你算出來的數據肯定是錯誤的,這個會在后面會詳述。
3)對比:數據只有在對比的時候才有意義。
我們發現數據上漲、下跌、波動,是因為我們知道正常的數據應該是多少,超過這個范圍的數據都是異常的,才會需要進一步比較和分析。我們在對比數據的時候,通常會選擇某一個維度,然后在該維度下進行對比。不在同一個維度上,對比2個同樣指標,在業務中沒有任何意義。
假設我們要對比每一個機型的留存,必須是在同一個維度(機型)的下鉆和比較,這通常稱為橫向對比。
另一種對比,則是以時間為維度的縱向對比。我們看DAU、留存這些指標,究竟是漲了還是跌了,通常都是觀察一段時間的指標變化;環比、同比這些,則是基于不同時間窗口維度,對指標的二次加工和計算。
4)歸因:這里的歸因,指的是對數據波動的解釋,而不是數字廣告領域的歸因模型(attribution model)。
當我們通過同維度的對比,發現數據異常波動時,通常我們需要對波動的原因進行定位和解釋。而最終的排查結果,必然會定位到某個維度上,或者維度的某個值(枚舉)上。
我們發現昨日的訂單數,日環比(相對于前天)跌了30%,如果排除掉運營活動結束帶來的正常下跌,而是一個異常的下降,我們必須找到可能的原因。
我們通常會逐個維度分析。比如看品類:是衣服跌的多,還是鞋子跌的多,還是整體都在跌;看時間,訂單數量是否在某個時間段跌的多(是否某個時間段服務器崩了);看交易方式(是否某個支付方式出了問題)、看App版本(是否某個版本有bug)……
關于數據波動的歸因,后續會再單獨用一章的篇幅,來重點講。
04 指標在維度上是否可分和可聚合
我們拿到一份數據,先不要急著上手分析,而是要弄清楚維度與指標的關系。這里的“關系”我們仍然分兩層來理解。
第一層:指標所反映的事實,可以在所選維度上發生、被統計;換句話說,指標所反映的被統計的事實,在業務場景中是真實存在的。
比如我們在數字廣告場景中,衡量一條創意好壞的指標是CTR(點擊率,Click Through Rate)= 同時期點擊次數/該廣告曝光次數。我們可以比較不同創意、不同計劃之間的CTR,但是不會比較不同廣告落地頁之間的CTR。
因為廣告落地頁是用戶點擊完廣告之后打開的頁面,外顯廣告點擊行為并不在落地頁這個主體上發生。盡管對比之下,不同落地頁的CTR之間肯定略有差異,但是落地頁并不是造成CTR差異的原因,這種橫向對比并無實際意義。
另一個案例中,指標確實在這個維度上發生,但通常情況下并不能被計算。
我們經常看的一個指標是UV(獨立訪客數),如果在device_id(設備ID)維度上看UV,一般沒太大實際意義,因為通常情況下,一個設備ID上只有1個UV,即UV和設備ID等價(除非某些業務如反作弊場景下,需要分析1個設備登錄了幾個賬號)。
第二層:計算時,指標在所有參與計算維度上可分割、可加總。
如果我們把維度,想象成一把梳子,把指標想象成一縷頭發。當梳子經過頭發的時候,頭發能被梳齒,分成N塊更細的發束(分割),且頭發的數量并沒有發生改變;當拿掉這把梳子的時候,這些發束又聚合在一起(加總),恢復成原來的樣子。
還是以UV舉例。我們通常需要看DAU日活和WAU周活2個指標。DAU統計比較簡單,看每天有多少用戶數打開了App。WAU是對過去一周的訪客數的去重計數,若1個用戶在周一和周三都打開了App,在WAU的計算中,這個用戶只會被計算一次,但是在日活的口徑中,周一和周三會被分別統計一次。
如果我們拿到的是以周為維度、周活為指標的一張表,假設我們想要分析過去一周每天的UV,那么顯然不能直接用周活進行計算,即WAU在日期維度上不可分割。反之,周一到周日每天的DAU,加總起來也不是周活,也就是說DAU在周維度上不可加總。
特別要注意的是,一些復合指標在整體上有意義,也能在一些維度層級上被分割和被計算,但是不能被無限分割。
我們通常會看創意、(上卷一層到)計劃、(再上卷一層到)賬戶維度的CTR,但是我們通常不會去計算單個用戶粒度的CTR。因為假設每個用戶只會看見1次廣告,對這條廣告點擊行為只有“是”或者“否”兩種情況,CTR要么是0,要么是1,這種極端值,并不能反映一條廣告質量的好壞。
05 維度和指標可互換
我們對于維度和指標的理解,一定要在具體業務場景下深入分析。并不是某些字段一定是維度,某些字段一定是指標;維度和指標的界定,一定要根據具體業務場景,以及在該業務場景下的數據生產邏輯。
正如上文所說的那樣,就像“薛定諤的貓”一樣,它取決于你對這次事件的主體、性質等的觀察。
如果單看“體重”這個字段,你覺得它應該是維度,還是指標呢?
我認為要看“體重”所在的場景。
如果你是一個體育老師,現在要通過體重、升高、BMI、肺活量等這些字段的數值,給每一個學生的健康狀況打分,體重在這里就是一個要被計算的指標。
反之,假設我們要看體重跟薪資收入、壽命的關系,則體重作為維度更加適合。
此外,通過二次計算,維度和指標也可以互換,即原來是維度的字段,可以變成指標;反之,指標通過設置區間可以變成維度。
還是以上文提到的廣告消耗為例。我們拿到的數據是計劃ID(維度)、消耗(指標);但是如果我們想看,消耗在5萬及以上、3-5萬(不含5萬)、1-3萬(不含3萬)和不到1萬的計劃數有多少,那么就需要把指標變成一個分類維度,然后對計劃ID去重計數——計劃數成了指標。
總之,對維度和指標介紹文章看的再多,也不如自己親手實踐。你可以找公司的數倉或者BI同學,要1張數據底表的字段明細,嘗試自己分析,比如看指標是否可以在維度上可分割、可加總,哪些維度可以篩選、聚合。
本文由 @簡寫2019 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
可不可以這么理解,指標是需要去做量化的,最終需要得到值;維度是用來做分組的,是用來作為得出值的分組依據
可不可以這么理解,指標是需要去做量化的,最終需要得到值;維度是用來做分組的,是用來作為得出值的依據