a 1 - USU

Dynamic Pricing
Peter R. Wurman
North Carolina State University
E-commerce Big Picture
Infrastructure
TCP/IP
HTTP & HTML
Anonymity
Databases
Encryption
E-commerce Big Picture
Make Contact
Web mining
Data mining
XML
Recommendations
Infrastructure
TCP/IP
HTTP & HTML
Anonymity
Databases
Encryption
E-commerce Big Picture
Make Contact
Web mining
Data mining
XML
Negotiate
Auctions
Agents
Recommendations
Infrastructure
TCP/IP
HTTP & HTML
Anonymity
Databases
Encryption
Exchange
Contracts
Payments
Why Auctions?

Auctions enable dynamic pricing
–
Let the demand (and supply) determine the
market value
Current Example
Sony introduced the Playstation2 in the US
yesterday
 Lines began the day before
 Expect to sell 3 million by March
 Only expect to have half the units they need
for the holidays

Discussion

How did Sony pick $300?
How much did Sony Make?
Assume 500,000 units the first day
 Cost = $300/unit
 Revenue = $300 * 500,000 = $150,000,000

$300
.5
Millions of units
What is the Market Value?

Let’s check ebay...
How Much Could Sony Have
Made?

Assume
–
Purchasers are linearly distributed between $x
and $300.
$x
$370
.98
Millions of units
How Much Could Sony Have
Made?

Lost revenue = 250000 * (x - 300)
$x
$300
.5
Millions of units
Questions
What was Sony’s allocation policy?
 For what price should Sony have sold the
Playstation2?
 Where did all of that other money go?
 How could Sony have gotten more of it?

More Motivation
$2.7 trillion in Internet commerce by 2003
(Forrester)
 B2B exchanges developing in nearly every
industry

–

Automotive, textiles, steel, farm equipment,
chemicals, used laboratory equipment, etc.
Many of these have or plan auction
capabilities
What is an Auction?
Auctions are mediated negotiation
mechanisms in which one negotiable
parameter is price
 Note:

–
–
–
Mediated implies messages are sent to
mediator, not directly between participants
Mediator follows a strict policy for determining
outcome based on messages
Single seller auctions are a special case
Classic English

An auctioneer stands up in front of the room
–
–
Outcry: bidders call out prices
Silent: auctioneer calls prices and bidders signal
silently
Highest bidder gets the object
 Pays e more than the next highest bidder

Classic Dutch
Price clock starts at too high a price
 Price descends in real time
 First bidder to signal gets the goods at the
price on the clock

Sealed Bid Auction
Everyone puts their bid in an envelope and
submits it to the auctioneer
 At a designated time, the auctioneer opens
the envelopes and determines the highest
bidder
 Winning bidder pays its bid
 Often used in reverse for procurement

Vickrey Auction
Aka. Second-Price Sealed Bid Auction
 Everyone puts their bid in an envelope and
submits it to the auctioneer
 At a designated time, the auctioneer opens
the envelopes and determines the highest
bidder
 Winner pays the price of the second highest
bidder.

Ten-Dollar Auction
Object for sale: a $10 bill
 Rules

–
–
–
–
Highest bidder gets it
Highest bidder and the second highest bidder
pay their bids
New bids must beat old bids by 50¢.
Bidding starts at $1
Other types of Auctions

Continuous Double Auction (CDA)
–
–

Multiple buyers and sellers
Clears continuously
Call Market
–
–
Multiple buyers and sellers
Clears periodically
Other types of Auctions

Reverse Auction
–
–
–

Single buyer
Lowest seller gets to sell the object
Used in many procurement situations
Multi-item Auctions
–
–
–
Single seller
Multiple units for sale
N highest bidders get objects and pay ?
Taxonomy
Core Auction Activities

Auctions:
–
–
–
Receive bids
Supply intermediate information (optional)
Clear
Information Revealed
Clearing Policy
Bidding Rules
Core Auction Activities (2)

Receive bids
–

Release intermediate information (optional)
–
–

