場(chǎng)景:
數(shù)字營(yíng)銷荔仁,廣告行業(yè)售貌。在互聯(lián)網(wǎng)領(lǐng)域,流量變現(xiàn)一直都是很多產(chǎn)品非常大的一個(gè)利潤(rùn)來(lái)源丙号。因?yàn)楹芏鄠鹘y(tǒng)領(lǐng)域(甚至一些轉(zhuǎn)型的領(lǐng)域先朦,如電商)在互聯(lián)網(wǎng)環(huán)境下,一個(gè)重大的開支都是營(yíng)銷支出犬缨,這些支出中其中一個(gè)重要分支說(shuō)到底喳魏,就是流量成本。
目標(biāo)分析:
- 而衡量我們收益怀薛,的一般是傳統(tǒng)意義上的ROI(在預(yù)算有限的環(huán)境下刺彩,提升ROI也是直接提升轉(zhuǎn)化量),比較典型的例如RTB廣告,其一直是效果廣告的首選创倔,一般比較適用于從外部流量投放三热,去拉取新用戶的狀態(tài),對(duì)于這種需求三幻,其實(shí)傳統(tǒng)的點(diǎn)擊就漾,轉(zhuǎn)化模型是比較合適的。ROI=點(diǎn)擊(轉(zhuǎn)化)收益/競(jìng)價(jià)成本念搬。*
- 但是對(duì)于自有用戶抑堡,流量很多,復(fù)購(gòu)率很高的一些電商來(lái)說(shuō)朗徊,ROI中收益的計(jì)算首妖,并不是嚴(yán)格意義上直接歸因的收益。因?yàn)閷?duì)于一些用戶爷恳,可能你不營(yíng)銷有缆,他們也能轉(zhuǎn)化。實(shí)際上:
Revenue = (p(act | treatment) - p(act | no_treatment)) * act_value
核心難點(diǎn)1:Partial Observation
- 這個(gè)問(wèn)題温亲,有個(gè)最核心的難點(diǎn)棚壁,就是對(duì)于同一用戶,我們要么知道其在treatment下的label栈虚,要么知道其在no treatment下的label【無(wú)法同時(shí)得到他們的ground truth袖外,我在這里定義為partial observation】。我們無(wú)法知道其在兩種狀態(tài)下的ground truth魂务,所以直覺(jué)上不好直接地建模曼验。
要解決它,一個(gè)比較明確的方案就是粘姜,依靠模型的泛化性來(lái)解決鬓照。雖然不是同一個(gè)用戶,但是對(duì)“同一類”用戶孤紧,我們是有可能得到他們兩種狀態(tài)下的label的豺裆。這里需要用到條件獨(dú)立的假設(shè),即隨機(jī)分AB組坛芽,并對(duì)其中一組做treatment留储,另一組不做翼抠。則能得到無(wú)偏數(shù)據(jù)(特征獨(dú)立于treatment)咙轩。
核心難點(diǎn)2:無(wú)法完全無(wú)偏
- 很多情況下,要優(yōu)化最終收益阴颖,ROI燈活喊,我們需要使用
來(lái)進(jìn)行估計(jì),以得到:
由此來(lái)決策量愧。但是由于很多時(shí)候我們無(wú)法獲得完全無(wú)偏的數(shù)據(jù)(我們不可能每次都進(jìn)行大規(guī)模的隨機(jī)實(shí)驗(yàn))钾菊,因此帅矗,由于Confounder的存在,煞烫,所以浑此,我們需要小心地做進(jìn)行Debias
*TODO
理解到上述問(wèn)題后,我們的任務(wù)就是對(duì)問(wèn)題進(jìn)行建模滞详。那么現(xiàn)在其實(shí)有多種建模的思路:
建模思路:
conceptional 2x2 Matrix:[2] 先通過(guò)這個(gè)圖凛俱,理解一下我們知道的,我們想知道的:
1料饥、在兩個(gè)樣本集上做兩個(gè)模型蒲犬。一個(gè)是“treatment下的轉(zhuǎn)化”另一個(gè)就是“沒(méi)有treatment的轉(zhuǎn)化”,在推斷的時(shí)候岸啡,使用兩個(gè)模型的差值來(lái)做為最終預(yù)估原叮。不過(guò)由于是兩個(gè)模型,可能最終的累積誤差會(huì)比較大巡蘸。
2奋隶、類似地可以只使用同一個(gè)模型,將有無(wú)treatment作為特征輸入悦荒。最終預(yù)估仍然是兩次預(yù)估取差值达布。不過(guò)和方法1比較類似,相當(dāng)于共享了更多的參數(shù)逾冬,樣本更多(兩倍)黍聂,訓(xùn)練更充分,累積誤差會(huì)小一點(diǎn)(但是實(shí)際上還是預(yù)估兩次做差身腻,累積誤差擴(kuò)大問(wèn)題還是存在)产还。當(dāng)然,這個(gè)模型也有很多可以優(yōu)化的細(xì)節(jié)嘀趟,比如做weighted loss脐区,對(duì)Control NoneRespond與Treatment Respond部分加權(quán)(or不同權(quán)重),使其這部分預(yù)估得更精準(zhǔn)一些她按。因?yàn)檫@部分是主要uplift的來(lái)源牛隅。
3、根據(jù)上述權(quán)重優(yōu)化的思路酌泰,其實(shí)也可以用別的一些目標(biāo)建模媒佣。例如將CN與TR的label設(shè)為1,其他為0陵刹,相當(dāng)于我們直接建模預(yù)估哪些是persuadable的【即這兩部分比較有潛力】默伍,然后對(duì)這部分用戶提供treatment。參考[3]
4、直接對(duì)revenue建模:
可以參考論文[1]也糊,可以直接使用模型對(duì)使用怎樣的treatment進(jìn)行建模炼蹦,直接計(jì)算與優(yōu)化建模的期望收益。
由于其實(shí)現(xiàn)的方法要對(duì)訓(xùn)練過(guò)程狸剃,loss等進(jìn)行比較大的改造掐隐,所以成本較大。
不像1中的方法钞馁,能比較好地兼容現(xiàn)有的訓(xùn)練推理體系瑟枫。PS:其實(shí)同理,這個(gè)模型也可以是多目標(biāo)的指攒。幫助我們?cè)诙鄠€(gè)層次上對(duì)用戶行為進(jìn)行更精細(xì)的建模慷妙。
評(píng)估思路:
這里評(píng)估也因?yàn)閜artial observation,有一大難點(diǎn)允悦,就是我們無(wú)法知道真正的uplift(用戶在treatment與control兩種狀態(tài)下分別的ground truth我們只能觀測(cè)到一種)膝擂。所以,我們的思路便是:以群體的視角來(lái)看待用戶隙弛。架馋,用在群體中的期望收益,來(lái)代替對(duì)個(gè)人的收益全闷。(對(duì)于某一個(gè)人我們只能觀測(cè)到T 或者C其中一種狀態(tài)叉寂。而對(duì)于群體我們能通過(guò)隨機(jī)策略,同時(shí)獲得T與C組的觀測(cè)結(jié)果总珠,通過(guò)群體上的期望評(píng)估來(lái)代替?zhèn)€人)
- 即:我們的目標(biāo)雖然是評(píng)估ITE(Individual Treatment Effect)屏鳍,但是我們沒(méi)法直接觀測(cè)評(píng)估它,所以我們通過(guò)ATE(Average Treatment Effect)局服,在群體上統(tǒng)計(jì)uplift來(lái)分析钓瞭。
Qini Curve
QINI = TR - [(CR*T)/C];QINI = (TR/T) - (CR/C)【這是歸一化的后的百分比QINI】
這個(gè)非常好理解x軸為人數(shù)淫奔,y軸為累積收益:
- x軸即為分?jǐn)?shù)從高到底逆序的分位點(diǎn)山涡。(例如有10個(gè)點(diǎn),即top10%唆迁,top20%..)
- y軸為這些樣本中鸭丛,累積的收益(例如正樣本數(shù)量),
圖中線段:
- 1唐责、baseline是一根直線(假設(shè)用戶隨機(jī)鳞溉,均勻分布,則每個(gè)分組中轉(zhuǎn)化數(shù)量=分組人數(shù)*整體期望差【Treatment轉(zhuǎn)化概率- Control轉(zhuǎn)化概率】)妒蔚,右方最高點(diǎn)即為總的轉(zhuǎn)化差值穿挨。
- 2、藍(lán)色為模型的線肴盏,對(duì)于我們的模型來(lái)說(shuō)科盛,按照模型預(yù)估的uplift分?jǐn)?shù)(在差分模型中就是u(x) = p(x| t=1)-p(x | t=0))來(lái)對(duì)用戶排序(包含T組與C組【treatment,control】)菜皂,然后再在分組的用戶中計(jì)算轉(zhuǎn)化的數(shù)量增益:
Treatment轉(zhuǎn)化數(shù)量 - Control轉(zhuǎn)化數(shù)量(注意贞绵,橫坐標(biāo)必須保證每組人數(shù)數(shù)量是一致的【或者比例固定】,對(duì)應(yīng)的baseline才能畫出一條直線恍飘。也正式因?yàn)門組與C組人數(shù)比例是固定的榨崩,所以期望的uplift收益=期望轉(zhuǎn)化人數(shù)*T/(T+C),由于T/(T+C)是固定的章母,所以這個(gè)對(duì)應(yīng)的baseline才能成為直線)
PS1:由于我們先決假設(shè)特征X與是否使用T是條件獨(dú)立的母蛛,所以理論上,在同一個(gè)Uplift分?jǐn)?shù)段中乳怎,T組與C組的人數(shù)應(yīng)該是一樣的彩郊。
PS2:理論上如果模型有效,應(yīng)該能將“提升大的用戶”分在前面蚪缀,所以真實(shí)提升應(yīng)該更向左上方集中秫逝。
AUUC
變量假設(shè)參考論文[4]
我們可以用類似auc的方式計(jì)算:
Qini coefficient
類似地,也是參考qini curve:
這里NT,NC標(biāo)示T組的人數(shù)询枚,C組的人數(shù)违帆。這里便是將其scale到同一個(gè)人數(shù)標(biāo)準(zhǔn)下。
RT(k)=kE(Y|t=T)金蜀,即分為點(diǎn)數(shù)量每組期望數(shù)量轉(zhuǎn)化數(shù)量
Refer:
[1]:Uplift Modeling with Multiple Treatments and General Response Types
[2]:https://www.kaggle.com/davinwijaya/uplift-modeling-qini-curve-with-python
[3]:The Class variable transformation (CVT) Model(Jaskowski und Jaroszewicz, 2012) and Lai′s Weighted Uplift Method (LWUM) (Kane, Lo und Zheng, 2014)
[4]:A Large Scale Benchmark for Uplift Modeling
https://zhuanlan.zhihu.com/p/100821498
https://blog.csdn.net/jxq0816/article/details/105100834/