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 q i 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 A B C Bid $1.00
$0.75
$0.50
CTR 1% 2% 2.5% Bid * CTR 1 cent 1.5 cents 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 B C A Bid $0.75
$0.50
$1.00
CTR 2% 2.5% 1% Bid * CTR 1.5 cents 1.125 cents 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
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 = x i (can also consider x i Budget = b i Amount spent so far = m i Fraction of budget left over f i Define i (q) = x i (1-e -fi ) * CTR i = 1-m i /b i Allocate query q to bidder i with largest value of i (q) Same competitive ratio (1-1/e) )
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) Two issues: 1. Allocation: who gets which item?
Decided by Maximal Matching 2. Pricing: What price do they pay?
Decided by opportunity cost introduced by the winner (which involves doing matching again without the winning bid) 30 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.
Q1 Q2
Generalizing to multiple items
Single item Vickery Auction (Truthful bidding is dominant strategy) Two issues: 1. Allocation 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