別裝了,算法知道你值多少錢

2 評(píng)論 8802 瀏覽 25 收藏 13 分鐘

好吧,一個(gè)標(biāo)題黨的標(biāo)題,但是本質(zhì)上也沒有任何夸大,算法的確知道你值多少錢,并決定向你展示什么樣的廣告。

自從Facebook引入oCPM出價(jià)以來,國內(nèi)的頭條廣告、微信廣點(diǎn)通、百度信息流都陸續(xù)推出了自己的oCPX出價(jià),oCPX出價(jià)已經(jīng)成為主流廣告投放平臺(tái)的標(biāo)配。

簡單而言,oCPX是一種出價(jià)機(jī)制,允許廣告主按照轉(zhuǎn)化行為成本出價(jià);假設(shè)對(duì)于游戲類的廣告主,希望優(yōu)化App的激活,那么廣告主在投放系統(tǒng)中設(shè)置了激活成本之后,算法就會(huì)根據(jù)以往轉(zhuǎn)化數(shù)據(jù)和廣告主的出價(jià),自動(dòng)篩選有價(jià)值的人群,針對(duì)高激活概率的人提高出價(jià)贏得廣告曝光,對(duì)低激活概率的人群降低出價(jià)減少廣告曝光以減少廣告浪費(fèi)。

常見的廣告出價(jià)方式還有CPM、CPC。

  • CPM:Cost Per Mille,每千次曝光成本,即按照曝光次數(shù)出價(jià),如微信朋友圈視頻形式廣告在上海就按照¥180一千次曝光扣費(fèi),不管你是否點(diǎn)擊了廣告。這在短期內(nèi)顯然是最有利于媒體的,因?yàn)樗挥胏are本次曝光是否有效;但是為什么說是短期?很簡單,廣告主又不是傻子,若發(fā)現(xiàn)廣告后續(xù)轉(zhuǎn)化一直很差,勢(shì)必會(huì)減少在該媒體的投放。
  • CPC:Cost Per Click,按照點(diǎn)擊出價(jià),如果廣告只有曝光沒有點(diǎn)擊,就不扣費(fèi);看似比較公平,但是廣告主需要大量的測(cè)試,才能找到最優(yōu)的投放方法,其實(shí)還是有一部分點(diǎn)擊是浪費(fèi)的,這對(duì)于媒體也是損失。

于是oCPX模式就應(yīng)運(yùn)而生,它能幫助廣告主優(yōu)化更深層次的轉(zhuǎn)化行為,同時(shí)提升有效點(diǎn)擊,提高媒體受益。

這段時(shí)間在網(wǎng)上找到一篇淘寶的關(guān)于oCPC論文,邏輯很清晰,在這里簡單轉(zhuǎn)述一下。

文章細(xì)節(jié)很多,沒興趣看的同學(xué)只要關(guān)注以下幾點(diǎn):

  1. 本次預(yù)估的點(diǎn)擊率*轉(zhuǎn)化率與歷史平均的點(diǎn)擊率*轉(zhuǎn)化率的比值,決定了系統(tǒng)出價(jià)調(diào)整的系數(shù);
  2. 淘寶的論文中,廣告保證eCPM最大和各方利益總和最大。

先定義:

  1. 出價(jià):廣告主原始出價(jià)為b0,算法調(diào)整后的出價(jià)為b1(也就是我們經(jīng)常說的:“系統(tǒng)會(huì)自動(dòng)調(diào)整出價(jià)”);
  2. 預(yù)估轉(zhuǎn)化價(jià)值p=pCTR*pCVR*v;v代表平均每次購買帶來的價(jià)值,可以假定是常數(shù);pCTR表示預(yù)估的廣告點(diǎn)擊率,pCVR表示預(yù)估的轉(zhuǎn)化率(如轉(zhuǎn)化行為可以定義為“購買”);
  3. 歷史轉(zhuǎn)化價(jià)值h=hCTR*hCVR*v;hCTR代表歷史廣告點(diǎn)擊率,hCVR代表歷史點(diǎn)擊后轉(zhuǎn)化率;淘寶實(shí)踐中,hCVR是用過去一段時(shí)間的競品廣告數(shù)據(jù)(估計(jì)是解決冷啟動(dòng)的問題,如果賬戶已經(jīng)積累了轉(zhuǎn)化數(shù)據(jù),肯定會(huì)用廣告主自己的數(shù)據(jù)),利用pCVR預(yù)估模型進(jìn)行計(jì)算,去掉最高&最低10%取均值得到的。

為了簡化說明,做兩個(gè)假設(shè):

  1. 假設(shè)廣告主的目標(biāo)是保證(或者提高)ROI;
  2. 單個(gè)點(diǎn)擊ROI = (pCTR * pCVR * v)/ b0;b0是該廣告出價(jià),比如廣告帶來的購買GMV除以該廣告的投放費(fèi)用,即得到該廣告的ROI(為了簡化計(jì)算方式,假定廣告主出價(jià)即等于廣告點(diǎn)擊費(fèi)用,即不考慮廣義次高價(jià)的邏輯,廣義次高價(jià)GSP機(jī)制可以參考此前的的文章)

