帶你瞭解Google搜索引擎的競價排名是怎樣實現的?

導讀:在搜索引擎的搜索結果頁面上一般有兩類內容:一類是根據PageRank等算法得到的與你搜索的關鍵字有直接關聯的源生鏈接,另一類是廣告商付了費的廣告鏈接。

 

每次你在搜索引擎上搜索一個關鍵字時,搜索引擎在背後都實時地運行了一場拍賣,通過這場拍賣來決定哪些廣告商的鏈接能夠被顯示出來,這些鏈接以什麼次序排列,以及向每個廣告商收取多少錢。

 

那麼這樣的系統背後的模型是什麼?是怎樣設計的?本文帶你一一瞭解。

01 背景知識

 

關鍵字搜索拍賣創造了巨大的網絡經濟效益。相關的數據非常讓人震撼:在2006年,來自關鍵字搜索拍賣的利潤佔據了谷歌總利潤的98%。雖然在線廣告現在有多種成熟的表現形式,但是關鍵字搜索拍賣產生的經濟價值仍然是每年數百億美元量級的。

 

進入正式討論前,我們先看兩個定義:

 

1. 佔優策略激勵相容(DSIC)

 

在一場拍賣中,如果對於每一個競拍者按照自己的估值真實報價都是一個佔優策略,並且真實報價的競拍者的效用都非負,則稱這個拍賣是佔優策略激勵相容(Dominant-Strategy Incentive Compatible,DSIC)的。

 

2. 社會福利

 

單物品拍賣結果的社會福利定義爲

 

 

其中,如果競拍者i贏得了拍賣,則xi爲1,否則爲0。因爲只有一個物品,所以有一個可行性的約束條件。所以,社會福利就是贏家的估值,或者如果沒有贏家的話,社會福利就是0(物品的售價並沒有包括在社會福利的計算中。我們將賣家視爲一個獨立的智能體,他的收益抵消了贏家由於支付而產生的收益損失)。

 

如果在一場拍賣中,在所有的競拍者都說真話的情況下,拍賣的結果能導致最大的社會福利,就說這場拍賣是社會福利最大化(welfare maximizing)的。

 

02 關鍵字搜索拍賣的基本模型

 

下面我們針對關鍵字搜索拍賣,討論一種簡單、實用且很有影響的模型。需要銷售的物品是某個搜索結果頁面上的k個廣告鏈接位置。競拍者是一些想要在該關鍵字頁面下顯示自己廣告鏈接的廣告商。

 

例如,沃爾沃和斯巴魯可以是“客貨兩用車”這個關鍵字的競拍者,尼康和佳能可以是“單反相機”這個關鍵字的競拍者,這樣的拍賣形式比單物品拍賣要複雜。

 

其複雜體現在兩個方面:一方面,一般來說,有多個物品待售(即k>1);另一方面,這些物品是不同的。例如,如果廣告是按順序顯示在頁面上的,那麼排在前面的廣告比排在後面的廣告就更有價值,因爲人們一般遵循從前到後的順序來瀏覽廣告列表。

 

我們使用點擊率(Click-Through Rate,CTR)來對不同廣告位之間的差別進行量化。廣告位j的點擊率αj表示的是用戶點擊這個廣告位鏈接的概率。如果廣告位是從上到下排列的,那麼一個合理的假設就是α1≥α2≥…≥αk。爲了簡化處理,我們現在做一個不太合理的假設,即廣告位的點擊率與該廣告位的內容無關。

 

關鍵字搜索拍賣可以擴展到更一般化且符合實際的形式,即每個廣告商i都有一個自己的質量分βi(越高越好),這樣的話,廣告商i在廣告位j處的鏈接的點擊率計算爲βiαj。

 

我們假設廣告商並不在乎廣告的曝光量,而是對用戶的每一次點擊有一個估值vi。這樣的話,廣告商i在廣告位j處的期望值就是viαj。

 

 

 

03 我們想要什麼

 

是否存在理想化的關鍵字搜索拍賣呢?對於這樣的拍賣,有以下幾個關鍵的需求:

 

  1. DSIC。也就是按照真實估值報價是佔優策略,而且效用不會爲負。

  2. 社會福利最大化。對廣告位的分配應該使得最大化,其中xi是分配給i的廣告位的點擊率(如果該廣告位沒分配給任何廣告商,則爲0)。每個廣告位只能分配給一個競拍者,每個競拍者只能得到一個廣告位。

  3. 計算高效。拍賣的運行時間應該是輸入(即v1,…,vn)的多項式級的(甚至是近線性的)。請注意,每天都有海量的這種拍賣在搜索引擎上運行。

 

 

04 我們的設計方法

 

拍賣問題的困難在於,我們要同時處理兩個攪在一起的事情:決定誰贏得拍賣,以及決定每個人付多少錢。即使在單物品拍賣中,如果只做對了第一件事(比如把物品分給出價最高的競拍者),也是不夠的。因爲如果沒有好好設計支付,那麼策略型參與者就會鑽空子。

 

令人高興的是,在許多應用(包括關鍵字搜索拍賣)中,我們可以同時解決這兩個交織在一起的問題。

 

  • 步驟1:假設所有的競拍者都如實報價。那麼,我們該如何將競拍者分配到廣告位上去,從而使得上面的性質2和3成立?

  • 步驟2:在得到步驟1的解之後,我們該如何設定售價,從而使得上面的性質1成立?

 

如果能高效地解決以上兩個步驟,那麼我們就得到了一個理想的拍賣。步驟2保證了DSIC性質,這意味着競拍者會如實報價(前提是如果競拍者有佔優策略,就會執行這個策略)。這樣的話,步驟1中的假設就得到滿足了,所以拍賣的結果就是社會福利最大化的。

 

最後,我們來看看在關鍵字搜索拍賣這個情境下步驟1是如何執行的。如果報價都是真實的,我們該如何將競拍者分配到廣告位上去才能實現社會福利最大化呢?自然的貪心算法是能實現最優的(而且是計算高效的),即對於所有的i=1,2,…,k,將報價第i高的競拍者分配到點擊率第i高的廣告位上去。

 

關於作者:蒂姆·拉夫加登(Tim Roughgarden), 哥倫比亞大學計算機科學系教授,之前曾任教於斯坦福大學,主要研究領域包括算法、博弈論以及微觀經濟學。他曾獲得美國青年科學家與工程師總統獎(PECASE),ACM頒發的Grace Murray Hopper獎,Game Theory Society頒發的Kalai獎,Mathematical Programming Society頒發的Tucker獎,以及EATCS-SIGACT頒發的Gödel獎。

 

本文摘編自《斯坦福算法博弈論二十講》,經出版方授權發佈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章