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