An Expressive Auction Design for Online Display Advertising
AUTHORS: Sébastien Lahaie, David C. Parkes, David M. Pennock
Li PU & Tong ZHANG
Motivation• Online advertisement – allow advertisers to specify what
kinds of users they are targeting: geographical, user profiles, behavioral
• Targeting slots → targeting users
2
Motivation
• Bidding language:
• “Give me a number”• “Please tell me your values of all outcomes”
• Expressive about the preferences of advertisers, and succinct as well
3
Motivation• Allocation and Pricing algorithms:
• Computing efficient allocation in combinatorial auctions can be NP‐hard
• Good design of bidding language leads to tractable allocation and pricing algorithms
4
• Incentive‐compatibility:
• Minimize the incentives of bidders to manipulate
Goals
• Efficient and scalable allocation algorithm
• Unique market‐clearing prices that minimize the bidders’ incentives to game
• Efficient, combinatorial algorithm for computing market‐clearing prices
• Market‐clearing: be cleared of all surplus and shortage (supply = demand)
5
Overview• Advertisers are charged by impressions• At the beginning of a period, all advertisers report their bids for different types of impressions
Advertisers
Supply EstimatorScheduler
AllocationAlgorithm
PricingAlgorithm
6
prices
Supply estimation
Definition of Impression
A = fA1; :::; Asg
A1 = fCA; MA; NY; :::; undefinedgAs = f0 : 00 » 1 : 00; :::; undefinedg
ha1; :::; asi 2 M
hCA; :::; 7 : 00 » 8 : 00i
m = jM j =sY
t=1
jAtj
² attributes
² values
² impressions
² number of all impressions
7
Impressions and Prices
xi = [xi(1) xi(2) ::: xi(m)] 2 ZM+
xi(j) 2 f0; 1; 2; :::g number of times an impression was displayed
p ¢ xi =Xj2M
p(j)xi(j)
² bundle of impressions
² total price of bidder i :
² price for each impression p = [p(1) p(2) ::: p(m)]
² utility of bidder i : ui(xi) = vi(xi)¡ p ¢ xi
8
Allocation of Impressions
² supply of impressions z = [z(1) z(2) ::: z(m)]
² feasible: allocated · supplynX
i=1
xi(j) · z(j) ;8j 2 M
² feasible allocation x = [x1 x2 ::: xn] 2 ¡
² e±cient : x 2 arg maxy2¡
nXi=1
vi(yi)
² why e±cient? long term goals9
Market‐clearing Prices
² market-clearing prices are also called
Di(p) = arg maxxi
vi(xi)¡ p ¢ xi
competitive equilibrium (CE) prices
² demand set:
CE = hx; pi a) xi 2 Di(p) ;8i 2 N
b) p(j) = 0 ifXi2N
xi(j) < z(j) ;8j 2 M
² if p are CE prices
x is e±cient , hx; pi is a CE
10
Bid Tree
$.0
$.0 $.2
$.5
$‐.1 $.1
CA FL
{auto, sports}
news blog
$.0
$.0 $.2
$.5
$‐.1 $.1
CA FL
{auto, sports}
news blog
value = $.0+$.0+$.5+$.1 = $.6
fashion
$.0
$.0 $.2
$.5
$‐.1 $.1
CA FL
{auto, sports}
news blog
$.0
50
0
capacity
capacity
each node of the tree is a subset Tk μM , Ti = fTkg11
Properties of Bid Tree² Each node of the tree is a subset Tk μM , Ti = fTkg
² Ti is laminar : 8 T; T 0 2 Ti, either T μ T 0, T 0 μ T ,or T \ T 0 = ;
fashion
$.0
$.0 $.2
$.5
$‐.1 $.1
CA FL
{auto, sports}
news blog
$.0
50
0 ciT
biT 0
viT (r) =
(biTr ; if 0 · r · ciT
¡1 ; otherwise
vi(xi) =XT2Ti
viT
ÃXj2T
xi(j)
!
hCA; sports; blog; 7 : 00 » 8 : 00i
hCA; autoihCA; sports; 7 : 00 » 8 : 00i
12
Example of Bidder Value
fashion
$.0
$.0 $.2
$.5
$‐.1 $.1
CA FL
{auto, sports}
news blog
$.0
50
0
hCA; sports; news; nighti : 1000
hCA; auto; nighti : 500
hFL; auto; newsi : 40
500£ $:5 = 250
1000£ $:5 + 1000£ $¡ :1 = 400
40£ $:2 = 8
Total value of bidder i : vi(xi) = 250 + 400 + 8 = 658
Bidding tree Ti of bidder i
13
Queries: Value and Demand• Value: input – allocation and bidding tree
output – value of the bidder
• Demand: input – prices of each type of impression
and bidding tree
output – allocation to maximize utility
xi, Ti
vi(xi; Ti)
xi
p, Ti
Demand Query Algorithm:
1. Compute marginal surplus
2. Pick out the impressions that have positive surplus (profit) and sort them in descending order
3. Assign a number as large as possible to the current most profitable impression, update the bidding tree and repeat
¼i(j) =P
fT2Tijj2Tg biT ¡ p(j)
14
Example of Demand Query
M =
26666664hCA; sportsihCA; fashionihCA; autoihFL; sportsihFL; fashioni
37777775 p =
26666664$:1
$:05
$:05
$:1
$:05
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
50
0100
200
¼i =
26666664$:1 + $:4¡ $:1
$:1¡ $:05
$:1¡ $:05
$:2¡ $:1
$:2¡ $:05
37777775 =
26666664$:4
$:05
$:05
$:1
$:15
37777775
¼i(j) =P
fT2Tijj2Tg biT ¡ p(j)
! (sort) ! M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
3777777515
Example of Demand Query
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
50
0100
200 xi =
266666640
0
0
0
0
37777775
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
50
00
100 xi =
26666664100
0
0
0
0
3777777516
Example of Demand Query
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
50
00
100 xi =
26666664100
0
0
0
0
37777775
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
0
00
100 xi =
26666664100
50
0
0
0
3777777517
Example of Demand Query
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
0
00
100 xi =
26666664100
50
0
0
0
37777775
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
0
00
100 xi =
26666664100
50
0
0
0
3777777518
Example of Demand Query
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
0
00
100 xi =
26666664100
50
0
0
0
37777775
M =
26666664hCA; sportsihFL; fashionihFL; sportsihCA; fashionihCA; autoi
37777775fashion
$.0
$.1 $.2
$.4
CA FL
sports
$.0
0
00
0 xi =
26666664100
50
0
0
100
3777777519
Allocation² Take into account forecasted supply z(j). The allocationproblem is a linear program:
maxx
Xi2N
XT2Ti
Xj2T
biTxi(j)
s.t.
8>>>>><>>>>>:
Xj2T
xi(j) · ciT (T 2 Ti; i 2 N)Xi2N
xi(j) · z(j) (j 2 M)
xi(j) ¸ 0 (i 2 N; j 2 M)
² Proposition 1 : When agents submit their valuations asbid trees, the corresponding allocation LP has an integeroptimal solution.
20
Allocation
² Use subgradient method on the dual of the allocation LP:
pk+1 = pk + ¯kgk
gk = yk ¡P
i xki , where yk is a revenue-maximizing
allocation at price pk.
min¼;p
Xi2N
XT2Ti
¼iT ciT +Xj2M
p(j)z(j)
s.t.
8>>><>>>:X
fT2Tijj2Tg
¼iT ¸X
fT2Tijj2Tg
biT ¡ p(j) (i 2 N; j 2 M)
¼iT ¸ 0 (i 2 N;T 2 Ti)
p(j) ¸ 0 (j 2 M)
² Dual of the allocation LP:
21
Pricing and Incentives² Proposition 2 : If x is an optimal primal solution to theallocation LP and p is an optimal dual solution, then hx; piis a competitive equilibrium.
² Proposition 3 : The set of competitive equilibrium pricesis a lattice when valuations are described by bid trees.
² unique minimal element p ! most possible surplus² unique maximal element ¹p ! most possible revenue
² VCG payment is not feasible because of linear pricing
² Choose p to minimize the incentives of misreporting(minimize the improvement of payo® when misreporting)
22
Proposition 1 & 2
23
LP solution <x,p> is a CE
A fractional CE exists
M‐concave valuations: impressions are “substitutes”
A fractional CE → an integer CE
Write down the dual LP
By complementary slackness conditions, p(j)>0 implies all supply are allocated → revenue maximized
xi(j)>0 and πiT(j)>0 implies x maximize bidder i’s utility at price p
Proposition 1 Proposition 2
Bidder Feedback
² Proposition 4 : Suppose bidder i increases biT to biT + ¸in its bid tree, and leaves the bids in the other nodes un-changed. Then there exists an e±cient allocation, withrespect to the new pro¯le of bid trees, in which i receivesat least diT units of impressions from T μM .
² If advertiser i wants to get at least diT impressions fromsites in T μM , he has to ensure that ciT ¸ diT andincrease the bid biT to get the desired volume.
² Add a new constraint :P
j2T xi(j) ¸ diT
Let ¸ be the optimal value of the dual variablecorresponding to this constraint.
24
Conclusion• A bidding language (bid tree) that allows advertisers to specify values for different types of impressions, and ignore the irrelevant attributes
• Scalable allocation and pricing algorithms
• Bidder feedback to help advertisers assess the value of some nodes to get desired number of impressions
• Since the number of impressions may be very large, what attributes the seller should choose?
• Since the mechanism is not incentive‐compatible, what is the dynamics of a series of bidding?
25
Top Related