Enforce any bidding rules
Produce quotes
List of winning bidders
Clear
–
Determine who trades with who and at what
price
Bidding Rules

Individual rules govern
–
–
–
–
Who can bid?
Semantics of bid
Beat-the-quote rules
Beat-your-bid rules
Information Revelation Rules

Individual rules govern:
–
–
–
–
–
–
Are price quotes generated and if so, in what
format?
Are the winners identified?
Are the current winning bids identified?
Are the bidder’s id’s associated with their bids?
How often is the information generated?
Does everyone see the same information?
Clearing Rules

Individual rules govern
–
–
–
–
Who gets to trade?
At what price?
What events trigger a clear?
When does the auction close?
Example Parametrizations
Bidding Rules
Participation
Bid semantics
Beat-the-quote
Information Revelation
Price quotes
Quote schedule
Order book
Clearing Policy
Clearing schedule
Closing Conditions
Matching function
English Outcry
Vickrey
CDA
Many:1
Single-unit
Buyer
Many:1
Single-unit
NA
Many:many
Single-price
NA
Ask
Activity
Open
None
None
Closed
Bid-Ask
Activity
Closed
Inactivity
Inactivity
First-price
Fixed time
Fixed time
Second-price
Activity
Never
By time
Purpose of an Auction

Auctions:
–
Mediate communication
Auction
Agent
Agent
Agent
Agent
Purpose of an Auction

Auctions:
–
–
Mediate communication
Facilitate the multilateral exchange of resources
Auction
Agent
$
Agent
C
Agent
A
B
Agent
Analysis

How do we predict the outcome?
–
–
Characterize the decision problem each bidder
faces
Determine a “rational” strategy
Part 2: Decision Theory
What is a Rational Decision?

We assume that agents have preferences
over states of the world
–
–
–
A>B
A~B
A≥B
A is strictly preferred to B
agent is indifferent between A & B
A is weakly preferred to B
Lotteries

A lottery is a combination of a probability
and an outcome
–
–
–

L = [p, A; 1 – p, B]
L = [1, A]
L = [p, A; q, B, 1 – p – q, C]
Lotteries can be used to asses a human’s
preference structure
Example: Who Wants to Be a
Millionaire?
Millionaire Scenario
You have just achieved $500,000
 You have have no idea on the last question
 If you guess

–

If you quit
–

[3/4, $100,000; 1/4, $1,000,000]
[1, $500,000]
What do you do?
Millionaire Scenario
Maximizing the Expected Payoff

Maximize expected monetary value (EMV):
–
–
–
–

EMV(guess) = pcorrect * U(guess correct) +
pwrong * U(guess wrong)
=1/4(1,000,000) + 3/4 (100,000)
= 325,000
EMV(quit) = 500,000
What if you had narrowed the choice to two
alternatives?
Properties of Preferences

Orderability
–

Transitivity
–

For any two states, either A > B, B > A, or A~B
If A > B and B > C, then A > C
Continuity
–
If A > B > C, then there is some p, s.t.
[p, A; (1-p) C] ~ B
More Properties

Substitutability
–

Monotonicity
–

If A~B, then [p, A; (1-p) C] ~ [p, B; (1-p) C]
for any value of p
If A > B and p ≥ q then [p, A; (1-p) B] ≥ [q, A;
(1-q) B]
Decomposibility
–
Compound lotteries can be reduced to simpler
ones using laws of probability
Utility Functions

If the agents preferences satisfy the
properties, there is a real valued function U
such that
–
–
U(A) > U(B) implies that A > B
U(A) = U(B) implies that A ~ B
Human Utility for Money

The evidence suggests that humans do not
have a linear utility for money
–
–
We have regret
Our utility seems to depend upon our existing
wealth
 The
first million has more of an effect on our
lifestyle than the 100th million
St. Petersburg Paradox
Bernoulli, 1738
 Game:

–
–
–

A fair coin is tossed
If tails, you double the pot & flip again
If heads, the game ends and you keep pot
How much would you pay for a chance to
play this game?
Expected (Monetary) Value