要維持或者提升ROI,那么只需要保證 b1/b0 ≤ p/h。

b1代表算法優(yōu)化后的出價(jià);舉個(gè)例子,假設(shè)本次曝光,預(yù)計(jì)能帶來1.5倍的轉(zhuǎn)化價(jià)值,那么只要優(yōu)化后的出價(jià)/廣告主出價(jià)小于等于1.5倍,那么整體的ROI是不會(huì)下降的;反之,若預(yù)估轉(zhuǎn)化價(jià)值低于歷史均值,那么降低出價(jià);由于b0、p和h都已知,那么只需計(jì)算b1,滿足該約束即可。

真實(shí)廣告投放環(huán)境中,為了兼顧品牌安全和賬戶穩(wěn)定,將b1/b0的范圍控制在[1-α, 1+α]范圍之內(nèi),淘寶論文中將α值設(shè)置為0.4,即廣告最高出價(jià)不會(huì)超過廣告主設(shè)定的140%,下限也不會(huì)低于廣告主設(shè)定的60%。

  • 若p/h≥1,那么系統(tǒng)優(yōu)化后出價(jià)b1的下限l(b)=b0,出價(jià)上限u(b)=b0*min(1+α, p/h))(因?yàn)橛蠷OI約束在,不能突破p/h的約束);
  • 若p/h<1,那么系統(tǒng)優(yōu)化后出價(jià)b1的下限是l(b)=b0*(1-α),上限是u(b)=b0。

通過以上約束,也就能實(shí)現(xiàn)我們經(jīng)常說的:對(duì)于轉(zhuǎn)化概率高的流量(p/h>1,即本次廣告轉(zhuǎn)化率比歷史平均轉(zhuǎn)化率要高)提高出價(jià),獲得更高展現(xiàn)概率;反之,對(duì)于轉(zhuǎn)化概率低的流量(p/h<1)降低出價(jià),減少展現(xiàn)機(jī)會(huì)。

那么問題來了,若多個(gè)廣告競爭,到底誰贏得此次出價(jià)?

廣告排序我們都知道采用了eCPM排序,eCPM=b0*pCTR,eCPM高者贏得廣告展現(xiàn)機(jī)會(huì)。那么在ROI約束下的,eCPM能夠取到的最大值即上限u(eCPM)=pCTR*u(b),eCPM能夠取到的最小值即下限l(eCPM)=pCTR*l(b);

淘寶給定的排序機(jī)制是:按照eCPM排序,同時(shí)保證各方利益總和最大。

各方利益總和的計(jì)算,淘寶給出了兩個(gè)公式:

f(1) = pCTR1 * pCVR1*V

f(2) = pCTR2 * pCVR2*V+β*CTR2*b0

f(1)計(jì)算的是廣告帶來的所有GMV;f(2)計(jì)算的是廣告帶來的GMV和平臺(tái)的廣告收益。需要指出的是,f可以擴(kuò)展,因此可以優(yōu)化任何目標(biāo);這里認(rèn)為f是單調(diào)遞增函數(shù),隨著系統(tǒng)調(diào)整后的出價(jià)b1提高,收益也提高。f(1)雖然沒有將b1作為參數(shù),但是假設(shè)b1的增加,能拿到更好的資源位從而帶來更高的CTR、更加優(yōu)質(zhì)的流量。

廣告排序過程如下(稍微有點(diǎn)繁瑣,請(qǐng)記住每個(gè)字母代表啥意思):

① 對(duì)候選廣告池子A中每一個(gè)廣告計(jì)算f(u(eCPM)),按倒序排序;即按照最高出價(jià)來計(jì)算f,由于假設(shè)f是b1的遞增函數(shù),那么按照b1的上限值來計(jì)算,理論上是能保證f最大,即保證各方收益總和最大;

② 計(jì)算所有備選廣告中,所有eCPM下限的最大值t=l(eCPM);

③ 按順序,找到第一個(gè)滿足u(eCPM)≥t的廣告k,k廣告贏得此次競價(jià),并將該廣告移出A池子;即,只要某條廣告最高出價(jià)下的eCPM大于其他廣告的最低出價(jià)下的eCPM,就能贏得此次廣告曝光。這是為了保證媒體收益,如果只按照f排序而不考慮eCPM,那么可能對(duì)于媒體而言是一個(gè)虧本的買賣;

④ 比較剩下所有廣告的最大出價(jià)下的eCPM即u(eCPM)與上一個(gè)贏得廣告k的u(eCPM),取兩者當(dāng)中最小值,這樣就能保證已經(jīng)贏得展現(xiàn)機(jī)會(huì)的廣告k的eCPM,在所有候選廣告中是最大的;若廣告i的eCPM上限u(eCPM)被調(diào)整,也就意味著廣告i的eCPM上限u(eCPM)大于廣告k的u(eCPM),將其調(diào)整為廣告k的u(eCPM)。

