1 / 37

A Truthful Mechanism for Offline Ad Slot Scheduling

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

koren
Download Presentation

A Truthful Mechanism for Offline Ad Slot Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Truthful Mechanism for Offline Ad Slot Scheduling Jon Feldman                       S. MuthukrishnanEddie NikolovaMartin Pál

  2. ads

  3. 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)

  4. 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.

  5. (theory day campaign slide)

  6. 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?

  7. 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 )

  8. 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

  9. Single Slot D clicks

  10. Single slot, budgets only • Input is B1, B2, ..., Bn. • Mechanism [Kelley ’97, Johari/Tsitsiklis ‘04]: Split D clicks according to budget. • Single price: • Allotment:  

  11. 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.

  12. Example D=100 0 clicks $20 8 16 20 64 80 100 120 $100

  13. 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.

  14. Utility Model with Budgets Profit maximization:  ...but if the bidder knows her value vi,     why would she give a budget? Click maximization:

  15. 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.

  16. 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

  17. 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

  18. Multiple Slots

  19. 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

  20. 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

  21. 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.

  22. 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.

  23. 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.

  24. 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)

  25. Example Price hits $0.84:      20                       < p 2520 + 1                  = p (25 + 0)

  26. 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.

  27. Example p = $1.20:   Active = { A }B(A) = 80 < p D(1)

  28. Example p = $1.00:   Active = { A, C }B(A)                      = 80  < p D(1)B(A) + B(C)            = 100 < p(D(1) + D(2))

  29. 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

  30. 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))

  31. 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.

  32. 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.

  33. 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?

  34. 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.

  35. 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

More Related