董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

因果推斷在智能營(yíng)銷場(chǎng)景有著廣泛的應(yīng)用。在哈啰出行酒店?duì)I銷業(yè)務(wù)中,自研Tree-based因果推斷模型通過(guò)修改分裂準(zhǔn)則,使得模型目標(biāo)和業(yè)務(wù)目標(biāo)的一致性更高,在智能補(bǔ)貼模塊中取得了較好的效果。

本文的主要內(nèi)容包括:

  • 背景介紹,簡(jiǎn)單介紹智能補(bǔ)貼及其中的一些問(wèn)題;
  • 因果推斷的應(yīng)用,主要是Uplift建模,即增量預(yù)估;
  • 因果推斷在哈啰智能補(bǔ)貼場(chǎng)景的應(yīng)用,包括一些創(chuàng)新;
  • 問(wèn)題的思考和未來(lái)的規(guī)劃。

01
背景介紹

  1. 天降紅包場(chǎng)景

哈啰出行的基本業(yè)務(wù)是兩輪共享出行業(yè)務(wù),包括單車和助力車。同時(shí),也有針對(duì)用戶需求而推出的服務(wù)和產(chǎn)品,例如酒店業(yè)務(wù)。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

以酒店業(yè)務(wù)促銷為例,這一業(yè)務(wù)的目標(biāo)是使總效用最大化。想要提高總效用,通常會(huì)給用戶以發(fā)優(yōu)惠券的形式做補(bǔ)貼,從而促使用戶轉(zhuǎn)化。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 智能補(bǔ)貼

從用戶層面進(jìn)行下鉆分析。左圖按照經(jīng)典的營(yíng)銷人群四象限,從“是否發(fā)券”和“是否購(gòu)買”兩個(gè)維度,將用戶分為了四類人群。其中:

營(yíng)銷敏感人群指對(duì)價(jià)格比較敏感,沒(méi)有優(yōu)惠就不會(huì)購(gòu)買、有優(yōu)惠才會(huì)購(gòu)買的人群;

自然轉(zhuǎn)化人群是指無(wú)論是否有優(yōu)惠都會(huì)購(gòu)買的人群;

無(wú)動(dòng)于衷人群是指無(wú)論是否有優(yōu)惠都不會(huì)購(gòu)買的人群;

反作用人群是指沒(méi)有優(yōu)惠活動(dòng)觸達(dá)時(shí)會(huì)購(gòu)買,但有優(yōu)惠活動(dòng)觸達(dá)時(shí)反而不會(huì)購(gòu)買,對(duì)營(yíng)銷活動(dòng)比較反感的人群。

我們進(jìn)行補(bǔ)貼的目的通過(guò)發(fā)放優(yōu)惠券,促使本來(lái)不會(huì)購(gòu)買的用戶發(fā)生轉(zhuǎn)化,從而提高總效用,我們要做的就是提高補(bǔ)貼效率。顯然,我們的目標(biāo)人群是四象限中的營(yíng)銷敏感人群。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

用戶對(duì)價(jià)格的接受程度是不一樣的,并且在用戶量龐大的情況下,是不可能給所有用戶都發(fā)放優(yōu)惠券的。

以往是依照運(yùn)營(yíng)的經(jīng)驗(yàn),根據(jù)用戶的需求來(lái)制定發(fā)放策略。后來(lái)有了算法的介入,使用機(jī)器學(xué)習(xí)算法來(lái)預(yù)估用戶的購(gòu)買概率。最初使用的是CTR預(yù)估模型,也就是Response模型的相關(guān)性模型,雖然模型策略相對(duì)運(yùn)營(yíng)策略而言有一定的提升,但也存在一些問(wèn)題。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

從具體case來(lái)看,左表中假設(shè)現(xiàn)在有兩個(gè)用戶。通過(guò)Response模型的預(yù)估,我們得到了在發(fā)券情況下兩個(gè)用戶的購(gòu)買概率,同時(shí)我們也知道他們?cè)诓话l(fā)券情況下的購(gòu)買概率??梢钥吹?,發(fā)券之后兩個(gè)用戶的購(gòu)買概率都是提升的,并且用戶2的購(gòu)買概率(1.5%)要高于用戶1的購(gòu)買概率(1.3%)。如果按照這種結(jié)果,我們是否可以決策應(yīng)該給用戶2發(fā)放優(yōu)惠券?

