深度 UPLIFT 模型在騰訊金融用戶增長(zhǎng)場(chǎng)景中的應(yīng)用
一、UPLIFT 模型簡(jiǎn)介
首先介紹一下 UPLIFT 模型。
一個(gè)經(jīng)典的場(chǎng)景:市場(chǎng)營(yíng)銷活動(dòng)怎么找到最優(yōu)投放客群?或者怎么找到最優(yōu)的營(yíng)銷激勵(lì)方式?
?普遍的思路就是投放高意愿(上圖 Sure Things 和 Persuadable 象限)的用戶,但是這個(gè)思路最大的問題是:它忽略了自然流量下的用戶轉(zhuǎn)化。首先,高意愿用戶中有一部分用戶(Sure Things 象限用戶)不投放也能夠自然轉(zhuǎn)化;此外,在折扣券的營(yíng)銷模式下,直接對(duì)高意愿用戶進(jìn)行投放往往會(huì)帶來一個(gè)高成本的損耗。那是不是可以轉(zhuǎn)而投低意愿(Do Note Disturbs 和 Lost Causes 象限)的用戶呢?通過投放將他們的消費(fèi)意愿提升?事實(shí)上,對(duì)于低意愿的用戶,他們轉(zhuǎn)化的概率本來就很低,可能無論你怎么投他都不轉(zhuǎn)化,甚至?xí)谰昧魇В窍拇罅繝I(yíng)銷成本。
因此,在解決這類市場(chǎng)營(yíng)銷問題前,我們需要先回到市場(chǎng)營(yíng)銷學(xué)的概念——“營(yíng)銷增益”上。“營(yíng)銷增益”的意思就是我們的營(yíng)銷活動(dòng)應(yīng)該聚焦在能被改變立場(chǎng)的那一部分用戶。通俗的說我們要找的目標(biāo)客群就是營(yíng)銷前不會(huì)轉(zhuǎn)化,但是營(yíng)銷后會(huì)轉(zhuǎn)化的人群(Persuadable 象限人群),而 UPLIFT 模型就是為了找到這些對(duì)營(yíng)銷激勵(lì)敏感的人群。?
1、UPLIFT 模型 VS 響應(yīng)(Response)模型
(1)響應(yīng)模型
在判斷對(duì)用戶營(yíng)銷后用戶是否會(huì)轉(zhuǎn)化時(shí),往往會(huì)構(gòu)建一個(gè)響應(yīng)(Response)模型,模型會(huì)預(yù)測(cè)每個(gè)用戶的轉(zhuǎn)化率,然后我們會(huì)根據(jù)一系列的數(shù)據(jù)分析、成本預(yù)估等,劃定一個(gè)轉(zhuǎn)化率閾值,對(duì)預(yù)測(cè)高于這個(gè)轉(zhuǎn)化率閾值的用戶進(jìn)行投放。響應(yīng)模型簡(jiǎn)單高效,能直接用當(dāng)前所有主流的機(jī)器學(xué)習(xí)/深度學(xué)習(xí)等模型進(jìn)行構(gòu)建,但是它最大的問題就是沒有考慮不營(yíng)銷也能轉(zhuǎn)化的那一部分自然轉(zhuǎn)化流量,因此建模目標(biāo)和商業(yè)目標(biāo)并不完全匹配。
(2)UPLIFT 模型
UPLIFT 模型則用一個(gè)或多個(gè)模型來分別預(yù)測(cè)用戶在營(yíng)銷下的轉(zhuǎn)化率和非營(yíng)銷下的轉(zhuǎn)化率,這兩個(gè)值的差值就是 UPLIFT。最終我們根據(jù) UPLIFT 值的大小來決策是否投放。
對(duì)比上圖中響應(yīng)模型和 UPLIFT 模型曲線圖可以看出,UPLIFT 模型會(huì)導(dǎo)致干預(yù)時(shí)間提前。在用戶流失預(yù)警場(chǎng)景中,運(yùn)營(yíng)需要對(duì)即將流失的用戶進(jìn)行提前挽留。在實(shí)際應(yīng)用中,預(yù)測(cè)用戶流失的具體時(shí)間是沒有意義的,對(duì)這部分用戶施加挽留措施可能已經(jīng)錯(cuò)過最佳干預(yù)時(shí)點(diǎn),而預(yù)測(cè)能夠被運(yùn)營(yíng)措施挽留的用戶才有落地價(jià)值。
2、UPLIFT 模型和因果推斷
UPLIFT 模型本身是因果推斷領(lǐng)域的,上圖簡(jiǎn)單總結(jié)了基于觀察研究的因果推斷。首先包括經(jīng)典的因果推斷方法,這類方法主要是研究平均干預(yù)效應(yīng),形成策略效果的整體方向性評(píng)估,比如有學(xué)者研究“吸煙是否有害健康”,得出長(zhǎng)期吸煙會(huì)降低壽命期望的結(jié)論,這樣的結(jié)論往往是方向性的,形成不了具體的策略,這就是我們?cè)趯?shí)際工作中面臨的一個(gè)問題——即因果推斷方法怎么去落地。另一方面,UPLIFT 模型屬于研究異質(zhì)因果效應(yīng)類的模型,發(fā)現(xiàn)對(duì)不同的群體或者不同的個(gè)體進(jìn)行干預(yù)所產(chǎn)生的效果是不一樣的,從而發(fā)現(xiàn)干預(yù)機(jī)制規(guī)律,形成個(gè)性化的策略落地。
接下來我們介紹幾個(gè)定義:
(1)Neyman-Rubin 潛在結(jié)果框架: 個(gè)體(樣本)由自身固有屬性呈現(xiàn)出潛在結(jié)果,這種潛在結(jié)果往往在現(xiàn)實(shí)世界中只能存在一面,這就會(huì)帶來一個(gè)很大的問題:歸納偏置(Inductive Bias)。
(2)CATE: UPLIFT 模型的建模目標(biāo)。
(3)無混雜基本假設(shè)(Unconfoundedness):對(duì)混淆因素進(jìn)行控制(且沒有未發(fā)現(xiàn)混雜因素)進(jìn)行預(yù)估才能得到無偏的 CATE。
3、UPLIFT 模型的行業(yè)應(yīng)用
UPLIFT 模型有廣泛的行業(yè)應(yīng)用,應(yīng)用途徑大概分為兩類:一類是評(píng)估干預(yù)的異質(zhì)性效應(yīng) HTE。以 A/B 測(cè)試為例,可能在整體上觀測(cè)到的干預(yù)效應(yīng)不顯著,但是通過 UPLIFT 模型下鉆能找到干預(yù)效果顯著的子群體。一類是策略優(yōu)化,包括公共服務(wù)領(lǐng)域和互聯(lián)網(wǎng)個(gè)性化營(yíng)銷領(lǐng)域的策略定制。
二、技術(shù)挑戰(zhàn)
1、UPLIFT 模型建模過程
UPLIFT 建模首先是數(shù)據(jù)收集,一般情況下我們先創(chuàng)建隨機(jī)對(duì)照實(shí)驗(yàn),實(shí)驗(yàn)組全都進(jìn)行干預(yù),對(duì)照組都不干預(yù), 隨后收集樣本用 UPLIFT 模型建模。
以 T-Leaner 為例,干預(yù)樣本可以構(gòu)建一個(gè)響應(yīng)模型,非干預(yù)樣本可以構(gòu)建一個(gè)響應(yīng)模型,最后得到的打分求差就是 UPLIFT 值。
2、UPLIFT 建模的兩個(gè)核心問題
UPLIFT 建模有兩個(gè)核心問題:
(1)混雜因素偏置 Confounding Bias
由于干預(yù)機(jī)制導(dǎo)致的選擇偏差,引起干預(yù)樣本和不干預(yù)樣本的特征分布不一致,產(chǎn)生了混雜因素。這一類混雜因素一方面會(huì)影響干預(yù),也會(huì)影響結(jié)果。由于混雜因素的存在,我們無法得到一個(gè)干凈的因果效應(yīng)。具體案例比如:
① 流行度偏差:曝光集中在熱門干預(yù)。
② 選擇偏差:不同人群物品曝光差異。
基于這樣的樣本去建模大概率是得不到置信度高的結(jié)論的。
主要的解決方法:
?① 在 loss 引入傾向分正則項(xiàng)。
② 在模型結(jié)構(gòu)引入傾向分鏈?zhǔn)健?duì)抗結(jié)構(gòu)。
③ 傾向分逆加權(quán)采樣。
④ 解離表征:試圖將混雜因素項(xiàng)解離到一個(gè)向量中。?
(2)歸納偏置 Inductive Bias
如下圖所示:當(dāng)樣本/個(gè)體分別在干預(yù)/不干預(yù)的模型下進(jìn)行打分后的分布不一致時(shí),我們對(duì)干預(yù)打分-非干預(yù)打分差值(CATE)進(jìn)行分布統(tǒng)計(jì)時(shí)會(huì)發(fā)現(xiàn)抖動(dòng)很厲害,不同個(gè)體/群體之間的 UPLIFT 差別很難分辨,這說明 UPLIFT 模型預(yù)測(cè)基本是失效的。
這個(gè)案例就展示了歸納偏置(Inductive Bias)問題:從模型架構(gòu)角度,預(yù)估反事實(shí)結(jié)果無監(jiān)督信號(hào),或潛在結(jié)果預(yù)估正則化程度不一致,導(dǎo)致最終 UPLIFT 預(yù)估不穩(wěn)定。
回到 Neyman-Rubin 潛在結(jié)果框架,對(duì)于不同的個(gè)體我們只知道干預(yù)的結(jié)果或者不干預(yù)的結(jié)果,不可能同時(shí)知道干預(yù)和不干預(yù)的結(jié)果,這導(dǎo)致了兩個(gè)潛在結(jié)果預(yù)估的分布不一致;而且我們的深度模型建模目標(biāo)往往是 CTR 或者 CVR ,他們本身不可能直接得到一個(gè)增益得分(UPLIFT),這就導(dǎo)致我們的建模目標(biāo)和最終評(píng)估的指標(biāo)是不一致的。在圖中我們可以看到 CATE 的分布與潛在結(jié)果預(yù)估得分分布完全不一致。這一系列的問題我們都總結(jié)為歸納偏置問題。歸納偏執(zhí)問題是 UPLIFT 模型的一個(gè)核心問題,目前學(xué)界大概提出了以下四種解決方法:
① 反事實(shí)輸出向量一致性,MMD 等分布對(duì)齊方法;
② 設(shè)計(jì)合理的共享參數(shù)架構(gòu),F(xiàn)lexTENet、S-Net;
③ 反事實(shí)參數(shù)差異限制;
④ 在模型結(jié)構(gòu)引入重參結(jié)構(gòu)(reparametrization),EUEN。
3、UPLIFT 模型應(yīng)用挑戰(zhàn)
介紹完 UPLIFT 的核心問題后,接下來簡(jiǎn)單說一下 UPLIFT 模型的應(yīng)用挑戰(zhàn)。在金融領(lǐng)域主要有兩大類:一類是多值/ 連續(xù)值干預(yù),一類是連續(xù)結(jié)果預(yù)估。
三、深度 UPLIFT 模型發(fā)展脈絡(luò)
?沿著剛剛提出的 UPLIFT 模型的兩大核心問題——混雜因質(zhì)偏置和歸納偏置,學(xué)界和工業(yè)界提出了很多解決方案。
首先最基本的是 Meta-Learner,代表的建模方案有 S-Learner 和 T-Learner,隨后進(jìn)入深度學(xué)習(xí)后就演化出來以解決混雜偏置為代表的 DragonNet、DESCN、S-Net、CFRNet 等,和以解決歸納偏置為代表的 FlexTENet、S-Net、EUEN、DESCN、GANITE、CFRNet 等。?
四、應(yīng)用案例:信用卡還款劵營(yíng)銷
接下來介紹 UPLIFT 模型在金融科技領(lǐng)域的應(yīng)用案例。UPLIFT 模型的應(yīng)用往往需要結(jié)合運(yùn)營(yíng)措施和模型迭代。在運(yùn)營(yíng)活動(dòng)中我們從小流量隨機(jī)投放開始收集干預(yù)/非干預(yù)的樣本,然后進(jìn)行可行性驗(yàn)證及實(shí)驗(yàn)設(shè)計(jì)、策略性分客群投放、UPLIFT 模型構(gòu)造及投放評(píng)估。
其中 UPLIFT 模型方案完成了三代迭代:
(1)第一代解決方案:Meta-Learner
第一代解決方案以 Meta-Learner 為主,快速上線以達(dá)到業(yè)務(wù)的目標(biāo),業(yè)務(wù)的痛點(diǎn)是期望控制營(yíng)銷 ROI 并放量。
(2)第二代解決方案:從 CFRnet 到 EFIN
第二代主要是以深度學(xué)習(xí)架構(gòu)為基礎(chǔ)的,主要目的是為了實(shí)現(xiàn)多劵個(gè)性化運(yùn)營(yíng), 是一個(gè)多值干預(yù)的問題。主要用到的模型有 CRFnet 和自研的 EFIN (Explicit Feature Interaction uplift Network)。
這里我們重點(diǎn)介紹下自研的 EFIN 模型。這個(gè)算法主要有三個(gè)模塊:
第一個(gè)模塊是自交互層,用一個(gè) Self-Attetion 網(wǎng)絡(luò)實(shí)現(xiàn)大規(guī)模用戶特征的充分學(xué)習(xí)。
第二個(gè)模塊是整個(gè)算法的關(guān)鍵,將干預(yù)變量 T 單獨(dú)進(jìn)行顯式表示學(xué)習(xí),這有利于解決多值干預(yù)問題。隨后將干預(yù) T 和特征 X 采用注意力機(jī)制交叉,加強(qiáng)異質(zhì)性效應(yīng)學(xué)習(xí),而這恰恰是 UPLIFT 模型要學(xué)習(xí)的目標(biāo)。并使用了重參(Reparametrization)法作為預(yù)估輸出,緩解了潛在結(jié)果打分分布不一致的問題。
第三個(gè)模塊使用干預(yù)約束項(xiàng),讓模型難以區(qū)分樣本是否有被干預(yù)過,以圖解決混雜偏置(Confounding Bias)問題。
(3)第三代解決方案:多目標(biāo) UPLIFT 模型
多目標(biāo) UPLIFT 模型為了同時(shí)建模 Ctr-Lift 和 Value-Lift, 預(yù)期實(shí)現(xiàn) ROI>1 的同時(shí)實(shí)現(xiàn) GMV 增長(zhǎng)。里面最大的難點(diǎn)是金額的 UPLIFT 建模困難,因?yàn)榻痤~本身兩個(gè)反事實(shí)的預(yù)估結(jié)果就方差很大,再相減得到的 UPLIFT 方差更大,想要得到穩(wěn)定的 UPLIFT 是比較難的,目前還在著力解決中。
五、總結(jié)
這次講座中,介紹了 UPLIFT 建模的兩大核心問題以及兩個(gè)應(yīng)用挑戰(zhàn)和三代的解決方案,并重點(diǎn)介紹了自研 EFIN 模型。未來會(huì)在多目標(biāo) UPLIFT 建模、ROI 約束、動(dòng)態(tài)UPLIFT 建模、 觀測(cè)數(shù)據(jù)糾偏這一系列方向中去更深入的研究。
六、問答環(huán)節(jié)
Q1:非隨機(jī)實(shí)驗(yàn)獲得的有偏樣本用 DragonNet 這種網(wǎng)絡(luò)同時(shí)建模 Y 和 T 有效果嗎?
A1:這個(gè)肯定有效果,我們針對(duì)觀測(cè)數(shù)據(jù)一般情況下都會(huì)選擇這種傾向性得分的方式建模,傾向性得分方式的應(yīng)用可能會(huì)用 DragonNet 這樣的模型結(jié)構(gòu),在模型結(jié)構(gòu)中直接加上傾向性得分。另外一個(gè)更直接的方式就是直接根據(jù)傾向性得分的分布進(jìn)行樣本加權(quán)采樣。
Q2:潛在結(jié)果存在歸納偏置對(duì) UPLIFT 預(yù)估會(huì)帶來什么樣的影響?
A2:這個(gè)其實(shí)我剛剛那個(gè)圖講得比較清楚了,因?yàn)槲覀兊纳疃葘W(xué)習(xí)模型是分別預(yù)估兩個(gè)反事實(shí)的 CTR,它們的建模目標(biāo)實(shí)際上是兩個(gè) CTR, 這兩個(gè) CTR 求差會(huì)發(fā)現(xiàn)這個(gè)差值的方差較大。
Q3:神經(jīng)網(wǎng)絡(luò)的輸入一般做什么處理,連續(xù)型特征和離散型特征有什么區(qū)別?
A3:這個(gè)問題就不是一個(gè) UPLIFT 問題了,一般情況下就是做 Embedding ,類別型的就做 One-Hot。
Q4:在您的第二代解決方案里,Meta-Learner 比 EFIN 之外的其他 NN 模型都要好,S-Learner 里面的基模型也是這個(gè)模型嗎?
A4:對(duì),S-Learner 它里面也是一個(gè) DNN 。
Q5:深度學(xué)習(xí)模型相比于因果森林和 UPLIFT-Tree 模型,各有什么樣的優(yōu)劣勢(shì)?
A5:深度模型最大的優(yōu)勢(shì)就是采用復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu),如特征交叉、注意力機(jī)制等,對(duì)特征的充分學(xué)習(xí);森林和樹模型的最大優(yōu)勢(shì)就是穩(wěn)定性,并且森林類模型的建模目標(biāo)直接就是 CATE。
Q6:如果只有觀測(cè)數(shù)據(jù)的話,怎么評(píng)估 UPLIFT 模型的準(zhǔn)確性?
A6:評(píng)估指標(biāo)離線我們主要用到的是 AUUC 和 QINI,在線可能主要還是轉(zhuǎn)化成一個(gè)財(cái)務(wù)指標(biāo)來看它的營(yíng)銷帶來的一個(gè) ROI, 取決于我們的任務(wù)目標(biāo)。
Q7:在金融場(chǎng)景下因果推斷的應(yīng)用與搜廣推下的應(yīng)用有什么區(qū)別?
A7:金融場(chǎng)景下實(shí)際上也有搜廣推, 但是確實(shí)金融場(chǎng)景有它的獨(dú)特性的, 這種獨(dú)特性在于它的轉(zhuǎn)化鏈路非常長(zhǎng),它涉及到它的授信、核卡等這樣的一類審批流程,另外金融里怎么做金額的預(yù)估也是一個(gè)難點(diǎn)。
Q8:UPLIFT Model 和 DML 各有什么優(yōu)劣勢(shì)?
A8:UPLIFT Model 和 DML都用來求解 CATE。UPLIFT Model 以機(jī)器學(xué)習(xí)作為主要工具,如樹模型,深度學(xué)習(xí),同時(shí)融合了因果推斷的思想。而 DML 模型以計(jì)量經(jīng)濟(jì)學(xué)的思路指導(dǎo)機(jī)器學(xué)習(xí)工具進(jìn)行 CATE 的預(yù)估。UPLIFT Model 是個(gè)更大的范疇,部分模型也借鑒了 DML 的思想。
Q9:UPLIFT 模型主要用在新客還是老客上面,如果老客只有百萬量級(jí),能否使用模型?
A9:量級(jí)問題其實(shí)是一個(gè)很關(guān)鍵的問題,但是曝光量級(jí)其實(shí)不是最重要的, 最重要的是你的正樣本有多少, 正樣本才是決定能否建模的關(guān)鍵。
Q10:EFIN 代碼是否有開源?
A10:論文審核后會(huì)開源。