做實時計費時如何降低廣告超預算?

CA群友提問;如果設置閥值,那麼會導致用戶廣告預算未消耗完成而下線。


預算平滑(Budget Smooth)是怎樣花錢的?

https://www.zhihu.com/people/ouyang.chen

歐陽辰 · 8 個月前

Budget Smooth(預算平滑)有的時候也叫做Budget Smoothing, Budget Pacing,這種技術是讓廣告預算在時間維度上花費更合理。舉個例子,比如說廣告主是漁夫,規定每天只能打100天魚,那挑最先碰到的一百條魚呢?還是挑100條大的魚呢?還是姜太公釣魚,10個小時打魚,每個小時打10條呢?

之前,這項技術主要應用是在廣告平台上,為廣告主提供更多的預算選項。近幾年隨著RTB/DSP的流行,預算平滑的技術也融合在RTB的場景中,成為出價的關鍵因素之一,因此越來越受到重視,最近幾年的SIGKDD都有相關的論文。

我們可以看看幾種消耗模式圖示:無控制的,基於流量模式,基於效果模式等

以下是幾個好處:

對廣告主:

1. 避免預算在每天初期耗盡,無法參加後期的競價

2. 幫助觸及到更多的不同用戶

3. 有機會提高轉化效果

對廣告平台:

1. 避免競爭都集中在每天的開始,整個系統更加平穩

2. 為廣告主提供更多的選項,優化效果

預算平滑通常應用在兩類系統中:a) 廣告平台 b) DSP

這兩類實現方法稍微有些區別;對於廣告平台來說,它有所有廣告主的信息,可以做一些全局的預估和資源分配,它的目的是使得整個廣告平台的穩定和公平,在第二計價(GSP)條件下,保持系統的競價次序。對於DSP來說,它代替廣告主來競價,它本身就是對於流量有挑選的功能,因此DSP更多的是從ROI的角度來為廣告主獲得更好的投放效果。

初看預算平滑很容易,按照時間分布把錢給花了,但是以什麼為優化目標把錢花出去,卻一個大學問。對於廣告平台來說,也許按照流量,按照時間分配一下就行了,但是從廣告主的角度,他們更願意從ROI角度來花錢,例如,覆蓋更多的人,找到更多的高轉化人群等。

Facebook有幾個圖片來解釋FB的Pacing是如何工作的?解釋的很清楚,很容易懂。Facebook是使用VCG競價法則,鼓勵廣告主出真實意圖的最高可接受價格。

如何實現一個Budget Pacing?

一般的實現有兩種,一種是概率控制展現:在廣告展現的時候,給定一個概率,決定此次是否展現;另外一種是出價格加權控制:給出價加一些權重,靈活獲得展現機會,對於DSP可行。但是對於廣告平台來說,方法過於複雜,不容易調試系統的問題。

Budget Smooth的演算法

演算法有很多種,可見參考文檔,大部分演算法的核心的思想都是計算出廣告展現的概率,有的地方叫做Pacing Rate(PVT)。這個概率是通過制定消耗計劃和檢查當前消耗來計算。

如果消耗計劃與實際消耗有差異,需要調整計劃:

Budget Smoothing的系統設計

設計包括兩個方面:1)如何影響線上的廣告機會的挑選 2)如何獲得更多的數據反饋支持「消耗計劃」的制定。數據通常分為線上的流式數據和歷史數據的分析。

在DSP中,預算平滑是作為控制出價的一個因素,需要結合其他的條件共同判斷,這種因素需要考慮流量的機會成本和未來的機會成本的預估。

下面是LinkedIn的Budget Smoothing例子,他們取名叫做Smart Pacing,參考KDD2014年的《Smart Pacing for Effective Online Ad Campaign Optimization》

