當我們在做數據異常分析時,我們在分析什么

7 評論 12751 瀏覽 54 收藏 9 分鐘

數據異常分析,是數據分析工作中最常見且重要的分析主題,本文總結了數據分析的一般過程和方法,希望后續的分析在此基礎上不斷優化。

一、背景

數據異常分析,是數據分析工作中最常見且重要的分析主題,通過一次次的異常分析來明確造成數據波動的原因,建立日常的的運營工作和數據波動之間的相關性以及貢獻程度的概念,從而找到促進數據增長的途徑,改變數據結果。

本文總結了數據分析的一般過程和方法,希望后續的分析在此基礎上不斷優化。

二、問題界定

收集到的數據分析需求可能是類似于轉化率最近在下降,詢盤量有點上升。這種描述,其實并沒有把問題界定與描述清楚。首要便是對數據波動進行界定,如果問題沒有界定清楚,后續的數據分析也就失去了價值。

問題界定需要解決以下疑問,判斷數據波動是否為異常?異常的范圍、波動的程度,是否需要深入分析?

數據異常判定的理論基礎如下:假設指標服從均值為μ和標準差δ的正態分布,處于(負無窮大, μ-3σ] 和[μ+3σ, 正無窮)范圍時,樣本的概率為0.26%,這是一個小概率事件,我們稱其為3倍標準差下的異常點。


正態分布圖

如果指標的樣本數據為k 個,并記錄為x1,x2,x3,…,xk,則閾值的計算步驟如下:

  1. 計算指標平均值,公式如下:x =Σxi/k;
  2. 計算樣本的移動極差,公式如下:MR=|Xi-Xi-1|;
  3. 計算移動極差均值(k 個樣本數據產生k-1 個移動極差),公式如下:MR =ΣMRi/k-1;
  4. 計算CL,公式如下:CL = x;
  5. 計算UCL 和LCL(在3 倍標準差情況下)。公式如下:UCL= x +3×MR/d2;LCL= x -3×MR/d2,其中d2 等于1.128。

超過UCL和LCL的則為異常,如果數據有明顯的周期性和季節性,需去除相關因素之后再利用以上辦法計算閾值。

三、問題分析

分析方法為基準對比分析,選取數據變化前后可對比的時間段進行對比。

3.1 明確引起指標異常的相關指標

分析思路為先對異常指標進行拆解,確保指標拆到最細粒度的原子指標,然后評估相關的指標的影響程度。

1)指標拆解方法

拆解的方法為杜邦分析,示例如下:


相關指標拆解示意圖

2)貢獻度的衡量

將變化的量分解到相關的最細粒度指標,對比前后2個時間段上最細粒度指標的變化,明確是哪一個指標的波動對這個指標的波動貢獻度最大。比如:詢盤量轉化率上升,而詢盤量轉化率=詢盤量/會話量,細分轉化率的上升是詢盤量的上升導致還是會話量的下降導致,各自貢獻的比例為多少?

詢盤轉化率的波動=詢盤轉化率2-詢盤轉化率1=詢盤量2/會話量2? -詢盤量1/會話量1

假設在詢盤量不變的情況下:

會話量對轉化率的波動貢獻=詢盤量1/會話量2? -詢盤量1/會話量1

假設在會話量不變的情況下:

詢盤量對轉化率的波動貢獻=詢盤量2/會話量2? -詢盤量1/會話量2

3.2 單指標多維度的分析

能在一個指標能拆分成的多層樹狀結構中,具體是哪一層的哪一個節點的波動對這個指標的波動貢獻度最大?比如:以詢盤量的上升為例,可以如下進行拆分。


細分維度拆解示意圖

3.3 明確波動的原因

在數據現象明確之后,需要對數據進行一定的推理,得出明確的結論。在邏輯推理過程中,需做到推斷合理,避免常見的錯誤。

錯誤1 :相關性的誤解

