論文 A Practical Framework of Conversion Rate Prediction for Online Display Advertising
定期更新,獲取更多,歡迎star。
一、論文基本描述。
本論文基於Yahoo! BrightRoll (Oath)雅虎的RTB(視頻)買方平台(DSP)。 由於CPA成為主流出價方式,所以轉化率預估變成了關鍵的問題。
難點:
- 轉化數據非常稀疏。(extremely sparse conversions)
- 數據延遲回傳。(delay feedback)
- 和第三方平台歸因差異。(attribution gaps between the platform and the third party)
過度預估導致的過度出價是CPA廣告在真實RTB環境下的核心挑戰。(we first show that over-prediction and the resulted over-bidding are fundamental challenges for CPA campaigns in a real RTB environment)
本文提出了一個安全預測框架,其中包含歸因調整【基於PC的場景】,以及處理過度預測並進一步緩解不同級別的過度競價。
二、評價指標。
eCPA: effective cost per action or acquisition.[每次操作和獲取的有效成本]
eCPA=sum(cost)/sum(action)eCPA=sum(cost)/sum(action)
:表示的廣告主實際為每個轉化庫存花費的成本。
eCPC=λ∗Gcpc∗sum(pCTR)/sum(CTR)(0<λ<1)eCPC=λ∗Gcpc∗sum(pCTR)/sum(CTR)(0<λ<1)
eCPA=λ∗Gcpa∗sum(pCVR)/sum(CVR)(0<λ<1)eCPA=λ∗Gcpa∗sum(pCVR)/sum(CVR)(0<λ<1)
三、解決方法,思想。
CPA出價的好處:
1. 直接關系到廣告主的投資回報率(ROI)。 2. 受在線作弊的影響比較小。
挑戰
- 歸因問題: DSP方是在一個時間窗口(predefined time window)內,把追蹤到的轉化都算作自己平台的轉化(local attribution),而最后的轉化是按照第三方平台歸因的轉化。
- 和CTR比較問題。表面上看CVR是CTR問題的自然延伸,因此CVR的文獻也較少。但是,轉化要求用戶的參與度遠高於點擊,因此,用戶的行為特征是更加重要的。 面臨的挑戰:
- 轉化稀疏,通常比CTR小幾個數量級。導致的問題是CVR過度的預測與廣告主實際的eCPA差距很大。
- 數據延遲回傳。這樣導致兩個問題:
- 轉化模型需要預測將來一段時間發生的事情
- 基於非延遲數據的算法基本就不太適用。
- 本地和全局歸因:有時候會導致差異巨大【?業務經驗】
- 展示值區別。這個是由於廣告在競價的時候通常采用廣義第二高價,這和CPC計費可以直接用CTR預估不同,CPA不能直接用CVR描述,還會受到其他因素影響有關系。
過度預估
過度預估的問題:可能導致獲取大量的低質流量,預算消耗過快的問題。【解決這個問題成為本文的最高優先級的事情】
-
無經驗下限:轉化其實是表達了用戶強烈的興趣點。pCTR是有一個經驗下限的,可以保證預估的效果達到優化目標。但是CVR由於上邊介紹,存在的一些問題,是不能保證類比eCPC的eCPA能夠達到優化目標的。
-
預測與觀測的差異: 過度預測是固有的,即使預測是無偏的。
引理:給定n次展示,讓C1,C2,…,CnC1,C2,…,Cn
表示真實的轉化率,CˉCˉ
是經驗轉化率,假設預估的轉化率C^C^
是無偏的,C^=1n∑1nCiC^=n1∑1nCi
,以預估的值C^⋅GcpaC^⋅Gcpa
出價,且假設對每一個展現出價最高的第三方服從對數-正太分布lnN(μi,σ2)lnN(μi,σ2)
,其中μi=Ci⋅Gcpaμi=Ci⋅Gcpa
,那么C^C^
就是一個過度預估:
對所有的展現都有相同的轉化率,即C1=C2=⋯=CnC1=C2=⋯=Cn
時等號成立。
具體證明過程略。 這里有一個關鍵假設是對於每一個展現都存在其他賣方平台,基於前面介紹的所有賣方平台的歸因技術是相同的,因此它們的平均出價和我們的相同或者是在均衡條件下。
- 訓練數據限制和偏差
- 由於轉化數據是廣告主獨有的,因此對於某個廣告主的CVR預估模型的訓練數據,是需要排出掉其他廣告主的數據的。
- 訓練數據只包含了贏得RTB競價的數據,這個樣本集是和線上模型集合有嚴重偏差的。【15、17文獻在解決這兩個問題】
CVR安全預測框架
使用的方法是集成樹的方式,每一個葉子節點代表一個特征子空間。和傳統集成樹的區別是,這里用到的每棵樹不是完成的,是會繼續迭代的【生長、刪除葉子節點】。
- 數據驅動樹(Data-Driven trees)是枚舉樹,其中同一樹中的每個葉節點對應於來自相同特征子集的唯一值組合。數據驅動樹的限制是在活動開始時,它們沒有葉節點,因此不能自己啟動。
- 機器學習樹(machine -learning trees)使用機器學習模型進行預測。它們的主要目的是幫助在活動初期階段啟動數據驅動樹的生成。
數據驅動樹
- 建造樹,利用GBDT來完成特征的組合,並利用這些特征組合來構建數據驅動樹。首先利用GBDT訓練一個所有廣告主的模型,但是不是直接來預測,只是指導如何構建數據驅動樹。當GBDT模型訓練后,我們基於從根節點到每個葉節點的路徑提取特征集,然后為每個唯一特征集構建數據驅動樹。
- 預測。葉子節點利用Beta-Binomial模型作為預測。CVR(p),impressions(B)服從Binomial(B,p)分布。
p:B(α,β)=Beta(α,β−α)p:B(α,β)=Beta(α,β−α)
αα
是均值,方差Var(p)=α(β−α)β2(β+1)Var(p)=β2(β+1)α(β−α)
。求αα
,ββ
時,采用指數衰減隨時間變化的方法,因為它在實踐中的預測精度方面優於其他方法。 - 樹更新。在觀察到足夠多的展現和轉化后更新葉子節點。一個葉子節點出現是
B(α^,β^)B(α^,β^)
分布滿足:α^<α0,β^<β0α^<α0,β^<β0
且Var(p)<v0Var(p)<v0
,其中α0,β0,v0α0,β0,v0
是閾值。
機器學習樹
為了構造機器學習樹,需要首先定義一個置信區間。通常取GBDT預測的Top10%
集成預測
數據驅動樹和機器學習樹都會有一個預測值。p1,p2,…,pnp1,p2,…,pn
是這些樹的預測值。有三種方法來求集成的預測值:
- 最大值法。
p^=maxp1,p2,…,pnp^=maxp1,p2,…,pn
. - 均值法。
p^=1n∑1nCip^=n1∑1nCi
- 權重平均。
p^=∑1nVar(pi)−1pi∑1nVar(pi)−1p^=∑1nVar(pi)−1∑1nVar(pi)−1pi
.其中,Var(pi)=αi(βi−αi)βi2(β+1)Var(pi)=βi2(β+1)αi(βi−αi)
實際采用3。
歸因調整
目標是預估預估的CVR和真實的CVR之間的差距,從而指導CPA出價。
- 對延遲數據的轉化調整。 【這里介紹了一個延遲回傳可能導致低估的問題【低估的是經驗轉化率!(will lead to underestimation of the empirical CVR)】,和必然過度預測無關】 每日展示次數和轉化次數都具有強烈的“日-星期”模式,優化歸因時間窗口內差距最小。
- 本地歸因調整。 本地歸因和第三方歸因差異最小。
出價調整
出價: Vplain=f(t)⋅pt⋅GcpaVplain=f(t)⋅pt⋅Gcpa
初始值: Vbaseline=ft0(t)⋅pt′⋅GcpaVbaseline=ft0(t)⋅pt′⋅Gcpa
ΔV=Vplain−Vbaseline=[1−ft0(t)ft(t)]⋅VplainΔV=Vplain−Vbaseline=[1−ft(t)ft0(t)]⋅Vplain
.其中1−ft0(t)ft(t)1−ft(t)ft0(t)
是調整因子,是需要接下來求的值。
ft0(t)=∫tt0+Tq(x−t0)⋅k(x)dxft0(t)=∫tt0+Tq(x−t0)⋅k(x)dx
其中qq
表示對於時間x,在t0t0
時間內轉化歸因到展示的條件概率,k(x)k(x)
服從“小時-天”的一個V字形函數。
算法1描述了估計增量值的步驟。 基本思想是對歷史數據進行離散化並估計κ(x)κ(x)
和q(x−t0)q(x−t0)
的每小時概率值,然后將其用於計算調整因子的最終估計。
算法1: 輸入:
`$t_0$`:之前展示的時間。
`t`:當前競價展示時間。
`T`:歸因時間窗口。
`W`:轉化時間窗口。
n小時的歷史數據。
- 對
i,j∈{1,2,3,⋯,n}i,j∈{1,2,3,⋯,n}
,Ci,jCi,j
表示對於j小時的轉化歸因到i小時展示的數據。 - 計算k(x)在
h≤Wh≤W
的概率質量。 - 計算
q(x−t0)q(x−t0)
在h的概率質量。 - 計算歸因的概率:
f^t0(t)=∑h=tt0+Tq^(h−t0)⋅k^(h)f^t0(t)=∑h=tt0+Tq^(h−t0)⋅k^(h)
且f^t(t)=∑h=tt+Tq^(h−t0)⋅k^(h)f^t(t)=∑h=tt+Tq^(h−t0)⋅k^(h)
輸出
預估調整因子值1−ft0(t)ft(t)1−ft(t)ft0(t)
。
四、實驗。
實現了2000+GBDT樹,562個分類特征,限制每棵樹的內部節點不超過8,樹的最大深度為7,單一特征不超過7,去重之后的到214個特征集合。
一些online的A/B實驗。
五、應用&借鑒。
- 明確CVR與CTR的差異。CVR其實表現的和CTR有諸多的不同,因此處理的策略也不同。
- 樹形模型的有效性。
- 轉化具有的“日-星期”,“小時-天”模式。