機器知道你會點廣告:寫給普通人的CTR預估科普

3 評論 11855 瀏覽 103 收藏 17 分鐘

廣告是一個復雜的系統,里邊有無數精妙、有意思的邏輯。

我們在刷微信和微博的時候,有時候會驚嘆廣告非常精準——“就是我想要的!”,有時候又會感覺廣告極其不靠譜——“我怎么可能點呢?”,所有的這些背后,廣告的工程師們已經做了他們最大的努力——

即便在我們看來并不精準,但在所有定向給你的廣告中,他們已經挑出機器認為你最可能點的廣告,而這背后依賴的就是CTR預估技術。

CTR預估是競價廣告核心的邏輯之一,很多人認為CTR預估非常高深,根本搞不清其中的邏輯,的確,CTR預估作為一個純技術的模塊,要做一個簡單的科普并不容易。

致力于用簡潔語言描述復雜問題的衛夕今天嘗試用人話來解釋CTR預估的來龍去脈,放心,本文不會涉及到任何高深難懂的公式和技術邏輯,看得懂中文的同學都能明白其中的邏輯。

一、CTR在競價廣告系統中起神馬作用?

CTR(Click-Through-Rate)為點擊率,它是互聯網廣告中最基本的概念,我們先來看看點擊率對于一個競價廣告系統而言意味著神馬?

我們先來做一道簡單的題目——阿迪和耐克作為廣告主來競價,阿迪出2塊錢一個點擊,耐克出1塊錢一個點擊,假如微信廣告平臺有100次曝光,它應該給誰?阿迪還是耐克?有人說,當然是給阿迪啊,它出的價錢高。

這個答案是不對的,如果阿迪的點擊率為1%,耐克的點擊率為5%,那么給阿迪能產生1個點擊,每個點擊1塊錢,微信能賺2塊;給耐克則產生5個點擊,每個點擊1塊,微信能賺5塊,廣告平臺不傻,當然要給耐克!

好,從這個簡單的案例中,我們可以看出幾點:

  1. 廣告平臺關心自己的流量價值——即自己的流量曝光賣的貴還是便宜,一般用ECPM(earning cost per mille)這個指標來衡量,即每1000次曝光帶來收入。
  2. 廣告主一般按點擊進行扣費,即廣告主通常關心結果,出價原則就看一個點擊需要花多少錢。
  3. 廣告平臺需要把點擊出價轉化成ECPM進行扣費和排序。
  4. CTR架起了從點擊到曝光的一座橋梁,為排序提供基礎。

總結起來就是一個簡單的公式——ECPM=1000*CTR*點擊出價,在上面這個案例中阿迪的ECPM=1000*10%*2=20,而耐克的ECPM=1000*5%*1=50,顯然耐克的ECPM大于阿迪的,因此耐克會在這次競價中勝出。

從這個案例中我們可以看到CTR是為廣告排序用的,而排序本身就是競價廣告的核心,因此CTR預估也是競價廣告的核心技術之一。

不僅廣告系統需要CTR預估來排序,推薦系統也需要CTR預估來排序,因此CTR預估應用其實比我們想象的要更加廣泛:

YouTube、亞馬遜、今日頭條等等涉及到個性化推薦的系統都會應用到CTR預估,即他們要把你最可能點的內容推薦給你。

而廣告系統的CTR預估在具體的數值上比推薦系統要求更高,比如推薦系統可能只需要知道A的CTR比B大就可以排序了,而廣告由于不是直接用CTR進行排序,還加上了出價,因此廣告系統不僅要知道A的CTR比B大,而且還需要知道A的CTR比B的CTR大多少。

二、為什么要進行CTR預估?

到這里大家已經明白CTR的重要性了,即CTR是廣告排序的前提,它連接了點擊和曝光,這時候大家又會有一個新的問題:那CTR為什么要預估呢?多少投放一點不就知道了它的CTR了嗎?

“多少投放一點不就知道了它的CTR了嗎?”這句話大體上沒錯,但事情遠沒有這么簡單,我舉一個例子你就知道了。

假如廣告平臺有四個廣告主來投廣告,這個廣告平臺總共有4000個用戶,這四個廣告主分別為賣布娃娃的、賣游戲機的、賣西裝的和賣高跟鞋的,出價都是1塊錢一個點擊。

這時候我們不知道CTR的情況下,我們應該怎么辦,于是我們試投了一下,每個廣告投了100個曝光,最后發現他們的CTR都是25%,出價一樣、CTR一樣。

