如何30min內排查出指標異動的原因

--

針對業務搭建好指標體系,作爲產品/運營同學,通常會選擇1–2個「北極星指標」來度量產品的健康度。而作爲數據同學,我們需要協助產品來監控日常指標波動,如果發現指標波動不符合預期,則需要對其進行查詢。

作爲數據同學,最大的問題可能有以下兩點:

1、指標本身會自然波動,如何一眼就知道當日指標不正常?
2、當感知到指標異常後,如何快速對N多維度進行拆解,給出量化結論?

最開始,針對一些比較棘手的問題,我們有時會花半天到一天的時間進行排查,後來隨着整套方案的落地及工具化,給出初步結論大概在30min以內。

下面將和大家分享一下我們之前的排查方案,希望能夠對你有所幫助~~

0️⃣1️⃣ 如何快速發現指標異常

當指標在某天發生波動時,我們如何判斷波動屬於正常範圍還是異常範圍,往往是通過口口相傳的經驗判斷的,核心在於「經驗」。經驗固然是判斷指標波動閾值的核心,但對數據同學來說,我們可以更好的利用數據,「量化度量 + 經驗」 進行判斷,往往會更加標準化一些。

量化的方式可以涵蓋很多種,這裏我們主要根據 均值+標準差 進行衡量,以APP某功能CTR指標爲例,如下圖:

▲ ctr近30日波動趨勢

步驟一:選取過去30日內的CTR指標作爲近期趨勢,時間不宜過長,主要度量近期情況。

步驟二:計算指標的均值和標準差,並且根據以往經驗,初步選取加減一倍標準差作爲正常區間範圍,以上圖爲例,大概是均值±1%。(一般情況下,離線調研一次,心裏大體有個數,指標的正常波動在什麼範圍內;如果追求精準,可以每天根據過去一段時間的趨勢,動態評估)。

步驟三:在日常數據評估中,當指標波動大於閾值時,可重點關注。當然,並不代表波動小指標就不存在問題,這裏解決的主要是概率的問題。

0️⃣2️⃣ 如何定位異動原因

當發覺指標的波動遠遠超過我們經驗的閾值時,一般情況,會對指標進行下鑽分析,通過維度的下鑽,聚焦問題點。定位問題的方式也非常多的,這裏主要向大家介紹一種相對通用且高效的排查思路,涵蓋六步,如下圖:

▲ 歸因分析流程圖
從圖中我們可以看到,整個排查思路是一個從 宏觀→微觀→宏觀 的流程,最終目的是給出量化的數據結論。

步驟一:宏觀-多維鑽取
當某天指標波動異常,我們下意識會想到是某個維度變化所導致的,例如:某天pv下降,可能是某個渠道、某個小時、某些類目所導致等。相信很多同學都是根據經驗進行的判斷。
其實維度鑽取本身並不難,難點在於如何全面、高效的將所有維度進行鑽取,並且可以精準的定位問題。因此,爲了達到全面、高效的目的,需要做以下兩點:

其一:維度累積。這個主要靠日常工作中我們對於業務的理解,將所有可能影響指標的維度提取出來,並且對核心維度進行交叉組合,作爲多維鑽取的養料。

例如:業務維度(渠道、品類);時間維度(小時、上午/下午/晚上);人群維度(年齡、性別)等。

其二:工具沉澱。要完成以上衆多維度的高效鑽取,通過一段段寫SQL查詢,效率會很低,因此我們需要一套可例行的多維分析工具,這部分內容會在下面幾期進行詳細介紹。
通過以上兩個方面,我們就可以實現全面、高效的將可能觸及問題的維度挖掘出來,產出內容包括但不限於:維度波動分數(例如:JSD分數)、當天pv、同期pv、pv變化絕對diff、pv變化相對diff等。

步驟二:宏觀-異常聚焦
當完成多維鑽取,產出各維度漲降幅數據後,需要將細分維度對大盤的影響進行量化度量,即我們常說的:貢獻度度量,核心在於量化。

例如:整體pv增長100w,其中男性pv增長50w,則男性對整體大盤pv的貢獻度爲50%,在結論中需要體現量化結果。
其中貢獻度在不同類型指標上有不同的計算方式,這個也會在下面幾期進行分享。
在常規業務分析中,一般到此步驟,已經能解決80%左右的實際波動問題。而這兩步也可以封裝成例行“核心指標監控工具”,每日產出,快速定位數據問題。
但如果很不幸遇上了另外20%的情況,即:通過以上維度的下鑽,各維度值均表現出普漲/普降的情況,這時就要考慮下鑽到微觀層面探索問題的本質。

