370 likes | 541 Views
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
E N D
A Truthful Mechanism for Offline Ad Slot Scheduling Jon Feldman S. MuthukrishnanEddie NikolovaMartin Pál
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.
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 mad 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. • Single price: • 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 D=100 0 clicks $20 8 16 20 64 80 100 120 $100
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 Budgets Profit 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 budgetBidder A: $2 $100 D=120Bidder B: $1 $80Greedy: A: 50 clicks @$2,B: 70 clicks @$1If 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 • 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 2520 + 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 Σvicifor efficiency 1 << x << D OPT efficiency = D x (give all clicks to Y) ... but revenue ≤ x Our mechanism: efficency = D + x2 - x revenue = D