商业化广告策略解读
導讀:隨著互聯網的高速發展,在線廣告的市場規模水漲船高,成為互聯網主流的變現模式之一,也催生了一批廣告巨頭,如國外的Google、Facebook,國內的字節跳動、阿里、百度、騰訊,廣告在整個營收中占據著重要的位置。
前文中,我們介紹了廣告動態化、目標轉化出價、數據管理平臺 ( DMP )、廣告的拍賣內核、機制設計、最優機制等方面。詳情請參考:
商業化廣告策略隨筆
今天將為大家分享最優機制的經濟學解釋、市場保留價、動態保留價、價格擠壓因子、預算消耗控制等內容。
01
最優機制的經濟學解釋
在最優機制的介紹中,我們構造了常規問題下買家的一個虛擬估價函數:
其中 v?是估價,Y?是虛擬估價,滿足正則假設則 Y?關于 v?單調遞增,并選擇分配規則是虛擬估價最高者得,支付規則是二價計費,假設買家 i?的虛擬估價最高,則獲得拍賣品,除買家 i?以外虛擬估價最高值記為?Y-i,令?Y-i=A,那么此時買家 i 的支付為:
Ti=Y-1(A)
其中?Y-1?是買家 i?虛擬估價函數的反函數,我們稱該機制是不帶保留價的最優機制,此時賣家的期望收入最大化,接下來我們展開講一下為什么賣家要按照買家的虛擬估價競價,虛擬估價在經濟學中又有什么含義。
假設賣家為一個買家制定了一個價格為 p?的接受-拒絕方案,此時 F(p)?是買家估值小于 p?時的概率,則買家估值大于 p?的概率為 1-F(p),即買家接受方案獲得物品的概率,其中 F?是買家估值的累積分布函數,此時把買家接受方案獲得物品的概率看做買家的需求數量,可得需求數量與價格的函數關系式如下:
q(p)=1-F(p)
上述是經濟學中的需求函數:在不同的價格下,買家的需求數量不同,且單調遞減,需求曲線斜率為負,它的反函數為:
p(q)=F-1(1-q)
則賣家的收益函數:
TR=p*q=F-1(1-q)*q
對總收益?TR?關于數量 q?求導,把?F-1(1-q)=p?帶入后可得:
此時可以發現,邊際收益函數式 MR(p)?和買家的虛擬估價函數式 Y(v)?相同,即買家的虛擬估價是賣家的邊際收益,經濟學中邊際收益是指賣家每增加一單位產品的銷售所增加的收益,在一次不可分割的單品拍賣中,當前賣家的收益就是就是邊際收益,為獲得收益最大化,賣家選擇的分配規則是把拍賣品分配給虛擬估價最高者,支付規則選擇二價計費是為了減少買家報價的波動性,有利于拍賣系統的穩定。
在現實拍賣中,賣家不一定會把拍賣品賣給虛擬估價最高的買家,只有當最高虛擬估價 Y?大于等于賣家對拍賣品的估價時才會出售,這點其實很容易理解:賣家只有在收益大于等于成本時才會發生交易,此時賣家對物品的估價就是成本,這里就引出拍賣的另一個概念:保留價,顧名思義當買家報價小于該價格時賣家保留拍賣品,下節我們展開聊。
02
市場保留價
剛剛我們提到在一次拍賣中如果所有買家的報價均小于賣家的估價時,則拍賣品不出售由賣家保留,此時賣家的估價就是保留價,也叫底價,全稱市場保留價,下面我們展開講一下。
1. 賣家設置保留價的原因是什么?
-
不想虧本
對于賣家而言拍賣的東西本身具有一定的價值 ( 成本?c?),如果在低于該價值的價格出售 ( p?),則此時賣家的效用:
u=p-c<0
基于個人理性假設,賣家此時選擇保留拍賣品,這里引出拍賣的一個基本假設:個人理性,當拍賣雙方都不參與拍賣時,收益為 0,支出為?0,效用:
u = 0 - 0 = 0
發生拍賣的前提條件是對所有參與人都有利可圖,即 ui≥0。
另一個基本假設是在機制設計里提到過的激勵兼容 ( 說真話保障廣告系統的持續發展 )。
-
為了增加拍賣時競價環境的激烈程度,保障賣家收益。
尤其是在合作博弈中,買者之間存在合謀 ( 競價環 ),通過合作不斷降低報價增加了環中的買家收益,環的運作不會影響環外買家的獲得物品的概率函數及期望支付,環中增加的收益來自賣家的損失,此時賣家可以借助保留價的機制來對抗競價環。
2. 設置保留價對拍賣的整體的影響是什么?
-
拍賣可能不再有效
設置保留價后賣家可能會保留拍賣品,沒有分配給估價最高的買家,此時拍賣不再有效,影響了拍賣的社會效應,當然如果是基于私有價值的拍賣那么不會有太多人在意;
-
競得者的支付函數可能發生變化
當只有一名買家的報價高于保留價時,在廣義二價中,保留價將會改變獲勝者的支付價格,假設買家 i?報價?bi:
bi>bj≠i,且?bi≥r
除獲勝者以外最高報價記為:
maxbj≠i=b-i<r
沒有保留價時勝者支付:
pi=b-i
有保留價時則支付:
pi=MAX(b-i,r)
此時賣家收益增加。
3. 保留價有諸多好處,賣家在具體某次拍賣中如何設置保留價?
定價太高則拍賣品賣不出去,此時賣家效用為 u=0;定價太低在競價不充分時則買家 i?可能以很低的價格獲得物品,此時賣家效用 u?沒有達到預期。
對于廣告系統而言,粗一些的做法是根據廣告主們的歷史競價情況,取一個使填充率沒有明顯下降的固定值作為保留價,相對比較簡單,一定程度上也可以防止廣告主無限下探出價,降低平臺收益;精細一些就是針對不同廣告主設置不同的動態底價,這對數據和模型的要求比較高,當然廣告平臺的收益也會相應增加,有本事多賺錢的道理,計算方法涉及到我們在最優機制里提過的虛擬估價,具體細節我們下節聊。
03
動態保留價
在拍賣中賣家為了增加拍賣競價環境的激烈程度,保障收益,設置了保留價,對于廣告平臺而言,有眾多廣告主參與競價,統一設置固定的保留價則不能使平臺收益最優,為此提出動態保留價,下面我們展開講一講。
從計算上講,動態保留價與固定保留價相比,主要差別在于針對不同的廣告主設置不同的價格上,更加精細,千人千面就需要了解廣告主的特性及對廣告曝光的估價分布。在最優機制里,我們提出最優機制的拍賣時競價的標準不是廣告主估價而是虛擬估價,并且解釋了為什么使用虛擬估價代替估價的經濟學解釋,它代表了賣家的邊際收益,在一次單品拍賣中把物品配置給邊際收益最高者,里面有個隱含假設:
最高的虛擬估價高于保留價,即:
Y≥V0=r
其中,V0?代表賣家對物品的估價,即保留價 r,同時也是賣家的成本。
在求動態保留價時,我們令 Y=r,即:
v-(1-F)/f=r
解出上式中的 v*,就得到針對該買家的動態保留價,從上式可以看出要解出等式必須知道 f(v),即買家估價的密度函數,這個前提與最優機制時是一致的:
不知道各個買家的估價分布無法針對性的設置保留價和最優機制來最大化賣家收益。
這里可能會有個疑問為什么令?Y=r,解出來的?v*?就代表了動態保留價,下面我們說下經濟學的解釋。
從經濟學角度,隨著物品供給量不斷增加時,邊際收益遞減,邊際成本遞增,當
MR=MC
企業利潤最大化。在單品拍賣中,虛擬估價 Y?代表邊際收益,保留價 r?代表邊際成本,令 Y=r?,即:
Y=MR=MC=r
此時賣家利潤最大。
又因為廣告拍賣的是曝光,有區別與其他拍賣品,不能長期儲存,過后即廢,所以在實際操作中有時令 r=MC=0,此時上式變為:
v-(1-F)/f=0
即?v*=(1-F)/f?可得買家的動態保留價。
下面我們用圖可以更加直觀的感受下:
其中,q=1-F(p),代表需求函數,MR=p-(1-F)/f,代表邊際收益函數 ( 也是買家的虛擬估價函數 )。
當 MR=0?時,得到最優產量及價格 (p*,q*)?, 此時?p*?對應上面的動態保留價 r*。
對于廣告系統而言,不同廣告主有不同的估價,需要根據歷史數據擬合出估價分布函數,基于此求出廣告主各自的保留價后分別設置。
這里我們可以完善下關于之前對最優機制的描述:
-
分配規則:當 maxY≥r?時,虛擬估價最高者得,否則保留物品;其中 Y?表示買家的虛擬估價;
-
支付規則:競得者需支付價為 Z,Z=max(Y-1(A),r*)?
其中 A=Y-i,表示除去競得者買家 i?的虛擬估價最高者,?Y-1?表示買家 i?虛擬估價的反函數,r*=Y-1(0)
如果買家是對稱的,此時 f(i)=f
則:Z=max(maxXj,Y-1(0))
其中,maxXj?表示除競得者 i?以外的最高報價。
即帶保留價為?r*=Y-1(0)?的二價拍賣為最優拍賣機制。
04
價格擠壓因子
廣告作為一種特殊的拍賣繼承了拍賣的內核,還發展出一些特色,比如作為拍賣品的曝光不易存儲過期即廢,比如出價最高者未必會贏得拍賣,這就涉及到廣告競價的特殊邏輯。
競價廣告起初按照千次展示 ( cpm?) 出價,出價最高者獲得曝光,后來在效果類廣告主的推動下,出價向后延伸,發展出按點擊 ( cpc?) 出價,分配規則還是出價高者得,此時對廣告平臺/媒體不利 ( 相當于免費給出價高但點擊低的廣告主宣傳 ),后來Google 把點擊率引入競價公式,將出價與競價分割開來,競價的標準變為 ecpm,這是一次重大創新,價高者得具化為 ecpm?高者得,ecpm?不僅包含了經濟維度的出價,還包括了廣告質量維度的內容和用戶契合程度,綜合考慮了廣告主、平臺、和用戶。對于按照點擊出價的廣告,計算公式如下:
ecpm=1000*pCTR*bidc
其中, pCTR?是預估點擊率,bidc?是廣告主的點擊出價。廣告主想贏得曝光,就要盡可能提高 ecpm,主要著力點是 pCTR?和?bidc, pCTR?受三方面影響:廣告、用戶、廣告場景 ( 上下文 ),出價主要受廣告主估價的影響。
廣告平臺在實際的運行中會面臨不同的情況和訴求,比如媒體反饋廣告質量差,影響用戶體驗;廣告主下調出價或者數量減少導致競價環境下降,影響平臺收益。平臺希望有一定的操作空間來影響競價結果,這就引出了價格擠壓因子 p,通過擠壓因子平臺能夠有效平衡質量與收入,加入擠壓因子后的競價公式如下:
ecpm=1000*pCTRp*bidc
其中 p>0,0<pCTR<1,bidc>r,r?為保留價。
通過公式可以得出以下結論:
-
當 p?值逐漸增大時,點擊率在 ecpm?中的權重會增大,價格的權重會減少,對 ecpm?的影響被擠壓出去,這也是 p?被稱為價格擠壓因子的原因;
-
當 p?值逐漸減小時,點擊率在 ecpm?中的權重會減少,價格的影響力會不斷提升。
平臺會在什么場景下調整 p?值及如何調整?
當競價環境降低收益下降時,平臺可以降低 p?值,加大價格權重,此時廣告主下調出價, ecpm?下降的比例會大于出價下調的比例,導致廣告主拿量加速下滑,因為是采用二價計費,作為理性人廣告主會停止降價進而提價,提價后拿量上升的比例大于實際成本增加的比例,鼓勵平臺廣告主持續提價,最終改善整體競價環境。
當反饋廣告質量差,影響用戶體驗時,出于長久考慮,平臺可以提高 p?值,加大點擊率權重,此時廣告主發現提高出價增加曝光的效果遠不如通過優化素材提升點擊率帶來的曝光效果,作為理性人,廣告主會持續優化素材提升創意質量,最終優化了用戶體驗。
上面說的是擠壓因子對分配規則的影響,對競得者的支付影響如下,在二價計費中競得者的實際支付?Ti?如下所示:
Ti=ecpmn+1/(1000*pCTRp)
計費價格始終小于出價。
廣告平臺在業務長期發展中探索出了一套有效的工具集,各有神通,通過運用以引導趨勢朝著期望的方向發展,擠壓因子就是其中一柄利器,廣告生態的規模越大,效果就越顯著,工具集其他成員我們后續再聊。
05
預算消耗控制
廣告平臺希望有越來越多的廣告主參與投放,供不應求會提升競價環境,平臺收益自然水漲船高,這里有個前提:有足夠大的流量盤子來滿足不同廣告主的多樣化投放訴求。凡事有利有弊,流量大隨之而來的一個問題:
中小廣告主每天預算是有限額的,按照 ecpm 排序分配流量,則很多廣告主會短時間內快速消耗完預算停止競價,只能等新周期開始才能重新參與。
有沒有方案可以有效解決這個問題,由此引出了一個平臺工具:預算消耗控制 ( Budget pacing ),下面我們展開聊聊。
預算消耗控制的意義是什么,主要從三個維度來闡述。
1. 廣告主
-
希望預算可以在一天中平滑消耗 ( Smooth delivery ),計劃的生命周期足夠長,從而觸達不同時段的用戶。
2. 平臺
-
希望在一天中后期能夠維持前期的競價環境,尤其對于二價計費,如果中后期參競者顯著減少,會在很大程度上影響收益;
-
消耗數據的滯后性導致廣告超跑,這在一定程度上不可避免,通過預算消耗控制可以減輕超跑情況。
3. 用戶
-
不希望一天內頻繁出現重復廣告,減少重復率,提升體驗。
基于上述考慮現提出解決思路以控制預算消耗,主流有兩個方向:
-
調整參競率
通過調整參與競價的概率來影響廣告參與競價的次數,消耗快了則降低概率,消耗慢了則提高概率。
-
調整競得率
通過修改出價來影響廣告獲勝的次數,消耗快了則降低出價,消耗慢了則提高出價。
對于修改出價影響競得率的思路,有以下幾個問題需要考慮:
-
競價環境隨時在變,調整當前廣告出價后,大盤競價環境可能同時發生變化,競得率可能沒有按照預設的方向發展;
-
SSP 部分位置可能會設置底價,如果需要降低的出價小于底價則無法拿量,一定程度上限制調價的空間;
-
將預算消耗控制和優化 ROI 耦合在一起,一個行為關聯多個目標可能會互相制約。
綜上所述建議使用調整參競率來控制預算消耗速度,調整參競率也有多種實現,下面我們介紹 LinkedIn 使用的方法。
06
LinkedIn?預算消耗控制方法
基本思路:通過調整參競率使得廣告計劃 ( campaign ) 的預算消耗曲線與該計劃獲得的曝光曲線在比例上盡可能保持一致 ( 預算控制一般在計劃層級 ),消耗快于曝光降低參競率,慢于曝光提升參競率。
根據計劃 j?的歷史數據,預估出計劃在當天獲得的流量分布,把一天分為 k?個時間片,日預算為?Bj?( 廣告主設定 ),計劃在各時間片的流量分布 :
I=(i1、i2、i3、i4?...?ik?)
按照比例分配預算:
Bj?=(b1、b2、b3、b4?... bk?)?
其中?bt≥0,;
Fjt?是預估出來從0:00開始到時間片 t?前的累計曝光量,;
Fjk?是一天的累計預估總曝光量,?;
Sjt?是從0:00開始到時間片 t?前的累計實際消耗;
Ajt?是從0:00開始到時間片 t?前的累計計劃消耗,則:
Ajt=Fjt/Fjk*Bj?
Pjt?是在時間片 t 時的計劃 j 的參競率;
R?是調整因子;
當實際消耗高于計劃消耗則下個時間片的參競率在上個時間片參競率基礎上下調比例 R,當實際消耗低于計劃消耗則下個時間片的參競率在上個時間片參競率基礎上上調比例 R,即:
Pjt=Pjt-1*(1-R),Sjt≥Ajt
Pjt=Pjt-1*(1+R),Sjt<Ajt
關于上述算法中初始值設定需要注意幾點:
-
時間片
長度設為為 1-3 mins ,時間片跨度越短則消耗曲線更加平滑,計算也越頻繁。
-
初始參競率?Pj1
Pj1=0.1,低速開始,給模型充足的學習時間,即使對某些計劃初始參競率低了可以通過快速迭代接近合理值,如果初始定的太高,可能造成沒來及調整預算已經消耗完的情況。
-
調整因子 R
R=0.1,復雜的計算方法是針對?Sjt/t?求導計算。
-
周期長度
一天總時長按照 22h 來估計,為預防模型出錯通過最后兩小時來緩沖。
在整個反饋控制中,關鍵點是對流量的預測,決定了預算分配曲線,需要先預測計劃j的定向目標人群的流量分布,結合計劃的歷史競得率得到計劃的流量分布。
以上是 LinkedIn 使用的預算消耗控制方法,思路簡單但結果有效,后面我們再聊其他控制方法。
07
Yahoo?預算消耗控制方法
剛剛提到的關于 LinkedIn 的論文,通過動態調整參競率來控制預算消耗速度。其基本思想如下:
計算實際累計消耗和計劃累計消耗,實際消耗大于計劃則降低參競率,小于計劃則提升參競率,每次目標請求發起時通過概率丟棄部分廣告請求。
上述方法中的這種丟棄是隨機的,是否有方法可以根據請求的質量度來判斷是否丟棄,當高質量請求 ( 高轉化 ) 時參與競價,低質量請求時丟棄,這樣既可以控制消耗速度,同時可以優化效果,提升 ROI,這就引出下面我們介紹的 Yahoo 一篇論文中介紹的方法。
基本思想:
根據廣告效果(比如點擊率)將廣告請求劃分多個層,各層參競率不同,點擊率高的層參競率高,點擊率低的層參競率低。當目標請求發起時,根據點擊率預估模型落到具體某個層,并根據該層的參競率來參與競價。下一個時間片如果需要增加消耗則從最高層起依次向下增加參競率,如果需要降低消耗則從參競率大于0所在層起依次向上降低參競率,始終保持實際消耗曲線貼近計劃消耗曲線以達到預算平滑消耗的效果。
具體實現邏輯我們稍微展開說一下,基本設定如下:
根據歷史數據制定計劃預算消耗 B,一天時間切分為 K 份:
B=(B1、B2、B3... bk?)
其中,Bi≥0,,Bm?是經過 m 個時間片以后實際剩余的預算,一天內實際消耗:
C=(C1、C2、C3... Ck?)
根據轉化目標不同的值把計劃的目標請求分成 L?層,假設目標取點擊率,則各層點擊率如下:
S=(S1、S2、S3...?SL?)
點擊成本:
E=(e1、e2、e3...?eL?)
t-1 時間片時各層的參競率:
Rt-1=(rt-11、rt-12?...?rt-1L)
t-1 時間片時各層實際消耗:
Ct-1=(Ct-11、Ct-12?...?Ct-1L)
則時間片 t 的調整后的消耗應該為:
其中,??表示經過 t-1?時間片以后計劃與實際消耗之間的差額;
表示把差額平攤到后續的各個時間片里。
令 F=Ct-Ct-1?代表相鄰兩個時間片的消耗差值。根據 F?的值分情況來計算確定時間片 t?內各層的參競率。
-
F=0
說明t時間片的調整后消耗與 t-1 時間片的實際消耗一致,繼續使用上一時間內的各層的參競率不用調整即:
Rt=Rt-1=(rt-11、rt-12?...?rt-1L)
-
F>0
說明時間片 t 的消耗要大于 t-1,此時需要提升參競率,直至多出來的增加消耗完為止,參競率從最高層 L?逐層往下提升參競率 (上 層的點擊率更高 ),各層在 t?的參競率?rtL?計算公式如下所示:
rtL=min(1,rt-1L*(ct-1L+F)/ct-1L)
F=F-ct-1L*(rtL-rt-1L)/rt-1L
直至 F=0?為止;
-
F<0
說明時間片 t 的消耗要小于 t-1 的實際消耗,此時需要降低參競率,直至差額抵消完為止,參競率從低層 l?( 參競率非0的最小所在層 ) 逐層往上降低參競率 ( 下層的點擊率更低 ),各層參競率?rtL?計算公式如下所示:
rtL=max(0,rt-1L*(ct-1L+F)/ct-1L
F=F-ct-1L*(rtL-rt-1L)/rt-1L
直至 F=0?為止。
在實際中可以根據 F?具體的值采用不同的計算公式算出時間片 t 內的各層參競率。
例子:如在第3個時間片內,目標用戶發起一次廣告請求,模型預估點擊率 pCTR=3%,共有5層,第2層的點擊率區間為[0.02,0.04],則此次請求落在第二層,該層的參競率?r32=30%,劃分區間[0,29]和[30-99],隨機數生成是28則參與此次競價,生成隨機數是45則放棄該次請求,不參與競價。
08
有約束條件下的預算消耗控制
剛剛提出的將廣告請求分層的想法,基本思路是各層按照不同的參競率來參與競價,從而實現控制預算消耗的速度,同時有效提升廣告效果。
這里面有個前提,廣告計劃沒有明確的效果約束條件,如果有該如何處理,Yahoo 的論文針對這種情況提出了一種探索性解決方案,下面我們展開聊聊。
假設與前文中保持一致,包括預算分配、時間劃分、請求分層、前后時間片消耗差額等。在此基礎上,增加了如下假設:
廣告按照 cpm?出價,效果目標是 cpc?價格不能高于某個閾值 ( goal );
這點好理解,從轉化路徑上講,效果目標約束在出價之后,否則直接通過出價來控制效果就可以。
提出分層累加 ecpc(Ct-1,Rt-1,Rt,E,i)?概念,代表從第 i?層到 L?層,在時間片 t?的累加 ecpc;
計算公式如下:
其中分子代表了時間片 t?內從 i?到 L?層的總消耗,分母代表了時間片 t?內從 i?到 L?層的總點擊次數,二者相除可得從 i?到 L?層的?
ecpc(Ct-1,Rt-1,Rt,E,i)
后面簡稱 ecpc(i)?。
下面介紹計算各層參競率方法:
用前文中無約束算法得出各層參競率:
Rt-1=(rt-11、rt-12?...?rt-1L)
并計算 ecpc(1)?:
-
當?ecpc(1)≤goal,繼續采用無約束算法;
-
當?ecpc(1)>goal?,則采用下面算法獲得各層參競率:
從第一層開始循環,依次向上計算,i=1,2...L,ecpc(i)>goal,計算ecpc(i+1):
-
當ecpc(i+1)≥goal?時
第 i?層參競率?rti=0
-
當?ecpc(i+1)<goal?時
其中,?代表 i+1?到 L?在消耗分別是:
ct-1i+1、ct-1i+2?...?ct-1L?時,小于目標成本累計的金額;
ct-1i*(1-goal/ei)?代表第 i?層消耗為?ct-1i?時,大于成本的金額。
時間片 t?內?rti?根據比例調整,如果>1,提高參競率,如果<1,降低參競率,最終使得?epc(i)=goal,滿足目標約束。
這里有個假設:該層參競率與消耗正相關。
新計劃沒有效果數據對于實驗參數取值有如下建議:
根據相似度找出一個在跑老計劃,找出一個能夠使得預算消耗完的全局參競率 r,
令層數?L=1/r;
在冷啟動階段所有層使用統一的參競率,把獲得曝光的請求數按照預估點擊率排序并根據既定層數取相同數量,確定各層的點擊率邊界。
綜上我們分別介紹了兩種控制預算消耗的方法:
-
LinkedIn 方法實現簡單,不用分層,根據實際累計消耗和計劃累計消耗的關系來調整參競率,雖然無法保證效果,但可以有效控制消耗速度;
-
Yahoo 的方法可以同時兼顧消耗速度和效果,但是模型相對復雜,尤其根據有無明確效果目標提出兩種算法,增加了不少難度。
上述方案各有特色,適用場景也有所不同,具體運用需要根據實際情況加以判斷。
總結
- 上一篇: 灰指甲会传染吗
- 下一篇: 爱奇艺深度语义表示学习的探索与实践