前面我們也提到過(guò),我們的目標(biāo)是提升補(bǔ)貼效用,所以需要再?gòu)男实慕嵌仍賮?lái)計(jì)算一下。右圖中,假設(shè)用戶1和用戶2各有一萬(wàn)人,商品的原價(jià)是10元,優(yōu)惠券的金額是2元,那么如何發(fā)券會(huì)使效率最大化呢?我們可以計(jì)算一下效率的期望。以總?cè)藬?shù)乘以購(gòu)買概率,再乘以價(jià)格,就可以得到如下的效率情況:

  • 都不發(fā)券時(shí),總效用是2200;
  • 都發(fā)券時(shí),總效用是2240;
  • 用戶1不發(fā)券,用戶2發(fā)券時(shí),總效用是2000;
  • 用戶1發(fā)券,用戶2不發(fā)券時(shí),總效用是2400。

若按照前述Response模型預(yù)估的結(jié)果進(jìn)行發(fā)券,即用戶1不發(fā)券,而用戶2發(fā)券,總效用只有2000,反而比都不發(fā)券時(shí)更低。這里是為了方便大家理解與結(jié)果相悖的發(fā)券策略舉了一個(gè)極端的例子,可以看出用Response模型的結(jié)果獲得的補(bǔ)貼效用并不是最大的。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

我們?cè)賮?lái)看一下用戶1和用戶2在發(fā)券后的購(gòu)買概率變化的差值,也就是新增的這一列Uplift的值。可以看到發(fā)券后用戶1的購(gòu)買概率提升了0.5%,用戶2的購(gòu)買概率提升了0.1%,可以看出發(fā)券對(duì)用戶的影響效果大小是不一樣的。它可以預(yù)測(cè)用戶的購(gòu)買概率,但是它無(wú)法告訴我們用戶是否因?yàn)榘l(fā)放優(yōu)惠券而產(chǎn)生購(gòu)買,也就無(wú)法識(shí)別出營(yíng)銷敏感人群。

表格中顯示了Response模型和因果推斷的關(guān)系。從發(fā)券到購(gòu)買是有因果關(guān)系的,此時(shí)就要用到因果推斷技術(shù)。

相關(guān)性模型是基于觀測(cè)結(jié)果得到的,比如觀測(cè)到了什么、購(gòu)買概率是怎樣的,主要用應(yīng)用在搜索廣告推薦等場(chǎng)景。然而補(bǔ)貼場(chǎng)景中的發(fā)券動(dòng)作,可以看作是對(duì)用戶的一次干預(yù)行為,有無(wú)法觀測(cè)到的異常,我們稱之為反事實(shí)。也就是說(shuō)在有干預(yù)存在的情況下,相對(duì)于沒(méi)干預(yù)的情況下,它是什么情況?比如說(shuō)如果我當(dāng)時(shí)沒(méi)有給用戶發(fā)券,它的結(jié)果會(huì)是怎樣?這是因果推斷所研究的問(wèn)題。

在營(yíng)銷領(lǐng)域的應(yīng)用主要是增量預(yù)估,也就是我們所說(shuō)的Uplift建模,可以通過(guò)增量的大小來(lái)識(shí)別出營(yíng)銷敏感人群。

02
因果推斷

接下來(lái)我們看一下Uplift建模,這部分主要會(huì)講一些常用的建模方法,還包括一些離線評(píng)估的方法。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

