a truthful mechanism for offline ad slot scheduling
DESCRIPTION
A Truthful Mechanism for Offline Ad Slot Scheduling. Jon Feldman S. Muthukrishnan Eddie Nikolova Martin P á l. ads. Slot Auctions. "Generalized Second Price (GSP)" auction: score = bid * Pr[click]. (“ctr”) Rank by score, charge score i+1 /ctr i - PowerPoint PPT PresentationTRANSCRIPT
A Truthful Mechanism for Offline Ad Slot Scheduling
Jon Feldman S. MuthukrishnanEddie NikolovaMartin Pál
ads
Slot Auctions• "Generalized Second Price (GSP)" auction:
•score = bid * Pr[click]. (“ctr”) •Rank by score, charge scorei+1 /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)
GSP 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.
(theory day campaign slide)
Our 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?
Our 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 )
• Problem Setup:•Bidders declare budget Bi [, bid bi].•Page has m ad slots, with known click* supply
D1 > D2 > ... > 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
Single Slot
D clicks
Single slot, budgets only
• Input is B1, B2, ..., Bn.
• Mechanism [Kelley ’97, Johari/Tsitsiklis ‘04]: Split D clicks according to budget.
o Single price:
o Allotment:
Single 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 >, reduce Bk until =.)
•Allocate Bi / p clicks to all bidders in A.
Example Bidder
Bid Budget
W $3 $20
X $2 $60
Y $1 $40
Z $0.25
$5
price A={i : p ≤ bi}
pD
$5 Ø $0 $500
D=100
$2.50 {W} $20 $250
$1.25 {W, X} $80 $125
$1.00 {W, X, Y} $120 $100
$20
$100
0
8
clicks
641620 80 120100
Analysis
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.
Utility Model with BudgetsProfit maximization:
...but if the bidder knows her value vi, why would she give a budget?
Click maximization:
Our 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.
Greedy 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 D=120 Bidder B: $1 $80
Greedy: A: 50 clicks @$2, B: 70 clicks @$1
If A bids $1.01: A: 100 clicks @$1, B: 20 clicks @$1
Greedy 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
Multiple Slots
Multiple 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
Related 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
Multiple Slots - budgets only• Suppose we want to allocate c1 > c2 > ... >
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.
Our 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* @ price p.•Perfect packing at current price.
• Continue on remaining bidders and slots.
Our Mechanism (budgets)Fact: prices for each "block" decrease:
Proof: When first block allocated, c1 + ... + ck* = D1 + ... + Dk*.Since c1 + ... + ck ≤ D1 + ... + Dk for all k,we get ck*+1 +...+ ck ≤ Dk*+1 +...+ Dk for all k > k*.
Thus, if we keep the same price p, all constraints still satisfied, and we can continue to descend.
Example
Price hits $1: 80 < p 100 80 + 70 = p (100 + 50) 80 + 70 + 20 < p (100 + 50 + 25) 80 + 70 + 20 + 1 < p (100 + 50 + 25 + 0)
Example
Price hits $0.84: 20 < p 25 20 + 1 = p (25 + 0)
Our Mechanism (general)• Input: bi and Bi. Assume b1 > ... > 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 > : 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.
Example
p = $1.20: Active = { A }
B(A) = 80 < p D(1)
Example
p = $1.00: Active = { A, C }
B(A) = 80 < p D(1)B(A) + B(C) = 100 < p(D(1) + D(2))
Example
p = $0.80: Active = { A, C }
B(A) = 80 = p D(1)B(A) + B(C) = 100 < p(D(1) + D(2))
...allocate all clicks from slot 1 to bidder A
Example
p = $0.75: Active = { B, C }
B(B) = 70 > p D(2)B(B) + B(C) = 90 > p (D(2) + D(3))
....reduce B(B) to $36.25 so B(B) + B(C) = p (D(2) + D(3))
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.
Revenue-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.
Extensions
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 (Σvici).
• Do we match ¾-opt for multiple slots?
Future 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.
Using Σvici for efficiency
OPT efficiency = D x (give all clicks to Y)
... but revenue ≤ x
Our mechanism: efficency = D + x2 - x revenue = D
value Budget
Y x xZ 1 D-x
1 << x << D