如何用增益模型,探討精準(zhǔn)營銷的底層邏輯?
隨著移動互聯(lián)網(wǎng)的普及以及人工智能技術(shù)的不斷發(fā)展,精準(zhǔn)營銷的理念正逐步滲透到各行各業(yè)以及人們生活的方方面面。但是如何通過數(shù)據(jù)挖掘出“營銷敏感人群”,而不把成本浪費(fèi)在“本來就會轉(zhuǎn)化”的那部分人身上,成為智能營銷時代的關(guān)鍵挑戰(zhàn)。增益模型(uplift model)是目前解決這一痛點(diǎn)最好的方法之一,本文將試圖通過該模型探討智能營銷的底層邏輯。
背景:問題先行
假設(shè)我們現(xiàn)在要搞一個優(yōu)惠券促銷活動,通過歷史數(shù)據(jù)預(yù)測了兩類用戶發(fā)券購買率和無券購買率的結(jié)果(見下圖),接下來我們想要對用戶發(fā)放優(yōu)惠券,這時會面臨一個必須要解決的問題:給哪類用戶發(fā)放優(yōu)惠券能夠使總收益最大化呢?
01 什么是增益模型(uplift model)
想要知道應(yīng)該給哪一類用戶發(fā)放優(yōu)惠券,我們需要搞清楚哪一類用戶對優(yōu)惠券刺激最敏感,換言之,也就是需要對用戶進(jìn)行分類,了解每一類用戶的特點(diǎn)。在營銷活動中,對用戶進(jìn)行主動干預(yù)稱為treatment,例如發(fā)放優(yōu)惠券是一次treatment。根據(jù)是否對用戶進(jìn)行干預(yù)以及干預(yù)結(jié)果,我們可以將用戶分為以下四類:
- Persuadables:基本只有在發(fā)券才會購買的人群,即優(yōu)惠券敏感人群;
- Sure things:無論是否發(fā)券,都會購買,自然轉(zhuǎn)化人群;
- Lost causes:無論是否發(fā)券都不購買,這類用戶難以刺激,直接放棄;
- Sleeping dogs:與Persuadables相反,對營銷活動比較反感,不發(fā)券的時候可能會購買,但發(fā)券后不會再購買。
對發(fā)放優(yōu)惠券這種有成本的營銷活動,我們不可能對所有用戶都發(fā)放補(bǔ)貼,這個成本是任何企業(yè)都無法承受的。考慮到每個用戶對價格的接受程度是不一樣的,根據(jù)“營銷四象限人群”分布,我們希望模型觸達(dá)的是營銷敏感的用戶,即通過發(fā)放優(yōu)惠券促進(jìn)用戶購買,而對于其他用戶,最好不要發(fā)券,這樣才能最大程度的節(jié)省成本。
我們再來看背景中的小例子,用戶2發(fā)券后購買率(1.6%)明顯高于用戶1(1.2%),似乎我們應(yīng)該對用戶2發(fā)放優(yōu)惠券,更能刺激其產(chǎn)生購買。但事實真的是這樣嗎?
假設(shè)用戶1和用戶2各1000人,不發(fā)券產(chǎn)品價格是100元,發(fā)放優(yōu)惠券后價格是80元,我們可以有四種方案:用戶1和2都發(fā)放優(yōu)惠券、用戶1和2都不發(fā)放優(yōu)惠券、1發(fā)2不發(fā)、2發(fā)1不發(fā)。我們分別來計算一下這四種方案帶來的總收益:
- 都發(fā)券:1000*1.2%*80+1000*1.6%*80=2240元
- 都不發(fā)券:1000*0.7%*100+1000*1.4%*100=2100元
- 1發(fā)2不發(fā):1000*1.2%*80+1000*1.4%*100=2360元
- 2發(fā)1不發(fā):1000*0.7%*100+1000*1.6%*80=1980元
通過計算四種方案的收益,我們發(fā)現(xiàn)實際情況和預(yù)想的并不一樣,給發(fā)券購買率更高的用戶2發(fā)放優(yōu)惠券反而收益是最低的,這是為什么呢?
我們來進(jìn)一步分析一下,除了發(fā)券購買率之外,我們還能知道這兩類用戶在沒有優(yōu)惠券情況下的自然購買率,根據(jù)這兩個數(shù)據(jù)能夠計算出發(fā)放優(yōu)惠券所帶來的增量效用。用戶1的發(fā)券購買率雖然低,但在沒有優(yōu)惠券刺激情況下的購買率更低,即優(yōu)惠券所帶來的增量反而是比用戶2更高,而我們做營銷活動的目的是最大化總體的收益,本質(zhì)是最大化優(yōu)惠券的增量,因此我們應(yīng)該向用戶1發(fā)放優(yōu)惠券。
通過這個小例子,我們能夠得到一個結(jié)論:響應(yīng)模型(reponse model)能夠預(yù)測用戶的購買概率,但是該模型不能告訴我們這批人是否因為發(fā)放優(yōu)惠券而產(chǎn)生購買,這樣我們就無法區(qū)分營銷敏感(Persuadables)和自然轉(zhuǎn)化(Sure things)這兩類人群。也就是說響應(yīng)模型(reponse model)很有可能會誤導(dǎo)我們做出錯誤的決策。
而增益模型(uplift model)要做的就是幫助我們找到這些營銷敏感人群,準(zhǔn)確判斷營銷干預(yù)所帶來的“增量提升”,從而促使?fàn)I銷推廣效率的最大化,而不是把營銷預(yù)算浪費(fèi)在“本來就會轉(zhuǎn)化”的那部分人身上。如果用一句話總結(jié)增益模型(uplift model):通過用戶分群的方法對用戶進(jìn)行精細(xì)化運(yùn)營的一種科學(xué)手段。
為了幫助大家更好的理解增益模型,我們構(gòu)造這樣一個場景:假設(shè)有N個用戶,Yi(1)表示我們對用戶i干預(yù)后的結(jié)果,比如給用戶i發(fā)放優(yōu)惠券后(干預(yù))用戶下單(結(jié)果),Yi(0)表示沒有對用戶干預(yù)的情況下用戶的輸出結(jié)果,比如沒有給用戶i發(fā)放優(yōu)惠券(干預(yù)),用戶下單(結(jié)果)。如下圖所示:
那么,用戶i的因果效應(yīng)(causal effect)的計算如下:
增益模型的目標(biāo)就是最大化這個增量,即有干預(yù)策略相對于無干預(yù)策略的提升,簡單講就是干預(yù)前后結(jié)果的差值。實際使用時會取所有用戶的因果效應(yīng)期望的估計值來衡量整個用戶群的效果,稱為條件平均因果效應(yīng)(Conditional Average Treatment Effect, CATE)。
上式中Xi是用戶i的特征,所謂的conditional指基于用戶特征。
(2)式是理想的增益模型計算形式,實際上,對一個用戶i我們不可能同時觀察到使用策略(treatment)和未使用策略(control)的輸出結(jié)果,即不可能同時得到Y(jié)i(1)和Yi(0)。因為對某個用戶,我們要么發(fā)優(yōu)惠券,要么不發(fā)。所以,我們可以將(2)式修改為:
其中Yi(obs)是用戶i可以觀察到的輸出結(jié)果,Wi是一個二值變量,如果對用戶i使用了策略,Wi=1,否則Wi=0。
在條件獨(dú)立的假設(shè)下,條件平均因果效應(yīng)的期望估計值是:
上式要滿足條件獨(dú)立(CIA)的條件,即用戶特征與干預(yù)策略是相互獨(dú)立的。
增益模型要優(yōu)化τ(Xi),值越高越好。然而一個用戶不能同時觀察到使用干預(yù)策略和不使用干預(yù)策略的結(jié)果,因此τ(Xi)是難以直接優(yōu)化的。但如果通過AB實驗,可以獲得使用干預(yù)策略和不使用干預(yù)策略兩組人群,如果兩組人群的特征分布一致,可以通過模擬兩組人群的τ(Xi)得到個體用戶的τ(Xi)。因此增益模型依賴AB實驗的數(shù)據(jù)。
需要說明的一點(diǎn)是,增益模型(uplift model)是一組用于相同目的的建模方法的總稱。下面就給小伙伴們介紹三種常用的增益模型建模方法。
02 常用uplift建模方法
2.1 雙模型(Two Model, T-Learner)
模型公式1:
建模過程:
以優(yōu)惠券發(fā)放為例,目標(biāo)是用戶是否下單。訓(xùn)練時取實驗組的用戶訓(xùn)練,正樣本是下單用戶,負(fù)樣本是未下單用戶,預(yù)測結(jié)果是每個用戶下單的概率。類似地,對照組也可以使用另一個模型預(yù)測出每個用戶下單的概率。兩個組的用戶下單概率求平均,即可得到:
兩者相減即得到τ(X)。預(yù)測時,對用戶分別使用G(T)和G(C)預(yù)測,兩個模型預(yù)測的分?jǐn)?shù)相減即得到預(yù)測用戶i的τ(Xi),最后根據(jù)τ(Xi)的高低決定是否發(fā)券。
模型優(yōu)點(diǎn):
- 簡單直觀,容易理解
- 可以復(fù)用常見的機(jī)器學(xué)習(xí)模型(LR、Tree Model、NN)
模型缺點(diǎn):
- 雙模型打分誤差累積
- 只是模擬了τ(Xi),沒有真正優(yōu)化τ(Xi)
2.2 差分響應(yīng)模型升級版(One-Model, Approach)
模型公式2:
建模過程:
差分響應(yīng)模型的訓(xùn)練數(shù)據(jù)和模型都是各自獨(dú)立的,可以分別在訓(xùn)練數(shù)據(jù)層面上打通以及在模型層面上打通,得到升級版的差分響應(yīng)模型。
在實驗組和對照組的用戶特征中,加入與T有關(guān)的特征,實現(xiàn)數(shù)據(jù)層面的打通,即實驗組和對照組合并,使用同一個模型訓(xùn)練。預(yù)測時將同一樣本特征進(jìn)行多次輸入,每次只是改變不同的T值。這是阿里大文娛提到的一種方法。
模型優(yōu)點(diǎn):
- 模型訓(xùn)練數(shù)據(jù),模型學(xué)習(xí)更充分
- 避免雙模型打分誤差累積
- 通過一個模型可以對multiple – treatment進(jìn)行建模,實用性更強(qiáng)
模型缺點(diǎn):
- 基礎(chǔ)模型仍是響應(yīng)模型,對uplift建模是間接的,模型效果還有提升空間
- 無法滿足用戶特征與條件策略獨(dú)立的假設(shè)
2.3 Class TransformationMethod
另外一種更嚴(yán)謹(jǐn)?shù)目梢詫崿F(xiàn)實驗組對照組數(shù)據(jù)打通和模型打通的方法叫做class transformation method,可以直接優(yōu)化τ(Xi)。
模型公式
定義一個變量G∈{T, C},G=T表示有干預(yù),即實驗組(treatment),G=C表示無干預(yù),即對照組(control)。uplift分?jǐn)?shù)τ可以表示為:
為了統(tǒng)一表示實驗組和對照組都下單的情況(Y=1),再定義一個變量Z,Z∈{0, 1}:
下面證明優(yōu)化(5)式相當(dāng)于優(yōu)化P(Z=1∣X)。
假設(shè)干預(yù)策略G與用戶特征X相互獨(dú)立,即G獨(dú)立于X:P(G∣X)=P(G),(5)式可以轉(zhuǎn)寫為:
注意到P(G=T)和P(G=C)是可以通過AB實驗控制的,在隨機(jī)化實驗中,如果實驗組和對照組的人數(shù)是相等的,那么P(G=T)=P(G=C)=1/2,即一個用戶被分在實驗組(有干預(yù)策略)和被分在對照組(無干預(yù)策略)的概率是相等的。
在該假設(shè)下,(6)式可以改寫為:
由(7)式可得:
(8)式就是要計算的uplift score,此時只有Z一個變量,可以直接對Z=1建模,相當(dāng)于優(yōu)化P(Z=1∣X),而不需要分別對實驗組P(T)和對照組P(C)單獨(dú)建模。而P(Z=1∣X)可以通過任何分類模型得到,所以這個方法稱為Class Transformation Method。
實際上,Z=1就是實驗組中下單的用戶和對照組中未下單的用戶,因此可以直接將實驗組和對照組用戶合并,使用一個模型建模,實現(xiàn)了數(shù)據(jù)層面和模型層面的打通。預(yù)測時,模型預(yù)測的結(jié)果就是uplift score,這點(diǎn)與差分響應(yīng)模型不同。
模型優(yōu)點(diǎn):
- 一次建模,實現(xiàn)數(shù)據(jù)層面和模型層面的打通
模型缺點(diǎn):
該方法需滿足以下兩個假設(shè):
- G與X相互獨(dú)立
- P(G=T)=P(G=C)=1/2,實踐中并不一定能嚴(yán)格滿足
03 如何評估uplift模型
根據(jù)uplift模型的定義,uplift score得分越高,代表該用戶增益就越大。但因為增益模型中不可能同時觀察到同一用戶在不同干預(yù)策略下的響應(yīng),因此無法直接計算上述評價指標(biāo)。增益模型通常都是通過劃分十分位數(shù)(decile)來對齊實驗組和對照組數(shù)據(jù)從而進(jìn)行間接評估,而不是在一個測試集上直接評估。
接下來主要給家介紹三種主要的評估方法。
3.1 uplift 柱狀圖
測試集上,實驗組和對照組的用戶分別按照uplift由高到低排序,劃分為十等份,即十分位(decile),分別是Top 10%、Top 20% …… Top 100%用戶。分別對實驗組和對照組中每個十分位內(nèi)的用戶求E[Y(T)∣X(T)] 和E[Y(C)∣X(C)],即預(yù)測分?jǐn)?shù)的均值,然后相減,作為這個十分位bin內(nèi)的uplift,繪制柱狀圖,如下圖:
這種方法只能定性分析,無法計算出一個具體的值來整體評價模型的好壞。
3.2 Qini曲線(Qini curve)
可以在uplift bars的基礎(chǔ)上繪制曲線,類似AUC來評價模型的表現(xiàn),這條曲線稱為Qini curve,計算每個百分比的Qini系數(shù),最后將這些Qini系數(shù)連接起來,得到一條曲線。Qini系數(shù)計算如下:
?是按照uplift score由高到低排序的用戶數(shù)量占實驗組或?qū)φ战M用戶數(shù)量的比例,如?=0.1,表示實驗組或?qū)φ战M中前10%的用戶。
如上圖,藍(lán)色是隨機(jī)曲線,橙色是Qini曲線,Qini曲線與隨機(jī)曲線之間的面積作為評價模型的指標(biāo),面積越大,表示模型結(jié)果遠(yuǎn)超過隨機(jī)選擇的結(jié)果,與AUC類似,這個指標(biāo)稱為AUUC(Area Under Uplift Curve)??梢钥吹?,當(dāng)橫軸等于0.6時,對應(yīng)的縱軸大概是0.0052(uplift score),表示當(dāng)uplift score等于0.0052時,可以覆蓋前60%的用戶數(shù)量,這部分用戶就是營銷活動的目標(biāo)用戶(persuadables)。
Qini系數(shù)分母是實驗組和對照組的全體用戶數(shù),如果兩組用戶數(shù)量差別比較大,就會導(dǎo)致結(jié)果指標(biāo)失真。另一種累積增益曲線可以避免這個問題。
3.3累積增益曲線(Cumulative Gain curve)
累積增益曲線計算如下:
該公式中各符號含義與Qini系數(shù)符號含義相同。與Qini系數(shù)相比,累積增益的分母是百分比?下的實驗組或?qū)φ战M人數(shù),并乘以nt(?)+nc(?)作為全局調(diào)整系數(shù),避免實驗組和對照組用戶數(shù)量不平衡導(dǎo)致的指標(biāo)失真問題。
04 uplift精準(zhǔn)營銷流程
最后,我們通過下面這張圖直觀的總結(jié)一下,在實際工作中是如何通過uplift模型進(jìn)行精準(zhǔn)營銷的:
本文由 @知了數(shù)據(jù)分析 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
點(diǎn)贊 在慢慢啃
關(guān)注【知了數(shù)據(jù)分析】,獲取更多數(shù)據(jù)分析干貨!