EMV(St. P) = Sumi p(H on turn i) * (2i)
= Sumi (1/ 2i) 2i
=∞

If U  EMV, then you should be willing to
pay an infinite amount of money to play the
game.
Expected Utility

If utility for money has the form:
–

Then
–

U(m) = log2 m
EU(St. P) = Sum (1/ 2i) log2 2i
=2
So a player with this utility function should
be willing to pay 2 utiles (= $4) to play
Human Utility for Money
U+
$-
$+
U-
Risk

Let
–
–
–
S = [1, x]
L = [p, y; 1 – p, z]
Where x =EMV(L) = py + (1 – p)z
Risk averse: U(S) > U(L)
 Risk neutral: U(S) = U(L)
 Risk seeking: U(S) < U(L)

Quasilinear Utility

Often assume that agents are risk neutral
within the scope of the problem
–
U(x,m) = v(x) + m
where m is money
+
U
$-
$+
U-
This allows us
to use money
as the scale of
utility
Quasilinear Utility

For any allocation x,
there is some amount of money, m’,
s.t. i is indifferent between x and m’
regardless of i’s endowment of money.

We call vi(x) agent i’s willingness-to-pay for
allocation x
Formal Model
I = the set of agents, i = 1…n
 G = the set of resources, g = 1…m
 xig = an amount of good g allocated to I
 xi = <xi1,…xiM>
 eig = agent i’s endowment of g
 ei = <ei1,…eiM>

Implicit Assumptions

We have assumed:
–
–
–

Agents know their valuations
Valuations are independent
Valuations are private
Other choices include
–
–
Valuations are correlated
Valuations depend on externalities
Agent Surplus
An agent’s surplus is the change in its utility
between two states
 Agent i’s surplus from the allocation xi:

–
si = U(xi) - U(ei)
Solution

Given a a particular allocation problem,
what is a good distribution of the resources?
Pareto Efficient Solutions

An allocation, f, is Pareto efficient (optimal)
if
–
–
No agent can be made better off without
making some agent worse off
i.e. there is no solution f’ and agent i for which
Ui(f’i) > Ui(fi)
and for all other agents h
Uh(f’h) ≥ Uh(fh)
Pareto Efficient Solutions
U2
f1
f2
f3
f4
U1
Pareto Efficient Solutions
U2
f1
f 2 Pareto
dominates f 3
f2
f3
f4
U1
Pareto Efficient Solutions
U2
f1
f2
The Pareto frontier
f3
f4
U1
Pareto Efficiency and
Quasilinearity

When agents have quasilinear preferences
the Pareto solution satisfies:
max (Si v
(fi))
subject to Si xig = Si eig
Pareto Efficient Solutions
v2
f1
f2
Pareto
Solutions
f3
f4
v1
A Simple Example

Two agents, one unit of resource A
–
–

e1A = 1, e2A = 0
v1(A) = $3, v2(A) = $5
Claim:
–
Pareto Efficient solution gives A to agent 2
Example Continued

Definitions:
–
–
–
–
U1(e) = v1(A) + m1 = 3 + m1
U2(e) = m2
U1(f*) = m*1
U2(f*) = v2(A) + m*2 = 5 + m*2
Example Continued

Conditions:
–
–

U1(f*) ≥ U1(e)
m*1 ≥ 3 + m1
m*1 - m1 ≥ 3
Dm1
U2(f*) ≥ U2(e)
5 + m*2 ≥ m2
5 ≥ - (m*2 -m2)
-Dm2
Constraint: 3 ≤ Dm1 = - Dm2 ≤ 5
Example Conclusion

As long as agent 2 compensates agent 1 $x,
$3 ≤ x ≤ $5, both agents are better of
exchanging A.
–
–
s1 = x - 3
s2 = 5 - x
No Further Gains
Pareto efficiency and quasilinearity implies
that no more surplus can be created
 which implies that there are no further gains
from trade to be made


Finding f* is the social planner’s objective
How Do We Find f*?

In a distributed system:
–
–

