Air Travel Demand and Airline Seat Inventory Management II: The EMSR Protection Level for Two Nested Fare ClassesTextbook
Why airlines protect seats
An airline sells the seats of one flight in several fare classes at different prices, all drawn from one shared cabin. Discount fares are bought early, under advance-purchase restrictions, while most high-fare requests arrive close to departure. Accepting every early low-fare request fills the aircraft with cheap passengers and turns away late high-fare passengers; refusing too many leaves seats empty. Seat inventory control decides how many seats to keep away from the low fare. Peter Belobaba's 1987 MIT thesis (Flight Transportation Laboratory Report R87-7) introduced the expected marginal seat revenue (EMSR) model for this decision, and EMSR-type rules remain the basis of the booking-limit logic in airline revenue management systems.
Timeline. Littlewood (1972, AGIFORS Symposium Proceedings; reprinted 2005) proposed accepting a low-fare request as long as its fare is at least the high fare times the probability of selling all remaining seats to high-fare passengers. Analysts at Trans World Airlines (1973) and Richter at Lufthansa (1982) gave equivalent formulations for the dynamic case. Belobaba (1987, Ch. 5) restated the two-class rule as a static protection level for nested inventories and extended it heuristically to many classes. Brumelle and McGill (Operations Research 41, 1993) and Curry (Transportation Science 24, 1990) later proved optimality of nested protection levels for any number of classes under low-to-high arrivals, and showed that Belobaba's multi-class EMSR levels are not optimal for three or more classes. This mission concerns only the two-class result, which is correct.
Setting
A single flight leg has capacity . Class 1 has fare , class 2 has fare , with . The numbers of requests for the two classes are random variables with values in , defined on a probability space and independent. There are no cancellations, no no-shows, and a refused request is lost.
The inventory is nested: a class-1 request is accepted as long as any seat is unsold. A protection level is the number of seats reserved for class 1; it sets the class-2 booking limit . All class-2 requests arrive before any class-1 request. Class 2 therefore books seats and class 1 books , and the realised revenue is
The expected revenue is .
The tail probability of class 1 is , the probability of receiving or more class-1 requests, and the expected marginal seat revenue of the -th class-1 seat is
For a single class with seats the expected revenue is , and is its increment from to seats. The EMSR protection level is the largest integer with
In Lean these objects are nestedRevenue, expectedNestedRevenue, tailProb, classRevenue, emsr and emsrProtectionLevel in SeatInventory.Nested.
Formalization targets
Goal: Eqs. (5.15)–(5.16), optimality of the EMSR protection level
The goal fixes no distribution: it holds for every pair of independent -valued demands, and depends only on and the law of .
Milestones
- Eq. (5.11). for .
- Eqs. (6.1)–(6.2). and, for , are non-increasing in .
- Eq. (4.8), Littlewood's rule, already on the platform as
RevenueManagement.littlewood_marginal_value(Talluri and van Ryzin's Eq. (2.1), proved). - Sect. 5.2, p. 112. for : a smaller booking limit for class 2 cannot raise expected revenue.
- Sect. 5.2, p. 114. With the same class-2 limit , the expected nested revenue is at least the expected revenue of two distinct inventories with and seats, strictly if and .
Significance
The two-class result says that, for a static booking limit set once before sales open and low-fare demand arriving first, the airline needs only the high-fare demand distribution and the fare ratio to set the optimal limit; the low-fare forecast is irrelevant. This is the rule that the thesis then applies class by class in multi-class nested systems, and it is the base case against which the later exact multi-class theory (Brumelle–McGill, Curry) is checked. Milestone 5 makes precise why nested inventories dominate the distinct-inventory allocation of the thesis's Sect. 5.1 with the same class-2 limit.
The result is classical and proved, in the sense that the optimality of a two-class threshold policy follows from Littlewood's argument and from the dynamic-programming treatment in Talluri and van Ryzin's The Theory and Practice of Revenue Management (2004, Ch. 2). On Prove2Me, Littlewood's marginal rule and the dynamic-programming optimality of nested protection levels (RevenueManagement.static_optimal_controls) are formalized, but in Bellman form: there the protection level is defined through the value function of a dynamic program. What is not formalized is the statement in Belobaba's form, where the protection level is the explicit threshold of against and the objective is the explicit expected revenue of a booking limit. Connecting the two forms, and the comparison with distinct inventories, is the work of this mission.
Difficulty
The expected revenue couples the two demands through the capacity left by class 2, so is not a sum of single-class revenues and is not separately concave in an obvious way. The step that requires care is the increment : it is not , as the thesis's sentence after the milestone on p. 112 suggests, because the extra protected seat matters only on the event that class 2 would have reached its limit. Independence of and is what makes that event's probability factor out; without independence the threshold rule is not optimal. The discrete reading matters too: with in place of the rule is off by one seat and the claim fails.
Formalization scope
Conventions the Lean statements commit to:
- Demands are -valued measurable random variables
r₁ r₂ : Ω → ℕon a probability spaceμ; the goal and milestone 4 assumeIndepFun r₁ r₂ μ. The thesis writes continuous densities (Eqs. (5.1)–(5.5)) but requires integer seat counts; the discrete model is used throughout. - , as in Eq. (6.2) and the prose of Eq. (5.11), not as in Eq. (5.2).
- The EMSR protection level is the largest with (Eq. (5.15)); Eq. (5.16)'s equality is the continuous idealisation and is not stated.
- Booking order: all class-2 requests precede all class-1 requests (pp. 108, 112). This order is built into the revenue formula, not assumed separately.
- Fares satisfy ; the thesis has , and the statements also cover equality.
- Expectations are Bochner integrals of bounded revenues, probabilities are
μ.real; seat counts use truncated subtraction only where .
A trivializing formalization is ruled out: is defined by the threshold of (5.15), never as an argmax of expected revenue, and the expected revenue is computed from the realised revenue of the booking process, not postulated as a sum of marginal terms.
The multi-class EMSR levels of Eqs. (5.19)–(5.29) and the dynamic revision of Eqs. (5.31)–(5.32) are out of scope. Proofs need the discrete expectation identity and expectation of products of independent bounded functions, both in Mathlib's reach and reusable for other single-leg revenue models. Proofs of any milestone, and a proof of the goal from milestones 1, 2 and 4 plus the matching lower-half argument, are welcome.
Selected references
- P. P. Belobaba, Air Travel Demand and Airline Seat Inventory Management, PhD thesis, MIT, Flight Transportation Laboratory Report R87-7, 1987 (no DOI).
- K. Littlewood, Forecasting and control of passenger bookings, AGIFORS Symposium Proceedings 12, 1972; reprinted in Journal of Revenue and Pricing Management 4, 2005. https://doi.org/10.1057/palgrave.rpm.5170134
- S. L. Brumelle and J. I. McGill, Airline seat allocation with multiple nested fare classes, Operations Research 41, 1993. https://doi.org/10.1287/opre.41.1.127
- R. E. Curry, Optimal airline seat allocation with fare classes nested by origins and destinations, Transportation Science 24, 1990. https://doi.org/10.1287/trsc.24.3.193
- K. T. Talluri and G. J. van Ryzin, The Theory and Practice of Revenue Management, Springer, 2004. https://doi.org/10.1007/b139000