Download presentation
Presentation is loading. Please wait.
Published byBlanche Austin Modified over 9 years ago
1
A Truthful Mechanism for Offline Ad Slot Scheduling Jon Feldman S. Muthukrishnan Eddie Nikolova Martin P á l
4
ads
5
Slot Auctions "Generalized Second Price (GSP)" auction: score = bid * Pr[click]. (“ctr”) Rank by score, charge score i+1 /ctr i Analysis [V, AGM, EOS]: Position j receives D J clicks Each bidder has private valuation v i per click, tries to maximize profit. Equilibrium: same allocation/prices as VCG VCG: asks for v i directly "Truthful" (bidder i incented to report v i )
6
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 v i may not be optimal.
7
(theory day campaign slide)
8
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?
9
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 | C max )
10
Problem Setup: Bidders declare budget B i [, bid b i ]. Page has m ad slots, with known click* supply D 1 > D 2 >... > D m Need a mechanism: Gives feasible schedule allotting clicks c i ** Sets prices p i such that p i ≤ b i and p i c i ≤ B i. * Could refer to arbitrary “exposure weights” ** Clicks can scaled by bidder-specific ctr i s
11
Single Slot D clicks
12
Single slot, budgets only Input is B 1, B 2,..., B n. Mechanism [Kelley ’97, Johari/Tsitsiklis ‘04]: Split D clicks according to budget. o Single price: o Allotment:
13
Single slot, bids and budgets Input: b i and B i for all i. Descending-price mechanism: Maintain set A = { i : b i ≥ p } Reduce p until bidders in A can buy all clicks: (If adding to A causes >, reduce B k until =.) Allocate B i / p clicks to all bidders in A.
14
Example BidderBidBudget W$3$20 X$2$60 Y$1$40 Z$0.25$5 priceA={i : p ≤ b i }pD $5Ø$0$500 D=100 $2.50{W}{W}$20$250 $1.25{W, X}$80$125 $1.00{W, X, Y}$120$100 $20 $100 0 8 clicks 64162080120100
15
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.
16
Utility Model with Budgets Profit maximization:...but if the bidder knows her value v i, why would she give a budget? Click maximization:
17
Our mechanism under click maximization: - truthful ( ⇔ monotone in declared bid, budget) - “efficient” ( ⇔ allocates all clicks) Budgets only: If all other bids fixed, c i is monotone in B i Bids and budgets: Want to participate exactly when p i = v i. So will set b i = v i... reduces to budgets-only case.
18
Greedy Schedule In decreasing order of b i, until no more clicks: Allocate B i /b i clicks to bidder i at price p i = b i. 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
19
Greedy Schedule In decreasing order of b i, until no more clicks: Allocate B i /b i clicks to bidder i at price p i = b i. But... Theorem*: There is a Nash Equilibrium of the greedy mechanism whose outcome is identical to our mechanism. Equilibrium: All bidders bid min(p mech, v i ) *I've left out some epsilons
20
Multiple Slots
21
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. D 1 = 200 D 2 = 150 D 3 = 20 D 4 = 5
22
Related Scheduling Theory Problem Suppose we want to allocate c 1, c 2,..., c n Equivalent to "Related Machine Scheduling with Preemption"( Q | pmtn | C max ) "Speed" of machine j = D J "Size" of job i = c i "Makespan" = 1
23
Multiple Slots - budgets only Suppose we want to allocate c 1 > c 2 >... > c n Theorem: [Horvath, Lam, Sethi, 1977] The optimal schedule for Q | pmtn | C max completes in time Corollary: There is a feasible schedule iff for all k = 1,..., n.
24
Our Mechanism (budgets) Descending price p. Maintain c i = B i / 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.
25
Our Mechanism (budgets) Fact: prices for each "block" decrease: Proof: When first block allocated, c 1 +... + c k* = D 1 +... + D k*. Since c 1 +... + c k ≤ D 1 +... + D k for all k, we get c k*+1 +...+ c k ≤ D k*+1 +...+ D k for all k > k*. Thus, if we keep the same price p, all constraints still satisfied, and we can continue to descend.
26
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)
27
Example Price hits $0.84: 20 < p 25 20 + 1 = p (25 + 0)
28
Our Mechanism (general) Input: b i and B i. Assume b 1 >... > b n. Descending-price-like mechanism: Maintain set A = { i : b i ≥ p }. B i = i-th largest budget in A Let c i = B i /p. Reduce p until, for some k*: c i +... + c k* = D 1 +... + D k* (If > : reduce B i for added bidder i until =.) Allocate B i /p clicks to all bidders in 1...k* using slots 1...k*. Continue on remaining bidders/slots.
29
Example p = $1.20: Active = { A } B(A) = 80 < p D(1)
30
Example p = $1.00: Active = { A, C } B(A) = 80 < p D(1) B(A) + B(C) = 100 < p(D(1) + D(2))
31
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
32
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))
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.
34
Revenue-maximizing Mechanism Revenue-maximizing: compute feasible schedule to maximize revenue, charging each bidder b i. (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 p i. Allocation ends up the same Allocation is tight, so lowering bid cannot give you more clicks.
35
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 (Σv i c i ). Do we match ¾-opt for multiple slots?
36
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.
37
Using Σv i c i for efficiency OPT efficiency = D x (give all clicks to Y)... but revenue ≤ x Our mechanism: efficency = D + x 2 - x revenue = D value Budget Y xx Z 1D-x 1 << x << D
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.