按照我們上面的公式,ECPM就一樣,而我們按ECPM來排序,因此我們就沒辦法排序——每個人ECPM都相同,因此最終就只能在廣告平臺隨機出這四個廣告了。

ECPM=1000*CTR*點擊出價

但我們回去看一看實際情況,這個25%的點擊率是如何發生的我們就能明白總體CTR是不靠譜的,真相是平臺總共有4000個用戶,而他們均勻分成了四組:

分別是1000為成熟男人;1000成熟女人、1000少女、1000少男,這四個人群只點擊他們喜歡的東西,如成熟男人只點擊西裝,他們對自己喜歡的東西的點擊率為100%,對自己不喜歡的點擊率為0%,當我們隨機投放的時候,每個人的點擊率都是25%。

好,現在你看到了,直接拿試投這個點擊率去預估導致的結果就是用群體數據代表了個體差異,即當一位成熟男人來請求廣告的時候,我們會認為投給他一個布娃娃和投給他一套西裝沒有任何區別。

因為在試投階段布娃娃和西裝的整體點擊率都是25%,盡管實際上他們的點擊率有天壤之別,一個是100%、另一個是0%。

因此,當我們通過特征差異能正確地個性化預估CRT的時候,我們才能正確地排序,當一位成熟男人來請求廣告的時候,西裝這個廣告主就會在競價中勝出,因為我們知道它的CTR100%高于布娃娃、高跟鞋、游戲機的0%。

所以從這個案例中我們就能明白,不能直接籠統地看試投的點擊率,而應該有針對性地針對個體單獨預估,試投這個階段依然存在,但我們會通過某個模型用交叉特征地看每一個個體的點擊率,從而下一個擁有該特征的人群來訪問的時候,我們就能相對更加準確地預估了。

同時,我們也從上面的案例中發現,正確預估提升了CTR,從原來的25%提升到了100%,同樣廣告平臺的收入也會提升,這就是CTR預估的意義。

三、CTR預估是如何進行的?

通過這個案例我們看到,至少有三個特征決定了一個廣告的點擊率——廣告主行業、用戶的年齡、用戶的性別,事實上,在實際的廣告系統中,有無數的因素決定了廣告的點擊率,我們把這些因素主要分成3類——

  • 第一是廣告主側,比如廣告創意、廣告的表現形式、廣告主行業等,一個勞斯萊斯的廣告和一個可口可樂的廣告點擊率肯定有天壤之別。
  • 第二是用戶側,如人群屬性,以上的案例是年齡和性別,事實上,決定創意的因素人群屬性極其多——年齡、性別、地域、手機型號、WiFi環境、興趣……..
  • 第三是廣告平臺側,比如不同的廣告位、投放時間、流量分配機制、頻次控制策略等。

這些決定因素在CTR預估中被稱之為特征,而CTR預估的第一步就是“特征工程”,即把這些特征找到并數據化。

特征工程是一件復雜的工程,光判斷不同特征能否對CTR產生影響就是一個浩大的工程,特征工程的攻城獅們第一步得列出來不同的特征可能對CTR產生影響,這有時候靠直覺,有時候靠經驗,

確定了特征之后就需要對這些特征進行處理——即把特征數據化,比如把所有的特征變成0和1的二值化,把連續的特征離散化,把特征的值平滑化、把多個特征向量化…….

以上這一段看不懂?看不懂沒關系,你只需要明白,所有的這些特征都會被攻城獅們編碼變成一串可計算的數組就行,特征工程是一項重要的基礎工作,像今日頭條、百度這樣的廣告平臺都有一個龐大的團隊來做特征工程的工作。

好,特征工程完成之后就開始建立模型了,很多同學看到“模型”二字就開始皺眉頭了,沒關系,你可以這樣理解模型:模型就是一個黑盒子,在盒子的一方我們輸入一大堆參數,盒子的另一端就會輸入一個CTR的值。

比如我們輸入這樣的參數:一個高跟鞋廣告主、投放給北京地區、年齡20-30歲、對財經感興趣的女性用戶,在周末投放在微信的朋友圈第三位…….請給出一個CTR的值。模型就會根據不同特征的值計算出一個值。

至于它是如何計算的,非技術同學理解起來難度會非常大,我們可以簡單理解為CTR是無數特征的一個函數,CTR=f(x1,x2,x3,x4,x5……),而模型就是選擇神馬樣的函數來進預測。

