99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

小馬哥發表於2020-05-20
來自微信公眾號“人人都是優化師” (ID:growing360)

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

大家好,這篇文章我們講一講Facebook和Google的廣告演算法原理。

Facebook和Google的廣告系統,投放人員都在用,但是很遺憾。。。99.9%的人不知道背後的原理。網上翻看了一些資料,發現對於廣告平臺背後的原理介紹甚少,那麼接下來就根據找到的資料進行整理,讓大家明白背後的邏輯究竟是什麼?大家瞭解了原理,也就明白廣告投放到底是不是玄學?


競價系統

Google的廣告競拍採取廣義第二價格(Generalized Second Price,簡稱GSP)。

Facebook採取的是GSP與VCG(Vickrey-Clarke-Groves)的混合體。

什麼是廣義第二價格(Generalized Second Price,簡稱GSP)系統?

基本原理就是按照下一位的出價來實際扣費,為了鼓勵廣告主提高素材、廣告點選率,實際計費的公式變成了

收費=下一位價格(下一位質量分/本位質量分)+0.01。

舉例:

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

此時:

A的實際出價為4+0.01=4.01
B的實際出價為2+0.01=2.01
C競價失敗

簡單來說它即是支付數=點選次數*下位出價,即第i個廣告位的廣告每次點選所付的費用,等於第i+1個廣告位的廣告出價加上一個很小的值(一般是0.01),出價最高的廣告主只需要付出價次高的價格再加一個零頭$0.01,廣告主要付的費用是由下一名的出價決定的。

如上例子,廣告主A 對廣告最多出價$10,而廣告主B最多出價$4。那麼在GSP拍賣中,A需要付$4 + $0.01(0.01是最小的差值),現在我們假設A和B更有出價的技巧。

假設一:如果A出價$7(少於A認為這個廣告本身的價值),B出價$8(多於B認為這個廣告的價值),那麼B會以$7.01的價格得到第一個廣告位,雖然搶到了廣告位,但是這個價格比B最高出價多$3.01。

假設二:如果A出價$3.5,B出價$3,那麼A會以$3.01得到第一個廣告位,但如果B出價$3.6,他會以$3.51的價格得到第一個廣告位,這樣就可以節省$0.49。

但是這樣會出現惡意競價的可能,廣告主們推測競爭者的出價還是可以做到的。比如,A的真實出價是$10,B出不起這麼高的價格,它認為廣告位就值$4,它想我出$4,那A只用每次付費$4.01了,既然得不到這個廣告位,我也不能便宜A了,我出$9.99好了,最終大家都不討好。

為了解決上面的問題,比如Google在系統里加入了質量得分的因素,解決了這個問題。質量得分裡最關鍵的是CTR,顯然,不應該在競價排名時,只考慮價格,而應該綜合競價和點選率。影響質量得分的還有:點選率,廣告的相關性,廣告帳戶歷史等等。

GSP是一種穩定的競價方式,可操作性很強,現階段幾乎所有的網際網路廣告平臺都使用這一種競價方式。

GSP的不足是,競價的結果不一定是全域性最優化的。於是,VCG競價演算法出現了。

什麼是VCG(Vickrey-Clarke-Groves)競價系統?

基本原理就是廣告主為參加拍賣過程中給別的廣告主帶來的損失之和來買單定價。

舉例:

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

1)A不參加競價,B和C的總費用為200*4+ 100*2 = 1000元

2)A參加競價,B和C的總費用為100*4 + 0*2 = 400元

3)由於A參加了競價,導致B和C損失了1000- 400 = 600元

4)於是,A需要為每一次點選支付600 / 200 = 3元

Pacing系統

Pacing是廣告系統中花費預算的節奏的一個演算法。

Google Adwords設定好預算和最高出價,Adwords就可以自動通過出價調節,讓你在這個限定的預算下獲取最多的點選,都是通過調節出價,讓廣告主獲得最大的ROI。

Facebook廣告的pacing系統更注重長期和總體價值的創造,在競爭較為激烈的環境下,起量較慢。Facebook 平臺內每天有很多廣告投放機會,其中某些投放機會的花費相對更高。因此,在廣告組的整個投放期間,費用並非一成不變。排期機制考慮到了這樣的變化,通過掌控預算使用速率,尋找最佳的機會以最低的價格向使用者展示廣告,來提高廣告主的價值。預設情況下,Facebook 會在一天內向目標受眾均勻地展示你的廣告。

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

下面我們通過一個例子解釋一下這個演算法:

例子背景:

某廣告主現在在推廣一款產品,每天預算$10,以CPC計費,我們預先假定每次廣告點選能產生$5的收益。

下面我們將通過3種不同情況的競價情景,解釋為什麼pacing能為廣告主提供最大的價值。

案例一:沒有Pacing演算法的時候

圖上藍色的點代表廣告獲得展示的機會,黃色的圈代表廣告贏得展示,紅線代表出價的價格。

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

可以看出這種情況下廣告預算在一開始就被消耗乾淨,前期競爭激烈,後期無競爭,形成一定的資源浪費。

廣告總花費= $10
廣告總點選價值 = 6 *$5 = $30
每點選價值 =$5
預算 = $10
廣告總收益 = $30 – $10 = $20

案例二:出價過低

這種情況下,追求最低的點選價格,但是廣告主的預算最後沒有能用完,最終的廣告效果也最差。

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

廣告總花費 = $4
廣告總點選價值 =4* $5 = $20
每點選價值 = $5
預算= $10
廣告總收益 = $20 – $4 = $16

案例三:Pacing演算法下的均衡狀態

這時候,廣告客戶獲得了最大的點選數,獲取到了最大收益,同時也用完了每日預算。

99.9%的人都不知道的Facebook和谷歌廣告演算法原理是什麼?

廣告總花費 = $10
廣告總點選價值 =7* $5 = $35
每點選價值 = $5
預算 = $10
廣告總收益 = $35 – $10 = $25

從上面例子中,當我們在整段時間內使用穩定的出價(Pacing),廣告主的價值相比沒有Pacing或者出價過高過低,得到了最大化。為了實現目標,Pacing期望通過學習其他的有同樣目標使用者的競爭廣告,提出一個優化的競價。

Pacing 是廣告系統中調節花費預算節奏的一個演算法,一個類比就是競跑的運動員:過早衝刺意味著在終點前就沒勁了,但過晚衝刺也許你就沒完成這次比賽。Pacing 保證對所有的廣告主在競爭前提下自動分配不同的廣告預算。

Pacing 在給定預算下最大化廣告主的利潤。它讓廣告主更加真實,保證了可預測的投放。這種穩定投放讓每日的價格穩定並幫助廣告主公平獲取他們目標使用者的門檻。

自動出價系統

Google Adwords系統中,同一廣告主可以選擇多條廣告平均展示。

Facebook廣告中,如果同一賬戶下有多個廣告指向同一個目標,那麼系統會選擇一個(半隨機)進行出價,遮蔽未被選中的廣告的出價。

以上介紹只是讓大家對兩個廣告平臺的有一個簡單的瞭解,很難說Facebook的廣告系統比Google的更先進。事實上,兩者在各自的領域都是最先進的系統。在大多數模組上,Facebook和Google的實現其實是驚人相似的,差異更多是來自於產品本身的不同。列舉這些也是讓大家知道我們平時在用的系統是如何執行的,知其然,亦知其所以然,有助於我們進行廣告投放。

相關閱讀:
為何廣告投放效果越來越差?你的廣告都投放到了哪裡?

作者:小馬哥

相關文章