Transcript Document
Search Advertising
These slides are modified from those
by Anand Rajaram & Jeff Ullman
History of web advertising
Banner ads (1995-2001)
Initial form of web advertising
Popular websites charged X$ for every
1000 “impressions” of ad
Called “CPM” rate
Modeled similar to TV, magazine ads
Untargeted to demographically tageted
Low clickthrough rates
low ROI for advertisers
Performance-based advertising
Introduced by Overture around 2000
Advertisers “bid” on search keywords
When someone searches for that
keyword, the highest bidder’s ad is
shown
Advertiser is charged only if the ad is
clicked on
Similar model adopted by Google with
some changes around 2002
Called “Adwords”
Ads vs. search results
Web 2.0
Performance-based advertising
works!
Multi-billion-dollar industry
Interesting problems
Search Engine: What ads to show for a
search?
Advertiser: Which search terms should
I bid on and how much to bid?
Will I be charged the full amount I bid?
User: Am I getting relevant ads? Should
I click on them?
From http://www.stanford.edu/class/msande239/
From http://www.stanford.edu/class/msande239/
From http://www.stanford.edu/class/msande239/
From http://www.stanford.edu/class/msande239/
Simple Adwords problem
A stream of queries arrives at the
search engine
q1, q2,…
Several advertisers bid on each query
When query qi arrives, search engine
must pick an ad to show
Goal: maximize search engine’s
revenues
Clearly we need an online algorithm!
Greedy algorithm
Select the ad with the highest bid for
Simplest algorithm is greedy
It’s easy to see that the greedy
algorithm is actually optimal!
Complication 1:
Ads with different CTRs
Each ad has a different likelihood of
being clicked
Advertiser 1 bids $2, click probability =
0.1
Advertiser 2 bids $1, click probability =
0.5
Clickthrough rate measured historically
Simple solution
Instead of raw bids, use the “expected
revenue per click”
The Adwords Innovation
Advertiser
Bid
CTR
Bid * CTR
A
$1.00
1%
1 cent
B
$0.75
2%
1.5 cents
C
$0.50
2.5%
1.125 cents
CTR: Click-Through Rate for that specific ad
What fraction of times, when the ad is shown,
do people click on the ad?
SE has to track these statistics over time..
The Adwords Innovation
Advertiser
Bid
CTR
Bid * CTR
B
$0.75
2%
1.5 cents
C
$0.50
2.5%
1.125 cents
A
$1.00
1%
1 cent
Complication 2: Advertisers bid
on keywords not queries..
Many-to-Many correspondence between
queries and keywords purchased
Select top-k similar ads, pick from among
them the one with highest bid*CTR
Retrieving Similar Ads
Exact matching
IR-style similarity
Query rewriting (say using
scalar/association clustering)
Followed by exact matching
Need inverted indexes
Complication 3: SE may want
to show multiple ads per query
First ad shown: Is the one that is
most similar and has the highest
bid*CTR value
Second ad shown isn’t necessarily the
one that has next highest bid*CTR..
Need to worry about inter-ad correlation
(diversity)
Need to worry about user browsing
pattern (user may stop looking after the
first ad)
Optimal Ranking given Abandonment
Optimal ranking considering
inter-ad correlation is NP-hard
Rank ads in the descending order of:
RF ( a )
$( a ) R ( a )
R (a ) (a )
The physical meaning RF is the profit generated for
unit consumed view probability of ads
Higher ads have more view probability. Placing ads
producing more profit for unit consumed view
probability higher up is intuitive.
Raju Balakrishnan
17
Complication 4: Advertisers
have limited budgets
Each advertiser has a limited budget
Search engine guarantees that the
advertiser will not be charged more than
their daily budget
SE needs to be smarter in selecting
among the relevant advertisers so it is
sensitive to the remaining budget..
Simplified model (for now)
Assume all bids are 0 or 1
Each advertiser has the same budget B
One advertiser per query
Let’s try the greedy algorithm
Arbitrarily pick an eligible advertiser for
each keyword
Bad scenario for greedy
Two advertisers A and B
A bids on query x, B bids on x and y
Both have budgets of $4
Query stream: xxxxyyyy
Worst case greedy choice: BBBB____
Optimal: AAAABBBB
Competitive ratio = ½
Simple analysis shows this is the worst
case
Competitive Ratio: Ratio between online and off-line alg. Performance
BALANCE algorithm [MSVV]
[Mehta, Saberi, Vazirani, and Vazirani]
For each query, pick the advertiser with
the largest unspent budget
Break ties arbitrarily
Example: BALANCE
Two advertisers A and B
A bids on query x, B bids on x and y
Both have budgets of $4
Query stream: xxxxyyyy
BALANCE choice: ABABBB__
Optimal: AAAABBBB
Competitive ratio = ¾
In the general case, worst competitive
ratio of BALANCE is 1–1/e ~ 0.63
Generalized BALANCE
Arbitrary bids; consider query q,
bidder i
Bid = xi (can also consider xi * CTRi )
Budget = bi
Amount spent so far = mi
Fraction of budget left over fi = 1-mi/bi
Define i(q) = xi(1-e-fi)
Allocate query q to bidder i with
largest value of i(q)
Same competitive ratio (1-1/e)
Insight: Physical auctions
Are second-price auctions!
Complication 4: How do we
encourage Truthful Bidding?
How to set the keyword bids?
I am willing to pay 2$/click on the phrase “best
asu course”
But should I be charged the full 2$ even if no
one else cares for that phrase?
If I know that I will be charged my full bid
price, I am likely to under-bid
I lose the auction; search engine loses
revenue
Solution: Second Price Auction (Vickery Auction)
The advertiser with the highest bid wins, but
only pays the price of the second highest bid
Has the property that truthful bidding is
dominant strategy [No other strategy
does better]
From http://www.stanford.edu/class/msande239/
Generalizing to multiple items
(Each advertiser may bid on more than one query)
Q1
Two issues:
1. Allocation: who gets which item?
Decided by Maximal Matching
Q2
30
2. Pricing: What price do they pay?
Decided by opportunity cost introduced
by the winner
(which involves doing matching again
without the winning bid)
This opportunity cost for a bidder is defined as
the total bids of all the other bidders
that would have won if the first bidder didn't bid,
minus the total bids of all the other actual winning bidders.
Generalizing to multiple items
Two issues:
1. Allocation
Single item Vickery Auction
(Truthful bidding is dominant strategy) who gets which item?
2. Pricing
What price do they pay?
Multi-item VCG Auction
(Truthful bidding is dominant strategy)
--Price paid by each buyer is his/her
externality (how much others would have
benefited if he/she weren’t around)
Google (and
most SE)
use this
Multi-item Generalized Second Price Auction
(Truthful bidding is not a dominant strategy)
Price paid by i-th bidder is the bid of
i+1th bidder
What we swept under the rug..
We handled
user interests (CTR)
search engine interests (ranking,
budgets)
Advertiser interests (keyword bidding,
auctions)
As if they are sort of independent..
But they are inter-dependent..
The full solution needs to bring them
all together..
..and won’t have too many neat
properties that you can prove