我舉個大家最容易理解的線性函數:CTR=ax1+bx2+cX3+dx4+ex5……(這只是一個假設,實際上模型要比這個復雜N多倍)。

每一個函數都有相應的參數( 比如剛剛案例中的a、 b、c、d),而這些參數是如何確定的呢,就需要歷史數據進行訓練,就是把已經知道的一些數據去喂這個模型,模型根據這些數據不斷地調整參數,喂的越多調教的就越準確,最終預測的效果也就越好。

在所有的這些特征中,有些特征影響因子會大一些,有一些會小一些,比如搜索廣告中,搜索關鍵詞和廣告關鍵詞匹配程度就是一個影響因子極大的因子、歷史CTR也是一個影響因子極大的因子,其他因子會有不同程度上的影響。

工程師們每天的工作就是嘗試新特征、嘗試新模型、訓練不同的模型參數,以便讓CTR預估更加準確,谷歌、Facebook、阿里、百度這些公司的工程師已經在這些領域發表了很多篇頂級論文。

四、如何評估CTR預估的效果?

好,接下來的一個問題,如何評估CTR預估的效果?工程師們會有特定的指標去衡量效果,對于非技術同學,有人會直觀地說,那當然是看CTR有沒有變高?。?/p>

正確預估CTR不就是為了把真正高CTR的廣告挑出并展示出來么,錯誤地預估——把高的CTR低估或把低的CTR高估都會讓高的CTR不會排在最前面,從而會降低CTR。

這個說法在推薦系統中是成立的,但在廣告系統里是不準確的,因為廣告的排序不僅僅是CTR排序,它還綜合了出價進行排序,即ECPM進行排序,有時候CTR預估準確,反而(實際)CTR會降,我們看一個實際的例子:

這一大堆數字大家可能看不懂,我們只需要明白以下幾個邏輯就能看懂了:

  1. 廣告通過預估ECPM的大小來判斷誰勝出,而預估ECPM等于預估CTR*出價,在這個案例中,圖一CTR預測正確,阿迪的預測CTR30高于耐克的20因而勝出。
  2. 廣告實際ECPM是勝出者的ECPM,因為廣告平臺把所有的曝光都給了勝出者,它等于勝出者的實際CTR*出價。
  3. 圖二里把耐克的CTR從2%錯誤地預估到了4%,導致其預測ECPM高而勝出,而實際上投放出來的CTR為2%。
  4. 這個情況中,預測正確反而CTR低,預測錯誤反而CTR高,但是沒關系圖一預估正確的情況下實際的ECPM30高于圖二預測錯誤ECPM20。

所以從這個案例中我們可以看到,從結果指標來看,ECPM是衡量CTR預估最為重要的指標,當然,在實際的實踐過程中,CTR預測正確通常ECPM、CTR、收入這些指標通常都會漲。

另外一個很簡單的方法就是把預估CTR和真實CRT直接進行對比,由于預估CTR針對每一次廣告展示都會預估,比如這一次預估CTR為2%,但單次廣告真實CTR只有兩個結果,點或不點,即100%、0%,所以看單次結果是沒有意義的,我們應該從一個群體來看——

將每一次廣告曝光按照預測的CTR從小到大排序,然后按某個單位(比如每10000個曝光)分別統計平均預估CTR和實際CTR,就能知道預測CTR的準確程度了。

以上就是關于競價廣告中CTR預估入門級科普了,廣告是一個復雜的系統,里邊有無數精妙、有意思的邏輯。

#專欄作家#

衛夕,微信公眾號:衛夕聊廣告(ID:weixiads),人人都是產品經理專欄作家。一名興趣廣泛的廣告產品經理,致力于用簡單語言深度剖析互聯網相關的邏輯。

本文原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自 Pexels,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. CPM不應該是按展示付費嗎?如果按點擊付費的話應該是CPC。
    如果CPM.是不用考慮CTP的,同等曝光下,誰競價高誰得。
    但是如果是CPC才會應用到CTR的需求。
    那么實際場景中,CTR的預估的目的,在曝光一定的程度下,通過用戶點擊,帶來更多的收入嗎?

    來自江蘇 回復
  2. 寫得真好,通俗易懂,深入淺出

    來自廣東 回復
  3. NB,這我我看過的最通俗易懂的一篇文章了

    來自北京 回復