通過(guò)前面部分的介紹我們已經(jīng)知道相關(guān)性和因果性是不一樣的,我們這里再舉一個(gè)例子。在數(shù)據(jù)統(tǒng)計(jì)網(wǎng)站中有很多有趣的相關(guān)性的統(tǒng)計(jì),其中有一個(gè)是尼古拉斯凱奇參演電影數(shù)量和當(dāng)年度泳池溺水身亡人數(shù)的相關(guān)性統(tǒng)計(jì),這兩條曲線的重合度非常高,是不是可以得出結(jié)論——因?yàn)槟峁爬箘P奇演電影導(dǎo)致人溺水呢?顯然不是。還有很多這樣的例子,主要為了說(shuō)明相關(guān)性和因果性并不一樣的問(wèn)題。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 因果推斷

回到正題,Response模型和Uplift模型主要的區(qū)別可以用這兩個(gè)公式來(lái)描述。Response模型主要是預(yù)估用戶的購(gòu)買概率,Uplift模型主要預(yù)估因?yàn)槟撤N干預(yù)后用戶購(gòu)買的概率。因果推斷技術(shù)在營(yíng)銷場(chǎng)景的主要應(yīng)用,就是基于Uplift建模來(lái)預(yù)測(cè)營(yíng)銷干預(yù)帶來(lái)的增益。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 因果效應(yīng)

那么Uplift模型是如何做到增量預(yù)估的呢?我們?cè)谶@里介紹因果效應(yīng)的概念。假設(shè)有n個(gè)用戶,Yi1表示對(duì)用戶i進(jìn)行干預(yù)的結(jié)果,Yi0表示對(duì)用戶i無(wú)干預(yù)的結(jié)果,那么用戶i的因果效應(yīng)就可以表示為Yi1減Yi0。在我們的場(chǎng)景中,Y1和Y0就分別代表了發(fā)券和不發(fā)券。但是要注意的是存在反事實(shí)的問(wèn)題,因?yàn)閷?duì)同一個(gè)用戶,我們不可能既得到他發(fā)券的結(jié)果,又得到他不發(fā)券的結(jié)果。后面我們會(huì)講到反事實(shí)問(wèn)題目前的解決思路,Uplift建模的目標(biāo)因果效應(yīng),也即應(yīng)用場(chǎng)景中發(fā)券帶來(lái)的增量收益。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. Uplift建模方法

接下來(lái)介紹Uplift建模的常用方法。這里建模用到的數(shù)據(jù)都是包含有干預(yù)的數(shù)據(jù)和無(wú)干預(yù)的數(shù)據(jù)的。

T-Learner,其中T代表two的意思,也即用兩個(gè)模型。它的主要思想是對(duì)干預(yù)數(shù)據(jù)和無(wú)干預(yù)數(shù)據(jù)分別進(jìn)行建模,預(yù)估時(shí)數(shù)據(jù)進(jìn)入兩個(gè)模型,用兩個(gè)模型的預(yù)測(cè)結(jié)果做差值,來(lái)得到預(yù)估的增量。該方法的優(yōu)點(diǎn)是原理比較簡(jiǎn)單直觀,可以快速實(shí)現(xiàn)。但缺點(diǎn)是,因?yàn)閮蓚€(gè)模型的精度不一定非常高,所以兩個(gè)模型的誤差會(huì)有疊加,并且因?yàn)橛胁罘值牟僮?,這是間接計(jì)算的增量。

S-Learner,其中S代表single,也即用一個(gè)模型。它的主要思想是把干預(yù)作為特征輸入模型,在預(yù)測(cè)時(shí),同樣是用有干預(yù)的結(jié)果和無(wú)干預(yù)的結(jié)果做差,得到預(yù)估增量。和Response模型比較像,就相當(dāng)于特征里面有“是否干預(yù)”這樣的特征,它的優(yōu)點(diǎn)是,相比T-Learner減少了誤差的累積,但缺點(diǎn)同樣是間接的計(jì)算增量。

