一 前言
唯一不變的是變化,在擁抱它前,請(qǐng)事先探知、歸因、并充分準(zhǔn)備。在相對(duì)完善的指標(biāo)體系建設(shè)背景下,我們需要通過(guò)指標(biāo)以及指標(biāo)波動(dòng)的解讀來(lái)描述、追蹤、推動(dòng)業(yè)務(wù)。當(dāng)一個(gè)指標(biāo)波動(dòng)時(shí),我們首先需要從業(yè)務(wù)視角判斷其波動(dòng)是否異常,即異動(dòng)檢測(cè),其次判斷異常背后的原因是什么,即異動(dòng)歸因。歸因的方法有多種,這篇文章的重點(diǎn)是指標(biāo)拆解,也是我們做業(yè)務(wù)分析時(shí)最常用到的方法。我們的目的是解放人力,將指標(biāo)拆解實(shí)現(xiàn)自動(dòng)化,一方面可以加快業(yè)務(wù)迭代速度,快速定位問(wèn)題;另一方面可以對(duì)可能產(chǎn)生異動(dòng)的維度進(jìn)行全局量化,增強(qiáng)可比性,明確下一步的業(yè)務(wù)行動(dòng)點(diǎn)的優(yōu)先級(jí)。自動(dòng)化異變歸因的目的是為了盡快判斷并抓住機(jī)遇,尋求以數(shù)據(jù)驅(qū)動(dòng)作為燈塔指引業(yè)務(wù)航向。
二 目的
將目標(biāo)指標(biāo)定義為
, 波動(dòng)為
,其中
是當(dāng)月的數(shù)據(jù),
為上個(gè)月(同比/環(huán)比)的數(shù)據(jù)。 文章目的是為了研究組成
的集合
對(duì)于
的貢獻(xiàn):
其中,
表示指標(biāo)(或維度)
對(duì)于
的貢獻(xiàn)度(contribution)。 另外,貢獻(xiàn)的拆解算法是根據(jù)組合方式不同決定,集合
組成
的方式包括:加法
(例,各渠道uv加和)
乘法
(例,已知rpm=cpc*ctr下,算出cpc、ctr分別對(duì)rpm的貢獻(xiàn))
比率型指標(biāo)
(例,各廣告計(jì)劃的cpf, 或者各個(gè)渠道的cpuv等)
三 貢獻(xiàn)率的拆解方法
1 加法拆解
已知
目標(biāo)波動(dòng)
貢獻(xiàn)等于
,證明見(jiàn)附錄。舉例針對(duì)絕對(duì)值指標(biāo)的維度拆解都是加法拆解。絕對(duì)量指標(biāo)的同比/環(huán)比變化,就是各個(gè)分指標(biāo)變化的加權(quán)求和,例如訪問(wèn)uv總和等于各渠道uv加總, 那么總uv的變化下鉆貢獻(xiàn)率等于各渠道分別的變化除以上個(gè)月的總uv數(shù)。 2 乘法拆解
已知
目標(biāo)波動(dòng)
貢獻(xiàn)等于
, 證明見(jiàn)附錄。其中
是當(dāng)月的數(shù)據(jù)
,
為上個(gè)月(同比/環(huán)比)的數(shù)據(jù),
為平均對(duì)數(shù)權(quán)重:
舉例 漏斗模型,借助用戶動(dòng)線,拆解指標(biāo)。
以全站商品詳情頁(yè)的瀏覽量(ipv)為例,其變動(dòng)涉及流量、承接頁(yè)到商品詳情頁(yè)的轉(zhuǎn)化(uv-d轉(zhuǎn)化)、商品詳情頁(yè)用戶人均瀏覽量(人均pv),分別對(duì)應(yīng)了用戶增長(zhǎng)、搜推場(chǎng)景承接以及私域用戶活躍度等業(yè)務(wù)域或用戶行為指標(biāo)。借此對(duì)全站ipv的構(gòu)成鏈路進(jìn)行靜態(tài)乘法拆解:
同時(shí),我們可以計(jì)算各乘積因子對(duì)目標(biāo)指標(biāo)變化的貢獻(xiàn)率
,衡量3個(gè)指標(biāo)的重要性:
是平均對(duì)數(shù)權(quán)重,
3 比率型指標(biāo)拆解
已知
,
,
,
當(dāng)分析比率指標(biāo)進(jìn)行維度下鉆,分項(xiàng)對(duì)整體的貢獻(xiàn),受兩個(gè)因素影響
分項(xiàng)的相對(duì)數(shù)指標(biāo)波動(dòng)貢獻(xiàn) ,即當(dāng)期與基期的分項(xiàng)規(guī)模一致時(shí),分項(xiàng)指標(biāo)帶來(lái)的變化:
分項(xiàng)的指標(biāo)波動(dòng)貢獻(xiàn)
= 指標(biāo)同比變化值 * 上期基數(shù)占比
分項(xiàng)的結(jié)構(gòu)變化 ,即當(dāng)期與基期分項(xiàng)規(guī)模變化部分的指標(biāo)變化:
分項(xiàng)的結(jié)構(gòu)變化
= 占比同比變化值 * (分項(xiàng)本期指標(biāo) - 整體上期指標(biāo) )
, 其中
是當(dāng)月的數(shù)據(jù),
為上個(gè)月(同比/環(huán)比)的數(shù)據(jù)。
, 證明見(jiàn)附錄。
舉例 以承接頁(yè)到商品詳情頁(yè)的轉(zhuǎn)化率(uv-d轉(zhuǎn)化率rate)為例,
,流量渠道可分為付費(fèi)、免費(fèi)、自然、其他,每種渠道的uv-d轉(zhuǎn)化率為
,各渠道的商詳頁(yè)訪問(wèn)人數(shù)(duv)占比用
表示,各渠道人數(shù)(uv)占比用
,如果uv-d轉(zhuǎn)化率同比下跌,我們想定位出哪個(gè)渠道出現(xiàn)了問(wèn)題;各渠道的貢獻(xiàn)
是怎么樣計(jì)算為:
4 實(shí)例應(yīng)用
根據(jù)上文提到的不同指標(biāo)的計(jì)算方法,支持全類型指標(biāo)下鉆求貢獻(xiàn)的場(chǎng)景, 可根據(jù)先驗(yàn)業(yè)務(wù)輸入搭建多層的歸因邏輯模型, 層層下鉆,最終將指標(biāo)波動(dòng)定位。
圖二:計(jì)算貢獻(xiàn)率之后的數(shù)據(jù)結(jié)果樣式
以2011年某日ipv同比下跌的異動(dòng)分析為例:第一層拆解,借助用戶動(dòng)線,將存在異動(dòng)變化的指標(biāo)ipv構(gòu)成鏈路進(jìn)行乘法拆解,如下:
這里幫助我們定位到可能導(dǎo)致指標(biāo)異動(dòng)的關(guān)鍵節(jié)點(diǎn),這有助于我們將問(wèn)題定位到具體業(yè)務(wù)域,例如是uv的問(wèn)題,轉(zhuǎn)化的問(wèn)題,還是人均ipv的問(wèn)題?
第二層拆解,對(duì)關(guān)鍵節(jié)點(diǎn)處的多個(gè)維度進(jìn)行下鉆,將問(wèn)題定位到某些維度的某些水平上,同時(shí)避免陷入辛普森悖論等陷阱,這有助于我們形成具體業(yè)務(wù)域有所行動(dòng), 例如如果是轉(zhuǎn)化的問(wèn)題,究竟是哪個(gè)渠道的轉(zhuǎn)化減少了?下圖“異動(dòng)分析拆解流程圖”是根據(jù)先驗(yàn)的業(yè)務(wù)輸入搭建的歸因模型,根據(jù)其框架得以進(jìn)行貢獻(xiàn)率拆解與問(wèn)題定位:
圖三:指標(biāo)拆解逐層歸因
紅色表示的鏈路指標(biāo)或維度代表對(duì)總值下跌貢獻(xiàn)率較大,經(jīng)過(guò)一層一層的拆解定位到app端自然流量中轉(zhuǎn)化的降低導(dǎo)致總轉(zhuǎn)化下降。
基于流量跨端調(diào)控以及流量預(yù)算減投的業(yè)務(wù)背景,我們現(xiàn)將對(duì)ipv貢獻(xiàn)最大的uv/duv根據(jù)端型、流量渠道類型、流量渠道、國(guó)家四個(gè)維度進(jìn)行貢獻(xiàn)率拆解。在本實(shí)例中,通過(guò)本文對(duì)貢獻(xiàn)率拆解方法與業(yè)務(wù)人工看數(shù)得到的問(wèn)題定位基本一致,該方法可以實(shí)現(xiàn)異動(dòng)貢獻(xiàn)率量化與提效的目的,具體核心結(jié)論如下:
結(jié)論一 (第一層拆解)ipv下降主要影響因素是uv-d轉(zhuǎn)化率的波動(dòng)。
結(jié)論二 (第二層拆解)uv-d比率的波動(dòng)主要由APP端與WAP端導(dǎo)致,兩種端型貢獻(xiàn)持平。
結(jié)論三 (第三/四層拆解)APP端的自然流量和wap端的付費(fèi)流量是uv-d總比率波動(dòng)的主要貢獻(xiàn)維度。
結(jié)論四 (第五層拆解)APP端self-visit中美國(guó)對(duì)uv-d比率的波動(dòng)貢獻(xiàn)較大。
通過(guò)建立多層歸因下鉆維度模型, 用自動(dòng)化的方式層層剝析,從而能盡求完善且正確的歸因到某個(gè)維度,從而節(jié)省人力,提高準(zhǔn)確和科學(xué)性。四 多層下鉆歸因方案—決策樹(shù)
本節(jié)重點(diǎn)在拆解求出貢獻(xiàn)率之后,如何探查異動(dòng)。我們已經(jīng)把不同維度下,每個(gè)維值的貢獻(xiàn)率求出, 下一步的目的是求出貢獻(xiàn)最大(有異動(dòng)的)的維度維值組合,測(cè)三種拆解方案,包括逐層下鉆(同上文3.4的下鉆方式)、多層同步下鉆、 決策樹(shù)模型,發(fā)現(xiàn)決策樹(shù)模型效果最好。這里決策樹(shù)輸入為不同的維值組合,輸出為貢獻(xiàn)率,做的是回歸預(yù)測(cè)。主要做法是求貢獻(xiàn)率的熵,找到信息增益最高切割方法。這里自然而然想到?jīng)Q策樹(shù)模型,通過(guò)貪心算法,切割數(shù)據(jù)空間, 找到貢獻(xiàn)率絕對(duì)值最高的維度組合空間。圖四長(zhǎng)方形整體表示數(shù)據(jù)空間,
表示兩個(gè)維度,其下角標(biāo)表示維度下的維值。下圖具象的看出通過(guò)不同維值的組合,把數(shù)據(jù)空間切割成不同塊,用不同的顏色代表。
圖四:決策樹(shù)對(duì)數(shù)據(jù)空間的切割可視化
1 剪枝
決策樹(shù)存在過(guò)擬合的問(wèn)題, 為了解決這個(gè)問(wèn)題,我們決定了剪枝的方法,采用后剪枝(Post-pruning)。后剪枝就是先把整顆決策樹(shù)構(gòu)造完畢,然后自底向上的對(duì)非葉結(jié)點(diǎn)進(jìn)行考察,若將該結(jié)點(diǎn)對(duì)應(yīng)的子樹(shù)換為葉結(jié)點(diǎn)能夠帶來(lái)泛華性能的提升,則把該子樹(shù)替換為葉結(jié)點(diǎn)。后剪枝的方法包括:REP-錯(cuò)誤率降低剪枝, PEP-悲觀剪枝, CCP-代價(jià)復(fù)雜度剪枝, MEP-最小錯(cuò)誤剪枝。
我們借鑒了CCP—代價(jià)復(fù)雜度的方法。選擇節(jié)點(diǎn)表面誤差率增益值大的層級(jí)的非葉子節(jié)點(diǎn),刪除該非葉子節(jié)點(diǎn)的左右子節(jié)點(diǎn),若有多個(gè)非葉子節(jié)點(diǎn)的表面誤差率增益值相同小,則選擇非葉子節(jié)點(diǎn)中子節(jié)點(diǎn)數(shù)最多的非葉子節(jié)點(diǎn)進(jìn)行剪枝。這個(gè)算法的參數(shù)為
, 表示算法的復(fù)雜度:
其中,
表示的是結(jié)點(diǎn)
的方差(近似加權(quán)熵的概念:impurity,下文都泛稱為熵,計(jì)算公式),
是結(jié)點(diǎn)
的子樹(shù)
的熵的總和,
為決策樹(shù)結(jié)點(diǎn)個(gè)數(shù) 。
高,表示結(jié)點(diǎn)
往下分的信息增益高。圖五表示異動(dòng)維數(shù)的個(gè)數(shù)與決策樹(shù)層結(jié)點(diǎn)熵的平均數(shù)的關(guān)系:以黃線為例, 當(dāng)異動(dòng)的維數(shù)為2時(shí),決策樹(shù)在第二層的熵最高,從第二層往后,再往下分熵越小,信息增益少,過(guò)擬合明顯。從折線明顯看到,熵的拐點(diǎn)在第二層,決策樹(shù)最大深度等于2。
圖五:異動(dòng)維數(shù)的個(gè)數(shù)與結(jié)點(diǎn)方差(熵)的關(guān)系
我們從圖五的事例啟發(fā),按照CPP的方法, 找躍層增益較大的“拐點(diǎn)”,找到合適的
進(jìn)行剪枝。 五 模型表現(xiàn)
1 模擬數(shù)據(jù)
我們模擬的維度和維值如下,共4個(gè)維度(兩兩獨(dú)立), 涉及維值共40個(gè),4個(gè)維度維值組合(笛卡爾積 31*2*3*4=744)共744個(gè)。模擬的時(shí)間對(duì)比為月環(huán)比,模擬指標(biāo)為廣告消耗。
維度字段country_cn_nameis_freeterminal_type_cdimps_cnt_bins
維度國(guó)家渠道端型曝光檔位
維值數(shù)31234
舉例馬來(lái)西亞免費(fèi)WAP(-1.0, 0.0]
無(wú)異動(dòng)數(shù)據(jù):用白噪音
模擬無(wú)異動(dòng)的維度組合的時(shí)間序列,見(jiàn)圖六
圖六:無(wú)異動(dòng)的時(shí)間序列
有異動(dòng)數(shù)據(jù):用隨機(jī)游走的累積和來(lái)模擬異動(dòng),公式如下,見(jiàn)圖七
圖七(a):有異動(dòng)的時(shí)間序列1
2 模型評(píng)估
在上圖四個(gè)維度(國(guó)家、渠道、端型、曝光檔位),指定特定的維度和維值在3月有異動(dòng),通過(guò)決策樹(shù)模型,測(cè)試是否找到正確異動(dòng)點(diǎn)。模擬case考慮的主要是可能存在異動(dòng)的真實(shí)情況:
1. 某個(gè)PID數(shù)據(jù)錄入異常,會(huì)影響單維度的異動(dòng)(僅那個(gè)PID的數(shù)據(jù))。
2. 某個(gè)渠道且某個(gè)端型的減投,會(huì)影響多個(gè)維度組合的異動(dòng)。由于指標(biāo)異動(dòng)涉及的業(yè)務(wù)繁雜,不同團(tuán)隊(duì)在不同方向的優(yōu)化,影響到不同的維值組合。
例一:異動(dòng)維度在兩處
異動(dòng)維值組合:
a. 國(guó)家=伊拉克, 渠道=免費(fèi), 端型='WAP', 曝光檔位=[5:100]
b. 國(guó)家=法國(guó), 渠道=免費(fèi), 端型='PC', 曝光檔位=[0:5]
將貢獻(xiàn)度算出,數(shù)據(jù)輸入決策樹(shù)模型, 結(jié)果見(jiàn)圖八,可以看出決策樹(shù)精確的找到異動(dòng)的數(shù)據(jù)(共精確找到7個(gè)維值,共8個(gè)), 且這兩組標(biāo)紅數(shù)據(jù)對(duì)于異動(dòng)的貢獻(xiàn)絕對(duì)值最大。我們自定義樹(shù)結(jié)構(gòu)找父節(jié)點(diǎn)的方法,自動(dòng)剪掉冗余分支,只截取重點(diǎn)枝干呈現(xiàn)。
圖八:決策樹(shù)結(jié)果呈現(xiàn)
特征重要性也符合預(yù)期:
例二:異動(dòng)維度在一處,只異動(dòng)一個(gè)維度在付費(fèi)上
異動(dòng)維值組合:a. 渠道=付費(fèi)
通過(guò)剪枝,模型成功找到一維信息,避免提供太多噪音令用戶混淆。
更多
表一包含更多維值組合案例, 以及模型表現(xiàn),包括F1-score,模型輸出的結(jié)果,和特征重要性。已探索11個(gè)案例,平均F1-score達(dá)到91.9%。
下面的數(shù)量是異動(dòng)的維值個(gè)數(shù):| Positive Prediction | Negative PredictionPositive Class | True Positive (TP) 34 | False Negative (FN) 6Negative Class | False Positive (FP) 0 | True Negative (TN) 0
最后結(jié)果:
Precision = 34 / (34 + 0) = 100%Recall = 34 / (34 + 6) = 85% F-1 Score Overall = 91.9%
異動(dòng)維值組合(label/y_true)F1-Score模型結(jié)果1:模型輸出(結(jié)果可視化展現(xiàn),自動(dòng)剪掉冗余分支,只截取貢獻(xiàn)高的枝干呈現(xiàn))模型結(jié)果2:特征重要性
1APP100%APP ->貢獻(xiàn)率為 0.58APP: 0.790
2法國(guó)100%法國(guó) ->貢獻(xiàn)率為 0.84 法國(guó) : 0.542;
3付費(fèi) 100%付費(fèi) ->貢獻(xiàn)率為 0.43 付費(fèi) : 0.570;
4法國(guó)&付費(fèi)100%法國(guó) -> 付費(fèi) -> 貢獻(xiàn)率為 0.81 法國(guó) : 1.988; 付費(fèi) : 1.019;
5法國(guó)&APP100%法國(guó) -> APP -> 貢獻(xiàn)率為 0.84 法國(guó) : 1.895;APP: 1.360
6APP&付費(fèi)100%APP -> 付費(fèi) -> 貢獻(xiàn)率為 0.41 APP: 1.591付費(fèi) : 1.203;
7APP&付費(fèi)&法國(guó)100%法國(guó) -> APP -> 付費(fèi) ->貢獻(xiàn)率為 0.88 法國(guó) : 1.944;APP: 1.374;付費(fèi) : 1.047;
8APP&付費(fèi)&法國(guó)&(5.0, 100.0]100%法國(guó) -> (5.0, 100.0] -> APP -> 付費(fèi) ->貢獻(xiàn)率為 0.90 法國(guó) : 1.836;APP: 1.469;(5.0, 100.0]: 1.369;付費(fèi) : 1.302;
9APP&付費(fèi)&法國(guó)&(5.0, 100.0]orPC&免費(fèi)&伊拉克83%非伊拉克 -> 法國(guó) -> (5.0, 100.0] ->貢獻(xiàn)率為 0.14 伊拉克 -> PC -> 非付費(fèi) ->貢獻(xiàn)率為 0.87 伊拉克: 1.610;PC : 1.027;付費(fèi) : 0.772;法國(guó) : 0.062;(5.0, 100.0]: 0.052;
10APP&付費(fèi)&法國(guó)orPC&免費(fèi)&伊拉克&(5.0, 100.0]83%非法國(guó) -> 伊拉克 -> (5.0, 100.0] ->貢獻(xiàn)率為 0.14 法國(guó) -> APP -> 非免費(fèi) ->貢獻(xiàn)率為 0.87法國(guó) : 1.559;APP: 1.101;免費(fèi) : 0.839;伊拉克: 0.064;(5.0, 100.0]: 0.058;PC : 0.000
11APP&付費(fèi)&法國(guó)orPC&免費(fèi)&伊拉克&(5.0, 100.0]or美國(guó)&免費(fèi)&APP88%非美國(guó)-> 非法國(guó)-> 伊拉克-> (5.0, 100.0]->貢獻(xiàn)率為 0.14 非美國(guó)-> 法國(guó)-> APP-> 付費(fèi)->貢獻(xiàn)率為 0.84 美國(guó)-> APP-> 非付費(fèi)->貢獻(xiàn)率為 0.84APP : 1.218 美國(guó) : 0.936 付費(fèi) : 0.907 法國(guó) : 0.863 伊拉克 : 0.035 (5.0, 100.0]: 0.033 土耳其 : 0.000
六 局限
但此方法論還是有其局限性的,主要在于歸因變量(下鉆維度)有限,大多數(shù)情況下是按照業(yè)務(wù)的理解和先驗(yàn)的經(jīng)驗(yàn)來(lái)判斷。本方法只能識(shí)別業(yè)務(wù)已經(jīng)認(rèn)可的拆解維度和鏈路定位,拆解到的指標(biāo)或維度都是已知業(yè)務(wù)系統(tǒng)內(nèi)的指標(biāo),諸如工程問(wèn)題、宏觀政策等因素難以識(shí)別,需要輔以定性分析。具體來(lái)說(shuō),我們看到pv下降,下意識(shí)要去從渠道下鉆,主要原因是我們因?yàn)榍雷鳛樽兞?,是和pv數(shù)有正向(或者因果)關(guān)系的。舉個(gè)極端的例子,有可能是服務(wù)器的故障,導(dǎo)致全平臺(tái)的pv下跌。這樣的潛在變量,如果和常用下鉆變量彼此相互獨(dú)立的條件下,是無(wú)法通過(guò)此方法論探查得到的。我們后續(xù)的工作將重點(diǎn)放在對(duì)相互獨(dú)立的指標(biāo)和相關(guān)事件的角度做進(jìn)一步更全面的因果推斷算法研究。
七 技術(shù)產(chǎn)品化
我們工作中月報(bào)和周報(bào)中通常分析的方法與此類似,不同的是,因?yàn)槿肆τ邢蓿瑪?shù)據(jù)龐雜,往往下鉆維度和層數(shù)局限,比率類型指標(biāo)不知道如何下鉆等等,導(dǎo)致科學(xué)性和嚴(yán)謹(jǐn)性很難保持。這套方法實(shí)現(xiàn)了自動(dòng)化,保證計(jì)算的準(zhǔn)確性,節(jié)省人日。我們將此技術(shù)沉淀在內(nèi)部數(shù)據(jù)產(chǎn)品“象數(shù)”上。象數(shù)中心是ICBU數(shù)據(jù)驅(qū)動(dòng)的基石產(chǎn)品,是集數(shù)據(jù)資產(chǎn)定義與管理、A/B實(shí)驗(yàn)、洞察分析于一體的數(shù)據(jù)平臺(tái)。它提供的核心價(jià)值在于好找、敢用、持續(xù)保鮮的數(shù)據(jù)資產(chǎn),大規(guī)模、可信的端到端實(shí)驗(yàn)?zāi)芰?,以及因果、異?dòng)等智能化的分析工具。
八 附錄
證明 加法貢獻(xiàn)算法
已知
貢獻(xiàn)等于
,
證明 乘法貢獻(xiàn)算法
已知
,
貢獻(xiàn)等于
,
目標(biāo)波動(dòng)
證明 比率貢獻(xiàn)算法 已知
, 其中
是當(dāng)月的數(shù)據(jù),
為上個(gè)月(同比/環(huán)比)的數(shù)據(jù)。
貢獻(xiàn)等于
算法得到的貢獻(xiàn)率依舊相互獨(dú)立,符合MECE原則,且通過(guò)分別觀測(cè)
和
有助于我們避開(kāi)辛普森悖論帶來(lái)的陷阱。
備注:
符合mece原則證明:相互獨(dú)立:
和
的計(jì)算公式中不涉及其他分項(xiàng)的完全窮盡。
參考
Ang, Beng W., F. Q. Zhang, and Ki-Hong Choi. 'Factorizing changes in energy and environmental indicators through decomposition.' Energy 23.6 (1998): 489-495.
Ang B W . The LMDI approach to decomposition analysis: a practical guide[J]. Energy Policy, 2005, 33(7):867-871.
《波動(dòng)解讀—指標(biāo)拆解的加減乘除雙因素》https://zhuanlan.zhihu.com/p/412117828
開(kāi)源 Elasticsearch技術(shù)訓(xùn)練營(yíng)