實現中的一些可能問題:

  1. 冷啟動: 初期的數據不全,導致無法制定合理計劃;這可以通過數據積累,或者調整預測的節奏和步伐,進行一定程度的緩解。

  2. 效果評測:作為廣告平台來說,可以參考整體的CPC的變化趨勢,是否比之前更加平穩;對於DSP來說,可以將流量做AB測試,保持和一定比例的流量完全不打開Pacing。

  3. 預算無法耗盡:演算法有時候對於一些Campaign的Pacing,可能導致預算無法耗盡,一個簡單粗暴的方法,就是設置一天只有20個小時消耗時間,後面4個小時可以在一定程度上放水。

Budget Smoothing參考資料:

部分資料下載地址:互聯居-歐陽辰 ; 互聯居-歐陽辰 - 廣告平台大數據

最後,照例奉送一首海子的詩歌:

公元前我們還太小,公元後我們又太老,

沒有誰見過,那一次真正美麗微笑。

時光和機遇是很奇妙東西,

不是所有正當好年華女孩都能在最曼妙歲月里遇到愛她男孩,

也不是所有光鮮亮麗都能集中在人生最好年華里璀璨發光。

希望所有的廣告能夠在最好的時光和最合適的機遇,溫柔平滑(Smoothing)的見到真正美麗微笑的消費者

相關擴展閱讀:

談談廣告平台的競價原理:GFP,GSP,VCG

互聯網廣告CPM,CPC,CPA的魔咒和聖杯

DSP的繁華和傷心

為什麼說Facebook是一家彪悍的廣告公司,市值全球第四?

作者簡介:

歐陽辰,互聯網廣告技術老兵,小米廣告架構師主管,負責廣告平台架構和大數據,曾負責微軟移動Contexual Ads廣告平台,參與Bing搜索引擎IndexServe的核心模塊研發,有空也會在個人微信公眾號「互聯居」中,分享一些互聯網技術心得,訂閱「互聯居」公眾號,與作者直接交流。

http://weixin.qq.com/r/yEjXz6fEOfpGreOs9x3a (二維碼自動識別)

「互聯居」公眾號的小小願景是「致力於中國互聯網廣告技術的繁榮」

廣告技術資料下載可到:互聯居-歐陽辰


先直接回答提問的問題:廣告系統裡面防止超預算,最直接也是最簡單的辦法就是「快」。以一個商用規模的DSP為例,必須快速收集每個ad serving伺服器上面目前的花費數據,得到接近實時(near real-time)的總體花費情況,然後根據需要(需要立即停止廣告投放、或者需要調整投放速率等)快速通知競價模塊(bidder)。下圖是雅虎展示廣告DSP系統的關於預算控制(包括防止超預算、防止預算剩餘、以及控制花費過程如平滑花費)的實現[1]。In-memory data source負責存儲當前的花費狀態,controller負責基於花費狀態計算控制信號發送給競價模塊。具體參見[1]中的Section 7。

然而畢竟是near real-time。在實際操作中,也有一些常用的方式去防止潛在的超支。比如:適當減少X%的日預算,作為緩衝;為每個時間區間設定一個消費上限,主要是防止流量的突然爆發(traffic spike);以及通過預算控制(budget pacing)來在不同時間區間分攤消費起到一定的「更容易控制不超支」的效果。

------分割線。以上是回答問題,以下是一些和這個話題相關的分享------

預算控制(budget pacing or pacing control):把廣告預算按照期望的方式(或者說步頻)花費出去。主要目的有幾個:

  • 防止過快花完預算,另外一定程度上使得防止超支變得更簡單一些。
  • 獲得更大或者更多樣化的受眾群。過快花完的問題是可能只能展現給一部分用戶(如早起的用戶)看。
  • 和廣告主的其它廣告或者在其他媒介上的營銷活動行程協同效應。(這是一個潛在的研究方向)
  • 優化廣告效果,達成廣告主投放廣告的主要目標(campaign optimization)。

加粗最後一點的原因是現在主流DSP的預算控制模塊已經不是簡單地要實現不超支、不剩餘、或者平滑消費。實際上預算控制已經成為一個優化廣告投放效果的工具。這個留到後面講。下圖是幾個簡單的會意的預算控制的例子[3]