We can’t impose an allocation
The valuations are private information
We want a mechanism that encourages
agents acting in their own self-interest to
find f*
Core Auction Activities Revisited

Receive bids
–

Release intermediate information (optional)
–
–

Enforce any bidding rules
Produce quotes
List of winning bidders
Clear
–
Determine who trades with who and at what
price
Clearing Policies
Input: the set of bids
 Output: a set of exchanges:

–

a1 gives x units to a2 for $p
The policy for determining the exchanges
from the bids is called the matching policy
Properties of Matching Policies
Buyers pay no more than their bid, sellers
receive no less
 Exchanges are budget balanced
 The market is cleared
 The exchanges represent a locally efficient
allocation
 All exchanges occur at a uniform
equilibrium price

An Example

Agent
a1
a2
a3
a4
Bid
sell 1 unit at $1
buy 1 unit at $2
sell 1 unit at $3
buy 1 unit at $4
Diagram
Price
4
3
2
1
Quantity
Interpretation of Bid Points
Price
4
Buyers will pay their
bid or less
3
Sellers will accept
their bid or more
2
1
Quantity
One Set of Exchanges
Price
4
3
2
1
a3 sells 1 unit to a4
for $3 ≤ p1 ≤ $4
a1 sells 1 unit to a2
for $1 ≤ p2 ≤ $2
Quantity
Analysis
Market is cleared
 Not a uniform price p1 ≠ p2
 Not efficient:

–
–
–
–
a3’s bid is interpreted as its reserve value
After the exchanges a3 would want to buy a2’s
unit
There is a trade remaining
The agents with the highest values (a3, a4) do
not have the items in the end
Another Exchange Set
Price
4
3
2
a1 sells 1 unit to a4
for $1 ≤ p ≤ $4
1
Quantity
Analysis
Market is cleared
 Uniform price
 Efficient

–
a4 gets one, a3 keeps one
Budget balanced
 But,

–
–
If p < $2, then a2 will want to buy one
If p > $3, then a3 will want to sell one
Aggregate Demand
Price
4
3
2
1
Quantity
Equilibrium Prices
Price
4
3
2
Range of prices
that balance supply
and demand
1
Quantity
General Procedure to Find
Equilibrium Prices
Let there be L single-unit bids
 Let M be the number of sell offers
 Method:

–
–
Sort all bids by price
Count down M bids
The Mth bid is the top of the eq. range
The (M+1)st bid is the bottom of eq. range
 Any price in between is an eq. price

Mth and (M+1)st Example
Price
L=4
M=2
4
Mth bid
3
2
(M+1)st bid
1
Quantity
Another Example
Price
L=4
M=2
4
Mth bid
3
2
(M+1)st bid
1
Quantity
Yet Another Example
Price
L=4
M=2
4
3
(M+1)st bid
Mth bid
2
1
Quantity
Which Trades?
Price
L=4
M=2
4
3
(M+1)st bid
Mth bid
2
1
Quantity
Which Trades?
Price
L=4
M=2
4
3
(M+1)st bid
Mth bid
2
1
Quantity
Which Trades?

If all exchanges occur at price p, agents do
not care who they trade with
–
–
Let x = {0, 1}
Agents utility: ui(x) = vi(x) - p(x - e)
What Exchange Price?
Let pM = the $ value of the Mth bid
 Let pM+1 = the $ value of the (M+1)st bid


For any k, 0 ≤ k ≤ 1,
p = pM+1 + k(pM - pM+1)
is an equilibrium price
Properties
Clears the market
 Budget balanced
 Uniform price
 Locally efficient
 Equilibrium prices

Price Quotes

If the auction is not sealed bid, what price
information should we reveal?
Inspiration: CDA
Price
4
ask
3
2
bid
1
Quantity
Bid-Ask “Spread”
The ask quote is what a buyer needs to offer
to form an exchange
 The bid quote is what a seller needs to offer
to form an exchange


In a CDA, it represents the spread between
the buyers and the sellers
Generalizing the Bid-Ask Quote

