a truthful mechanism for offline ad slot scheduling

37
A Truthful Mechanism for Offline Ad Slot Scheduling Jon Feldman S. Muthukrishnan Eddie Nikolova Martin Pál

Upload: koren

Post on 13-Jan-2016

44 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: A Truthful Mechanism for Offline Ad Slot Scheduling

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
Page 3: A Truthful Mechanism for Offline Ad Slot Scheduling
Page 4: A Truthful Mechanism for Offline Ad Slot Scheduling

ads

Page 5: A Truthful Mechanism for Offline Ad Slot Scheduling

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

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

(theory day campaign slide)

Page 8: A Truthful Mechanism for Offline Ad Slot Scheduling

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

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

• 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

Single Slot

D clicks

Page 12: A Truthful Mechanism for Offline Ad Slot Scheduling

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

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

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

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

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

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

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

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

Multiple Slots

Page 21: A Truthful Mechanism for Offline Ad Slot Scheduling

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

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

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

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

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

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

Example

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

Page 28: A Truthful Mechanism for Offline Ad Slot Scheduling

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

Example

p = $1.20:   Active = { A }

B(A) = 80 < p D(1)

Page 30: A Truthful Mechanism for Offline Ad Slot Scheduling

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

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

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

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

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

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

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

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