X-Learner,它的思想是先分別對(duì)有干預(yù)、無(wú)干預(yù)數(shù)據(jù)進(jìn)行建模,再用兩個(gè)模型來(lái)交叉預(yù)測(cè),得到干預(yù)數(shù)據(jù)和無(wú)干預(yù)數(shù)據(jù)分別的反事實(shí)結(jié)果。因?yàn)檫@是訓(xùn)練數(shù)據(jù),它是有真實(shí)label的,再用真實(shí)label和剛才預(yù)測(cè)的反事實(shí)結(jié)果做差,得到增量;把增量再作為label,再針對(duì)增量進(jìn)行建模。同時(shí)對(duì)有無(wú)干預(yù)進(jìn)行建模,得到干預(yù)的傾向分,并在預(yù)測(cè)增量的時(shí)候引入傾向分權(quán)重。方法的優(yōu)點(diǎn)在于,可以對(duì)前面我們預(yù)測(cè)出來(lái)的增量建模時(shí)加入先驗(yàn)知識(shí)進(jìn)行優(yōu)化,來(lái)提高預(yù)測(cè)的準(zhǔn)確性,另外還引入了傾向分權(quán)重來(lái)減少預(yù)測(cè)的誤差。但它的缺點(diǎn)也是多模型的誤差,可能會(huì)有累積,并且歸根結(jié)底也是間接得到預(yù)測(cè)增量。

上面這幾種方法都是間接得到預(yù)測(cè)增量,當(dāng)然,也有直接對(duì)增量進(jìn)行建模的方法,比如基于決策樹(shù)的模型Tree-based Model。近幾年也有一些深度學(xué)習(xí)的方法,比如DragonNet。時(shí)間關(guān)系,這里不詳細(xì)介紹。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 評(píng)估方法

那么Uplift模型應(yīng)該如何評(píng)估呢?這里我們可以看到,因?yàn)橛蟹词聦?shí)問(wèn)題的存在,我們是沒(méi)有真實(shí)的增量標(biāo)簽的,傳統(tǒng)算法的評(píng)估方法,如AUC、準(zhǔn)確率、RMSE等都是依賴真實(shí)標(biāo)簽的評(píng)估方法,在該場(chǎng)景中無(wú)法使用。Uplift模型的離線評(píng)估使用的指標(biāo)是AUUC,它的含義是Uplift曲線下的面積。可以看一下右上角圖中藍(lán)色Uplift的曲線,AUUC的指標(biāo)對(duì)曲線做積分,求它曲線下的面積。問(wèn)題又來(lái)了,Uplift曲線是如何得到的呢?我們可以看一下公式。這里我還列了一下AUUC的計(jì)算流程,幫助大家理解。

第一步,測(cè)試集進(jìn)入模型,輸出Uplift Score;

第二步,所有測(cè)試樣本根據(jù)Uplift Score做降序排序;

第三步,進(jìn)行分桶,每個(gè)桶的序號(hào)記為t;

第四步,計(jì)算每個(gè)t的累計(jì)增益。其中,Y表示分組的正例的數(shù)量,T代表是有干預(yù),C代表無(wú)干預(yù),YT表示有干預(yù)組的正例的數(shù)量,再除以NT有干預(yù)組總的樣本數(shù)量。假設(shè)label是“是否轉(zhuǎn)化”,我們就可以看到Y(jié)T除以NT是干預(yù)組的轉(zhuǎn)化率。同樣,YC除以NC是無(wú)干預(yù)組的轉(zhuǎn)化率。可以看到公式左邊是干預(yù)組相對(duì)無(wú)干預(yù)組的轉(zhuǎn)化率的增量,右邊是樣本的總數(shù)量,公式計(jì)算了收益,也即干預(yù)組相對(duì)無(wú)干預(yù)組提升了多少轉(zhuǎn)化。

第五步,求積分,計(jì)算曲線下的面積。

Uplift Score 越準(zhǔn),第一步對(duì)樣本的排序越準(zhǔn),排序越靠前的桶實(shí)驗(yàn)組和對(duì)照組的指標(biāo)的差值會(huì)越大。這表現(xiàn)為曲線的拱形。所以AUUC相對(duì)越高,就說(shuō)明相對(duì)而言模型越好。

03
因果推斷在哈啰的應(yīng)用