目前主流的實現預算控制的方法分為兩大類[1]:

  • 通過修改競價(Bid Modification): 競價影響競價成功的概率,從而影響消費。好處是提供了可以直接解bid來達到優化廣告投放效果的可能性。壞處是bid如何修改能夠精細地控制花費是一個非常難的問題,這牽涉到bid landscape的預測,其本身在RTB中也是一個很難的問題。再一個壞處是如果publisher或者SSP那邊設定了底價(reserve price),那麼預算控制在bid已經低於這個底價時,就不可能了[2]。
  • 通過使用概率閥門(Probabilistic Throttling): 每次以某個的概率參與競價,這個概率(也稱pacing rate)可以是一個動態的值,推廣來說可以是每次競價都有一個特別的值。好處是pacing rate可以直接精細控制預算花費,壞處是控制的好壞還是受到上游競價模塊出價的影響,比如當pacing rate達到100%了,但是還是希望加快消費,如果上游競價模塊不給力,那麼也就遇到天花板了。

目前Turn [3] , Yahoo, Linkedin 等公司採用的是Probabilistic Throttling的套路,Facebook使用的是Bid Modification。

透過預算控制來實現廣告效果優化

前面講到在Probabilistic Throttling裡面,實際上每個競價都可以有自己的參與競價的概率。所以一個自然的想法就是是否可以透過演算法為每個競價決定這個概率,來同時滿足花費的控制和廣告效果的最優化?答案是肯定的。我們發表在KDD15上的工作將競價按照預估的流量質量分組,並使用adaptive controller來控制對每個組裡的流量,競價概率應該是多大。下圖是一個簡單的例子。

相比Linkedin在KDD14上發表的基於conventional feedback controller [2] 的效果,在控制花費上,因為使用adaptive controller,所以控制得比使用conventional feedback controller 要好;在廣告效果上,因為對流量進行質量分組,能夠獲得遠好於以[2]為基線的結果(in terms of eCPC)。

簡單小結

防止超支是預算控制中的一個子問題,單就解決這個問題,核心是「快」。但是預算控制可以做到的事情遠不止這些。這裡簡單討論了一些和平滑花費、廣告優化相關的話題。如果對預算控制或者RTB廣告中的其它話題(無論是理論還是實踐)想有更深入的了解,歡迎參考CIKM16上我們關於RTB的一個Tutorial [4] (Learning, Prediction and Optimisation in Real-Time Bidding based Display Advertising.)

[1] Jian Xu, Kuang-Chih Lee, Wentong Li, Hang Qi, Quan Lu. "Smart Pacing for Effective Online Ad Campaign Optimization". In Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD』15), Sydney, Australia, 2015.

[2] D. Agarwal, S. Ghosh, K. Wei, and S. You
Budget pacing for targeted online advertisements at Linkedin
Proceedings of the 20th ACM SIGKDD, 2014

[3] K.-C. Lee, A. Jalali, and A. Dasdan
Real time bid optimization with smooth budget delivery in online advertising
The Seventh International Workshop on Data Mining for Online Advertising, 2013

[4] Weinan Zhang, Jian Xu. "Learning, Prediction and Optimisation in RTB Display Advertising". CIKM, October 2016.


1、設置區間閥值做客戶續費提醒,2、費用耗盡前降低搜索和推薦排名,降低點擊率和資源耗儘速度。


推薦閱讀:

為什麼LR可以用來做CTR預估?
如何評價CTR預估效果?
除了LR,FM(FFM)方法,CTR預測還有那些方法,應用較為廣泛?
廣告點擊率模型中,LR, GBDT+LR, FM, DNN等模型的優點和缺點?實際效果如何?
為什麼FTRL比FOBOS更容易獲得稀疏解?

TAG:計算廣告學 | 實時競價RTB |