Mapping:
–
–

Ask = Mth price
Bid = (M+1)st price
The interpretation works even if the
standing bids overlap
–
Beating the ask price either matches an
unmatched seller, or displaces a matched buyer
Buyer Example
Price
bid
4
4
3
5
3
ask
2
2
1
1
Quantity
More About Quotes
Suppose you have a buy bid, b.
 You are winning if:

–
–
b > pask
b = pask, and pask > pbid

But, if b = pask = pbid ,
you can’t tell if you are winning

Symmetric result for the seller
Multi-unit Bids
When bids are divisible, the Mth, (M+1)st
pricing still works
 M = the number of units for sale
 Essentially, treat each unit as a separate bid
Agent
Bid
a1
sell 3 units at $1
a2
buy 2 unit at $2
a3
buy 2 unit at $3

Multi-unit Bid Example
Price
L=7
M=3
3 3
2
2
1 1 1
Quantity
Some Take Home Messages
Uniform prices are good
 Buyers and sellers are symmetrical

Part 3: Analysis
The Vickrey Auction
Single seller (M = 1)
 N buyers
 Highest bidder pays the second highest
(M +1)st price
 Sealed bids


Property: dominant strategy for buyers to
bid true valuation
Proof

Consider 2 agents
–
–

Random valuations, v1, v2
Place bids b1, b2
Agent 1’s utility for bidding b1
–
U(b1) = Pr(b1 > b2)[v1 - b2]
Proof: Case 1

If [v1 - b2] > 0, then agent 1 wants to
maximize Pr(b1 > b2)
–
Does so by setting b1 = v1
v1
b2
Proof: Case 2

If [v1 - b2] < 0, then agent 1 wants to
minimize Pr(b1 > b2)
–
Does so by setting b1 = v1
b2

Thus, setting b1 = v1
(truth-telling)
is a dominant strategy
v1
Intuition

The amount that an agent pays is not a
function of their bid

The only thing an agent controls is the
probability that it wins when it should, and
doesn’t win when it shouldn’t
Extensions to the Mth & (M+1)st
Price Auctions

For single-unit buyers, it is a dominant
strategy to bid truthfully in an
(M+1)st-price sealed-bid auction

For single-unit sellers, it is a dominant
strategy to bid truthfully in an Mth-price
sealed-bid auction
Why Not Multiunit Bidders?

A bidder whose bid is setting the price, may
benefit by lowering its bid on some of its
units

Example: a multiunit buyer in an (M+1)stprice auction
Multi-unit Bid Example
Price
L=7
M=3
3 3
2
2
Mth, (M+1)st
1 1 1
Quantity
Multi-unit Bid Example
Price
L=7
M=3
3 3
2
1 1 1
2
Mth
2
(M+1)st
Quantity
Why Not Buyers and Sellers at
the Same Time?
One buyer, one seller
 Sealed bids b & s
 Valuations, vs, vb, drawn
from overlapping
distributions

vb
vs
Desirable Properties

Efficient
–

Truthful
–

Dominant strategies to bid vs, vb
Individually rational
–

If vs < vb, the agents trade
No agent will be made worse off
Budget balanced
–
Amount seller receives = amount buyer pays
No Perfect Mechanism
–
Meyerson & Satterthwaite, 1983
Ub(b) = Pr(b > s)[ vb - pb]
 For the buyer to bid truthfully,
from the previous result,
pb = s


Similarly, for the seller
to bid truthfully,
ps = b
vs
vb
Not Budget Balanced

For both agents to bid truthfully, we
–
–

give the seller b
take from the buyer s
But b > s, so the mechanism runs a deficit
McAfee’s Dual Price Auction

We can get truthful behavior for both the
buyers and sellers, and budget balance by
sacrificing efficiency
Let p = pM+1 + k(pM - pM+1)
 All exchanges occur except the lowest
buyer at or above pM, and the highest seller
at or below pM+1

