數據出現波動不要慌,手把手教你搭建數據異常監控體系
#本文為人人都是產品經理《原創激勵計劃》出品。
當數據出現波動時,數據分析師不免要對導致數據波動的背后原因進行篩查,進而找到解決路徑。然而,數據異常的原因該怎么找,才是準確且合理的呢?本文作者便總結了一套從0到1搭建數據異常監控體系的有效策略,也許會對你有所幫助。
前言
日常觀察業務數據時,如果數據出現波動,我們心里總會犯嘀咕:這個波動到底是不是在正常范圍內?如果數據與業務預期相差了好幾倍,那我們又頭疼了,原因那么多,到底哪個才是導致數據波動的原因?
別慌,這篇文章中,教你從0-1搭建數據異常監控體系。
數據分析師的面試總是繞不開一類經典的案例題:
如果日活下降了,你會怎么定位問題?
如果銷售額上升了,你會如何尋找原因?
總結一下這類問題的形式:
如果XX指標發生了波動(上升或下降),需要你去定位原因,你的分析思路是什么?
這里大部分人的回答是,我會看看數據具體的波動時間是什么時候?然后看看當天我們有沒有做什么活動或者產品改版?
業務經驗豐富一點的還會說,我會把用戶分成新老用戶,看看具體是哪個人群結構發生了波動?我還會……
這樣回答有問題嗎?沒有,但是回答得好不好呢?可能你自己心里也犯嘀咕,因為我們這種東一榔頭西一棒槌的答法,有沒有漏掉什么我們自己心里也沒有底。
實際上,對于這種數據波動的問題,考察的是你系統性思考的能力,也就是能否站在全局角度,通過嚴謹的邏輯與業務結合來思考問題。
所以,今天和大家分享如何從0-1搭建數據異常監控體系。
一、數據異常檢測
數據異常。所謂異常,可以理解為不符合預期的數據。這里的預期可以分為兩個部分:業務預期和合群預期。
- 業務預期:業務上不符合預期;
- 合群預期:波動或空間上不符合預期。
業務預期比較好理解,有經驗的業務人員在做一次新的運營活動時,心里往往會有個預期的數據值。當實際值在心里預期之外,可能就需要拉著分析師找原因。
合群預期是一種定量的判斷,有兩個條件:
- 異常數據跟樣本中大多數數據不太一樣;
- 異常數據在整體數據樣本中占比比較小。
所以重點在合群預期的判斷上,轉換成業務語言就是:什么樣的波動才算是異常呢?日活從20w掉到15w算不算異常?
如果我們每天的日活如下圖所示,在20w上下波動,突然掉到15w,算不算異常?
如果我們的日活如下圖所示,具有明顯的周期性波動(工作日在20w左右,節假日在15w左右),那12月12日的日活為15w,算不算異常?
通過上面的例子,我們知道,所謂異常,要結合具體的業務場景來看,對于合群預期,有沒有科學的方法來檢測數據波動導致的異常與否?
答案是有的,對于波動異常檢測的方法主要有:z-score檢測(3sigma準則)、分位數分析、孤立森林、聚類、lof局部異常因子檢測、one-class svm(適用高維空間)等。
下面簡單介紹下常用的3sigma準則是如何判別異常的。
統計學教材中,關于3sigma的定義為:正態分布下,數據落在μ±3σ區間內的概率為99.7%。
所以對于任意一組數據,只要我們知道了μ和σ,那我們就可以設定正常值的上下限(μ-3σ,μ+3σ),只要在這個范圍之外的值,我們就認為是異常值。
關于如何判定異常值還有很多已經成熟的方法,這里不做展開。
二、數據異常定位
從上面我們已經知道了在一組數據中,如何判斷新加入的一個數據是否是異常,那如果出現了異常,我們如何定位?
我們把異常數據的定位分成兩塊去拆解:內部因素和外部因素。
1. 外部因素定位
外部因素我們一般采用PEST分析法(宏觀經濟環境分析),即通過四個方面去分析:政治、經濟、社會、技術。
政治層面主要是新頒布的一些政策、法規對數據產生影響。如最近的滴滴上市被叫停,各應用市場禁止上架APP,那么滴滴的新用戶數在政策頒布之后一定會下降。
經濟,這里我為了理解方便,列了三個維度:競品功能上新、競品運營活動上新、競品數據。這里主要是考慮到競品的變動導致了我們數據的波動。
還是以打車軟件為例,A打車軟件最近對全體用戶搞了一個新的運營活動,花1元錢可以購買五張6.5折的打車券,且在工作日無時間限制。
假設這個活動的參與用戶很多,且A軟件和B軟件的重合用戶較多,那么A軟件此次的運營活動就會影響到B軟件的用戶數據,畢竟人是“趨利”的。
假設我們既沒發現競品有功能更新、又沒有新的運營活動呢?那么我們可以看下我們出現波動的指標,在競品中有沒有出現變化。
舉個例子,如果我們發現我們的用戶次日留存在某個時間段出現下降。如果主要競品也出現了同樣特征的波動,在其他條件都一樣的情況下,我們就可以判定是市場情緒出現了波動,大家都“下降”了。
社會因素主要是輿論壓力,用戶生活方式、消費心理變化、價值觀變化的改變對我們的數據造成的影響。
技術層面指的是一些創新技術的問世等帶來的影響。這兩種因素帶來的數據影響一般不會是突然的,用戶生活方式的改變、新技術的應用都需要大量的時間積累才會造就。
所以這兩個因素如果存在的話,在數據上的表現會是緩慢下降的趨勢,而不是突升或突降。
2.?內部因素定位
實際業務過程中,數據波動由內部因素導致的可能性更高。
數據出現波動,那么和數據相關的系統都需要排查是否出現問題。在內部因素的定位中,我們按照數據的生產關系將各參與系統分成:生產者、參與者、加工者三個部分。
其中生產者是用戶。所有用戶的行為都由用戶產生。那么用戶側可能出現什么問題?比較常見的是用戶結構出現變化、渠道來源出現調整,用戶反饋出現變化。
用戶結構指的是我們在對業務過程搭的指標體系中,按照用戶屬性將用戶分成:新用戶、次新用戶、老用戶、流失用戶(當然,這個不同業務形態區分的維度也不同)。
如果我們的新用戶突然變多,本身新用戶的活躍度就比不上老用戶,再加上新用戶占到我們日活的50%,那么這樣的情況反映到數據上就是日活的次日留存降低,整體用戶的活躍度也降低。
當然我們還可以根據用戶地域分布、性別、機型、登錄時段等維度來定位用戶。用戶維度分得越細,我們的定位就會“快”而“準”。
數據參與者是產品側、運營側、BI側。
產品側比較好理解。我們產品功能的上新、老功能的下架,已有功能的改版,都會導致數據的波動。
運營側也是同理。雙11我們新運營活動的上線,之前的運營活動下架,已有活動改版之后新的玩法,都會對數據造成波動。
所有的數據可視化基本上都是由BI開發的一個個報表堆砌的,所以BI也是數據的重要參與者。由BI側導致的數據波動大多數出現在口徑不一致的問題上。
這里可能有很多產品和運營的小伙伴深有同感,自己公司的BI經常會在不同時間點給出統一口徑下的兩份不同數據。
這里我為廣大的BI同學們正名一下,作為BI,數據的準確性是我們的紅線,給出準確的數據是我們的義務。但是往往隨著公司業務規模的擴大,之前的底層數據架構開始不堪重負。再加上人員的流動,很多歷史遺留問題開始凸顯。這時,大多數的公司還處在追求業務擴張的階段,不會花時間和資源來處理數據底層架構的問題,畢竟花時間又看不出明確產出。
這個問題的破局只有自上而下,具體在這里不細說。
最后一個生產關系是數據的加工者,即開發側的數據開發、數倉。這是最容易忽視卻是出問題頻率較高的部分。
這里要簡單說下我們的數據生產加工過程。用戶生產的行為、屬性等數據并不是直接生成的可視化報表,需要經過ETL清洗、數據入庫、再到數據處理,最后成為可視化看板。
而在上述的每個環節中,都可能會造成數據丟失的問題。常出現的問題有對接的服務器漏采集數據,傳輸數據的服務器之間未添加白名單導致數據丟失等。
很多時候查到這里確認是這個問題后,我們會恍然大悟。
三、數據異常歸因
經過前面兩步:數據異常檢測、數據異常定位,我們基本上定位到了數據波動的因素,那究竟是不是這個因素導致了我們的波動?
這里舉個例子方便大家理解我們為什么還要做歸因這個步驟。比如五年級的小明在之前幾次月考中數學都在95分左右,但期中考試數學只考了80分,小明媽媽非常不滿意,認為是小明最近一直在玩手游導致的成績下降。小明很委屈,他覺得這次是題目太難了。
媽媽為了證明是手游這個因素影響了小明的成績,從期中考試結束后到期末考試期間,嚴格禁止小明玩手機。結果小明期末考試考了95,達到平時的成績,小明媽媽就更堅定了是手游影響了小明的學習。
這里舉的例子對應到業務中,也就是說在數據異常定位之后,我們還要證明確實是這個因素的變動導致了結果數據的變動。
在這個環節我們都是采用AB實驗的思想,比如我們定位到了是新增用戶變多導致了我們整體次日留存的下降。那我們就可以保證其他因素不動,只是剔除新用戶,再取一下次日留存的數據,看看數據是否依然波動。
四、總結
還記得我們一開始的問題嗎?
如果XX指標發生了波動(上升或下降),需要你去定位原因,你的分析思路是什么?
通過我們前面的講解,我們會這樣回答:
- 通過數據異常檢測確認業務所說的波動是否屬于異常波動;
- 根據外部因素和內部因素分別進行排查;
- 用AB實驗的思想進行數據異常歸因。
其中外部采用PEST分析法,內部因素按照數據生產關系分為生產者、參與者、加工者,在對每個層級分別排查定位問題。
微信公眾號:董點數據。分享產品、運營、數據思維。
本文由 @董點數據 原創發布于人人都是產品經理。未經許可,禁止轉載。
本文為人人都是產品經理《原創激勵計劃》出品。
題圖來自 Pexels,基于CC0協議
微信公眾號:董點數據,分享產品、運營、數據思維。
本文由 @董點數據 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
作者寫的很好啊,很系統
感謝認可~
歡迎關注微信公眾號:董點數據
1、首先與業務確認數據是否是真正異常
2、分別從外部、內部來鎖定數據異常的原因
3、用A、B測試的實驗思想來進行歸因
4、根據業務或者經驗或者討論給出下一步新勾當方案
總結的很好????????
學到了學到了,很多時候看到數據波動,第一反應原因就是內容不行。
不要怕質疑,先看波動是不是異常~