Machine Learning for Mechanism Design and Pricing Problems Avrim Blum Carnegie Mellon University Joint work with Maria-Florina Balcan, Jason Hartline, and Yishay Mansour [Informs 2009] Auctions/pricing Designing auction/pricing mechanisms esp for complex markets: challenging problems at the intersection of CS and Economics Auction mechanisms for selling digital goods Software, movies, information access Auctions/pricing Designing auction/pricing mechanisms esp for complex markets: challenging problems at the intersection of CS and Economics Ad-auctions Auctions/pricing Designing auction/pricing mechanisms esp for complex markets: challenging problems at the intersection of CS and Economics Combinatorial Auctions Selling many different kinds of items. Buyers with complex preferences over bundles: “I only want the hotel room if I get the flight too…” Some items or services that overlap, others only good if have something else too. How should you set prices to make the most profit? Auctions/pricing Designing auction/pricing mechanisms esp for complex markets: challenging problems at the intersection of CS and Economics Even if all customers’ preference information, how much they would be willing to pay, etc. is known upfront, setting prices to maximize revenue can be a challenging algorithmic problem. But in addition, incentive constraints: customers won’t give you the (correct) information if (possibly) not in their best interest. Auction/Pricing Problems One Seller, Multiple Buyers with Complex Preferences. Seller’s Goal: maximize profit. CS / optimization Economics Version 1: Seller knows the true values. Version 2: values given by selfish agents. Algorithm Design Problem (AD) Incentive Compatible Auction (IC) Previous Work on IC : specific mechanisms for restricted settings. Auction/Pricing Problems One Seller, Multiple Buyers with Complex Preferences. Seller’s Goal: maximize profit. CS / optimization Economics Version 1: Seller knows the true values. Version 2: values given by selfish agents. Algorithm Design Problem (AD) Incentive Compatible Auction (IC) Our Work: Generic Reduction using ML Previous Work on IC : specific mechanisms for restricted settings. How is this related to Machine Learning? Simple version: basic digital good auction problem. You’ve developed a cool new software tool & want to sell it. - n potential buyers. Buyer i has valuation vi. - Can potentially sell to all of them, but buyer i will only purchase if priced below vi. - Unfortunately, you don’t know the vi. How is this related to Machine Learning? Simple version: basic digital good auction problem. You’ve developed a cool new software tool & want to sell it. - n potential buyers. Buyer i has valuation vi. - Can potentially sell to all of them, but buyer i will only purchase if priced below vi. - Unfortunately, you don’t know the vi. Classic econ model: buyers “types” (valuations) chosen iid from known distribution D. In this case, just set sales price pD to maximize expected profit. But what if don’t want to assume this? How is this related to Machine Learning? Simple version: basic digital good auction problem. You’ve developed a cool new software tool & want to sell it. - n potential buyers. Buyer i has valuation vi. - Can potentially sell to all of them, but buyer i will only purchase if priced below vi. - Unfortunately, you don’t know the vi. Could ask people for their valuations and use this to set a price as before, but people will low-ball (not incentivecompatible…) How is this related to Machine Learning? Simple version: basic digital good auction problem. You’ve developed a cool new software tool & want to sell it. - n potential buyers. Buyer i has valuation vi. - Can potentially sell to all of them, but buyer i will only purchase if priced below vi. - Unfortunately, you don’t know the vi. Random sampling auction: Ask buyers to submit bids bi. Randomly partition bidders into S1 two sets S1, S2. Find best price over bids in S1… and use it as offer price on S2! S2 (& vice versa). How is this related to Machine Learning? More interesting version: combinatorial auctions You’re Sperizon-mobile. Want to price various services. -Basic service -Extra lines -Data package -TV features, … People have potentially nonlinear valuations over subsets. Might also have known info about customers (current usage, demographics,…). (Combinatorial Attribute Auction) Want to perform nearly as well as best (simple) pricing function over known info. How is this related to Machine Learning? More interesting version: combinatorial auctions You’re Sperizon-mobile. Want to price various services. -Basic service -Extra lines -Data package -TV features, … Random sampling auction: Split randomly into S1, S2. Apply optimization alg A on S1, perhaps with penalty term. Use A(S1) on S2 and vice-versa. S1 S2 Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. Interesting issues: What quantities to use for , ? What kind of regularization makes sense? Random sampling auction: Split randomly into S1, S2. Apply optimization alg A on S1, perhaps with penalty term. Use A(S1) on S2 and vice-versa. S1 S2 Generic Setting • S set of n bidders. • Bidder i: privi , pubi , bidi • Space of legal offers/pricing functions G. • g 2 G maps the pubi to pricing over the outcome space. • g is “take it or leave it” offer, so any fixed g is IC. • Goal: Incentive Compatible mechanism to do nearly as well as the best g 2 G. • Assume max profit h per bidder. Unlimited supply Profit of g: sum over bidders. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. Interesting issues: What quantities to use for , ? What kind of regularization makes sense? Random sampling auction: Split randomly into S1, S2. Apply optimization alg A on S1, perhaps with penalty term. Use A(S1) on S2 and vice-versa. S1 S2 Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. What should be large? # bidders? But bidders of valuation 0 don’t help very much. Instead: OPT profit. Even if assume all valuations ¸ 1, bounds will be loose. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. What should be large? # bidders? But bidders of valuation 0 don’t help very much. Instead: OPT profit. As a function of what? # functions in G. Even if assume all valuations ¸ 1, bounds will be loose. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. What should be large? # bidders? But bidders of valuation 0 don’t help very much. Instead: (OPT profit)/h. As a function of what? # functions in G. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. What should be large? # bidders? But bidders of valuation 0 don’t help very much. Instead: (OPT profit)/h. As a function of what? # functions in G. # functions in G the alg could possibly output over splits S1,S2 +1. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. E.g., digital-good auction. Algorithm uses S1 to choose price to offer for S2 and vice-versa. Can discretize to powers of (1+). Get |G| = (log h)/. Or use fact that alg will only output a bid value. |G| · n+1. As a function of what? # functions in G. # functions in G the alg could possibly output over splits S1,S2 +1. Multiplicative L1 cover size. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. What if hard to directly bound # possible outputs valuations Use covering arguments: • find G’ that covers G , attributes • show that all functions in G’ behave well # functions in G. # functions in G the alg could possibly output over splits S1,S2 +1. Multiplicative L1 cover size. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. G’ -covers G wrt to S if for all g exists g’ 2 G’ s.t. i |g(i)-g’(i)| · g(S). [g(i) ´ profit made from bidder i] Theorem (roughly): If G’ is -cover of G, then the previous bounds hold with |G| replaced by |G’|. # functions in G. # functions in G the alg could possibly output over splits S1,S2 +1. Multiplicative L1 cover size. Attribute Auctions, Linear Pricing Functions Assume X=Rd. N= (n+1)(1/) ln h. d+1 |G’| · N x x valuations x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x attributes Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. For combinatorial auctions with m items, G = class of item-pricings, to get ¸ (1-)OPT, sufficient to have: OPT = Õ(hm2/2) for general valuation functions. OPT = Õ(hm/2) for unit-demand valuations. First results for general case, factor m savings over GH01 for unitdemand valuations. # functions in G. # functions in G the alg could possibly output over splits S1,S2 +1. Multiplicative L1 cover size. Goal If is large as a function of , then the random sampling auction (perhaps regularized) performs nearly as well as best pricing function in class G. Regularization/SRM: Can do SRM as usual, penalizing higher-complexity function classes. But even individual functions can have different complexity levels! E.g., digital-good auction. Say S1 has 1 bid of value h and h-1 bids of value 1. $1 $1 $1 $1 $1 $h $1 $1 $1 So, {1,h} are both optimal prices. But much better stats for 1. Allows to replace “h” with “price used by OPT” in previous bounds. Summary • Explicit connection between machine learning and mechanism design. Use ideas of MLT to analyze when random sampling auction will do well. • This application brings out interesting twists on usual ML issues. What has to be large as a function of what? SRM. • Challenges: • Loss function discontinuous and asymmetric. • Range of valuations large. Challenges/Future Directions • Apply similar techniques to limited supply. • Online Setting. • How big a “focus group” do you need for other kinds of pricing/allocation/decision-making problems.