Title: A Truthful Mechanism for Offline Ad Slot Scheduling
1A Truthful Mechanism for Offline Ad Slot
Scheduling
Jon Feldman S.
MuthukrishnanEddie NikolovaMartin Pál
2(No Transcript)
3(No Transcript)
4ads
5Slot Auctions
- "Generalized Second Price (GSP)" auction
- score bid Prclick. (ctr)
- Rank by score, charge scorei1 /ctri
- Analysis V, AGM, EOS
- Position j receives DJ clicks
- Each bidder has private valuation vi per click,
tries to maximize profit. - Equilibrium same allocation/prices as VCG
- VCG asks for vi directly
- "Truthful" (bidder i incented to report vi)
6GSP is useful, but incomplete
- Bidding strategy at campaign-level (days) not
query level (microseconds). - Campaign goals are complex, cross-media.
- Metrics impressions, clicks, conversions, reach,
frequency, view-through conversions, assists, - Bidders declare budgets
- Makes auctions non-independent.
- Even in the cleanest model, reporting vi may not
be optimal.
7(theory day campaign slide)
8Our work
- Suppose we could auction off all the impressions
at the beginning of the day. - What should the schedule (ad, slot, time) be?
- How much should we charge?
- How would bidders behave in such a system?
- Efficiency, revenue of equilibria?
9Our results
- Natural descending-price auction mechanism
- Truthful under a certain utility model
- Equivalence with greedy mechanism equilibrium
- Technical preview
- Proportional sharing (bandwidth) auction
- Machine scheduling ( Q pmtn Cmax )
10- Problem Setup
- Bidders declare budget Bi , bid bi.
- Page has m ad slots, with known click supply
- D1 gt D2 gt ... gt Dm
- Need a mechanism
- Gives feasible schedule allotting clicks ci
- Sets prices pi such that
- pi bi and pi ci
Bi. - Could refer to arbitrary exposure weights
- Clicks can scaled by bidder-specific ctris
-
11Single Slot
D clicks
12Single slot, budgets only
- Input is B1, B2, ..., Bn.
-
- Mechanism Kelley 97, Johari/Tsitsiklis 04
Split D clicks according to budget. - Single price
- Allotment
13Single slot, bids and budgets
- Input bi and Bi for all i.
- Descending-price mechanism
- Maintain set A i bi p
- Reduce p until bidders in A can buy all clicks
- (If adding to A causes gt, reduce Bk until .)
- Allocate Bi / p clicks to all bidders in A.
14Example
D100
0
clicks
20
8
64
16
20
80
120
100
100
15Analysis
- If bidders act in their own self-interest, will
they tell the truth? - No budgets are problematic in general
- Borgs et al., EC 05 Reasonable, truthful
efficient mechanisms with budgets are impossible. - Dobzinski, Lavi, Nisan, FOCS 08 Truthful
mechanisms cannot even produce Pareto-optimal
(maximal) allocations.
16Utility Model with Budgets
- Profit maximization
-
- ...but if the bidder knows her value vi,
why would she give a budget? - Click maximization
-
17Our mechanism under click maximization -
truthful (? monotone in declared bid, budget)
- efficient (? allocates all clicks)
- Budgets only
- If all other bids fixed, ci is monotone in Bi
- Bids and budgets
- Want to participate exactly when pi vi. So
will set bi vi... reduces to budgets-only
case.
18Greedy Schedule
- In decreasing order of bi, until no more clicks
- Allocate Bi/bi clicks to bidder i at price pi
bi. - Not truthful
value budget Bidder A
2 100 D120
Bidder B 1
80Greedy A 50 clicks _at_2, B 70 clicks
_at_1If A bids 1.01 A 100 clicks _at_1, B 20
clicks _at_1
19Greedy Schedule
- In decreasing order of bi, until no more clicks
- Allocate Bi/bi clicks to bidder i at price pi
bi. - But...Theorem There is a Nash Equilibrium
of the greedy mechanism whose outcome is
identical to our mechanism. Equilibrium All
bidders bid min(pmech, vi)
I've left out some epsilons
20Multiple Slots
21Multiple Slots
- How do we characterize feasible schedules?
- Feasible schedule Allocation of ads to (time,
slot) pairs such that no ad is assigned to the
same slot at the same time.
D1 200 D2 150 D3 20 D4 5
22Related Scheduling Theory Problem
- Suppose we want to allocate c1, c2, ..., cn
- Equivalent to "Related Machine Scheduling with
Preemption"( Q pmtn Cmax ) - "Speed" of machine j DJ
- "Size" of job i ci
- "Makespan" 1
23Multiple Slots - budgets only
- Suppose we want to allocate c1 gt c2 gt ... gt cn
- Theorem Horvath, Lam, Sethi, 1977 The optimal
schedule for Q pmtn Cmax completes in time
Corollary There is a feasible schedule
iff
for all k 1, ..., n.
24Our Mechanism (budgets)
- Descending price p. Maintain ci Bi / p.
- Job lengths increase... Maintain feasible
schedule -
for all k 1,...,n - Reduce p until some constraint k is tight
-
- Schedule bidders 1...k to slots 1...k _at_ price
p. - Perfect packing at current price.
- Continue on remaining bidders and slots.
25Our Mechanism (budgets)
Fact prices for each "block" decreaseProof
When first block allocated, c1 ... ck
D1 ... Dk.Since c1 ... ck
D1 ... Dk for all k,we get ck1
... ck Dk1 ... Dk for all k gt
k.Thus, if we keep the same price p, all
constraints still satisfied, and we can continue
to descend.
26Example
- Price hits 1 80
lt p 100 80 70 p (100
50) 80 70 20 lt p (100 50
25) 80 70 20 1 lt p (100 50 25
0)
27Example
- Price hits 0.84 20
lt p 25 20 1 p (25
0)
28Our Mechanism (general)
- Input bi and Bi. Assume b1 gt ... gt bn.
- Descending-price-like mechanism
- Maintain set A i bi p .
- Bi i-th largest budget in A
- Let ci Bi/p.
- Reduce p until, for some k
- ci ... ck D1 ... Dk
- (If gt reduce Bi for added bidder i until .)
- Allocate Bi/p clicks to all bidders in 1...k
using slots 1...k. - Continue on remaining bidders/slots.
29Example
- p 1.20 Active A B(A) 80 lt p D(1)
30Example
- p 1.00 Active A, C B(A)
80 lt p D(1)B(A) B(C)
100 lt p(D(1) D(2))
31Example
- p 0.80 Active A, C B(A)
80 p D(1)B(A) B(C)
100 lt p(D(1) D(2)) ...allocate all clicks
from slot 1 to bidder A
32Example
- p 0.75 Active B, C B(B)
70 gt p D(2)B(B) B(C) 90
gt p (D(2) D(3)) ....reduce B(B) to 36.25 so
B(B) B(C) p (D(2) D(3))
33- Theorem Our mechanism is truthful under click
maximization.Intuition - Each "price block" divides up its clicks in
proportion to budget thus local changes do not
bring more clicks (like single-slot case). - Dropping to a lower group gives lower price, but
also fewer clicks in the block... turns out to
be not worth doing. -
34Revenue-maximizing Mechanism
- Revenue-maximizing compute feasible schedule to
maximize revenue, charging each bidder bi. - (Simple LP does it, we also give greedy
algorithm.)
- Theorem If the revenue-maximizing mechanism is
used, there is a Nash equilibrium whose outcome
is equivalent to our mechanism.Proof Outline - Equilibrium Bidders in price block i bid pi.
- Allocation ends up the same
- Allocation is tight, so lowering bid cannot give
you more clicks.
35Extensions
- Budgets across keywords
- Mechanism generalizes... equilibrium properties?
- More general mechanism on set of linear
constraints? - Extend Johari, Tsitsiklis to this setting
- JT, 04 (Single slot, profit maximization)
Unique Nash equilibrium attains 3/4 of the
optimal efficiency (Svici). - Do we match ¾-opt for multiple slots?
36Future study in ad slot assignment
- (Quality, Efficiency, Revenue) tradeoffs
- Number/size of slots, advertiser weights, user
click behavior. - Offline scheduling/planning
- Supply estimates informing online assignments.
- Online algorithm analysis
- Secretary models, Comp. ratio, Stochastic.
- Incentives
- Payment schemes, refunds, cancellations.
37Using Svici for efficiency
1 ltlt x ltlt D
- OPT efficiency D x (give all clicks to Y)
- ... but revenue x
- Our mechanism efficency D x2 - x
- revenue D