A Truthful Mechanism for Offline Ad Slot Scheduling
description
Transcript of A Truthful Mechanism for Offline Ad Slot Scheduling
![Page 1: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/1.jpg)
A Truthful Mechanism for Offline Ad Slot Scheduling
Jon Feldman S. MuthukrishnanEddie NikolovaMartin Pál
![Page 2: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/2.jpg)
![Page 3: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/3.jpg)
![Page 4: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/4.jpg)
ads
![Page 5: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/5.jpg)
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)
![Page 6: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/6.jpg)
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.
![Page 7: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/7.jpg)
(theory day campaign slide)
![Page 8: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/8.jpg)
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?
![Page 9: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/9.jpg)
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 )
![Page 10: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/10.jpg)
• 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
![Page 11: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/11.jpg)
Single Slot
D clicks
![Page 12: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/12.jpg)
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:
![Page 13: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/13.jpg)
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.
![Page 14: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/14.jpg)
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
![Page 15: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/15.jpg)
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.
![Page 16: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/16.jpg)
Utility Model with BudgetsProfit maximization:
...but if the bidder knows her value vi, why would she give a budget?
Click maximization:
![Page 17: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/17.jpg)
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.
![Page 18: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/18.jpg)
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
![Page 19: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/19.jpg)
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
![Page 20: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/20.jpg)
Multiple Slots
![Page 21: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/21.jpg)
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
![Page 22: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/22.jpg)
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
![Page 23: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/23.jpg)
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.
![Page 24: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/24.jpg)
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.
![Page 25: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/25.jpg)
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.
![Page 26: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/26.jpg)
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)
![Page 27: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/27.jpg)
Example
Price hits $0.84: 20 < p 25 20 + 1 = p (25 + 0)
![Page 28: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/28.jpg)
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.
![Page 29: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/29.jpg)
Example
p = $1.20: Active = { A }
B(A) = 80 < p D(1)
![Page 30: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/30.jpg)
Example
p = $1.00: Active = { A, C }
B(A) = 80 < p D(1)B(A) + B(C) = 100 < p(D(1) + D(2))
![Page 31: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/31.jpg)
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
![Page 32: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/32.jpg)
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))
![Page 33: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/33.jpg)
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.
![Page 34: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/34.jpg)
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.
![Page 35: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/35.jpg)
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?
![Page 36: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/36.jpg)
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.
![Page 37: A Truthful Mechanism for Offline Ad Slot Scheduling](https://reader035.fdocuments.us/reader035/viewer/2022062423/56814646550346895db35452/html5/thumbnails/37.jpg)
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