步驟三:微觀-Case分析
微觀case層面主要是通過用戶詳細行爲數據或者輕度彙總數據進行挖掘,這一步主要的目的在於發現可能的異常問題。但由於是單用戶行爲,會存在諸多幹擾的情況,很容易被帶偏,所以此步驟的核心在於發現問題,快速試錯。

例如:我們通過隨機抽取100個用戶行爲數據,維度涵蓋底層數據表已有的所有維度,發現這些用戶在某些版本上的行爲分佈明顯較低,則可以將此維度作爲聚合維度進行上卷,重複步驟一二的步驟。

到這一步,大概可以解決90%左右的實際波動問題。

步驟四:微觀-假設及場景模擬
如果到此步,還沒能找出核心的問題點,則說明此問題相對隱蔽,並且是我們日常維度累積中沒有涉及到的。這個時候就需要我們根據業務場景,假設問題出現的原因,並嘗試找到可度量的維度進行驗證。
到這一步,基本可以解決95%左右的實際波動問題。

步驟五:宏觀-維度上升
當進行完步驟三和步驟四之後,我們已經對可能的問題有了一定的累積,這個時候就可以將此維度上升到宏觀層面,利用多維鑽取工具進行挖掘,判斷是否此問題,導致的指標大幅波動。
如果仍然不是此問題,那非常遺憾,仍然需要重複步驟三和步驟四,直至找到相應問題。

步驟六:宏觀-輸出結論
最後也是最爲重要的一步,則是對問題下結論,正所謂“沒有結論的分析都是耍流氓”。結論輸出需要涵蓋“數據發現問題”和“業務解釋問題“,在與產運方溝通後,得出“業務化”的結論,這樣才能更對老闆的口味。

不好的結論:pv下降原因,50%是由於母嬰類目影響。
好的結論:pv下降原因,50%是由於母嬰類目影響,主要由於母嬰頻道上線推廣活動所導致,預計下週將恢復往期水位。

另外一個需要注意的,則是大盤指標變動往往受到多方因素的影響,無法100%精確解釋,或多或少會存在預估的成分,這個屬於正常情況。

====乾貨結束,來個案例====

0️⃣3️⃣ 案例分析

以某垂類APP爲例,對「人均訪問次數」指標進行異常監控及排查。

1、發現問題

步驟一:根據調研,指標近1個月均值維持在10左右,標準差0.3左右,因此 [9.7, 10.3] 的範圍認爲是相對正常波動範圍。

步驟二:11月11月,該指標同比上週相對降幅達到7%,遠大於我們認知的自然波動區間,因此需要對其問題進行詳細查詢。

2、排查問題

步驟三:首先針對指標進行多維鑽取,通過相對熵的方式挖掘異常維度,並結合指標貢獻度定位到可能的問題維度。

  • 其中

城市維度-深圳、廣州等南方城市降幅貢獻度相對明顯;
類目方面-呈現普降,某些類目降幅相對較大;
其他維度均存在普降的情況。

在這樣的數據表象上,考慮可能的問題:

  • 當天爲雙十一,用戶更多的精力去購物消費?
  • 南方城市降溫,是否會影響用戶?
  • 產品出現改版,是否對用戶有一定影響?
  • 但以上的猜測都不足以說明真實結論,因此我們選擇下鑽探索。

步驟四:隨機抽取100個用戶的行爲詳情,發現人均相對較低的大多集中在4g網絡上,而wifi網絡抽取的case來看,人均相對較高。兩種可能性:
一種可能是這兩種網絡人羣本身存在差異,屬於正常現象。
另一種可能,則是4g網絡的人均下降,導致問題的出現。
通過這個啓示點,我們嘗試將網絡維度加入到維度鑽取中。

步驟五:通過對網絡維度的鑽取,發現4g網絡的降幅貢獻度達到了整體的80%,遠遠大於以上任意維度中維度值的貢獻,因此該問題大概率出現在網絡類型上面。

步驟六:最後我們根據網絡類型結合南方降溫因素,基本可以解釋問題發生的原因是由於降溫所影響用戶在戶外的應用,所以最終給出的結論爲“人均相對下降7%,主要由於南方天氣降溫所導致,貢獻總降幅的80%;另外雙十一及改版因素均有影響,但影響程度低於10%;預計下週指標恢復正常水位”。

文章來源:小火龙说数据
原文鏈接:https://mp.weixin.qq.com/s/nPKMroeY9r3cremQB-NhLg

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推薦

餅圖變形記,肝了3000字,收藏就是學會!

MySQL必須掌握4種語言!

太實用了!4種方法教你輕鬆製作互動式儀表板!

跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求

妙呀!一行Python程式碼

回顧十週入門數據分析系列文:

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!

--

--

數據分析那些事
數據分析那些事

Written by 數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

No responses yet