Dual Price Diagram
Price
4
3
(M+1)st bid
Mth bid
2
Discard this trade
1
Quantity
Dual Price Properties
Everyone bids truthfully
 Individually rational
 Budget balanced
 Not efficient, but only sacrifices the lowest
valued exchange

–
–
This can be arbitrarily bad
i.e. if there was only one trade available
Other matching functions

Chronological
–
–

Exchange occurs at the price of the earlier/later
bid
Model used by the stock market in conjunction
with immediate clears
Pay buyers, pay sellers bid
–
–
All exchanges occur at the buyer’s (or seller’s)
offer
Common in multiunit auctions on the Internet
The Example

Agent
a1
a2
a3
a4
time
1
2
3
4
Bid
sell 1 unit at $1
buy 1 unit at $3
sell 1 unit at $2
buy 1 unit at $4
Chronological Match
Price
Earlier Bid Prices:
4
1  4 at $1
2
3  2 at $3
Later Bid Prices:
1  4 at $4
3  2 at $2
3
1
Quantity
Agents Care How Matches are
Formed
Price
Earlier Bid Prices:
4
3  4 at $2
2
1  2 at $1
Later Bid Prices:
3  4 at $4
1  2 at $3
3
1
Quantity
Pay Buyers/Sellers Bid
Price
Sellers Bid Prices:
4
1  4 at $1
2
3  2 at $2
Buyers Bid Prices:
1  4 at $4
3  2 at $3
3
1
Quantity
Comparison
14
32
Mth
$3/$3
(M+1)st $2/$2
Dual (.5) $2.5/--
34
12
$3/$3
$2/$2
N/A
Earliest
Latest
$1/$3
$4/$2
$2/$1
$4/$3
Buyers
Sellers
$4/$3
$1/$2
$4/$3
$2/$1
Uniform
Prices
Discriminatory
Prices
4-Heap Algorithm
Straightforward algorithm for managing all
of the previous types of auctions
 Keep all bids in four heaps

–
–
–
–
Bin
Bout
Sin
Sout
current winning buy bids
current non-winning buy bids
current winning sell bids
current non-winning sell bids
4-Heap Diagram
Sout
Sin
Bin
Bout
Properties of Heaps
Bout, Sin ordered so highest price is top
 Bin, Sout ordered so lowest price is “top”
 Constraints

–
–
–
–
–
# units in Bin = # units in Sin
top(Bout) ≤ top(Bin)
top(Sin) ≤ top(Sout)
top(Sin) ≤ top(Bin)
top(Bout) < top(Sout)
Insert New Bid (1)
Bin
Sout
Sin
Bout
Insert New Bid (2)
Bin
Sout
Sin
Put
Bout
Insert New Bid (3)
Bin
Sout
Sin
Violates the
condition that
# units in Bin = # units in Sin
Bout
Insert New Bid (4)
Bin
Sout
Get
Sin
Bout
Insert New Bid (5)
Bin
Sout
Put
Sin
Bout
Insert New Bid (6)
Bin
Sout
Sin
Bout
Complexity Analysis
Insert new bids in O(log L)
 Remove a bid in O(log L)
 Quote in constant time
 Clear in O(size of Bin)


Can be used for all of the above matching
functions
Indivisible bids

Agent
a1
a2
a3
Bid
buy exactly 2 units at $3/each
buy exactly 2 units at $2/each
buy exactly 1 unit at $1/each
Three units for sale
 Who do we give them to?

Knapsack Problem

How do we best fill a three unit knapsack
$1
$6
$4
$1
$6
Another Example

How do we best fill this four unit knapsack?
$8
$15

$8
$8
$8
Knapsack is a classic NP-complete problem
Indivisible Bids and Prices
$1
$6
$4
$1
$6
There is no price, p, such that a1 and a3
want to buy, and a2 doesn’t
 For equilibrium, we need prices that are
nonlinear functions of quantity

Summary
Can get dominant strategies for one side or
the other (w/ single units)
 Cannot get desirable properties for both
sides
 Several methods to set prices
 4-Heap algorithm handles many efficiently
 Optimal allocations with indivisible bids is
an NP-complete problem
