Facebook 上個月公布亮瞎雙眼的 2015年 第四季度財報,其中日活用戶超過 10 億,營收達到 58.41 億美金,而廣告就占了 56.37 億美金,更恐怖的是來自于移動廣告業務的營收占了 80%。筆者在 Facebook 上面也曾經創建過營銷頁面,其實是拿到內部朋友一定限額的廣告 (Campaign) 推廣費用,當時驚訝投放的高效(太快了,不到 1 小時幾十刀都沒了),由于自己也做過廣告系統,也做過很多對比,從形式多樣性,功能的完整性,定位用戶,實時性,數據分析報告各項綜合指標 Facebook 都是行業翹楚,下面就是它們內部對廣告系統 Pacing 算法的剖析,也適合廣告技術入門查看。
首先介紹一些在線廣告術語
每個廣告 (Ad) 有一個出價 (Bid), 并有其在某情形下實際的點擊率 (Click-Through-Rate, CTR)
廣告按點擊收費 (Charge per Click, CPC), 策略有一價計費 (First-Price, FP, 即廣告出價多少則一次點擊計費多少) 和二價計費 (Second-Price, SP, 即廣告按下一位出價來支付點擊價格, 更普遍的是 GSP,Google,Yahoo, LinkedIn 都是用這一種)
千次展現收費 (Cost Per Mille, CPM, 或 RPM, R for Revenue), 即對點擊付費廣告其展示一千次情況下的收入 (一價計費下等價于 1000*CTR*Bid), 或是展示廣告的千次展現固定價格
預估點擊率 (predict CTR, pCTR) 是指對某個廣告將要在某個情形下展現前, 系統預估其可能的點擊概率
Pacing 是 Facebook 廣告系統中調節花費預算節奏的一個算法,一個類比就是競跑的運動員:過早沖刺意味著在終點前就沒勁了,但過晚沖刺也許你就沒完成這次比賽。Pacing 保證對所有的廣告主在競爭前提下自動分配不同的廣告預算。Pacing 就是優化的核心組件讓廣告主獲得最大的投資回報率(ROI)。
Facebook Pacing 算法是怎么工作的?
我們通過一個例子解釋 Pacing 工作原理。下面會涉及到點擊,同樣的想法可以應用到瀏覽,轉換,行為,到達率等。
一個廣告主想對一個運動品牌做廣告。每天預算 $10,以 CPC 計費,我們預先假定每次廣告點擊能產生 $5 的收益。
當他/她創建廣告后,對 LINK_CLICKS (點擊鏈接)做優化, bid_amount(出價)設置為 $5, billing_event(觸發收費的事件)為 LINK_CLICKS, 基于這些為真的條件. 目標用戶群為男性 25-35 歲。
廣告主的利潤是這些點擊產生的價值減去花去的預算。
為了簡化起見,我們假設這些機會(點擊,展示等)的當天價格是提前知道的。這樣我們能更清楚闡明點擊價格和收入關系。這些假設是基于目標產生的機會進行建模。
下面我們通過三個例子去理解 Pacing 算法對廣告主提供最大的價值。
情況一:沒有 Pacing 算法的時候
沒有 Pacing,廣告主預算在一開始很短時間就被消耗干凈(可能潛在的昂貴點擊),前期競爭激烈,后期無競爭,形成一定的資源浪費。下面的圖藍色的點代表廣告獲得展示的機會,黃色的圈代表廣告贏得展示,紅線代表出價的價格。結果是平均成本會高些,但廣告主會得到基于廣告設置的最想要的投放。這叫做加速投放。
廣告總花費 = $10
廣告總點擊價值 = 6 * $5 = $30
每次點擊價值 = $5
預算 = $10
廣告總收益 = $30 – $10 = $20
案例二:出價過低
這種情況下,追求最低的點擊價格,但是廣告主的預算最后沒有能用完,最終的廣告效果也最差。
廣告總花費 = $4
廣告總點擊價值 = 4 * $5 = $20
每次點擊價值 = $5
預算 = $10
廣告總收益 = $20 – $4 = $16
案例三:Pacing 算法下的均衡狀態
這時候,廣告客戶獲得了最大的點擊數,獲取到了最大收益,同時也用完了每日預算。
廣告總花費 = $10
廣告總點擊價值 =7* $5 = $35
每次點擊價值 = $5
預算 = $10
廣告總收益 = $35 – $10 = $25
簡單的公式
從上面例子中,當我們在整段時間內使用穩定的出價(Pacing),廣告主的價值相比沒有 Pacing 或者出價過高過低,得到了最大化。為了實現目標,Pacing 期望通過學習其他的有同樣目標用戶的競爭廣告,提出一個優化的競價。這就是個簡單公式。
最終競價 (每次展示) = 優化競價 (每次展示)* CTR where 優化競價 <= max_bid
決定優化競價的是 Pacing 算法的核心,包括反饋系統讓 Pacing 記錄下來。
CTR 是點擊率。我們使用相同理念來看 查看率(VTR) 和轉化率(CVR)。這些值的精確性會穩步提高,也受各種因素影響,比如廣告類型,受眾,時間點,廣告上下文等。
Pacing 的重要性
Pacing 在給定預算下最大化廣告主的利潤。它讓廣告主更加真實,和 Vickrey–Clarke–Groves (VCG 通過計算一個廣告主參加拍賣給別的廣告者帶來的損失之和來定價的) 拍賣,這里面欺騙價值沒有任何好處,也沒有必要去想最大競價應該設多少。如此可以避免拍賣系統中的特殊機會。
Pacing 保證了可預測的投放。這種穩定投放讓每日的價格穩定并幫助廣告主公平獲取他們目標用戶的門檻。
FAQ
問:我的廣告沒有被 pacing 算法正確的優化,可能是什么原因?
答:如果廣告顯示正常,有兩個原因,一個是最優化的價格太低,保證你的競價在建議價格范圍內這樣你才有機會贏得席位。對于競爭力的受眾,你需要把價格調高到建議價格之上。
另外一個原因是目標受眾過于狹窄。
如果這個廣告投放過度,你可能有個很大的受眾但快速消耗你的預算。
問: 當我改變了我的預算的時候,Pacing 會受到什么影響?
答:Pacing 會去計算新的最優出價,但這個過程會需要一定的時間,這段時間內的出價不是最優的,所以建議不要頻繁的修改出價和預算的設置。
總結:Pacing 就是通過學習同一受眾目標內的廣告競爭環境來決定最優化出價。