接下來(lái)介紹一下因果推斷在哈啰是如何應(yīng)用的,主要是Tree-based模型。這部分會(huì)詳細(xì)講解Tree-based模型和一些創(chuàng)新應(yīng)用。還有離線和線上的效果的展示。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 紅包補(bǔ)貼

這部分應(yīng)用主要是在酒店?duì)I銷場(chǎng)景中的紅包補(bǔ)貼模塊,屬于整個(gè)算法鏈路中的一環(huán)。前面已經(jīng)提到過(guò),我們的目標(biāo)是使補(bǔ)貼效用最大化。主要看的指標(biāo)是人均效用,即總效用除以人群的人數(shù)。

我們的模型是基于Tree-based的Uplift模型做了一些改進(jìn)。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. Tree-based Model

我們把基于決策樹(shù)的Uplift模型和普通分類決策樹(shù)放在一起做個(gè)比較,這樣方便理解。

二者主要不同在分裂的準(zhǔn)則和目標(biāo)。普通的決策樹(shù)的分裂準(zhǔn)則是信息增益,這樣使得葉子節(jié)點(diǎn)的信息熵最少、類別的不確定性最小,以達(dá)到分類的目的;而基于決策樹(shù)的Uplift模型的分類準(zhǔn)則是分布散度,比如常用的有kl散度、卡方散度,這樣可以使葉子節(jié)點(diǎn)中干預(yù)組和無(wú)干預(yù)組的分布差異最大,來(lái)達(dá)到提升增益的目的。

從右邊的示意圖可以看出基于決策樹(shù)的Uplift的模型是如何做到區(qū)分營(yíng)銷敏感人群的,每個(gè)葉子節(jié)點(diǎn)的圖標(biāo)表示的是葉子節(jié)點(diǎn)中占絕大多數(shù)的人群。這樣我們就可以比較容易地區(qū)分出營(yíng)銷敏感人群。

那么我們?yōu)槭裁匆x擇基于決策樹(shù)的模型呢?主要有兩點(diǎn)考慮:

① 樹(shù)模型解釋性比較強(qiáng),這點(diǎn)對(duì)業(yè)務(wù)的應(yīng)用比較有幫助。

② 直接對(duì)增量建模的準(zhǔn)確性更高,對(duì)業(yè)務(wù)的提升是我們最關(guān)心的事情。

接下來(lái)看一下我們是如何改進(jìn)基于樹(shù)的Uplift模型的,從而實(shí)現(xiàn)以增量收益最大化為目標(biāo)的Treelift模型。剛才已經(jīng)提到,樹(shù)模型最重要的點(diǎn)是分裂準(zhǔn)則和目標(biāo)的一致性。我們可以通過(guò)修改分裂準(zhǔn)則,來(lái)使得模型的目標(biāo)和業(yè)務(wù)目標(biāo)一致性更高。

目前業(yè)界主流的用法還是在用戶轉(zhuǎn)化上,也就是說(shuō)樣本的label為0或者1,因此就可以使用kl散度作為節(jié)點(diǎn)的分裂準(zhǔn)則。而我們的目標(biāo)是人均效用,用kl散度并不太合適,因?yàn)閗l散度是衡量概率分布的,因此我們改進(jìn)了分裂準(zhǔn)則來(lái)匹配業(yè)務(wù)目標(biāo)。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 以增量效用為目標(biāo)的TreeCausal

這里我們是以效用作為樣本的label,那么以干預(yù)組和無(wú)干預(yù)組的人均效用的差值的平方作為節(jié)點(diǎn)的分裂準(zhǔn)則,這里的目標(biāo)是最大化人均效用差值的平方。

算法流程:

第一步,假設(shè)分裂前的數(shù)據(jù)集為theta,那么計(jì)算分裂前發(fā)券組和無(wú)券組樣本人均效用的差異。這里我們效用的差異是這樣定義的。G是每一個(gè)用戶的label。我們對(duì)有干預(yù)組的每個(gè)人的效用做求和,再除以干預(yù)組的樣本數(shù),得到人均效用,再減去無(wú)干預(yù)組。這個(gè)差值做平方,這樣可以計(jì)算出分裂前的效用差異。

第二步,根據(jù)某個(gè)特征f將數(shù)據(jù)集theta分成左右兩個(gè)子集theta1和theta2,計(jì)算分裂后的人均效用差異,可以看一下右邊的示意圖。如果特征的值等于f,就可以分到左子集,如果不等于f,可以得到右子集。接著對(duì)每一個(gè)子集都計(jì)算人均效用的差異,再根據(jù)每一個(gè)子集的樣本比例作為權(quán)重,加權(quán)求和,最終得到計(jì)算差異。

第三步,計(jì)算增益。分裂后的人均效用差異減去分裂前的人均效用差異,得到增益。

第四步,遍歷數(shù)據(jù)集theta中所有的特征值,重復(fù)進(jìn)行第二步、第三步,我們會(huì)得到很多對(duì)應(yīng)不同特征值的增益。我們?nèi)≡鲆孀畲髸r(shí)對(duì)應(yīng)的特征值,作為節(jié)點(diǎn)的分裂值,將數(shù)據(jù)集分為左子集和右子集。

第五步,遞歸調(diào)用,對(duì)左子集和右子集再重復(fù)上述步驟,生成Treelift模型。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 隨機(jī)試驗(yàn)

接下來(lái)是關(guān)于訓(xùn)練數(shù)據(jù)的。

前面我們提到過(guò),由于反事實(shí)的存在,我們無(wú)法同時(shí)觀測(cè)到同一用戶發(fā)券和不發(fā)券的結(jié)果。那么如何讓模型學(xué)習(xí)到發(fā)券帶來(lái)的增益呢?如果說(shuō)我們站在人群的角度上來(lái)考慮群體增益,那么只要保證是否發(fā)券與用戶的特征相互獨(dú)立,就可以分析發(fā)券的群體相對(duì)不發(fā)券的群體帶來(lái)的增益。

這里很容易就可以想到,可以通過(guò)隨機(jī)實(shí)驗(yàn)來(lái)獲得滿足需求的數(shù)據(jù),但隨機(jī)實(shí)驗(yàn)的成本比較高。當(dāng)然也還有一些其他的解決方法,比如說(shuō)傾向性得分的匹配,這也是目前研究比較多的點(diǎn)。但是根據(jù)需求考慮到,我們需要驗(yàn)證因果推斷方法的業(yè)務(wù)效果,最終還是選擇了小流量隨機(jī)實(shí)驗(yàn)來(lái)獲取符合要求的數(shù)據(jù)。如右圖所示,我們通過(guò)分流平臺(tái)做了兩次分流,第一次分流是切除隨機(jī)實(shí)驗(yàn)用的小流量,第二次分流則是隨機(jī)將用戶分到實(shí)驗(yàn)組(發(fā)券組)和對(duì)照組(不發(fā)券組)。

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk
  1. 實(shí)時(shí)決策

接下來(lái)是紅包補(bǔ)貼模塊的核心部分,分為離線和線上兩部分。

線上部分,依然是通過(guò)流量分配時(shí)請(qǐng)求進(jìn)入算法組、運(yùn)營(yíng)組或者是隨機(jī)補(bǔ)貼組。其中:

運(yùn)營(yíng)組是人工策略;

隨機(jī)補(bǔ)貼組是前面提到的小流量隨機(jī)實(shí)驗(yàn),從小流量隨機(jī)實(shí)驗(yàn)得到的訓(xùn)練數(shù)據(jù)用來(lái)建模,可以得到Treelift模型,進(jìn)行一鍵評(píng)估,最后部署到線上;

算法組的流量由模型來(lái)決策發(fā)券。

模型的離線評(píng)估部分測(cè)試了不同的模型,最后得到的結(jié)果是我們經(jīng)過(guò)改進(jìn)后的Treelift模型的AUUC是最優(yōu)的??梢钥匆幌掠疑辖遣煌P椭g的對(duì)比,我們對(duì)比了T-model、S-model,還有Treelift模型,以及我們?cè)谡齽t方面的一些嘗試的模型對(duì)比。從線上效果來(lái)看,Treelift模型相比人工策略有4.7%的提升,相對(duì)于我們之前用過(guò)的Response模型也有2.3%的提升。從結(jié)果來(lái)看,優(yōu)勢(shì)是非常明顯的,Uplift模型在智能補(bǔ)貼場(chǎng)景的應(yīng)用前景還是比較廣闊的。

