Ad Auction An Algorithmic Perspective Saberi 2005

Ad Auctions:
An Algorithmic Perspective
Amin Saberi
Stanford University
Joint work with A. Mehta, U.Vazirani, and V. Vazirani
Outline

Ad Auctions: a quick introduction

Search engines allocation problem:



Which advertisers to choose for each keyword?
Our algorithm: achieving optimal competitive ratio of 1 – 1/e
(Mehta, S. Vazirani, Vazirani ‘05)
Incentive compatibility


Designing auctions for budget constraint bidders
(Borgs, Chayes, Immorlica, Mahdian, S. ‘05)
Auctions with unknown supply
(Mahdian, S. ‘06)
Keyword-based Ad:

Advertiser specifies:
 bid (Cost Per Click) for each keyword
(search engine computes the Click-Through Rate,
expected value = CPC * CTR)
 total budget

Search query arrives
 Search engine picks some of the Ads and shows them.
 charges the advertiser if user clicked on their Ad
Online Ads
Revolution in advertising



Major players are Google, MSN, and Yahoo
Enormous size, growing
Helping many businesses/user experience
An auction with very interesting characteristics:




The total supply of goods is unknown
The goods arrive at unpredictable rate and should be allocated
immediately
Bidders are interested in a variety of goods
Bidders are budget constrained
Outline

Ad Auctions: a quick introduction
Search engines allocation problem:
Which advertisers to choose for each keyword?
Our algorithm: achieving optimal competitive ratio of 1 – 1/e
(Mehta, S. Vazirani, Vazirani ‘05)
Incentive compatibility
Designing auctions for budget constraint bidders
(Borgs, Chayes, Immorlica, Mahdian, S. ‘05)
Auctions with unknown supply
(Mahdian, S. --work in progress--)
Our Problem:

N advertisers: with budget B1,B2, …Bn

Queries arrive on-line;
 bij : bid of advertiser i for good j
(More precisely: bij is the expected revenue of giving
the ad space for query j to advertiser i
after normalizing the CPC by click through rate etc.. )

Allocate the query to one of the advertisers
( revenue = bij )
Objective: maximize revenue!!
Competitive Factor
a-competitive algorithm:
the ratio of the revenue of algorithm over
the revenue of the best off-line algorithm
over all sequences of input is at least a .
Greedy: ½-competitive
Our algorithm: 1 – 1/e competitive (optimal)
Greedy Algorithm
Greedy: Give the query to the advertiser with the highest bid.
Greedy Algorithm
Greedy: Give the query to the advertiser with the highest bid.
It is not the best algorithm:
Bidder 1
Bidder 2
Queries:
100 books then 100 CDS
Book
$1
$0.99
CD
$1
$0
B1 = B2 = $100
Greedy: $100
Bidder 1
Bidder 2
Greedy Algorithm
Greedy: Give the query to the advertiser with the highest bid.
It is not the best algorithm:
Bidder 1
Bidder 2
Book
$1
$0.99
CD
$1
$0
B1 = B2 = $100
Greedy Algorithm
Greedy: Give the query to the advertiser with the highest bid.
It is not the best algorithm:
Bidder 1
Bidder 2
Queries:
100 books then 100 CDS
Book
$1
$0.99
CD
$1
$0
B1 = B2 = $100
Greedy: $100
OPT: $199
Bidder 1
Bidder 2
Greedy is ½-competitive!
History

Known results:
(1 – 1/e) competitive algorithms for special cases:



Bids = 0 or 1, budgets = 1 (online bipartite matching)
Karp, Vazirani, Vazirani ’90
bids = 0 or e, budgets = 1 (online b-matching)
Kalyansundaram, Pruhs ’96, ’00
Our result:
 Arbitrary bids
 Mild assumption: bid/budget is small.
 New technique: Trade-off revealing LP
KP Algorithm


Special Case: All budgets are 1; bids are either $0 or $e
d
Kalyansundaram, Pruhs ’96: Give the algorithm to the interested
bidder with the highest remaining money
Bidder 1
Bidder 2
Queries:
100 books then 100 CDS
Book
$e
$e
CD
$e
$0
B1 = B2 = $1
KP: $1.5
OPT: $2
Bidder 1
Competitive factor: 1- 1/e
Bidder 2
Our Algorithm
Give query to bidder with max
bid
(fraction of budget spent)
Where does
y come from?
New Proof for
KP
Factor Revealing LP
Modify the LP
for arbitrary bids
Use dual to get
tradeoff function
Tradeoff Revealing LP
Where does
y come from?
New Proof for
KP
Factor Revealing LP
Modify the LP
for arbitrary bids
Use dual to get
tradeoff function
Tradeoff Revealing LP
Step 1: Analyzing KP
For a large k, define x1, x2, …, xk :
xi is the number of bidders who spent i/k of their
money at the end of the algorithm
Revenue:
W.l.o.g. assume that OPT can exhaust everybody’s budget.
We will bound xi’s
Analyzing KP
OPT = N
Revenue = Painted Area
Analyzing KP
Optimum Allocation
Analyzing KP
Optimum Allocation
Where did KP place these queries?
Analyzing KP
Optimum Allocation
Where did KP place these queries?
First Constraint:
First Constraint:
First Constraint:
First Constraint:
Second Constraint:
First Constraint:
Second Constraint:
In general:
Competitive factor of KP
Minimize
s.t.
Factor revealing LP
JMS ’02, MYZ ’03, …
We can solve it by finding the optimum primal and dual.
Optimal solution is
and achieves a factor of 1 – 1/e
Where does
y come from?
New Proof for
KP
Factor Revealing LP
Modify the LP
for arbitrary bids
Use dual to get
tradeoff function
Tradeoff Revealing LP
Recall: Our Algorithm


