Topics in Algorithmic Game Theory and Economics
Pieter Kleer
Max Planck Institute for Informatics (D1) Saarland Informatics Campus
January 13, 2020
Lecture 8
Some Mechanism Design
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples: Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples: Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google)
Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay)
(Stable) matching problems Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals
Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Mechanism Design
Mechanism design is a form of reversed game theory:
Given a (desired) outcome, how should we design the game to obtain that outcome as a result of strategic behaviour?
Examples:
Auctions
Sponsored search auctions (e.g., Google) Online selling platforms (e.g., eBay) (Stable) matching problems
Matching children to schools
Matching medical students to hospitals Kidney exchange markets
We focus mostly on (online) auctions.
Selling one item
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item. Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller. Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item. Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller. Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller. Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller. Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller. Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n). Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller:
Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise. Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item. Pricing rule p = p(b).
Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b). Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b).
Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b).
Utility of bidder i:
u
i(b) = x
i(b)(v
i− p(b)) =
v
i− p(b) if i gets the item,
0 otherwise.
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b).
Utility of bidder i:
Selling one item
Bidders:
Set of bidders {1, . . . , n} and one item.
Bidder i has valuation v
ifor the item.
Maximum amount she is willing to pay for it.
Private information: v
inot known to other players or seller.
Bidder submits bid b
i.
Vector of all bids denoted by b = (b
1, . . . , b
n).
Seller: Collects (sealed) bids.
Gives item to some bidder (if any).
Allocation rule x = x (b) = (x
1, . . . , x
n), with x
i=
1 if i gets the item, 0 otherwise.
Charges price of p to bidder i
∗receiving item.
Pricing rule p = p(b).
Utility of bidder i:
v − p(b) if i gets the item,
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n). Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)). Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and
bids b = (b
1, . . . , b
n). Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)). Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b). Utility of player given by u
i(b) = x
i(b)(v
i− p(b)). Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)). Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p). Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p).
Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p).
Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
We have
Bidders with valuations v = (v
1, . . . , v
n) and bids b = (b
1, . . . , b
n).
Seller with allocation rule x (b) and pricing rule p(b).
Utility of player given by u
i(b) = x
i(b)(v
i− p(b)).
Revenue of seller is p if item is sold.
Definition
A (deterministic) mechanism (x , p) for selling an item to one of n bidders is given by an allocation rule x : R
n→ {0, 1}
nwith P
i
x
i≤ 1, and pricing rule p : R
n→ R .
Goal of bidder i is to maximize utility given mechanism (x , p).
Bidders will try to bid strategically.
How should we design auction to prevent undesirable outcomes?
First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n).
Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged. Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2). Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i). Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i).
Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i).
Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i).
Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
“Revenue for seller” + “Player utilities” = P
i
v
ix
i(b) = v
i∗First price auction
First price auction
Bidders report bids b = (b
1, . . . , b
n). Item is given to i
∗= argmax
ib
iand price p = max
ib
iis charged.
Example
Suppose there are three bidders
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (5, 22, 23).
Winner is bidder i
∗= 3, with price p = 23. Utilities are u = (0, 0, 2).
Is this a good auction format?
Does not incentivize truthful bidding.
Bidders have incentive to lie (i.e., not report true valuation v
i).
Bidder 2 values item the most, but does not get it.
Allocation rule does not maximize social welfare objective
Selling one item
Second price auction
Second price auction
Second price auction
Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule. Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i.
Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule. Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j.
Ties are broken according to some fixed tie-breaking rule. Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule.
Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25). Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule.
Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule.
Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule.
Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Second price auction has many desirable properties.
Second price auction
Second price auction Given bids b = (b
1, . . . , b
n):
Item is allocated to highest bidder i
∗= argmax
ib
i. Price charged is second-highest bid p = max
j6=i∗b
j. Ties are broken according to some fixed tie-breaking rule.
Example
Suppose we have three bidders.
Valuations (v
1, v
2, v
3) = (10, 30, 25).
Bids (b
1, b
2, b
3) = (10, 30, 22).
Winner is bidder i
∗= 2 and pays p = 22. Utilities are u = (0, 8, 0).
Desired properties
Bidders have incentive to be truthful: Reporting v
iis dominant strategy. Definition (Strategyproof)
Mechanism (x , p) incentivizes truthful bidding if for every bidder i , alternative bid b
0i, and bids b
−i= (b
1, . . . , b
i−1, b
i+1, b
n) of other bidders, it holds that
u
i(b
−i, v
i) ≥ u
i(b
−i, b
0i),
where u
i(b) = x
i(b)(v
i− p(b)).
Bidders have non-negative utility (when reporting truthfully). Definition (Individually rational)
Mechanism (x , p) is individually rational if for every bidder i it holds u
i(b) ≥ 0
for every bid vector b = (b
1, . . . , b
i−1, v
i, b
i+1, . . . , b
n).
Desired properties
Bidders have incentive to be truthful: Reporting v
iis dominant strategy.
Definition (Strategyproof)
Mechanism (x , p) incentivizes truthful bidding if for every bidder i , alternative bid b
0i, and bids b
−i= (b
1, . . . , b
i−1, b
i+1, b
n) of other bidders, it holds that
u
i(b
−i, v
i) ≥ u
i(b
−i, b
0i),
where u
i(b) = x
i(b)(v
i− p(b)).
Bidders have non-negative utility (when reporting truthfully). Definition (Individually rational)
Mechanism (x , p) is individually rational if for every bidder i it holds u
i(b) ≥ 0
for every bid vector b = (b
1, . . . , b
i−1, v
i, b
i+1, . . . , b
n).
Desired properties
Bidders have incentive to be truthful: Reporting v
iis dominant strategy.
Definition (Strategyproof)
Mechanism (x , p) incentivizes truthful bidding if for every bidder i, alternative bid b
0i, and bids b
−i= (b
1, . . . , b
i−1, b
i+1, b
n) of other bidders, it holds that
u
i(b
−i, v
i) ≥ u
i(b
−i, b
0i), where u
i(b) = x
i(b)(v
i− p(b)).
Bidders have non-negative utility (when reporting truthfully). Definition (Individually rational)
Mechanism (x , p) is individually rational if for every bidder i it holds u
i(b) ≥ 0
for every bid vector b = (b
1, . . . , b
i−1, v
i, b
i+1, . . . , b
n).
Desired properties
Bidders have incentive to be truthful: Reporting v
iis dominant strategy.
Definition (Strategyproof)
Mechanism (x , p) incentivizes truthful bidding if for every bidder i, alternative bid b
0i, and bids b
−i= (b
1, . . . , b
i−1, b
i+1, b
n) of other bidders, it holds that
u
i(b
−i, v
i) ≥ u
i(b
−i, b
0i),
where u
i(b) = x
i(b)(v
i− p(b)).
Bidders have non-negative utility (when reporting truthfully).
Definition (Individually rational)
Mechanism (x , p) is individually rational if for every bidder i it holds u
i(b) ≥ 0
for every bid vector b = (b
1, . . . , b
i−1, v
i, b
i+1, . . . , b
n).
Desired properties
Bidders have incentive to be truthful: Reporting v
iis dominant strategy.
Definition (Strategyproof)
Mechanism (x , p) incentivizes truthful bidding if for every bidder i, alternative bid b
0i, and bids b
−i= (b
1, . . . , b
i−1, b
i+1, b
n) of other bidders, it holds that
u
i(b
−i, v
i) ≥ u
i(b
−i, b
0i),
where u
i(b) = x
i(b)(v
i− p(b)).
Bidders have non-negative utility (when reporting truthfully).
Definition (Individually rational)
Mechanism (x , p) is individually rational if for every bidder i it holds u
i(b) ≥ 0
for every bid vector b = (b b v b b ).
Mechanism has good performance guarantee.
Definition (Welfare maximization)
Mechanism (x , p) is welfare maximizer if it maximizes P
i
v
ix
i(b) = “Revenue for seller” + “Player utilities” assuming that bidders are truthful.
For now this just means we want to allocate item to a bidder with highest (true) valuation v
∗= max
iv
i.
(In online setting, we are content with approximation.) Definition (Computational efficiency)
Mechanism (x , p) should be implementable in polynomial time, i.e.,
compute allocation x and price p in polynomial time.
Mechanism has good performance guarantee.
Definition (Welfare maximization)
Mechanism (x , p) is welfare maximizer if it maximizes P
i
v
ix
i(b) = “Revenue for seller” + “Player utilities”
assuming that bidders are truthful.
For now this just means we want to allocate item to a bidder with highest (true) valuation v
∗= max
iv
i.
(In online setting, we are content with approximation.) Definition (Computational efficiency)
Mechanism (x , p) should be implementable in polynomial time, i.e.,
compute allocation x and price p in polynomial time.
Mechanism has good performance guarantee.
Definition (Welfare maximization)
Mechanism (x , p) is welfare maximizer if it maximizes P
i
v
ix
i(b) = “Revenue for seller” + “Player utilities”
assuming that bidders are truthful.
For now this just means we want to allocate item to a bidder with highest (true) valuation v
∗= max
iv
i.
(In online setting, we are content with approximation.) Definition (Computational efficiency)
Mechanism (x , p) should be implementable in polynomial time, i.e.,
compute allocation x and price p in polynomial time.
Mechanism has good performance guarantee.
Definition (Welfare maximization)
Mechanism (x , p) is welfare maximizer if it maximizes P
i
v
ix
i(b) = “Revenue for seller” + “Player utilities”
assuming that bidders are truthful.
For now this just means we want to allocate item to a bidder with highest (true) valuation v
∗= max
iv
i.
(In online setting, we are content with approximation.)
Definition (Computational efficiency)
Mechanism (x , p) should be implementable in polynomial time, i.e.,
compute allocation x and price p in polynomial time.
Mechanism has good performance guarantee.
Definition (Welfare maximization)
Mechanism (x , p) is welfare maximizer if it maximizes P
i