以上是因果推斷技術(shù)在哈啰應(yīng)用案例的介紹,希望能給大家一些啟發(fā)。

04
未來(lái)規(guī)劃

最后是我在應(yīng)用過(guò)程中遇到的一些問(wèn)題和思考,以及未來(lái)的規(guī)劃。

首先是訓(xùn)練數(shù)據(jù)的問(wèn)題。前面我們也提到了,是通過(guò)小流量隨機(jī)實(shí)驗(yàn)來(lái)得到訓(xùn)練數(shù)據(jù)的,但是這種方法的成本確實(shí)很高。如何充分利用觀測(cè)數(shù)據(jù)是一個(gè)難題,我們也會(huì)去嘗試業(yè)界的先進(jìn)經(jīng)驗(yàn),比如說(shuō)傾向性得分匹配法等。

另外是樹(shù)模型本身的問(wèn)題,訓(xùn)練速度偏慢。另外像剪枝、正則目前我們還沒(méi)有特別的優(yōu)化。這部分未來(lái)是也是可以深入研究的。目前已經(jīng)有了一些深度學(xué)習(xí)的方法,也是后續(xù)嘗試的方向。

業(yè)務(wù)方面,因?yàn)槲覀兪菍⒀a(bǔ)貼金額算到了樣本的label中,從而簡(jiǎn)化了成本問(wèn)題。但實(shí)際上很多場(chǎng)景中成本是需要單獨(dú)考慮的,因此券金額的分配也將是問(wèn)題。這里可以通過(guò)整數(shù)規(guī)劃來(lái)求解全局最優(yōu),我們未來(lái)可以也會(huì)在其他的場(chǎng)景上進(jìn)行一些嘗試。

以上是我今天分享的所有內(nèi)容,主要希望通過(guò)我們的應(yīng)用案例給大家一些啟發(fā)。這是我們的技術(shù)公眾號(hào),會(huì)不定期分享一些技術(shù)應(yīng)用,歡迎大家關(guān)注和交流。

05
提問(wèn)環(huán)節(jié)

問(wèn)題:為什么AUUC能反映反事實(shí)轉(zhuǎn)化效果?

董彥燊:因果推斷在哈啰出行的實(shí)踐探索|DataFunTalk

我們可以看一下Uplift曲線是怎么計(jì)算的。首先它的變量是t,t是根據(jù)Uplift Score降序排序之后,進(jìn)行分桶得到的。以圖為例,0.2就代表20%,根據(jù)排序之后,我們?nèi)∏?0%的數(shù)據(jù),取出來(lái)這樣的數(shù)據(jù),來(lái)計(jì)算后面的公式。左邊因子這部分YT除以NT這一部分是代表的是實(shí)驗(yàn)組(發(fā)券組)的轉(zhuǎn)化率,YC除以NC代表的是對(duì)照組(不發(fā)券組)的轉(zhuǎn)化率,差值是發(fā)券相對(duì)不發(fā)券帶來(lái)的轉(zhuǎn)化率的提升的幅度差值,再乘上總的樣本數(shù)量,就比較清楚了。假設(shè)所有人都發(fā)券,和所有人都不發(fā)券相比,額外提升的幅度就是對(duì)于增量的預(yù)估。

今天的分享就到這里,謝謝大家。

本文經(jīng)授權(quán)發(fā)布,不代表增長(zhǎng)黑客立場(chǎng),如若轉(zhuǎn)載,請(qǐng)注明出處:http://gptmaths.com/quan/59034.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
上一篇 2022-02-28 14:25
下一篇 2022-02-28 15:15

增長(zhǎng)黑客Growthhk.cn薦讀更多>>

發(fā)表回復(fù)

登錄后才能評(píng)論