In the normal EMSRa and EMSRb (Expected Marginal Seat Revenue) algorithms, each fare class is utilizes exactly 1 unit of capacity (for example, one seat on a plane).

But I have a similar problem for Revenue Optimization, where each fare class can occupy a different levels capacity, for example, some fare classes might utilize 1.5x the amount the capacity.

How would you modify the EMSR algorithm such that along with the Fare and the Demand forecast (mean, standard deviation). You are also given a capacity $c_i$ occupied by each fare class $i$ and given you have some fixed total capacity $C$.

How to modify EMSR when capacity for each fare class is different?

  • $\begingroup$ Is this a homework question? $\endgroup$ – Rob Aug 5 '19 at 10:52
  • $\begingroup$ @Rob No, this is a legit use case that comes up in many revenue management scenarios including the company Im working at. $\endgroup$ – dg428 Aug 6 '19 at 9:35

You might be interested in this paper, which addresses the issue of different capacity requests in the context of surgery scheduling. In the paper, the tweak to EMSR is dubbed EMCR-OR.

Stanciu, A., Vargas, L., & May, J. (2010, December). A revenue management approach for managing operating room capacity. In Proceedings of the Winter Simulation Conference (pp. 2444-2454). Winter Simulation Conference.

For a more in-depth treatment, you can also read the doctoral dissertation that looked at a more general question, specifically when each request for capacity $c_i$ is a random variable (say, the duration of a surgery):

Stanciu, A. (2009). Applications of revenue management in healthcare (Doctoral dissertation, University of Pittsburgh).


EMSR heuristics are discussed on page 161 of "Pricing and Revenue Optimization", by Robert Lewis Phillips.

"7.3.2 Expected Marginal Seat Revenue (EMSR) Heuristics

Expected marginal seat revenue (EMSR) comes in (at least) two flavors: EMSR-a and EMSR-b. Both EMSR-a and EMSR-b were introduced by Peter Belobaba in his PhD dissertation and a series of subsequent papers (Belobaba 1987, 1989). Both are based on approximating the multiclass problem by a series of two-class problems and applying Littlewood's rule to obtain a solution.

EMSR-a. Expected marginal seat revenue—version a is the most well-known heuristic for the capacity allocation problem. It is based on the idea of calculating protection levels for the current class relative to each of the higher classes using Littlewood's rule. These protection levels are then summed to create the protection level for the current class.


EMSR-b. Expected marginal seat revenue—version b assumes that a passenger displaced by an additional booking would be paying a fare equal to a weighted average of future fares. EMSR-b creates an "artificial class" with demand equal to the sum of the demands for all the future periods and a fare equal to the average expected fare from future bookings. It then uses Littlewood's rule to calculate the booking limit of the current class $j$ with respect to the artificial class. EMSR-b assumes that the "expected fare" of the displaced booking is equal to the expected fare of future demand. This is an approximation because limits will also be set on higher-fare booking, so the demand accepted won't generally be equal to the mean.

To formalize EMSR-b, assume that demand in all classes follows a normal distribution, with the demand in class $i$ having a mean of $\mu_i$ and a standard deviation of $\delta_i$.".

$$\mu = \sum^{j-1}_{i=1} \mu_i, \qquad p = \sum^{j-1}_{i=1} p_i\mu_i/\mu, \qquad \delta = \sqrt{\sum^{j-1}_{i=1} \delta^2_i}. \tag{7.9}$$

On page 168, in section 7.4.2 Modified EMSR heuristics, he explains:

"7.4.2 Modified EMSR Heuristics

Both EMSR-a and EMSR-b can be modified to incorporate imperfect segmentations. The modifications are based on the assumption that when a class closes, rejected demand for that class may buy up to the next highest class—but not to any higher classes. For example, if we close class 3, some class 3 demand may seek to buy in class 2 but not in class 1. We can easily derive modified versions of the EMSR heuristics under this simple assumption.

Define $a_j \text{ for } j = 2, 3, \dots , n$ as the fraction of class $j$ customers who would purchase in the next-higher class $j-1$ if class $j$ is closed. Thus, $a_3$ is the fraction of class 3 customers who would "buy up" to class 2 if they find class 3 closed when they request a booking. $a_j$ is referred to as the buy-up factor for class $j$. Note that there is no buy-up factor for the highest fare class. Then, for the case of normal demand distributions, EMSR-a and EMSR-b can be extended to incorporate buy-up factors as follows:

$$\begin{align} \text{EMSR-a with buy-up:} & \quad y_j = \mu_{j-1} + \delta_{j-1}\Phi^{-1}\!\!\left [ \frac{1}{1-a} \left(1-\frac{p_j}{p_{j-1} }\right ) \right ] \\ & \qquad \qquad \qquad - \sum^{j-2}_{i=1}\!\!\left [ \delta_i\Phi^{-1}\!\!\left(1-\frac{p_j}{p_i}\right ) -\mu_i \right ] \\ \text{EMSR-b with buy-up:} & \quad y_j = \mu + \delta\Phi^{-1}\!\!\left [ \frac{1}{1-a} \left(1-\frac{p_j}{f}\right ) \right ] \end{align}$$

where $u, p, \text{ and } \delta$ for the modified EMSR-b algorithm are as defined in Equation 7.9.

Modified EMSR-a calculates the protection levels for class $j$ against every higher class under the assumption that buy-up will only occur to the next-highest class, $j-1$, if we close $j$.

It then subtracts the sum of all these protection levels from the remaining capacity to determine the booking limit for class $j$. EMSR-b assumes that buy-up will occur to the "aggregate class" consisting of all the higher classes and calculates the booking limit using the version of Littlewood's rule in Equation 7.16.

These two modifications to the EMSR heuristics have been studied by Belobaba and Weatherford (1996) who showed that the modified EMSR heuristics provide additional revenue when buy-up is present. The modified EMSR heuristics are easy to implement, and versions of them have been used by many revenue management companies. However, they have some disadvantages. They require a set of $n-1$ buy-up factors to be estimated and stored for each flight. They also require redefining the demand for each fare class as the demand that would be received if the next-higher class is open. They do not incorporate the possibility of buy-up from class $j$ to classes higher than $j-1$.

Perhaps more fundamentally, the modified EMSR approaches are a "heuristic grafted on to another heuristic." They are not derived from a fundamental model of consumer choice. Rather, they assume that passengers have M-Class and Y-Class stamped on their heads and that only some of the M-Class passengers will buy up to Y-Class if M-Class is closed. Development of more fundamental models including consumer choice is an active research area.".

See also:

  • $\begingroup$ Hi, thanks for your response. However, I'm not sure how it answers the question? The modification I'm looking for is that each class occupies $c_i$ capacity and has value $V_i$ (so something along the lines of optimizing $V_i$ / $c_i$ maybe). Not sure how buy up corresponds to that? $\endgroup$ – dg428 Aug 5 '19 at 6:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.