因果推薦技術(shù)在營(yíng)銷(xiāo)和可解釋性上的應(yīng)用
主要包括以下四大部分內(nèi)容:
1. Uplift 增益敏感性預(yù)測(cè)
2. 增益敏感度的應(yīng)用
3. 貝葉斯因果網(wǎng)絡(luò)的介紹
4. 畫(huà)像決策路徑構(gòu)建及可解釋性應(yīng)用
01 Uplifit 增益敏感度預(yù)測(cè)
關(guān)于 Uplift 增益,通用的業(yè)務(wù)問(wèn)題可以總結(jié)為,在圈定的人群中,營(yíng)銷(xiāo)人員會(huì)想知道,新的營(yíng)銷(xiāo)動(dòng)作 T=1 相比較原始的營(yíng)銷(xiāo)動(dòng)作 T=0,能帶來(lái)多少的平均收益(lift,ATE,Average Treatment Effect)。大家會(huì)關(guān)注新的營(yíng)銷(xiāo)動(dòng)作是否比原來(lái)的更有效。
在保險(xiǎn)場(chǎng)景下,營(yíng)銷(xiāo)動(dòng)作主要指的是保險(xiǎn)的推薦,比如推薦模塊上透出的文案和產(chǎn)品,目標(biāo)是在各種營(yíng)銷(xiāo)動(dòng)作和約束條件限制下,找到因營(yíng)銷(xiāo)動(dòng)作而增益最多的群體,去做定向投放(Audience Targeting)。
先做一個(gè)比較理想且完美的假設(shè):對(duì)于每一個(gè)用戶(hù) i ,都能知道他對(duì)營(yíng)銷(xiāo)動(dòng)作 t 是不是買(mǎi)賬。如果買(mǎi)賬,可以認(rèn)為公式中的 Di 為正,且 value 比較大;如果不買(mǎi)賬,且對(duì)營(yíng)銷(xiāo)動(dòng)作很反感,Di 可能就會(huì)比較小,甚至是負(fù)向的。這樣就能夠得到每個(gè)用戶(hù)個(gè)體對(duì)于 treatment 的效果。
關(guān)于人群劃分,可以看到上圖中的營(yíng)銷(xiāo)四象限,我們最關(guān)注的肯定是左上角 Persuadables 的人群。結(jié)合公式,該人群的特點(diǎn)是當(dāng)有一些營(yíng)銷(xiāo)動(dòng)作的時(shí)候,會(huì)很買(mǎi)賬,也就是 Yi > 0 ,且值比較大。如果對(duì)該人群不去做營(yíng)銷(xiāo)動(dòng)作則是負(fù)的,或者是比較小,等于 0,這樣的人群的 Di 就比較大。
再看另外兩個(gè)象限的人,Sure things,指無(wú)論是否營(yíng)銷(xiāo),這些人都會(huì)買(mǎi),那么營(yíng)銷(xiāo)投到這一人群上的收益率是比較低的。Sleeping dogs,是指去做營(yíng)銷(xiāo)反而會(huì)起到一些負(fù)面作用。這兩部分群體最好不要進(jìn)行營(yíng)銷(xiāo)投放。
但是這里也存在一個(gè)反事實(shí)的困境:Di 沒(méi)有那么完美。我們不可能同時(shí)知道一個(gè)用戶(hù)對(duì) treatment 是否感興趣,即無(wú)法知道同一用戶(hù)在同一時(shí)間對(duì)不同 treatment 下的反應(yīng)。
最通俗的一個(gè)例子是:假設(shè)有一個(gè)藥物,給 A 吃了之后,會(huì)得到 A 對(duì)藥物的反應(yīng)。但卻不知道,如果 A 不吃的結(jié)果,因?yàn)?A 已經(jīng)將藥吃下去了,這其實(shí)就是一個(gè)反事實(shí)的存在。
對(duì)于反事實(shí),我們進(jìn)行了近似的預(yù)估。ITE(Individual Treatment Effect )預(yù)估的方式,雖然找不到一個(gè)用戶(hù),實(shí)驗(yàn)其對(duì)兩個(gè) treatment 的反應(yīng),但可以找到相同特征的用戶(hù)群來(lái)預(yù)估反應(yīng),比如具有相同 Xi 的兩個(gè)人,可以假設(shè)在同一特征空間下,近似等同為一個(gè)人。
這樣,Di 的預(yù)估分成了三塊:(1)Xi 在 T=1 的營(yíng)銷(xiāo)動(dòng)作下的轉(zhuǎn)化率;(2)Xi 在 T=0 的營(yíng)銷(xiāo)動(dòng)作下的轉(zhuǎn)化率;(3)lift 是一個(gè)差值,計(jì)算兩個(gè)條件概率下的差異。用戶(hù)群體的 lift 值越高,則說(shuō)明該人群更買(mǎi)賬。如何讓 lift 更高呢?在公式中,是將 Xi 在 T=1 的營(yíng)銷(xiāo)動(dòng)作下的轉(zhuǎn)化率變大,Xi 在 T=0 的營(yíng)銷(xiāo)動(dòng)作下的轉(zhuǎn)化率越小即可。
在建模方式上,結(jié)合上文的公式,做一些歸納:
(1)T 變量的數(shù)量,如果不只是一個(gè)營(yíng)銷(xiāo)動(dòng)作,而是有 n 個(gè)營(yíng)銷(xiāo)動(dòng)作,則為多變量 Uplift 建模,否則是單變量 Uplift 建模。
(2)條件概率 P 以及 lift 的預(yù)估方式:① 通過(guò)差分建模,預(yù)估 P 值,然后找到 lift 值,這是間接的建模。② 通過(guò)直接建模,比如標(biāo)簽轉(zhuǎn)化模型,或者是因果森林,比如 Tree base 、LR、 GBDT 或者一些深度模型。
02 增益敏感度的應(yīng)用
增益敏感度主要做了三方面的應(yīng)用:保險(xiǎn)產(chǎn)品的推薦,紅包推薦,以及文案的推薦。
首先來(lái)介紹一下,旅游保險(xiǎn)在飛豬上是什么樣的定位。旅游保險(xiǎn)是旅行商品中的一個(gè)種類(lèi),但它更多的是出現(xiàn)在主營(yíng)商品的搭售鏈路上。比如我們?nèi)ビ啓C(jī)票、酒店的時(shí)候,主要購(gòu)買(mǎi)意圖是:酒店、機(jī)票、火車(chē)票,這個(gè)時(shí)候 APP 會(huì)問(wèn)你要不要買(mǎi)一個(gè)保險(xiǎn)。所以保險(xiǎn)是屬于一個(gè)輔營(yíng)業(yè)務(wù),但是其目前已經(jīng)成為交通和住宿行業(yè)一個(gè)非常重要的商業(yè)性收入來(lái)源。
本文講的主要作用域在彈窗頁(yè):彈窗頁(yè)是飛豬 APP 下拉收銀臺(tái)的時(shí)候會(huì)彈出的一個(gè)頁(yè)面,這個(gè)頁(yè)面只會(huì)展示一種創(chuàng)意文案,只能展示一種保險(xiǎn)商品,這一點(diǎn)與前面詳情頁(yè)可以展示多個(gè)類(lèi)型的商品,以及保險(xiǎn)的價(jià)格不同。所以這個(gè)頁(yè)面,會(huì)讓用戶(hù)的注意力足夠的聚焦在這里,并且可以做一些拉新促活,甚至是一些用戶(hù)教育培養(yǎng)的營(yíng)銷(xiāo)動(dòng)作。
目前遇到的業(yè)務(wù)問(wèn)題為:在彈窗頁(yè)面,我們需要去推薦一個(gè)最佳的保險(xiǎn)產(chǎn)品或者紅包,使得整體的轉(zhuǎn)化或者收益最大化。更具體的是去做一個(gè)拉新,或者是更高轉(zhuǎn)化的業(yè)務(wù)目標(biāo)。而業(yè)務(wù)收益目標(biāo)是在收益不降低的情況下,提高轉(zhuǎn)化率。
在以上的約束條件下,有幾個(gè)營(yíng)銷(xiāo)項(xiàng):(1)給用戶(hù)推薦一個(gè)入門(mén)級(jí)低價(jià)保險(xiǎn);(2)另外一個(gè) treatment,推薦一些紅包,主要是去做一些拉新的操作。而 Base 就是原價(jià)的保險(xiǎn)。
建模的時(shí)候,有一些假設(shè)的條件:條件獨(dú)立的假設(shè)。指 treatment 營(yíng)銷(xiāo)動(dòng)作,在建模 uplift 采集的時(shí)候,樣本服從假設(shè)條件獨(dú)立,用戶(hù)的各個(gè)特征是相互獨(dú)立的。比如發(fā)紅包,不能在年齡上有不同的分布,例如,在年輕人上少一點(diǎn),老年人上發(fā)的多一點(diǎn)。這個(gè)會(huì)導(dǎo)致樣本有偏。所以提出的解法是讓用戶(hù)隨機(jī)地去曝光商品。同樣的,也可以計(jì)算傾向性得分,得到同質(zhì)的用戶(hù)群,去做對(duì)比。
在實(shí)驗(yàn)設(shè)計(jì)上,AB 實(shí)驗(yàn):A 是按原來(lái)的策略去投放,可能是 40 塊錢(qián)的保險(xiǎn),也可能是運(yùn)營(yíng)來(lái)進(jìn)行保險(xiǎn)的定價(jià),或者原始模型的一個(gè)定價(jià)。B 桶,低價(jià)保險(xiǎn)投放。
Label :用戶(hù)是否轉(zhuǎn)化成交。
模型:T/S/X-learner 以及各類(lèi)的這種 Meta 模型。
樣本構(gòu)造:訴求是要刻畫(huà)用戶(hù)到底對(duì)這種低價(jià)保險(xiǎn)是否更感興趣,就需要有足夠多的特征去刻畫(huà)用戶(hù)對(duì)價(jià)格的敏感性。但實(shí)際上像輔營(yíng)產(chǎn)品,沒(méi)有一個(gè)比較強(qiáng)的意圖性。所以我們很難從用戶(hù)的歷史瀏覽購(gòu)買(mǎi)記錄當(dāng)中,看到用戶(hù)到底喜歡多少塊錢(qián)的保險(xiǎn),或者是他會(huì)購(gòu)買(mǎi)多少錢(qián)的保險(xiǎn)。我們只能從主營(yíng)或者用戶(hù)流瀏覽的一些其他的飛豬 APP 域內(nèi)的數(shù)據(jù)上去看,也會(huì)看用戶(hù)紅包的使用頻率和紅包消費(fèi)比例,比如用戶(hù)會(huì)不會(huì)只有在發(fā)紅包的前幾天,才在飛豬上進(jìn)行轉(zhuǎn)化。
基于以上的特征樣本的構(gòu)造,同樣進(jìn)行特征重要性和可解釋性的分析。通過(guò) Tree base 模型可以看到,在一些時(shí)間、價(jià)格變量、年齡變量特征上是比較敏感的。
評(píng)估指標(biāo)的計(jì)算方式:Gini 和 Accumulated Gini。將 Uplift 分成 n 組,每一組去計(jì)算一個(gè) Gini 分,如上圖第一個(gè)公式所示,在該分組下得到用戶(hù)映射到 test 桶和 base 桶之后的轉(zhuǎn)化率,再去算 Gini。同理類(lèi)推到 Uplift Gini,通過(guò)計(jì)算不同的閾值下的收益分,輔助我們?nèi)プ鲩撝档囊粋€(gè)判定。
通過(guò)離線可得,表現(xiàn)最好的模型是 LR+T-Learner,其實(shí)不太符合原始的預(yù)期。后來(lái)思考了這個(gè)問(wèn)題,也許問(wèn)題出在用戶(hù)對(duì)保險(xiǎn)相關(guān)的價(jià)格特征的構(gòu)建上,并不太足夠去刻畫(huà)。因?yàn)槲覀円踩プ隽艘恍┯脩?hù)調(diào)研,比如用戶(hù)的性格,對(duì)保險(xiǎn)的敏感程度,這種 APP 域內(nèi)的一些用戶(hù)畫(huà)像數(shù)據(jù),能看到用戶(hù)對(duì)一個(gè)無(wú)實(shí)物商品的感興趣程度。但最終,還是基于這樣的分?jǐn)?shù),去劃定人群做投放,線上的 base 桶相對(duì)提升 5.8%。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。