Buy-down and the spiral-down effect
When fare classes are fenced by rules, each class has its own passengers. Take the rules away and many passengers simply buy the cheapest fare still open. A seat-control system that forecasts each class from its own past bookings then sees high-fare demand vanish, protects fewer seats, sells more cheap fares, and sees even less high-fare demand the next season. This page runs one flight through twelve seasons with standard EMSR-b and with the fix airlines use: Q-forecasting with fare adjustment. It's the hands-on companion to Revenue Management 101, chapter 05; the seat-protection maths is on the booking limits page.
All fares, demand figures and customer behaviour on this page are illustrative assumptions, not any airline's data.
Revenue per season
What the system believes, season by season
Class forecasts
Protection levels
Seats kept for each group of higher classes at the start of the booking window
What a protection level is: RM 101, chapter 03 and the booking limits page.
Adjusted fares against the original fares
Fare adjustment feeds EMSR-b a lower fare for every class that price-oriented customers could buy down to. Each adjusted fare is the class's fare minus the revenue lost from customers who would have paid more if that class were closed: its marginal revenue. A class whose adjusted fare is zero or below is never worth opening, so it stays closed.
Why this matters for today's branded fares
The classic fare ladder was held together by fences: a Saturday-night stay, a 14-day advance purchase, no refunds. A traveller who had to come home on a Thursday couldn't use the cheap fare even when it was open, so each class really had its own customers, and forecasting each class from its own bookings worked (RM 101, chapter 01). That is the left end of the slider.
Low-cost carriers sold simple one-way fares without those rules, and network airlines followed. Most now sell economy as a few branded fares, something like Basic, Standard and Flex, shown side by side on one screen. The brands differ in what you get: a checked bag, a seat choice, changes, refunds. Inside each brand, though, there are several booking classes that are exactly the same product at different prices. Nothing stops anyone from taking the cheapest of those that is open, so within a brand demand is fully price-oriented: the right end of the slider.
Across brands, behaviour is mixed. The traveller who needs a refundable ticket buys Flex whatever Basic costs; plenty of others trade down as soon as the gap looks too big. That is the middle of the slider, and it's why the fix uses a hybrid forecast: bookings that could only come from a customer who wanted that product are forecast class by class, and bookings that went to the cheapest open fare are forecast as demand that could sell up.
Without this, a class-based system learns from its own cheap sales. Nothing looks wrong on any given day, because every season's controls are consistent with every season's data; yield just drifts down. With it, the system knows how many customers would pay more if the cheaper price point were closed, and opens that price point only when the extra passengers are worth more than what the others would have paid. That is why revenue management systems built for unfenced fares model sell-up in some form, whether as fare adjustment on a class ladder or as a willingness-to-pay model in a pricing engine (RM 101, chapter 05).
How it works
Customers
Each departure gets N customers, drawn from a normal distribution with mean demand × seats and a 20% coefficient of variation. Each customer arrives at a random time in the booking window, which is split into four booking periods covering 30%, 25%, 25% and 20% of it. Every customer is willing to pay at least the lowest fare fV, and in period k the share willing to pay at least f is
Pk(f) = exp(−βk (f / fV − 1)), with βk = ln 2 / (FRAT5k − 1),
so that half of them would pay FRAT5k times the lowest fare. FRAT5k = 1 + (FRAT5 − 1) · mk with m = 0.6, 0.85, 1.15, 1.6: early bookers are more price-sensitive than late ones. A customer's own class is the most expensive fare at or below their willingness to pay. A share α of customers (the slider) are price-oriented and buy the cheapest open class if they can afford it; the others are product-oriented and buy their own class if it's open. With α = 0 this is the classic independent-demand world EMSR-b was built for.
Standard EMSR-b
At the start of each booking period, EMSR-b (Belobaba, 1992) turns the forecast of remaining demand per class into nested protection levels on the seats left, exactly as on the booking limits page. The forecast for next season is the mean and standard deviation of last season's bookings in each class and period. When a class closed partway through a period, the missing time is filled in at the booking rate observed while it was open, so the spiral isn't caused by closed classes being under-counted. Season 1 uses the true demand by class, what a history of fenced fares would have shown, and both methods start from it.
Q-forecasting and fare adjustment
Hybrid forecast. A booking in a class above the cheapest one open can only come from a product-oriented customer, so it's forecast by class as before (Boyd and Kallesen, 2004). A booking in the cheapest open class j in period k is turned into Q-equivalent demand, the number of customers who would have bought the lowest fare: it counts as 1 / Pk(fj) (Belobaba and Hopperstad, 2004). Some of those bookings are product-oriented customers whose class happened to be the cheapest one open; the page splits them using the known mix, with price-oriented share αPj / (αPj + (1 − α)(Pj − Pj−1)). The same unconstraining applies.
Fare adjustment. If class j is the cheapest open class in period k, the forecast sells Qj = Qeq · Pk(fj) + Σi≤j di seats and earns Rj = fj · Qeq · Pk(fj) + Σi≤j fidi, where di is product-oriented demand. The adjusted fare is the marginal revenue of opening one class further down, (Rj − Rj−1) / (Qj − Qj−1), taken along the upper concave hull of the points (Qj, Rj), and the adjusted demand is Qj − Qj−1. Classes off the hull or with an adjusted fare of zero or below stay closed. Fiig, Isler, Hopperstad and Belobaba (2010) show that this marginal revenue transformation turns a market where customers choose between fares into an equivalent independent-demand problem, so EMSR-b can run on it unchanged. Here it does: the composite of the higher classes uses their adjusted fares averaged over the periods still to come, and it is set against the next class's adjusted fare in the current period.
The simulation
Each season has 200 departures. Both methods and every season see the same customers, generated from a fixed random seed, so any difference between the two lines comes from the controls and not from luck. Revenue is the average per departure.
Sources
- Cooper, W. L., Homem-de-Mello, T. and Kleywegt, A. J. (2006), "Models of the spiral-down effect in revenue management", Operations Research 54(5), 968–987.
- Fiig, T., Isler, K., Hopperstad, C. and Belobaba, P. (2010), "Optimization of mixed fare structures: Theory and applications", Journal of Revenue and Pricing Management 9(1–2), 152–170. The same team applied it to fare families in Fiig, Isler, Hopperstad and Olsen (2012), "Forecasting and optimization of fare families", JRPM 11(3), 322–342.
- Boyd, E. A. and Kallesen, R. (2004), "The science of revenue management when passengers purchase the lowest available fare", Journal of Revenue and Pricing Management 3(2) (hybrid forecasting).
- Belobaba, P. and Hopperstad, C. (2004), "Algorithms for revenue management in unrestricted fare markets", AGIFORS Reservations and Yield Management Study Group (Q-forecasting and FRAT5).
- Belobaba, P. (1992), "Optimal vs. heuristic methods for nested seat allocation", AGIFORS Reservations and Yield Management Study Group (EMSR-b).
- Fares, for scale: the six fares are the ones used on the booking limits page, invented around the 2025 US average domestic fare of $387 (BTS). Everything else on this page is an assumption. Links checked September 2026.
Limitations
- The adjusted method is handed the true customer mix and the true sell-up curve. In practice both are estimated, and errors matter: overestimating sell-up closes cheap fares that should have stayed open.
- One flight leg and no competitor. When a closed fare sends customers to another airline instead of up the ladder, real sell-up is lower and closing cheap fares is riskier than shown here.
- Product-oriented customers never switch class, and price-oriented customers look only at price. Real customers weigh price against bags, seats and flexibility, which is what fare family models do.
- Customers are identical every season. Real demand moves with the economy, the schedule and competitors, which makes a real spiral noisier and easier to miss.
- EMSR-b is a heuristic and controls are reset only four times per departure. No cancellations, no-shows, overbooking or groups.
More on buy-down and class-free forecasting in Revenue Management 101, chapter 05. This is a personal project and isn't affiliated with any airline.