【雅虎2017】一個在線展示廣告的CVR預估框架實踐


論文 A Practical Framework of Conversion Rate Prediction for Online Display Advertising

定期更新,獲取更多,歡迎star

一、論文基本描述。

本論文基於Yahoo! BrightRoll (Oath)雅虎的RTB(視頻)買方平台(DSP)。 由於CPA成為主流出價方式,所以轉化率預估變成了關鍵的問題。

難點:

  1. 轉化數據非常稀疏。(extremely sparse conversions)
  2. 數據延遲回傳。(delay feedback)
  3. 和第三方平台歸因差異。(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=λGcpcsum(pCTR)/sum(CTR)(0<λ<1)

eCPA=λ∗Gcpa∗sum(pCVR)/sum(CVR)(0<λ<1)eCPA=λGcpasum(pCVR)/sum(CVR)(0<λ<1)

三、解決方法,思想。

CPA出價的好處:
1. 直接關系到廣告主的投資回報率(ROI)。 2. 受在線作弊的影響比較小。
挑戰
  1. 歸因問題: DSP方是在一個時間窗口(predefined time window)內,把追蹤到的轉化都算作自己平台的轉化(local attribution),而最后的轉化是按照第三方平台歸因的轉化。
  2. 和CTR比較問題。表面上看CVR是CTR問題的自然延伸,因此CVR的文獻也較少。但是,轉化要求用戶的參與度遠高於點擊,因此,用戶的行為特征是更加重要的。 面臨的挑戰:
    1. 轉化稀疏,通常比CTR小幾個數量級。導致的問題是CVR過度的預測與廣告主實際的eCPA差距很大。
    2. 數據延遲回傳。這樣導致兩個問題:
      1. 轉化模型需要預測將來一段時間發生的事情
      2. 基於非延遲數據的算法基本就不太適用。
    3. 本地和全局歸因:有時候會導致差異巨大【?業務經驗】
    4. 展示值區別。這個是由於廣告在競價的時候通常采用廣義第二高價,這和CPC計費可以直接用CTR預估不同,CPA不能直接用CVR描述,還會受到其他因素影響有關系。
過度預估

過度預估的問題:可能導致獲取大量的低質流量,預算消耗過快的問題。【解決這個問題成為本文的最高優先級的事情】

  1. 無經驗下限:轉化其實是表達了用戶強烈的興趣點。pCTR是有一個經驗下限的,可以保證預估的效果達到優化目標。但是CVR由於上邊介紹,存在的一些問題,是不能保證類比eCPC的eCPA能夠達到優化目標的。

  2. 預測與觀測的差異: 過度預測是固有的,即使預測是無偏的。

引理:給定n次展示,讓C1,C2,…,CnC1,C2,,Cn表示真實的轉化率,Cˉ是經驗轉化率,假設預估的轉化率C^C^是無偏的,C^=1n∑1nCiC^=n11nCi,以預估的值C^⋅GcpaC^Gcpa出價,且假設對每一個展現出價最高的第三方服從對數-正太分布lnN(μi,σ2)lnN(μi,σ2),其中μi=Ci⋅Gcpaμi=CiGcpa,那么C^C^就是一個過度預估:
C^≥CˉC^Cˉ
對所有的展現都有相同的轉化率,即C1=C2=⋯=CnC1=C2==Cn時等號成立。

具體證明過程略。 這里有一個關鍵假設是對於每一個展現都存在其他賣方平台,基於前面介紹的所有賣方平台的歸因技術是相同的,因此它們的平均出價和我們的相同或者是在均衡條件下。

  1. 訓練數據限制和偏差
    1. 由於轉化數據是廣告主獨有的,因此對於某個廣告主的CVR預估模型的訓練數據,是需要排出掉其他廣告主的數據的。
    2. 訓練數據只包含了贏得RTB競價的數據,這個樣本集是和線上模型集合有嚴重偏差的。【15、17文獻在解決這兩個問題】
CVR安全預測框架

使用的方法是集成樹的方式,每一個葉子節點代表一個特征子空間。和傳統集成樹的區別是,這里用到的每棵樹不是完成的,是會繼續迭代的【生長、刪除葉子節點】。

  1. 數據驅動樹(Data-Driven trees)是枚舉樹,其中同一樹中的每個葉節點對應於來自相同特征子集的唯一值組合。數據驅動樹的限制是在活動開始時,它們沒有葉節點,因此不能自己啟動。
  2. 機器學習樹(machine -learning trees)使用機器學習模型進行預測。它們的主要目的是幫助在活動初期階段啟動數據驅動樹的生成。
數據驅動樹
  1. 建造樹,利用GBDT來完成特征的組合,並利用這些特征組合來構建數據驅動樹。首先利用GBDT訓練一個所有廣告主的模型,但是不是直接來預測,只是指導如何構建數據驅動樹。當GBDT模型訓練后,我們基於從根節點到每個葉節點的路徑提取特征集,然后為每個唯一特征集構建數據驅動樹。
  2. 預測。葉子節點利用Beta-Binomial模型作為預測。CVR(p),impressions(B)服從Binomial(B,p)分布。p:B(α,β)=Beta(α,β−α)p:B(α,β)=Beta(α,βα) αα是均值,方差Var(p)=α(β−α)β2(β+1)Var(p)=β2(β+1)α(βα) 。求 αα,ββ時,采用指數衰減隨時間變化的方法,因為它在實踐中的預測精度方面優於其他方法。
  3. 樹更新。在觀察到足夠多的展現和轉化后更新葉子節點。一個葉子節點出現是B(α^,β^)B(α^,β^) 分布滿足:α^<α0,β^<β0α^<α0,β^<β0Var(p)<v0Var(p)<v0,其中α0,β0,v0α0,β0,v0是閾值。
機器學習樹

為了構造機器學習樹,需要首先定義一個置信區間。通常取GBDT預測的Top10%

集成預測

數據驅動樹和機器學習樹都會有一個預測值。p1,p2,…,pnp1,p2,,pn是這些樹的預測值。有三種方法來求集成的預測值:

  1. 最大值法。p^=max⁡p1,p2,…,pnp^=maxp1,p2,,pn.
  2. 均值法。p^=1n∑1nCip^=n11nCi
  3. 權重平均。p^=∑1nVar(pi)−1pi∑1nVar(pi)−1p^=1nVar(pi)11nVar(pi)1pi.其中,Var(pi)=αi(βi−αi)βi2(β+1)Var(pi)=βi2(β+1)αi(βiαi)

實際采用3。

歸因調整

目標是預估預估的CVR和真實的CVR之間的差距,從而指導CPA出價。

  1. 對延遲數據的轉化調整。 【這里介紹了一個延遲回傳可能導致低估的問題【低估的是經驗轉化率!(will lead to underestimation of the empirical CVR)】,和必然過度預測無關】 每日展示次數和轉化次數都具有強烈的“日-星期”模式,優化歸因時間窗口內差距最小。
min⁡∑j=T+1n[∑i=j−Tj(∑j′=ii+TCi,j′)∗Pj−1,D(i)−∑i=j−TjCi,j]2minj=T+1n[i=jTj(j=ii+TCi,j)Pj1,D(i)i=jTjCi,j]2
s.ts.t
∑k=0TPd(k)=1k=0TPd(k)=1
0≤Pd(k)≤10Pd(k)1
  1. 本地歸因調整。 本地歸因和第三方歸因差異最小。
min⁡∑j=Tn[∑i=1k(Pgi⋅Cgi,j)−Cj]2minj=Tn[i=1k(PgiCgi,j)Cj]2
s.ts.t
0≤Pgi≤10Pgi1
出價調整

出價: Vplain=f(t)⋅pt⋅GcpaVplain=f(t)ptGcpa

初始值: Vbaseline=ft0(t)⋅pt′⋅GcpaVbaseline=ft0(t)ptGcpa

ΔV=Vplain−Vbaseline=[1−ft0(t)ft(t)]⋅VplainΔV=VplainVbaseline=[1ft(t)ft0(t)]Vplain.其中1−ft0(t)ft(t)1ft(t)ft0(t)是調整因子,是需要接下來求的值。

ft0(t)=∫tt0+Tq(x−t0)⋅k(x)dxft0(t)=tt0+Tq(xt0)k(x)dx 其中qq表示對於時間x,在t0t0時間內轉化歸因到展示的條件概率,k(x)k(x)服從“小時-天”的一個V字形函數。

算法1描述了估計增量值的步驟。 基本思想是對歷史數據進行離散化並估計κ(x)κ(x)q(x−t0)q(xt0)的每小時概率值,然后將其用於計算調整因子的最終估計。


算法1: 輸入:

`$t_0$`:之前展示的時間。
`t`:當前競價展示時間。
`T`:歸因時間窗口。
`W`:轉化時間窗口。

n小時的歷史數據。

  1. i,j∈{1,2,3,⋯,n}i,j{1,2,3,,n},Ci,jCi,j表示對於j小時的轉化歸因到i小時展示的數據。
  2. 計算k(x)在h≤WhW的概率質量。
  3. 計算q(x−t0)q(xt0)在h的概率質量。
  4. 計算歸因的概率:

f^t0(t)=∑h=tt0+Tq^(h−t0)⋅k^(h)f^t0(t)=h=tt0+Tq^(ht0)k^(h) 且f^t(t)=∑h=tt+Tq^(h−t0)⋅k^(h)f^t(t)=h=tt+Tq^(ht0)k^(h)

輸出

預估調整因子值1−ft0(t)ft(t)1ft(t)ft0(t)


四、實驗。

實現了2000+GBDT樹,562個分類特征,限制每棵樹的內部節點不超過8,樹的最大深度為7,單一特征不超過7,去重之后的到214個特征集合。

一些online的A/B實驗。

五、應用&借鑒。

  1. 明確CVR與CTR的差異。CVR其實表現的和CTR有諸多的不同,因此處理的策略也不同。
  2. 樹形模型的有效性。
  3. 轉化具有的“日-星期”,“小時-天”模式。

六、相關推薦。

  1. Large Scale CVR Prediction through Dynamic Transfer Learning of Global and Local Features
  2. Post-Click Conversion Modeling and Analysis for Non-Guaranteed Delivery Display Advertising
  3. Estimating Conversion Rate in Display Advertising from Past Performance Data


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM