1 / 15 - Pricing and Market Design Module 1: Capacity-based Revenue Management (Two-stage capacity allocation, and Littlewood s rule) Instructor: Sid Banerjee, ORIE
RM in the Airline Industry 2 / 15 Courtesy: Huseyin Topaloglu
RM in the Airline Industry 3 / 15 Courtesy: Huseyin Topaloglu
RM in the Airline Industry 4 / 15 Courtesy: Huseyin Topaloglu
RM in the Airline Industry 5 / 15 Courtesy: Huseyin Topaloglu
RM in the Airline Industry 6 / 15 Courtesy: Huseyin Topaloglu
Problem: Single-resource two-stage capacity allocation 7 / 15 Want to maximize revenue from selling multiple copies of a single resource (e.g., C seats on a single flight)
Problem: Single-resource two-stage capacity allocation 7 / 15 Buyer behavior: - (Dynamics) Buyers arrive sequentially to the market - (Choice) Each buyer wants either a discount-fare (i.e., low price) ticket or a full-fare (i.e., high-price) ticket
Problem: Single-resource two-stage capacity allocation 7 / 15 Buyer behavior: - (Dynamics) Buyers arrive sequentially to the market - (Choice) Each buyer wants either a discount-fare (i.e., low price) ticket or a full-fare (i.e., high-price) ticket Seller constraints: - (Capacity) Has C identical units (seats) to sell - (Prices) Prices fixed to p h (full-fare) and p l (discount fare), with p h > p l - (Control) Can choose how many discount-fare and full-fare tickets to sell
Problem: Single-resource two-stage capacity allocation 7 / 15 Buyer behavior: - (Dynamics) Buyers arrive sequentially to the market - (Choice) Each buyer wants either a discount-fare (i.e., low price) ticket or a full-fare (i.e., high-price) ticket Seller constraints: - (Capacity) Has C identical units (seats) to sell - (Prices) Prices fixed to p h (full-fare) and p l (discount fare), with p h > p l - (Control) Can choose how many discount-fare and full-fare tickets to sell Information structure: - (Dynamics) All discount-fare customers arrive before full fare customers - (Demand Distributions) Demand for full-fare tickets is D h F h, discount fare tickets is D l F j
Aside: Customer Segmentation (Price Discrimination) 8 / 15 In our first lecture, we considered a single customer with (unknown) value V for an item, and we charge a single price p Note: The best achievable revenue is V Customer segmentation: use pricing to get revenue closer to V
Aside: Customer Segmentation (Price Discrimination) 8 / 15 In our first lecture, we considered a single customer with (unknown) value V for an item, and we charge a single price p Note: The best achievable revenue is V Customer segmentation: use pricing to get revenue closer to V There are three high-level ways of achieving this: First-degree (Complete discrimination): learn each buyers value, and charge p = V (e.g., negotiations/haggling)
Aside: Customer Segmentation (Price Discrimination) 8 / 15 In our first lecture, we considered a single customer with (unknown) value V for an item, and we charge a single price p Note: The best achievable revenue is V Customer segmentation: use pricing to get revenue closer to V There are three high-level ways of achieving this: First-degree (Complete discrimination): learn each buyers value, and charge p = V (e.g., negotiations/haggling) Third-degree (Direct segmentation): use some feature to segment buyers into classes, and charge different price to each class (e.g., student discounts)
Aside: Customer Segmentation (Price Discrimination) 8 / 15 In our first lecture, we considered a single customer with (unknown) value V for an item, and we charge a single price p Note: The best achievable revenue is V Customer segmentation: use pricing to get revenue closer to V There are three high-level ways of achieving this: First-degree (Complete discrimination): learn each buyers value, and charge p = V (e.g., negotiations/haggling) Third-degree (Direct segmentation): use some feature to segment buyers into classes, and charge different price to each class (e.g., student discounts) Second-degree (Indirect segmentation): Rely on some proxy to offer a choice of products (e.g., bulk discounts, coupons)
Aside: Customer Segmentation (Price Discrimination) 8 / 15 In our first lecture, we considered a single customer with (unknown) value V for an item, and we charge a single price p Note: The best achievable revenue is V Customer segmentation: use pricing to get revenue closer to V There are three high-level ways of achieving this: First-degree (Complete discrimination): learn each buyers value, and charge p = V (e.g., negotiations/haggling) Third-degree (Direct segmentation): use some feature to segment buyers into classes, and charge different price to each class (e.g., student discounts) Second-degree (Indirect segmentation): Rely on some proxy to offer a choice of products (e.g., bulk discounts, coupons) Profits and information requirements increase going up the list
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15
Timeline of optimization problem 9 / 15 Inputs: prices p l, p h, demand distributions F l,f h Control variable: Booking limit b for discount-fare seats Revenue (as a function of b, D l and D h ): R(b,D l,d h ) =?
Timeline of optimization problem 9 / 15 Inputs: prices p l, p h, demand distributions F l,f h Control variable: Booking limit b for discount-fare seats Revenue (as a function of b, D l and D h ): R(b,D l,d h ) =p l min{b,d l } + p h min{d h,max{c b,c D l }}
Timeline of optimization problem 9 / 15 Inputs: prices p l, p h, demand distributions F l,f h Control variable: Booking limit b for discount-fare seats Revenue (as a function of b, D l and D h ): R(b,D l,d h ) =p l min{b,d l } + p h min{d h,max{c b,c D l }} Aim: Choose b = argmax b [0,C] E[R(b,D l,d h )]
Heuristic derivation of Littlewood s rule 10 / 15 The problem R(b,D l,d h ) = p l min{b,d l } + p h min{d h,max{c b,c D l }} Aim: Choose b = argmax b [0,C] E[R(b,D l,d h )] - Equivalently, can choose opt protection level y = C b Marginal-revenue heuristic: Suppose we have y units left, and a discount-fare customer arrives
Heuristic derivation of Littlewood s rule 10 / 15 The problem R(b,D l,d h ) = p l min{b,d l } + p h min{d h,max{c b,c D l }} Aim: Choose b = argmax b [0,C] E[R(b,D l,d h )] - Equivalently, can choose opt protection level y = C b Marginal-revenue heuristic: Suppose we have y units left, and a discount-fare customer arrives - If we accept, then R = p l
Heuristic derivation of Littlewood s rule 10 / 15 The problem R(b,D l,d h ) = p l min{b,d l } + p h min{d h,max{c b,c D l }} Aim: Choose b = argmax b [0,C] E[R(b,D l,d h )] - Equivalently, can choose opt protection level y = C b Marginal-revenue heuristic: Suppose we have y units left, and a discount-fare customer arrives - If we accept, then R = p l - If we reject, then R = p h P[D h y]
Heuristic derivation of Littlewood s rule 10 / 15 The problem R(b,D l,d h ) = p l min{b,d l } + p h min{d h,max{c b,c D l }} Aim: Choose b = argmax b [0,C] E[R(b,D l,d h )] - Equivalently, can choose opt protection level y = C b Marginal-revenue heuristic: Suppose we have y units left, and a discount-fare customer arrives - If we accept, then R = p l - If we reject, then R = p h P[D h y] } Thus, optimal protection level y = max y N {P[D h y] > p l p h
Formal derivation 1: Continuous RV [ ] R = max b [0,C] E p l min{b,d l } + p h min{d h,max{c b,c D l }} - Assume D h,d l are continuous, b can be fractional 11 / 15
Formal derivation 1: Continuous RV 11 / 15 [ ] R = max b [0,C] E p l min{b,d l } + p h min{d h,max{c b,c D l }} - Assume D h,d l are continuous, b can be fractional E[R(b,D l,d h )] = p l E[min{b,D l }] + p h E[min{D h,max{c b,c D l }}] (By linearity of expectation)
Formal derivation 1: Continuous RV [ ] R = max b [0,C] E p l min{b,d l } + p h min{d h,max{c b,c D l }} - Assume D h,d l are continuous, b can be fractional 11 / 15 E[R(b,D l,d h )] = p l E[min{b,D l }] + p h E[min{D h,max{c b,c D l }}] (By linearity of expectation) ( b ) = p l x f l (x)dx + b f l (x)dx +... b
Formal derivation 1: Continuous RV [ ] R = max b [0,C] E p l min{b,d l } + p h min{d h,max{c b,c D l }} - Assume D h,d l are continuous, b can be fractional 11 / 15 E[R(b,D l,d h )] = p l E[min{b,D l }] + p h E[min{D h,max{c b,c D l }}] (By linearity of expectation) ( b ) = p l x f l (x)dx + b f l (x)dx +... b ( b p h E[min{C x,d h }] f l (x)dx +... ) b E[min{C b,d h }] f l (x)dx
Formal derivation 1: Continuous RV 12 / 15 Thus we want to choose b to maximize: r(b) = E[R(b,D l,d h )] = p l (L 1 (b) + L 2 (b)) + p h (H 1 (b) + H 2 (b)) Where b L 1 (b) = L 2 (b) = H 1 (b) = H 2 (b) = b b b x f l (x)dx b f l (x)dx E[min{C x,d h }] f l (x)dx E[min{C b,d h }] f l (x)dx We now need to check the first-order condition dr(b) = 0
Aside: Leibniz rule of integration 13 / 15 Let f (x,t) be such the partial derivative w.r.t. t exists and is continuous. Then: [ d B(x) ] B(x) f (x,t) f (x,t)dt = dt +... dx A(x) A(x) x f (x,b(x)) db(x) dx f (x,a(x)) da(x) dx
Aside: Leibniz rule of integration 13 / 15 Let f (x,t) be such the partial derivative w.r.t. t exists and is continuous. Then: [ d B(x) ] B(x) f (x,t) f (x,t)dt = dt +... dx A(x) A(x) x f (x,b(x)) db(x) dx As an example, consider L 2 (b) = b b f l(x)dx: dl 2 (b) = b b f l (x) b f (x,a(x)) da(x) dx dx b f l (x) x=b = f l (x)dx b f l (b) b
Formal derivation 1: Continuous RV 14 / 15 ( dr(b) = p l dl1 (b) ) ( + dl 2(b) + p h dh1 (b) where we have L 1 (b) = b x f l(x)dx, L 2 (b) = b b f l(x)dx H 1 (b) = b E[min{C x,d h}] f l (x)dx H 2 (b) = b E[min{C b,d h}] f l (x)dx ) + dh 2(b)
Formal derivation 1: Continuous RV 14 / 15 ( dr(b) = p l dl1 (b) ) ( + dl 2(b) + p h dh1 (b) where we have L 1 (b) = b x f l(x)dx, L 2 (b) = b b f l(x)dx H 1 (b) = b E[min{C x,d h}] f l (x)dx H 2 (b) = b E[min{C b,d h}] f l (x)dx Differentiating we have (check these for yourself): dl 1 (b) = b f l (b), dl 2(b) = P[D l b] b f l (b) ) + dh 2(b)
Formal derivation 1: Continuous RV 14 / 15 ( dr(b) = p l dl1 (b) ) ( + dl 2(b) + p h dh1 (b) where we have L 1 (b) = b x f l(x)dx, L 2 (b) = b b f l(x)dx H 1 (b) = b E[min{C x,d h}] f l (x)dx H 2 (b) = b E[min{C b,d h}] f l (x)dx Differentiating we have (check these for yourself): ) + dh 2(b) dl 1 (b) = b f l (b), dl 2(b) = P[D l b] b f l (b) dh 1 (b) = E[min{C b,d h }] f l (b) dh 2 (b) = E[min{C b,d h }] f l (b) + de[min{c b,d h}] b f l (x)dx
Formal derivation 1: Continuous RV 15 / 15 Combining all terms, we have ( ) dr(b) de[min{c = p b,dh }] lp[d l b] + p h P[D l b] Setting dr(b) = 0, we get de[min{c b,d h}] + p l p h = 0.
Formal derivation 1: Continuous RV 15 / 15 Combining all terms, we have ( ) dr(b) de[min{c = p b,dh }] lp[d l b] + p h P[D l b] Setting dr(b) = 0, we get de[min{c b,d h}] + p l p h = 0. Finally, we can again use the Leibniz rule to simplify the LHS de[min{c b,d h }] = d ( C b ) x f h (x)dx + (C b) f h (x)dx C b = (C b) f h (C b) + (C b) f h (C b) P[D h C b]
Formal derivation 1: Continuous RV 15 / 15 Combining all terms, we have ( ) dr(b) de[min{c = p b,dh }] lp[d l b] + p h P[D l b] Setting dr(b) = 0, we get de[min{c b,d h}] + p l p h = 0. Finally, we can again use the Leibniz rule to simplify the LHS de[min{c b,d h }] = d ( C b ) x f h (x)dx + (C b) f h (x)dx C b = (C b) f h (C b) + (C b) f h (C b) P[D h C b] Thus, the optimal b satisfies: P[D h c b ] = p l p h, and hence: ( ) C b = y = Fh 1 1 p l p h