指標歸因在互聯網平臺的應用
一、什么是指標歸因
大家在工作中經常會看很多的報表,在查看報表的過程中會發現指標并不是穩定不變的,而是可能會有各種各樣的變化,比如下降、上升或者突變。指標的波動其實反映的是業務的實際波動。所以,一旦發生變化,我們會問一些問題,比如在一個持續下降的圖表里面,我們會好奇是什么原因導致指標發生了波動,以及不同原因對指標波動的影響有多大。所以,簡單來說,指標歸因本質上就是定位指標波動的核心影響因素。
指標歸因主要分為三大步驟:首先需要明確問題,其次是分析定位問題,最后是去解決問題。
1. 明確問題
什么是明確問題呢?比如上圖中的例子,假設它是一個收入的圖表,如果看到收入持續下降,有的人可能會問下降的原因是什么,也有人可能會問收入下降是不是代表現有的模式不再可持續了。針對不同的問題,對應的方法可能是不一樣的。像第一個問題,問為什么這一類問題,就屬于指標歸因的范疇。后者則是更開放性命題,需要做問題拆解后再去看某個子問題是否屬于指標歸因的范疇。所以首先需要明確面對的問題是不是指標歸因的問題,在明確問題之后,再進一步思考這個問題是否能被抽象為一個數學問題,以及可以被抽象為哪一類數學問題,是否有足夠的信息進行分析。
2. 分析定位問題
接下來就是選擇一個合適的方法來分析問題。針對這樣的問題,有哪些方法可供選擇,各方法的優缺點分別是什么,哪個方法更優?有了這樣的考量之后,通過選擇的方法就能分析到一個相對合理的波動原因。
3. 解決問題
定位原因之后,接下來就要去解決問題。因為通過數學方法定位到的原因是一個數學上的解釋,所以在解決問題之前首先需要將定位到的原因還原到實際業務上。基于實際問題,討論有什么樣的解決方案,以及每個方案的利弊,最終挑選一個合適的方案去推動執行。
以上是指標歸因及基礎分析框架的介紹,接下來將詳細介紹指標歸因的方法。
二、指標歸因的基本方法
1. 指標判斷
指標歸因的第一步是明確問題,判斷指標的變動是否真實存在。
指標波動分為兩大類:
- 第一類是短期波動,表現是指標暫時性的異常,通過環比的突增/突降點體現出來。從上圖可以看到非常明顯的突降點,短期波動一般會快速恢復到原來的水平。一般這種情況常見的因素是碰到了比較大的事件,比如突發事件等對經營做調整,會帶來一個突變點。
- 第二類是長期波動,體現為中長期的持續上升或下降。這種類型沒法快速看到明確的突變時刻,也沒有辦法和某一個時刻的具體事件做關聯,這種情況可能預示了潛在的風險,特別是如果這樣的波動不在預期之內,或者說是未知原因的波動,就需要進一步通過歸因分析來找到問題所在。
2. 歸因方法
如果碰到需要進一步分析的波動,有哪些方法可以選擇呢?基于對結論的預期有三類分析方法:
- 第一類是確定性判斷。例如互聯網平臺,在手機、電腦以及電視端都可以使用,總的收入來源于這三個終端。如果發現收入下降了 10%,那么希望知道每一個終端的影響是多少,這就是確定性判斷。
- 第二類是可能性判斷。繼續上面的例子,通過確定性判斷已知移動端帶來了 80% 的下降,那么下一步可能會想知道移動端的下降主要受什么因素的影響,是因為用戶行為發生了改變,還是因為策略調整帶來的負面影響,這就是可能性判斷。
- 第三類是猜測性判斷。假設已知是用戶行為變化帶來的收入下降,接下來可能會去猜測用戶行為為什么發生了變化,是受競品的影響,還是因為政策調控的影響。
這三類方法在使用上不是完全互斥的,在猜測性判斷時,可能會有假設的猜測,猜測性判斷提供了很多信息增量,基于這些信息增量不一定能得到非常自信的結論,可以基于猜測進一步通過確定性或者可能性分析的方法去驗證猜測,最終得到更完善的結論。所以,在使用過程中,會基于實際情況選擇將各種方法進行組合。
在確定性判斷和可能性判斷下還有多種具體的方法,比如在確定性判斷下,可能會使用指標拆解;在可能性判斷下,可能會用機器學習和因果推斷之類的方法。除了在對結論的預期以外,還要基于具體各種方法的特性做權衡與取舍。比如,非常想有明確的確定性,會選擇指標拆解的方法,但是如果選擇了指標拆解,就相當于放棄了對因果性的追求。再比如,如果確實非常想去探究因果性,可能就需要放棄一定的確定性,放棄指標拆解這樣確定性非常高的方法。在實際的使用當中,需要基于具體情況做平衡與取舍。
3. 確定性判斷
可以通過指標拆解來做確定性的判斷。指標拆解的優點在于,計算相對容易,效率也比較高;其次,計算出來的貢獻度可以量化到具體的數值,每個因素的貢獻度都是可以直接相加的,可以得到具體的任何一個因素量化的影響百分比。
指標拆解分為加減乘除四個不同的方法。加法比較容易理解,比如收入波動,可以把收入拆到移動端、PC 端和 TV 端,分別去看每個終端帶來的波動分別是多少,然后計算出波動的貢獻度。加法相當于是場景的拆解。
減法跟加法類似,是符號上的區別。
乘法與加法最大的區別在于,乘法更側重于實際業務轉化鏈路上的拆解。以收入為例,從用戶進入平臺到產生收入會有一系列的轉化鏈路,通過乘法可以看到轉化鏈路中的每個環節的波動比例,從而定位到需要重點關注的環節。乘法下面又包括替換法和 LMD 乘積因子拆解的方法。替換法的局限性在于替代的順序會影響貢獻度的計算,因此如果在意替代的順序的話更適合選擇乘積因子拆解的方法。
除法主要針對比例型的指標,沒法直接拆解再相加。一種做法是類似于乘法替換法,拆解出鏈路中每個環節的貢獻度。另一種做法是雙因素法,將指標拆解成子場景,其貢獻度由波動貢獻和結構貢獻相加得來。
實際應用中也可以選擇多種方法進行組合分析。
比如互聯網平臺的收入分為廣告收入和會員收入,是兩個非常不一樣的商業模式,在分析整體收入的時候,不能把兩者混為一談。所以,我們會先通過加法的拆解,計算出具體是廣告收入對波動的影響更大,還是會員收入的影響更大。在明確了大方向之后,再在這個大方向下做持續的下鉆以及拆分。通過橫向和縱向的分析組合,可以逐步定位到核心的變化場景,針對核心的問題去做有針對性的方案設計。
4. 可能性判斷
可能性判斷主要是通過建模分析來做歸因分析。它主要分為幾大類:
- 第一類是大家比較熟悉的機器學習。機器學習的好處是對相對簡單的建模效率較高且可解釋性較強。
- 隨著模型越來越復雜,機器學習模型的可解釋性就會有一定的下降,這時候就需要在機器學習的基礎上加 SHAP 值來計算,通過 SHAP 值來計算特征的目標指標貢獻。SHAP 值的優點是不管機器學習的模型有多么復雜,都能計算出貢獻值,能幫助解釋各個特征的貢獻度。
- 不論是機器學習還是 SHAP 值都是在解釋相關性,這是比較大的一個局限。如果在歸因的時候,對因果關系有非常強的需求,則可以考慮因果推斷或者貝葉斯網絡。
5. 分析落地
在明確了方法,并通過某一個方法得到了相對完善的數據結論后,最后一步就是解決問題了。解決問題時非常重要的一點是要把得到的數據結論和實際的商業邏輯進行結合,這樣才能明白當前所面臨的問題的本質是什么,找到對應的解決方法。比如,通過分析發現收入下降主要是競品的降價行為帶動的,因為競品的價格策略左右了廣告客戶的預算分配,那么會考慮是否可以在產品上增加一些亮點,來爭取客戶的預算。這就是方案的探討。
三、指標歸因的案例介紹
1. 案例一:基于指標拆解做的確定性判斷
第一個案例是基于確定性判斷的方法。
第一步仍然是要判斷問題是否存在。案例的背景是通過監控發現了我們關心的一個轉化指標有非常明顯的下降,下降了 3.13%,波動是 -27.8%。看到這樣的監控,首先的問題就是這個波動是不是問題,需不需要關注?在這個場景下,它其實是一個非常重要的問題。首先,這個指標監控的是某一個核心場景的轉化效率,這個指標反映的是在這個場景下業務的實際效率,是一個非常重要的指標;其次,這個指標代表的是一個效率,效率的下降會削弱業務優化的價值增量;第三,這個指標的趨勢是長期下降,從圖上可以看到,指標先有短暫的上升,然后持續地在緩慢下降,而且最近降幅在加劇,它反映了潛在的還沒有發現的一些問題。所以,這個問題是非常值得關注的。
之后,要選擇什么樣的方法呢?這個指標是轉換率,是比例型的指標。既然是一個衡量轉化效率的指標,那就會有非常強的業務轉化節點,是層層遞進的關系,所以選擇通過乘法來做指標拆解,將每一個轉化環節的影響因素都量化出來,看具體是在轉化過程中的哪一個環節發生了問題。通過乘法替換法的拆解,發現環節 D 和環節 B 是指標波動的核心影響因素,同時我們也發現環節 C 對指標有正向影響,后續也會關注指標 C 為什么提升,以及怎么去強化這種提升。
在使用指標拆解的時候,有一些需要注意的問題。首先,指標得有實際意義。因為從數學的角度來說,不管是加法、乘法還是除法,只要讓拆解公式成立,都可以計算出每一個過程指標的貢獻度,但是如果只是純數學邏輯去拆解,得到的歸因結論可能沒有辦法實際落地,沒有辦法解釋指標為什么波動以及最大影響因素的具體含義。一個比較好的做法是,在指標拆解的時候能將每個指標明確到一個具體的負責團隊,這樣當拆解出一個指標或某個環節的波動比較大的時候,會有對應的人去解決相應的問題。
其次,在做指標拆解的時候指標數量不能太多。在實際的工作當中,業務邏輯會很復雜,涉及到的指標會很多。如果不注意,把過程指標拆得太細,可能發現沒有一個指標有非常明顯的貢獻,每個環節或者每個指標的貢獻都是相對均勻的,不利于定位問題。所以比較好的實踐方式是先把需要定位的問題分為幾個大的環節,如果某一個大的環節的波動明顯高于其他環節,再去看這個指標是不是可以做進一步的拆解。
以環節 D 為例,當發現它已經足夠具體地指向某一小場景之后,再做場景的下鉆,就是維度下鉆。比如定位到點擊率下降,那么進一步會思考是因為男生的點擊率下降,還是女生的點擊率下降。或者在互聯網平臺頁面會考慮是因為首頁的點擊率下降,還是個人中心的點擊率下降。可以進一步從不同的維度去看具體某一個子場景的下降是否是最大的影響因素。當業務場景比較復雜時,不同場景下的策略是不一樣的,通過場景的下鉆可以更準確地找到應該調整的策略或者應該解決的問題。場景和維度的下鉆,如果環節 D 是點擊量這樣的一個絕對值指標,那么就可以用加法來進行維度的下鉆,如果是點擊率這樣一個比例型指標,則可以用雙因素法。
在明確了男生的點擊率是轉化效率下降的核心貢獻因素之后,就得思考其業務含義是什么,是不是平臺最近的內容是男生不感興趣的內容,那么下一步可以考慮調整平臺內容或推薦策略、分發策略。所以,基于分析的結論,需要結合實際的業務情況做進一步的結論定義,然后找到對應的解決方案。
2. 案例二:可能性判斷
接下來舉例說明可能性判斷的方法。
這一案例的背景是在日常的監控中有一個場景的用戶活躍度上升了 6.7%。這是需要關注的問題嗎?首先,這個場景是核心的場景,活躍度的提升是直接影響商業變現效率的;其次,這個指標是長期相對穩定的,突然同比上升了 6.7% 是比較異常的;第三,前面的介紹都是關于指標下降,其實在指標上升的時候,我們也會想要知道到底做對了什么,這樣未來就可以持續強化這種影響去變得越來越好。所以,這一活躍度的上升是值得分析和關注的。
接下來,明確想要關注的問題,就是什么因素對指標上升的影響最大,以及它是如何影響活躍度的。針對這樣的問題,我們當時選擇了可能性判斷的方法,具體來說就是機器學習加 SHAP 的方法。因為在這種場景下,沒有一個相對明確的維度或者鏈路的拆解,因此用機器學習去探究不同因素之間的相關性是比較好的方法。
具體過程是先做一個預測模型,然后調用特征重要性函數計算 SHAP 值,上圖藍色的柱子代表 SHAP 值絕對值的均值,代表這個特征對y 的影響程度,藍色柱子越長證明它對 y 的影響越大。從上圖可以看出因素 A 對 y 的影響是最大的。在明確了因素 A 的影響最大之后,還想要知道是有正向影響還是負向影響,所以下一步會看特征影響的正負項,通過右邊的圖表可以看到 y 是隨著 A 的增大而增大的。具體來說,紅色是特征本身的值,圖上的每一個點代表一個樣本,顏色越紅說明特征本身的數值越大,顏色越藍說明特征本身的數值越小,所以 y 是隨著 A 的增大而增大的。
在此基礎上還可以進一步看因素 A 和 y 是什么樣的關系,如上圖所示,橫軸是因素 A 的實際值,縱軸是 SHAP 值,y 隨著因素 A 的增長線性增長。通過這樣的分析就能看出哪個因素對目標指標的影響最大、它是怎樣影響目標指標的,以及它與目標指標的關系是怎樣的。
既然已經知道因素 A 是如何影響活躍度的,假設因素 A 代表內容精彩指數,那么應該怎么解讀呢?結合互聯網平臺的特點來說,內容精彩度上升,是否是有優質內容上線了呢?上線的這些內容有什么特性更吸引用戶呢?還是平臺的運營或者推薦策略有什么調整和優化?基于這樣的一些分析,最終就會得出結論,進而進行相應的策略建議。
所以,基于分析的結論,結合實際的業務情況,才能透過數據看到問題的本質,提出更合理的建議。以上就是對指標歸因案例的介紹。
四、指標歸因的工具應用
接下來介紹互聯網平臺的指標歸因工具。
在實際工作中,有一些圖表可能會觸發監控或者人為觀測到波動,為了明確波動是由什么導致的,需要進行歸因分析。
我們的工具上有一個類似于問答式的分析過程,可以在工具上問“某一個指標為什么比前一天更高?”,工具會引導用戶去做分析。比如,工具會問用戶“你是否想要做指標拆解?”,或者“你是否想要做維度的下鉆?”,然后再基于用戶的選擇給出相應的答案以及相應的結論。