The bids are arbitrary
Algorithm:
Award the next query to the advertiser with max
Step 2: General Case
Can we mimic the proof of KP?
Bid =
Bid =
Step 2: General Case

On a closer inspection
Bid =
i
1

Considering all the queries:
Bid =
Where does
y come from?
New Proof for
KP
Factor Revealing LP
Modify the LP
for arbitrary bids
Use dual to get
tradeoff function
Tradeoff Revealing LP
Step 3: Sensitivity Analysis
Step 3: Modified Sensitivity Analysis
1: No matter what

we choose, optimal dual remains
Change in optimum =
2: Choose
so that the
change in the optimum is always
non-negative.
.
End of Analysis
Theorem: There is a way to choose so that the objective
function does not decrease.
Corollary: competitive factor remains 1 – 1/e.
Remark: We can show that our competitive factor is
optimum
More Realistic Assumptions





Normalizing by click-through rate
Charging the advertiser the next highest bid instead of the
current bid
Assigning a query to more than one advertiser
When you have some statistical information about the
queries?
When the budget/bid ratio is small?
Incentive Compatibility

The bidders will find creative ways to improve their revenue
 Bid jamming
 Fraudulent clicks
 Aiming lower positions for an ad

Incentive compatible mechanisms: Provide incentives for
advertisers to be truthful about their bids (and possibly
budgets?)

Some of the difficulties in designing truthful auctions:
 Online nature of auction: search queries arrive at
unpredictable rates and they should be allocated
immediately.
 Bidders are budget constrained
A Few Abstractions

Designing Auctions for budget constrained bidders
(Borgs, Chayes, Immorlica, Mahdian, S. ’05)



Even in the off-line case, standard auctions
(e.g. VCG) are not truthful.
Designing truthful auctions is impossible if you want to allocate
all the goods
Optimum auction otherwise

Auctions for goods with unknown supply
(Mahdian, S. 06)

Nash equilibria of Google’s payment mechanism


Aggarwal, Goel, Motwani ’05
Edelman, Ostrovski, Schwarz ’05
Open Problem


What is the best bidding
language?
User 1
User 2
User n
Search engine

The user’s perspective:
what are the right
keywords/bids?
The important factor for
the customers is CPA
Outline

Ad Auctions: a quick introduction

Search engines allocation problem:



Which advertisers to choose for each keyword?
Our algorithm: achieving optimal competitive ratio of 1 – 1/e
(Mehta, S. Vazirani, Vazirani ‘05)
Incentive compatibility


Designing auctions for budget constraint bidders
(Borgs, Chayes, Immorlica, Mahdian, S. ‘05)
Auctions with unknown supply
(Mahdian, S. --work in progress--)
Auctions for budget constrained bidders

Each bidder i has a value function and a budget constraint



Bidder i has value vij for good j
Bidder i wants to spend at most bi dollars
The budget constraints are hard
j 2 S vij – p
if p ≤ bi
-1
if p > bi
ui(S,p) =

All values and budget constraints are private information,
known only to the bidder herself
VCG mechansim
Vickrey-Clarke-Grove mechanism
(replace bids with minimum bid and budget)
Bidder 1:
(v11, v12, b1) = (10, 10, 10)
LIE: (5,5,10)
Bidder 2:
(v21, v22, b2) = (1, 1, 10)
Payment: 2
“Welfare”: 10
Utility: 181
Payment:
Utility: 9
“Welfare”: 1
Payment: 0
Total “Welfare”: 11
VCG is not truthful,
even if budgets are public knowledge!
Is there any truthful mechanism?
Yes. Bundle all the items together and sell it as one
item using VCG.
Is there any non-trivial truthful mechanism?
Required properties

Observe supply limits – Auction never over-allocates.

Incentive compatibility – Bidder’s total utility is maximized
by announcing her true utility and budget regardless of the
strategies of other agents.

Individual rationality – Bidder’s utility from participating
is non-negative if she announces the truth.

Consumer sovereignty – A bidder can bid high enough to
guarantee that she receives all the copies.

Independence of irrelevant alternatives (IIA) – If a bidder
does not receive any copies, then when she drops her bid,
the allocation does not change.

Strong non-bundling – For any set of bids from other
bidders, bidder i can submit a bid such that it receives a
bundle different than empty or all the items.
A negative result:
Theorem: There is no deterministic truthful auction
even for allocating 2 items to 2 bidders that satisfies
consumer sovereignty, IIA, and strong non-bundling.
Proof idea: Truthful auctions can be written as a set of
threshold functions {pi,j} such that bidder i receives
item j at price pi,j(v-i,b-i) if her bid is higher than
thatrvalue

Our assumptions impose functional relations on
these thresholds. Then we can show that this set of
relations has no solution
Open Problem


What is the best bidding
language?
User 1
User 2
User n
Search engine

The user’s perspective:
what are the right
keywords/bids?
The important factor for
the customers is CPA
THE END
Applications in other areas?

Circuit switching

Tradeoff revealing LP for other on-line and
approximation algorithms
Keyword-based Ad:
Interesting characteristics of these auctions:

Online nature: size and speed

Search queries arrive at an unpredictable rate

Ads should be allocated immediately (goods are
perishable)

Bidders are budget constrained
Analyzing KP
1-1/e
1/(N-2)
1/(N-1)
1/N
N N-1
3
2 1
Analyzing KP
1-1/e
REVENUE
= (1-1/e) N
N N-1
3
2 1
Special case: On-line Matching



All budgets = 1
Bids are either 0 or 1
KVV:
competitive factor of 1-1/e
girls
boys
Different bids and budgets?
Not so good ideas…
 Highest bid then the highest budget
 Bucket the close bids together
break the ties based on the budgets
in every bucket
We need to find a delicate trade-off between bid and budget