攜程火車票基于因果推斷的業(yè)務(wù)實踐
作者簡介
Seven,數(shù)據(jù)分析師,專注用戶增長、數(shù)據(jù)科學(xué)等領(lǐng)域。
一、背景
攜程作為旅游平臺,跟用戶需求息息相關(guān),理解和識別各個策略/系統(tǒng)對轉(zhuǎn)化/收益的因果關(guān)系尤為重要,在這個過程中需要將影響因變量的其他因素進行控制,但這些因素通常是復(fù)雜且難以測量的。在關(guān)系識別困難的情況下,如何使用更為科學(xué)的方法,對策略進行微觀和宏觀的建模分析,如何系統(tǒng)性的評估各種策略的長期影響,是要解決的重要問題。
在火車票 BG 我們現(xiàn)階段已經(jīng)遇到的需要探究因果的問題有五類:產(chǎn)品功能迭代評估、虛擬產(chǎn)品價值評估、精準營銷和運營、無 AB 實驗增量效果評估、外部環(huán)境變化影響評估。
遇到這些問題我們通常有幾種方式來解決:
- 在產(chǎn)品設(shè)計上構(gòu)建正確的 AB 實驗,合理計算指標,度量產(chǎn)品功能和迭代的影響;
- 基于觀測數(shù)據(jù)的因果推斷,即從已有實驗和非實驗數(shù)據(jù)中提煉因果關(guān)系;
- 通過機器學(xué)習(xí)算法和數(shù)據(jù)、實驗的結(jié)合構(gòu)造反事實推理來回答長期效應(yīng)問題。
以上三種方式的核心思想是因果推斷。
本文將以攜程火車票業(yè)務(wù)中存在的現(xiàn)實問題為例進行展開,介紹一些攜程火車票在因果推斷這塊的相關(guān)工作,主要內(nèi)容包括:首先,介紹因果推斷理論的基本思想和理論框架,讓大家從宏觀上了解因果推斷工具有哪些;其次,講解我們嘗試用因果推斷的方法/工具去解決業(yè)務(wù)核心問題的案例,主要有以下三個較為具體的場景:
- 用戶運營場景中遇到的因果推斷問題;
- 虛擬價值評估場景中的因果推斷具體案例;
- 其他無法做 AB 實驗的場景的效果評估。
最后,通過實踐我們相應(yīng)的沉淀了一些工具使用的框架。
二、因果推斷的基本思想和理論框架
2.1 基本思想
因果關(guān)系首先要區(qū)別于我們?nèi)粘I钪蟹浅3R姷南嚓P(guān)關(guān)系。比如:我們發(fā)現(xiàn)醫(yī)院外面的人比醫(yī)院里面的人更加健康,這個可以說明“醫(yī)院與身體健康程度存在相關(guān)性”,但可以說“醫(yī)院是導(dǎo)致身體不健康的原因嗎?”,顯然是不能的。即只要 A 和 B 經(jīng)常同時發(fā)生,那么說明 A 和 B 存在相關(guān)關(guān)系,而不能說明 A 和 B 一定存在因果關(guān)系。因果性強調(diào)的是 A 導(dǎo)致了 B 的發(fā)生,因此存在因果性一定存在相關(guān)性,反之則不成立(如圖 2-1)。
因此,因果推斷的核心是在數(shù)據(jù)中存在關(guān)聯(lián)關(guān)系的前提下,考慮數(shù)據(jù)之間的因果關(guān)系。即將因果關(guān)系從關(guān)聯(lián)中分割,對因果分析的大小作出正確的估計。
圖片
圖2-1 相關(guān)和因果關(guān)系
2.2 理論框架
在因果推斷中,有以下兩種框架:
Rubin 虛擬事實模型(Potential Outcome)的核心是尋找合適的對照組。通常情況下,我們想要度量用戶在被實驗影響和不被實驗影響這兩種情況下結(jié)果差異是多少,而對于同一個用戶,我們只能觀測到被影響/不被影響一個狀態(tài),因此需要尋找合適的對照組,估計和衡量無法被觀測到的影響。我們通常會構(gòu)造一些識別實驗,比如,互聯(lián)網(wǎng)常使用 AB 實驗,或者根據(jù)觀測數(shù)據(jù)使用恰當(dāng)?shù)姆椒▉韺ふ覍φ战M。針對觀測數(shù)據(jù),這里分為兩種思想:
- 構(gòu)造相似群體(Matching):這種思路假設(shè)在未被實驗策略影響的樣本中存在一些樣本與被實驗策略影響的樣本具有同質(zhì)性。只要我們想辦法找到這些相似的樣本作為虛擬對照組,就可以控制外生因素。這種思想最經(jīng)典的方法是傾向得分匹配法(PSM)。
- 構(gòu)造虛擬現(xiàn)實(Synthetic Control):這種思路認為策略的影響其實是策略上了之后的指標表現(xiàn)和“假設(shè)策略沒上”的平行時空中指標表現(xiàn)的差值。因此,只要通過建模方法構(gòu)建出假設(shè)策略沒上的虛擬時空的指標水平,即可評估實驗策略收益。典型的方法包括合成控制法(SCM)、Causal Impact。
Pearl 因果圖模型(Causal Graph Model)使用有向圖描述變量之間的因果關(guān)系。通過計算因果圖中的條件分布,獲得變量之間的因果關(guān)系。有向圖指導(dǎo)我們使用這些條件分布來消除估計偏差,其核心也是估計檢驗分布、消除其他變量帶來的偏差。
以上兩種因果框架是兩種互補的推測虛擬事實的方法,目的都是為了計算存在混淆變量時,干預(yù)變量時對結(jié)果的影響,都需要對因果關(guān)系作假設(shè),以及控制帶來偏差的變量,不同點在于 Rubin 框架估計的因果效應(yīng)主要是干預(yù)前后的期望差值,而 Pearl 框架下,我們估計的是干預(yù)前后的分布差異,Rubin 框架解決的問題是因果效應(yīng)的估計和統(tǒng)計推斷,Pearl 框架更偏向于因果關(guān)系的識別。圖 2-2 展示了兩種框架的一些常見的主要使用方法。
圖2-2 因果推斷工具箱
三、實踐案例
隨著業(yè)務(wù)的發(fā)展,對因果關(guān)系的探究和準確評估愈發(fā)受到重視,越來越多的業(yè)務(wù)場景和評估問題需要通過因果推斷理論去優(yōu)化和解決,比如如何降低營銷成本,如何科學(xué)評估會員價值等等?;谶@些問題,我們對因果推斷理論進行了探索研究,并最終在多個關(guān)鍵的業(yè)務(wù)問題上落地實踐,成功解決了現(xiàn)存的問題。
3.1 用戶運營場景 — UPLIFT 模型
- 模型介紹:尋找策略敏感人群,尋找策略敏感人群,策略敏感人群是指能夠針對某個干預(yù)做出反應(yīng)的人群,即圖 3-1 右上角這類用戶。
圖3-1 UPLIFT模型示意圖
- 業(yè)務(wù)背景:現(xiàn)階段用戶運營體量較大,短信是需要成本的,利用 UPLIFT 模型尋找短信敏感人群,在精細化策略運營的基礎(chǔ)上幫助運營人員節(jié)省成本,進一步提高運營 ROI。
- 模型應(yīng)用:
建模方式:S-Learner、T-Learner、X-Learner 等等。
評估方法:QINI 曲線等。
- 應(yīng)用結(jié)果:已在多個策略下進行了測試并上線了運營平臺,取模型分前 10%,帶來增量:人數(shù) *10%*0.011,如圖 3-2。
圖3-2 UPLIFT模型結(jié)果展示
3.2 虛擬價值評估場景 — 傾向性得分匹配
- 模型介紹:通過計算傾向性得分從觀測數(shù)據(jù)中找到相似的人群,即在未干預(yù)人群中找到與干預(yù)人群相似的人,如圖 3-3。
圖片
圖3-3 PSM思想示意圖
- 業(yè)務(wù)背景:用戶增長業(yè)務(wù)存在一些業(yè)務(wù)板塊是虛擬形態(tài),比如企業(yè)微信、公眾號、會員等,業(yè)務(wù)方希望評估下這些虛擬形態(tài)帶來的增量價值,從而指導(dǎo)成本投入。
- 口徑迭代:
A. 口徑1.0:
實驗組:企業(yè)微信環(huán)境下用戶。
對照組:大盤且不在企業(yè)微信環(huán)境下的用戶。
結(jié)論:在企業(yè)微信環(huán)境的用戶比不在企業(yè)微信環(huán)境用戶價值高 xx%。
事實上,這個結(jié)論肯定是錯誤的。因為在企業(yè)微信環(huán)境和不在企業(yè)微信環(huán)境這兩組用戶本身就不平衡,因為一般來說,能夠主動/被引導(dǎo)愿意進入企業(yè)微信環(huán)境的用戶都是相對更加忠實/活躍的用戶。即存在很嚴重的樣本自選擇問題,得到的結(jié)論是帶有混淆偏差的。
B. 口徑2.0:嚴格邏輯控制,控制首單時間、用戶類型和關(guān)注時間等相同,如圖 3-4。
實驗組:首單時間在 2020.1-2020.7 活躍用戶 & 在 2020.7-2020.12 關(guān)注公眾號。
對照組:首單時間在 2020.1-2020.7 活躍用戶,至今未關(guān)注公眾號。
圖3-4 口徑2.0展示
相比于原始口徑相對準確,但是在嚴格邏輯控制下,用戶量大幅縮小,無法準確測量所有公眾號環(huán)境內(nèi)用戶的增量價值。
C. 口徑3.0:PSM 模型尋找相似人群,如圖 3-5。
實驗組:加入企業(yè)微信環(huán)境且留存達到 180 天的用戶。
對照組:用戶加入企業(yè)微信環(huán)境當(dāng)日,無放回的用 PSM 在大盤人群中匹配與之相似的用戶放入對照組。
圖3-5 解決問題思路圖
- 結(jié)果展示:如圖 3-6 所示,左上角圖中展示的是實驗組和對照組原始的傾向性得分,右下角圖為實驗組和對照組匹配之后的人群得分,可以看出,從兩組中挑選出來的人群傾向性得分匹配程度較高,即我們認為兩組人群同質(zhì)性較強。從左下角的圖中也可以看出來在匹配之前和匹配之后,匹配前人群差異非常大,匹配人群間的方差都控制在一個合理的范圍內(nèi)。
圖3-6 PSM模型結(jié)果圖
3.3 實驗設(shè)計場景 — 合成控制法(SCM)
- 模型介紹:例如我們在 A 城市施加干預(yù)/政策,且無法找到 A 城市的最佳對照地區(qū),就可以使用合成控制法對若干大城市進行適當(dāng)?shù)木€性組合,以構(gòu)造一個與 A 市非常相似的“合成 A 市”,并將“真實 A 市”與“合成 A 市”進行對比。
- 業(yè)務(wù)背景:酒店產(chǎn)品想通過AB實驗探索用戶價格彈性,即調(diào)整定價時,看轉(zhuǎn)化率變化情況,為了在不進行違規(guī)操作的前提下能夠得到相對科學(xué)的結(jié)論來支持決策,我們使用合成控制(SCM)的方法尋找合理的對照組:通過尋找可對比的省份作為調(diào)價前后對比評估的控制組,從而合成與實驗組省份數(shù)據(jù)特征相似的虛擬控制組。
- 方案詳情:
實驗組:A市。
對照組:A虛擬組(B *0.584+ C *0.223+ D *0.183+ E *0.01)。
(擬合情況如圖 3-7 可以看出來實驗組和對照組擬合情況較好)。
- 數(shù)據(jù)指標:總轉(zhuǎn)化 cr(提交酒店 uv/ 列表頁 uv)。
圖片
圖3-7 SCM 模型結(jié)果圖
3.4 政策干預(yù)場景 — 斷點回歸(RDD)
- 模型介紹:用干預(yù)臨界點前后很近的觀測數(shù)據(jù)構(gòu)造實驗組和對照組。
- 業(yè)務(wù)背景:公眾號每周四會發(fā)推文,推文提醒方式從強提醒改為了弱提醒,評估其對公眾號觸達轉(zhuǎn)化率的影響。
- 數(shù)據(jù)處理:
中心化:對關(guān)注時間進行了中心化,使得臨界點為 0,并以距離臨界點的小時數(shù)作為相對關(guān)注時間。
數(shù)據(jù)分組:用戶根據(jù)關(guān)注時間排序并分組,每組約 100 人,取平均相對關(guān)注時間。
關(guān)鍵指標:
a, 干預(yù)變量 D:提醒方式(0:強提醒,1:弱提醒)。
b. 結(jié)果變量 Y:3 日支付轉(zhuǎn)化率、7 天支付轉(zhuǎn)化率。
c. 配置變量 X :每組平均相對關(guān)注時間。
- 方案設(shè)計:
取助力來的關(guān)注公眾號用戶,如圖 3-8 所示。
實驗組:改版前最后一個周四,前三天新關(guān)公眾號用戶。
對照組:改版后第一個周四,前三天新關(guān)公眾號用戶。
圖3-8 斷點回歸思路圖
- 數(shù)據(jù)擬合:
強提醒變?yōu)槿跆嵝咽褂|達 3 天轉(zhuǎn)化率和 7 天轉(zhuǎn)化率都有顯著降低(P 值小于 0.01),如圖 3-9。
圖3-9 斷點回歸結(jié)果圖
四、因果推斷使用總結(jié)
4.1 因果推斷使用
因果推斷分為兩個部分:因果識別(發(fā)現(xiàn))和因果效應(yīng)估計。
- WHEN:當(dāng)無法設(shè)計完美隨機實驗的時候,從觀察性的數(shù)據(jù)中去(擬合隨機試驗)測算因果效應(yīng)。
- WHAT:本質(zhì)是剝離我們所不關(guān)心的外部變量對結(jié)果的影響,從而精準估計到我們所關(guān)心的策略因素對結(jié)果的單一影響。
- HOW:評估方法的選擇本質(zhì)上可以總結(jié)為:使用場景識別選擇合適的因果推斷方法,并使用合適的方法結(jié)合業(yè)務(wù)真實數(shù)據(jù)來解決問題。
4.2 使用場景識別
通過實踐總結(jié),因果推斷方法常見的使用場景有以下四種(如圖4-1):
1)場景一:非實驗場景策略效果評估
- 問題判別:評估計算的是群體效應(yīng)(ATE)、無法進行 AB 實驗。
- 核心思想:人為創(chuàng)造一個虛擬對照組與策略上線數(shù)據(jù)做比較估計策略真實效果。
- 使用方法:PSM\SCM\Casual Impact\DID。
- 常見場景:
a. 北京市新建立了一個機場,對我們的訂單的影響。
b. 微信公眾號突然更改提醒方式,對我們用戶觸達轉(zhuǎn)化率的影響。
c. 研究政策影響方面:例如某地區(qū)通過法律將最低工資每小時 4.25 美元提高到 5.05 美元,相鄰的某地區(qū)保持不變,是否會提高就業(yè)人數(shù)。
2)場景二:實驗場景下的正向用戶下探
- 問題判別:探究干預(yù)(策略)對于不同用戶的異質(zhì)效應(yīng)(又叫 HTE),指的是哪些細分用戶對策略更敏感更容易被影響以及影響有多少,更好的歸因和理解不同的用戶群,傳統(tǒng)做法是多維分析,效率低,容易犯錯。
- 核心思想:對某個干預(yù)敏感度最大的一批人。
- 使用方法:因果樹/因果森林。
- 常見場景:通常情況下,是結(jié)合實驗來做分析的。
a. 實驗中挑選出來那些實驗效果顯著的用戶,去分析他們的特征,找到敏感用戶,幫助我們做下一步的迭代。
b. 某業(yè)務(wù)做了產(chǎn)品優(yōu)化實驗,但實驗各項消費數(shù)據(jù)表現(xiàn)較差,以 APP 平均使用時長為例,我們想找到一些群體的消費者,擁有正向的實驗收益。
3)場景三:策略敏感人群探究
- 問題判別:找到真正的干預(yù)(策略)敏感人群,將預(yù)算/資源投入到這批人群。
- 核心思想:對期望結(jié)果(如下單轉(zhuǎn)化等)進行歸因,尋找由于某個干預(yù)而引發(fā)期望結(jié)果的人群。
- 使用方法:Uplift Model。
- 常見場景:用戶營銷場景,節(jié)省成本、提升 ROI。
a. 現(xiàn)在公司有一批預(yù)算,可以給用戶發(fā)送優(yōu)惠券提升用戶購買率,應(yīng)該發(fā)給平臺的哪些用戶。
4)場景四:因果影響指標分析
- 問題判別:分析某個或者多個指標對結(jié)果的影響程度或者尋找對結(jié)果有因果影響的因素以及評估影響程度。
- 核心思想:基于歷史觀測數(shù)據(jù)進行因果建模,解決多重共線性問題和自變量和因變量的非線性問題。因果推斷經(jīng)常會遇到混淆變量的問題,比如我們想要去分析直播推薦多樣性(指標 D)對用戶活躍度(指標Y)的影響,但此時存在很多變量 X 既與 D 相關(guān)又與 Y 相關(guān)。解決這類問題傳統(tǒng)的方法是用 X 對 Y 做線性回歸,X 的參數(shù)就是影響效應(yīng),或者是上 XGboost 看 Shap 值等。但傳統(tǒng)的方法會依賴很多強假設(shè)例如不能多重共線性等,強假設(shè)下得到的估計不一定合理。所以這種場景下傳統(tǒng)的指標影響分析方法將不滿足業(yè)務(wù)需求,雙重機器學(xué)習(xí)(Double Machine Learning)可以提供思路。
- 常見場景:
a. 估計冰淇淋價格與其銷量之間的因果效應(yīng)。
b. 安裝抖音對快手使用時長的影響。
c. 探索哪些潛在的用戶行為或者哪些內(nèi)容對用戶活躍度有正向因果影響,且衡量因果效應(yīng)都是多少。
圖4-1 因果推斷通用框架