Optimized Cost per Click in Taobao Display Advertising
解決問題
淘寶作為世界上最大的電商平臺,每天為上百萬的廣告主提供十億多在線廣告曝光的機會。從商業(yè)目的上說,廣告主為特定的場景和目標人群進行競標以競爭商業(yè)流量。平臺方在十毫秒內(nèi)選擇合適的廣告進行展現(xiàn)曝光。常見的出價方法有cpm和cpc。
實現(xiàn)流量和廣告的精準匹配,oCPC出價,實現(xiàn)高轉(zhuǎn)化高出價,低轉(zhuǎn)化低出價;同時優(yōu)化版cpc能實現(xiàn)平臺、廣告主、用戶的三方共贏。
傳統(tǒng)廣告系統(tǒng)以固定的出價來瞄準特定屬性的人群和廣告放置位置,本質(zhì)上被視為出價和流量質(zhì)量的粗粒度匹配。廣告客戶為爭奪不同質(zhì)量要求而設(shè)定的固定出價無法完全優(yōu)化廣告客戶的關(guān)鍵要求。而且平臺方需要為商業(yè)收入和用戶體驗做保證。本文提出一種出價優(yōu)化策略,稱為優(yōu)化cpc(ocpc),該策略可以自動調(diào)整出價,以實現(xiàn)出價與網(wǎng)頁瀏覽量(PV)請求粒度的更好匹配。這種方法可以優(yōu)化廣告客戶的需求,平臺業(yè)務(wù)收入和用戶體驗,并從整體上提高流量分配效率。在淘寶展示廣告上進行方法驗證,在線AB實驗證明效果有提升。
本文關(guān)注于淘寶移動應(yīng)用中必不可少的CPC展示廣告的出價優(yōu)化問題。
(高轉(zhuǎn)化高出價,低轉(zhuǎn)化低出價。滿足一定條件;帶約束優(yōu)化問題)。
廣告系統(tǒng),包含三種角色:廣告主、廣告平臺、用戶;三方訴求不同,為了滿足不同的訴求,需要采取不同的措施;同時在滿足某方(某兩方)訴求時,要關(guān)注其他方的價值,這是一個利益權(quán)衡的問題。動態(tài)博弈~
論文中提到的淘寶APP上的兩種CPC廣告格式分別是:
- Banner CPC Ads
- 猜你喜歡
淘寶作為連接用戶和廣告主的平臺,其生態(tài)特點為:
- 不同于大部分RTB系統(tǒng),淘寶有dsp和ssp兩種角色,數(shù)據(jù)在平臺上能形成閉環(huán),能完整的獲得到用戶數(shù)據(jù)以及廣告計劃信息;
- 淘寶中大部分是中小廣告主,其主要關(guān)注于提升收入而非提高品牌影響力。因此,提高gmv能有益于這些廣告主。
- 不同的廣告主可能追求不同的KPI,這里討論在淘寶平臺上以點擊競價的cpc方式。
- 最后,廣告場景必須滿足媒體要求,通過點擊率、轉(zhuǎn)換率、gmv等指標來衡量。
通過權(quán)衡利弊,在這兩種廣告格式中使用cpc競價計費。原因:
- 相較于cpc,廣告主采用cpa承擔風(fēng)險會更低,
- 淘寶中多為中小廣告主,cpm相比于cpc風(fēng)險更高,cpc允許廣告主控制點擊成本,同時平臺承擔曝光到點擊的風(fēng)險。
廣告主總是期望出價能與流量質(zhì)量相匹配。但是由于技術(shù)限制,傳統(tǒng)方法只能為用戶組和廣告位設(shè)置固定出價,以實現(xiàn)粗粒度的流量差異化;但是,廣告客戶正在尋求對出價和流量質(zhì)量進行更細粒度的匹配方法。基于固定出價的排序過程有兩個不足:
- 廣告主設(shè)定的一個固定出價去處理具有不同商業(yè)質(zhì)量的持續(xù)互聯(lián)網(wǎng)流量,這種方式是低效的;
- 傳統(tǒng)方法會最大化eCPM來追求短期商業(yè)收入,但是無法優(yōu)化和控制媒體需求(例如GMV),這不利于淘寶的長期利益。
為了解決這兩個問題,從廣告主角度出發(fā),一些社交網(wǎng)絡(luò)平臺提出了從其他出價目標平等轉(zhuǎn)換而來的oCPM,oCPM能最大化廣告主利益;但是,不能保證廣告平臺的生態(tài)健康如gmv。另一方面,通過修改排名公式bid * pctr過度追求媒體需求(如GMV)無法為廣告商和平臺帶來有效的商業(yè)利益。
為了解決上述問題,我們提出了具有以下特征的OCPC:對于每個PV請求,在優(yōu)化廣告客戶需求的前提下,OCPC會根據(jù)流量質(zhì)量的真實價值調(diào)整出價,同時將出價最大化 通過保持eCPM排序機制不變來反映用戶體驗,廣告客戶的興趣和平臺收入的整體生態(tài)的綜合評分; 我們的設(shè)計使我們能夠根據(jù)業(yè)務(wù)變化的需求,以較低的成本靈活地調(diào)整OCPC系統(tǒng)。
系統(tǒng)架構(gòu)
描述淘寶展示廣告系統(tǒng)中數(shù)據(jù)信息流,有利于理解出價優(yōu)化如何生效。從PV請求開始到最終的展示曝光。
- Front Server:從用戶側(cè)接收page view請求,將請求傳送給Merger Server
- Merger Server:中心調(diào)度器,在整個過程中與其他模塊交流通信。Merger Server請求Matching Server分析用戶,然后根據(jù)廣告主的用戶定向要求給出一個特征標簽列表;
- Matching Server:
- Search Node(SN) Server:通過Merger Server,這些標簽被傳送給Search Node Server,用于依據(jù)出價來查找特定的候選廣告。在’猜你喜歡‘廣告中,候選廣告從數(shù)千個減少為4百個。
- Real-time Prediction(RTP) Server:對SN中的候選廣告預(yù)測點擊率pctr、轉(zhuǎn)換率pcvr。
- Strategy Server:負責ecpc邏輯處理,基于pctr、pcvr和出價在排序階段優(yōu)化流量分配。策略層還負責后續(xù)廣告的重復(fù)刪除,以及廣義第二價拍賣下的最終曝光價計算。
- Data Node(DN) Server:根據(jù)廣告排序結(jié)果,Data Node Server將廣告的標題、圖片地址抽取出來;
- Smart Creative Service(SCS):對DNS處理得到的廣告標題、圖片地址進行創(chuàng)意優(yōu)化。
最終,前端server將結(jié)果返回給app或者網(wǎng)站。之后的點擊、轉(zhuǎn)化將記錄在log日志系統(tǒng)中。
OCPC
A:符合PV請求的廣告計劃集合。對于一個特定的PV請求來說,對于A中的每個廣告計劃a,存在一個廣告主預(yù)先設(shè)定的出價ba。對每個ba來說,OCPC算法的作用是調(diào)整ba,找到一個優(yōu)化后的ba*能滿足預(yù)先設(shè)定好的各種優(yōu)化要求。
優(yōu)化可行域
ROI Constraint。ROI限制。考慮到淘寶大部分是中小廣告主,其主要關(guān)注市場效益,我們選擇以保持或提高ROI作為算法的主要應(yīng)用的同時,對他們的收入GMV進行優(yōu)化。這里先介紹相關(guān)概念,然后引出ROI的數(shù)學(xué)表達。
- p(c|u,a):用戶u點擊廣告a后發(fā)生轉(zhuǎn)化c的概率;
- va:對于特定廣告計劃a,va表示預(yù)計顧客的購買價格(pa-per-buy),或者說賣家的商品定價
- p(c|u,a) * va: 單次點擊的預(yù)計GMV
廣告主的實際耗費依據(jù)廣義二價機制來計算,這里我們假設(shè)廣告主為點擊點擊的付費為ba。單詞點擊的期望ROI計算公式:
匯總不同用戶和點擊的廣告計劃a的總體ROI為:
nu表示一段時間內(nèi)用戶u的點擊廣告a的次數(shù)。
上述等式表明廣告主的ROI由3個因素決定:期望轉(zhuǎn)換率,va以及出價ba;其中va是由每個廣告決定的,
在每個特定的商品(auction)上都是固定的。
實踐中,當前的預(yù)測模型用于預(yù)測過去幾天競爭廣告的pCVR;消除了這些CVR中最大,最小的10%,計算剩余的平均值作為。出價優(yōu)化的目標需要保證廣告主的roi保持不變或者得到優(yōu)化(稱為ROI約束),此外,廣告主可以獲得更多高質(zhì)量的流量。
出價優(yōu)化邊界。上面的等式保證了roia和之間的線性關(guān)系;為了滿足ROI約束,出價優(yōu)化保證
其中閾值ra是處于安全性和商業(yè)設(shè)置而定的。下限對于避免某些廣告商在優(yōu)化ROI時獲得很少流量的情況至關(guān)重要。從上圖可以看出,當流量質(zhì)量較差時,橫坐標小于1,的上限還能達到
本身,這顯然不能保證ROI不降,做了妥協(xié)。
對于廣告計劃a的出價優(yōu)化上下邊界分別為和
。值得強調(diào)的是,出價優(yōu)化的邊界可以泛化到廣告主設(shè)定的不同KPI上,并不局限于ROI指標。如果廣告主沒有設(shè)定出價優(yōu)化,對應(yīng)的上下邊界均為
.
排序
在可行域內(nèi)的優(yōu)化出價可以幫助廣告主獲得更好流量質(zhì)量以及更高的ROI。但是,在可行域內(nèi)選擇的不同的出價在eCPM排序機制下回導(dǎo)致不同的廣告排序結(jié)果(pctr * bid),進而帶來不同的收益以及其他指標的變化。本節(jié)的剩余內(nèi)容主要介紹在保持eCPM排序機制不變的情況下綜合考慮各方的利益的一種在可行域內(nèi)選擇
的方式。
假設(shè)在eCPM機制下要展示一個廣告,我們期望廣告能最大化目標函數(shù):
n表示在一個PV中候選廣告的數(shù)量。候選廣告集合A中的n個廣告需要在eCPM排序機制下競爭一個廣告位;f(*)表示綜合各方利益的一個綜合指標。這里假設(shè),是關(guān)于
的一個單調(diào)函數(shù)。
優(yōu)化問題中,k是最終勝出的廣告,依賴于的選擇,f(?)是需要優(yōu)化的目標函數(shù),綜合了需要關(guān)注的指標。比如:
f1只考慮淘寶平臺的gmv(廣告主的收入);f2是gmv和廣告收入的綜合指標,是gmv和廣告收入的權(quán)衡系數(shù)。
排序的剩余工作就是如何為每個廣告a在最大化目標函數(shù)下選擇。類比于優(yōu)化出價的邊界,我們設(shè)定
的邊界為
和
,為優(yōu)化排序分數(shù)
的上下邊界(
).
- 為了優(yōu)化目標函數(shù)f,我們需要將廣告依據(jù)
進行降序排序(因為設(shè)定
關(guān)于
的單調(diào)函數(shù),所以這里使用出價的上邊界
);
- 按順序選擇第一個廣告k(從上面的排序結(jié)果中順序選擇),滿足k的ecpm排序分數(shù)上界
不小于其他所有廣告的ecpm分數(shù)下界
[滿足優(yōu)化問題的不等式條件]
- 廣告k是最重要展示的廣告,同時出價
,取上邊界作為最終出價。
- 最后,在可行域內(nèi)更新其他候選廣告的出價bid,保證廣告k擁有最大的eCPM。
對實際場景中,在每個PV中可能有不止一個的廣告展示(廣告位),因此在上面的基礎(chǔ)上提出一個貪心算法。
算法描述:先按照1個廣告位的算法找到廣告k放到廣告位1,然后調(diào)整剩下廣告的ecpm排序分數(shù)上界,保證, 這樣可以保證k按照ecpm排序處于第一位;同時調(diào)整剩下廣告的出價上邊界
【根據(jù)ecpm排序分數(shù)計算,ecpm = bid * pctr】;接著在剩下的廣告中按照1個廣告位的算法找出剩余的廣告位廣告;最后將選出的廣告出價設(shè)置為出價上界【依據(jù)ecpm排序分數(shù)計算】。
下面用例子來理解排序算法。假設(shè)候選廣告A中有個4個廣告,同時有2個廣告位,我們需要在4個廣告中使用提出的排序算法選擇2個合適的廣告。
首先,依據(jù)目標函數(shù)對4個候選廣告進行降序排序;其中ecpm排序分數(shù)的最大下邊界為
(表格中藍色部分)。在依據(jù)
排序結(jié)果中從上到下選擇第一個出價上邊界大于所有廣告出價最大下邊界的廣告,也就是
(藍色標注)。因此,選出的第一個廣告就是Ad 1,然后將其從候選廣告A中刪除,并加入到勝選廣告集合
;剩余候選廣告A更新成表格2,根據(jù)算法的6-11行,為了保證剛勝選的廣告Ad 1的ecpm排序分數(shù)最大,需要更新剩余候選廣告的ecpm排序上邊界以及對應(yīng)的出價上邊界;更新部分如表格2中的紅色部分。在表格2中依據(jù)算法繼續(xù)進行選擇,選擇廣告Ad 3;依據(jù)算法進行選擇直到勝選廣告數(shù)量等于N,即
.最后,設(shè)置勝選廣告的出價為對應(yīng)出價上邊界;最終的所有候選廣告的出價為表格3.
我們只修改了勝選的候選廣告的出價[提高對高質(zhì)量流量的競爭能力],其余候選廣告出價保持不變。
通過這樣的排序算法,將最終的排序指標和廣告流量的目標解耦。一方面,廣告仍然可以通過pctr * bid進行排序,這部分用于最大化eCPM;另一方面,廣告平臺可以依據(jù)不同的目標函數(shù)f選擇廣告。另一個關(guān)鍵問題是廣告主的預(yù)算約束。一旦廣告計劃花完了預(yù)算,這個廣告將被移除接下來的auctions,這對出價優(yōu)化過程沒有影響。
模型校正Calibration
淘寶平臺發(fā)現(xiàn),從維護廣告系統(tǒng)的歷史經(jīng)驗來看,OCPC層中使用的預(yù)測值存在固有偏差,這可能會影響算法的有效性。(pcvr/pctr和實際cvr/ctr存在偏差,預(yù)估不準確)。這部分是在預(yù)測之后OCPC Layer之前進行的。
以pCVR為例,實時預(yù)測模塊RTP當實際CVR很高時,給出的預(yù)測值pCVR也預(yù)測得越高。依據(jù)預(yù)測pCVR將所有廣告分為20組,對應(yīng)實際CVR與pCVR/CVR比例如下圖所示。
pCVR校正公式為:
其中,tc為校正閾值,通常為0.012。當pCVR大于tc時,使用上述公式進行校正,減少pCVR和CVR的gap。校正之后,兩者gap減少,減少了一個量級。
最終的OCPC算法為:
對于A中的候選廣告,先進行pCVR校正、計算出價上下邊界;然后進行算法1的排序;最后,返回候選廣告的各個優(yōu)化后出價。
模型評估
CTR模型中,正樣本指那些曝光后發(fā)生點擊的數(shù)據(jù);負樣本指曝光但用戶沒有點擊的數(shù)據(jù);CVR模型中,正樣本指曝光后發(fā)生點擊,之后又發(fā)生轉(zhuǎn)化的數(shù)據(jù);負樣本指曝光后只發(fā)生點擊,沒有轉(zhuǎn)化的數(shù)據(jù)。
新模型天級別更新,用于消除不同天的數(shù)據(jù)方差。
預(yù)估模型的提供精準的結(jié)果是非常重要的。像CTR預(yù)測中,AUC是一個評估模型有效性的指標。然后,存在研究顯示測試階段更好的AUC實際工作時反而帶來更差的表現(xiàn)(線下AUC高,線上表現(xiàn)反而更差)。淘寶在實際工作中也遇到類似問題。
分析發(fā)現(xiàn),AUC將不同的用戶和廣告位同等對待,一視同仁。但是,一些從不點擊廣告或者遮擋廣告的用戶會給AUC結(jié)果帶來動蕩,使其變得偏低。根據(jù)事實和分析,提出GAUC指標。將用戶和廣告位對測試數(shù)據(jù)進行分組;然后在每個小組內(nèi)計算AUC(如果組內(nèi)數(shù)據(jù)全是正樣本or全是負樣本;則從測試數(shù)據(jù)中移除這個組內(nèi)的樣本);最后,依據(jù)每個小組的曝光or點擊次數(shù),對AUC進行加權(quán)平均。
實現(xiàn)驗證
論文分別進行線下和線上實驗,驗證算法的有效性。
線下模擬
通過歷史的log數(shù)據(jù),將pCTR和pCVR當作真實的CTR和CVR,比如某次展示的廣告計算出pCTR為4%,則認為貢獻了0.04的點擊。然后設(shè)計4種策略,統(tǒng)計指標。4種策略分別是:
- Strategy 0:對照組,保持原來線上的策略
-
Strategy 1:站在廣告主角度,設(shè)計調(diào)價策略image-20200809122609524
-
Strategy 2:OCPC策略,優(yōu)化的目標函數(shù)為image-20200809122642579
- Strategy 3:不調(diào)價直接修改rankscore公式,不再是eCPM排序,改成pctr * pcvr * bid,像提升gmv。
實驗效果如下表,相對策略0,策略1和3的千次展示GMV和ROI都提高了;但RPM降了,只有策略2(OCPC)在3個指標上都獲得了提升。
線上效果
Strategy 2上線效果和線下一致,在3個指標上均獲得了提升。
此外,作者提出本文的機制具有普適性,并不局限于GMV。
Others
約束優(yōu)化,保證ROI不降的情況下,對廣告單元的cpc出價進行調(diào)整。然后設(shè)定了調(diào)整范圍,可行域。之后,設(shè)計統(tǒng)籌多方利益(廣告主、平臺、用戶)的指標;此外,保證eCPM排序機制不變,對候選列表中的廣告單元出價進行上下調(diào)整。
總是想是實現(xiàn):高質(zhì)量流量高出價,低質(zhì)量流量低出價。但是還要保證效果要好。