案例:發現人智力水平和胳膊長度 的統計數據中,發現人智力水平和胳膊長度是正相關的,胳膊長人,智力也一般比較高!

啟示:相關性并不能表明因果系。上述數據的統計范圍是從不足1歲的孩子,到完全長成歲的孩子到完全長成 年人。在成長過程中,體型會逐漸變大智年人。在成長過程中,體型會逐漸變大智年人。在成長過程中,體型會逐漸變大智力也會逐步發展。

錯誤2: 缺失對比對象

案例:某藥廠推出了一款新感冒,配有說明藥廣告厲害的語:“臨床顯示, 本藥品可以在 10 分鐘內殺死 5萬個感冒病 毒!”

啟示:乍一看好像很有道理,感冒藥好像很厲害,但是如果我們拿到了更多的比較數據,如“人一次感冒會產生5億個病毒”或“其它藥廠的感冒藥至少可以在10分鐘內殺死100萬個病毒”,那這個新感冒藥的效果不是低劣的可笑嗎?

錯誤3:基于個案來推總體

案例:一個朋友有吸煙的習慣,以往每次勸他戒煙的時候,他都振振有詞的說:“你看名人A吸煙活到80多歲,名人B不吸煙不喝酒卻很早就去世了。所以壽命這種東西,和吸煙不吸煙么啥關系?!?/p>

啟示:無論一個人是否吸煙,均可能過早去世,也可能活到高壽。但從大樣本的數據來看,吸煙人群的壽齡普遍比不抽煙的整體減少5歲。下論斷要從統計整體上來看,揪住一些個案沒有太多意義的。

在避免常見的邏輯錯誤的同時,也要敢于下結論,雖然結論有可能是錯的。

三、解決方案

數據分析的終極目的是對業務改進產生價值,基于此,分析結論之后一定要提出切實可執行的方案,即落地到業務和產品上的具體建議,確保方案可執行,效果可評估。

分析報告完成之后,一定要多與業務部門進行溝通,收集反饋,聽取他們需要的是什么?一起商討解決方案。作為分析師也要不斷反饋自己,如何改進才能更有效的與業務結合?

四、總結

本文總結了分析的過程,包括如下內容:

  1. 問題的界定,界定數據異常的方法。
  2. 問題的分析,關鍵在于從指標和維度2個角度進行拆解,以及從數據到結論的推理。
  3. 結論的推動執行,與業務溝通反饋分析結論,探討后續方案的執行。

 

本文由 @時之沙 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CCO協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 你好,請問為什么剔除異常點時要算極差均值而不是用平均值±3倍標準差呢

    來自上海 回復
  2. 請教下多維度分析里,維度的順序是怎么定的?

    來自北京 回復
  3. 比如:詢盤量轉化率上升,而詢盤量轉化率=詢盤量/會話量,細分轉化率的上升是詢盤量的上升導致還是會話量的下降導致,各自貢獻的比例為多少?

    詢盤轉化率的波動=詢盤轉化率2-詢盤轉化率1=詢盤量2/會話量2 -詢盤量1/會話量1

    假設在詢盤量不變的情況下:
    會話量對轉化率的波動貢獻=詢盤量1/會話量2 -詢盤量1/會話量1

    假設在會話量不變的情況下:
    詢盤量對轉化率的波動貢獻=詢盤量2/會話量2 -詢盤量1/會話量2
    ————————————————————-
    ▋請教下:
    1. 為何第1個詢盤量不變不變的時候, 是詢盤量1不變? 而第2個會話量不變的情況下, 確實會話量2不變?

    來自廣東 回復
  4. 怎樣才能看得懂這篇文章呢?

    來自湖北 回復
    1. 成為一個稍微厲害點的數據分析師的時候

      來自上海 回復
    2. sorry,那還是我寫的不夠清楚,沒有讓你明白。

      來自江蘇 回復
    3. 不是不是,是我不夠厲害~

      來自湖北 回復