此時(shí),那么廣告i的出價(jià)同樣需要被調(diào)整,看淘寶的代碼更直觀一點(diǎn):

  • 第一步:u(i-eCPM)=min(u(i-eCPM),u(k-eCPM));
  • 第二步:u(b)=min(u(b),u(i-eCPM)/pCTR);

第一步首先比較廣告i的上限eCPM與已經(jīng)贏得展現(xiàn)機(jī)會(huì)的廣告K的上限eCPM,取兩者 當(dāng)中最小值,這就能保證已經(jīng)贏得曝光的廣告k的eCPM是最大的。

第二步,更新廣告i的出價(jià)上限;如果u(i-eCPM)在第一步被更新了,那么廣告i的出價(jià) 在第二步也會(huì)被更新;需要注意的是,由于出價(jià)上限改變了,那么廣告i的f(u(eCPM)) 同樣會(huì)被更新(由于f()是一個(gè)單調(diào)遞增函數(shù),f()會(huì)減?。?/p>

至于這里為什么要調(diào)整剩余候選廣告上限eCPM,使其不高于勝選廣告的上限?我的理解是(不一定準(zhǔn)確):首先是兼容eCPM排序機(jī)制,也就是保證了媒體收益最大化;其次,兼顧f(u())排序是為了保證平臺(tái)、廣告主和消費(fèi)者的利益。

重復(fù)以上4個(gè)步驟,直至廣告數(shù)量填充滿所有廣告位,或者所有沒有廣告贏得該次展現(xiàn),此時(shí)結(jié)束循環(huán),并將所有廣告出價(jià)b1設(shè)置為u(eCPM)/pCTR,也就是所有廣告按照上限出價(jià)。

投放啟示:

① 單純從邏輯上看,真實(shí)出價(jià)是對(duì)廣告主最優(yōu)的策略。若廣告主最初出價(jià)b0小于其真實(shí)成本,那么拿不到預(yù)期的流量,這對(duì)廣告主不利;若最初出價(jià)b0高于其真實(shí)成本,這對(duì)拿量有好處,但是會(huì)導(dǎo)致模型會(huì)不斷往該出價(jià)水平去靠近(p(c|u,a)/h(c|u,a)不斷趨近于1),后期要控成本時(shí)勢(shì)必需要重新積累數(shù)據(jù)重新學(xué)習(xí);

② 開啟oCPC之前,需要穩(wěn)定的投放。換句話說,用戶轉(zhuǎn)化路徑是走得通且成本達(dá)到預(yù)期的。比如目前雖然激活成本達(dá)標(biāo),但是后續(xù)的轉(zhuǎn)化(注冊(cè)、購買、申請(qǐng)貸款等等)都還不達(dá)標(biāo),即使開啟oCPC去優(yōu)化激活意義也不大,因?yàn)檫@樣帶來的激活用戶后續(xù)轉(zhuǎn)化率也不會(huì)存在很大變化。

這是淘寶oCPC的思路細(xì)節(jié),我們跳出這些細(xì)節(jié),看看一條廣告從請(qǐng)求到展現(xiàn)涉及到的全過程:

oCPC到底是如何運(yùn)轉(zhuǎn)的?

為了保證不丟失細(xì)節(jié),我直接把論文描述貼過來:Front Server接收到頁面曝光請(qǐng)求之后,將該用戶信息傳給Merger Server,Matching Server分析得到該用戶的特征(一連串的標(biāo)簽),這些標(biāo)簽被傳入Search Node Server檢索符合條件的候選廣告,此時(shí)候選廣告數(shù)量降低為400條左右。

Real-time Prediction Server預(yù)估得出pCTR和pCVR。Stragedy Layer包含oCPC的邏輯和GSP機(jī)制。經(jīng)過該邏輯層,贏得展現(xiàn)的廣告被Data Node Server和Smart Creative Service優(yōu)化,最后Front Server返回廣告元素并展現(xiàn)。

論文原文鏈接點(diǎn)此直達(dá)。

 

本文由 @余子申 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 有個(gè)疑問:預(yù)估單個(gè)點(diǎn)擊ROI = (pCTR * pCVR * v)/ b0 應(yīng)該是除以b1才對(duì)吧?

    來自廣東 回復(fù)
  2. 理論很充足的互聯(lián)網(wǎng)廣告講解,學(xué)習(xí)了。這是我的帖子:我精煉的Facebook廣告投放競價(jià)策略:單月投放1.1萬美金,獲客成本不到0.18美金 | 人人都是產(chǎn)品經(jīng)理
    http://www.aharts.cn/marketing/1494618.html

    來自上海 回復(fù)