VIEWS: 24 PAGES: 133 POSTED ON: 5/3/2012 Public Domain
Dynamic Pricing Peter R. Wurman North Carolina State University E-commerce Big Picture Infrastructure TCP/IP Databases HTTP & HTML Encryption Anonymity E-commerce Big Picture Make Contact Web mining Data mining XML Recommendations Infrastructure TCP/IP Databases HTTP & HTML Encryption Anonymity E-commerce Big Picture Make Contact Negotiate Exchange Web mining Auctions Contracts Data mining Agents Payments XML Recommendations Infrastructure TCP/IP Databases HTTP & HTML Encryption Anonymity 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 Millions of units .5 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 Millions of units .98 How Much Could Sony Have Made? Lost revenue = 250000 * (x - 300) $x $300 Millions of units .5 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 – Enforce any bidding rules Release intermediate information (optional) – 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 English Outcry Vickrey CDA Bidding Rules Participation Many:1 Many:1 Many:many Bid semantics Single-unit Single-unit Single-price Beat-the-quote Buyer NA NA Information Re velation Price quotes Ask None Bid-Ask Quote schedule Activity None Activity Order book Open Closed Closed Clearing Policy Clearing schedule Inactivity Fixed time Activity Closing Conditions Inactivity Fixed time Never Matching function First-price Second-price 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 $ C Agent A Agent 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 is strictly preferred to B – A~B agent is indifferent between A & B – 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 – [3/4, $100,000; 1/4, $1,000,000] If you quit – [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 – For any two states, either A > B, B > A, or A~B Transitivity – 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 – If A~B, then [p, A; (1-p) C] ~ [p, B; (1-p) C] for any value of p Monotonicity – 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: – U(m) = log2 m Then – 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 This allows us to use money $- $+ as the scale of utility U- 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 f2 dominates f 3 f3 f4 U1 Pareto Efficient Solutions U2 f1 The Pareto frontier f2 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 Pareto Solutions f2 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 – Enforce any bidding rules Release intermediate information (optional) – 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 Bid a1 sell 1 unit at $1 a2 buy 1 unit at $2 a3 sell 1 unit at $3 a4 buy 1 unit at $4 Diagram Price 4 3 2 1 Quantity Interpretation of Bid Points Price 4 Buyers will pay their 3 bid or less Sellers will accept their bid or more 2 1 Quantity One Set of Exchanges Price 4 a3 sells 1 unit to a4 3 for $3 ≤ p1 ≤ $4 2 a1 sells 1 unit to a2 1 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 a1 sells 1 unit to a4 2 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 Range of prices that balance supply 2 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 4 L=4 M=2 Mth bid 3 2 (M+1)st bid 1 Quantity Another Example Price 4 L=4 M=2 Mth bid 3 2 (M+1)st bid 1 Quantity Yet Another Example Price L=4 4 M=2 3 Mth bid (M+1)st bid 2 1 Quantity Which Trades? Price L=4 4 M=2 3 Mth bid (M+1)st bid 2 1 Quantity Which Trades? Price L=4 4 M=2 3 Mth bid (M+1)st 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 4 4 5 3 ask 3 bid 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 v1 (truth-telling) is a dominant strategy 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)st- price 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 2 Mth 1 1 1 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 vb distributions vs Desirable Properties Efficient – If vs < vb, the agents trade Truthful – Dominant strategies to bid vs, vb Individually rational – 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 vb Similarly, for the seller vs to bid truthfully, ps = b 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 Mth bid (M+1)st 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 time Bid a1 1 sell 1 unit at $1 a2 2 buy 1 unit at $3 a3 3 sell 1 unit at $2 a4 4 buy 1 unit at $4 Chronological Match Price Earlier Bid Prices: 4 Later Bid Prices: 1 4 at $1 1 4 at $4 2 3 2 at $3 3 2 at $2 3 1 Quantity Agents Care How Matches are Formed Price Earlier Bid Prices: 4 Later Bid Prices: 3 4 at $2 3 4 at $4 2 1 2 at $1 1 2 at $3 3 1 Quantity Pay Buyers/Sellers Bid Price Sellers Bid Prices: 4 Buyers Bid Prices: 1 4 at $1 1 4 at $4 2 3 2 at $2 3 2 at $3 3 1 Quantity Comparison 14 34 32 12 Mth $3/$3 $3/$3 Uniform (M+1)st $2/$2 $2/$2 Prices Dual (.5) $2.5/-- N/A Earliest $1/$3 $2/$1 Latest $4/$2 $4/$3 Discriminatory Prices Buyers $4/$3 $4/$3 Sellers $1/$2 $2/$1 4-Heap Algorithm Straightforward algorithm for managing all of the previous types of auctions Keep all bids in four heaps – Bin current winning buy bids – Bout current non-winning buy bids – Sin current winning sell bids – Sout current non-winning sell bids 4-Heap Diagram Bin Sout Bout Sin 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 Bout Sin Insert New Bid (2) Bin Sout Put Bout Sin Insert New Bid (3) Bin Sout Bout Sin Violates the condition that # units in Bin = # units in Sin Insert New Bid (4) Bin Sout Get Bout Sin Insert New Bid (5) Bin Sout Put Bout Sin Insert New Bid (6) Bin Sout Bout Sin 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 Bid a1 buy exactly 2 units at $3/each a2 buy exactly 2 units at $2/each a3 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 $6 $1 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 $6 $1 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