Prachi

Pricing a seat from first principles

A seat is fixed, perishable and wanted at different prices by different people. Revenue management follows from those three facts.

Thesis: Revenue management is what you get when you sell a fixed, perishable product to people who value it differently: protect seats for those who will pay more later, sell the rest early, and overbook for those who never turn up.

Start from zero

An airline publishes a flight months before it leaves. Three facts follow.

  1. Capacity is fixed. Once the schedule is out, the seat count is set and most of the cost is committed whether seats sell or not.
  2. Inventory is perishable. A seat empty at departure earns nothing, ever.
  3. Demand can be segmented. A student booking six weeks out and a manager booking the night before want the same seat at different prices. One books early and accepts rules; the other books late and needs to change plans.

So the job is to sell each seat to the highest-paying customer who will actually fly, without holding it empty for one who never arrives.

India’s market shows it at scale. In June 2026, Indian airlines flew 1.35 crore domestic passengers, and IndiGo carried 66.3% of them, according to Directorate General of Civil Aviation (DGCA) data. (A crore is 10 million; a lakh is 100,000.) I have worked in airline revenue management; every number here is public.

The primitives

Fare classes, or buckets. One economy cabin is sold at several price levels at once, each a booking class or “bucket” with its own rules. A search shows the cheapest bucket still open, so when a fare “goes up”, the seat has not changed. A cheaper bucket has closed.

The booking curve. Bookings for a departure build in a shape history can predict, leisure travellers early and business travellers late. Running ahead of the curve means closing cheap buckets sooner.

Nested inventory. Buckets are not separate piles of seats. A higher bucket can always take a seat a lower one could have sold, never the reverse.

Expected Marginal Seat Revenue (EMSR). How many seats to protect for the higher fare? Keep protecting while the chance of selling the next seat at that fare, times the fare, beats the lower fare in hand. The EMSRb version, set out in Peter Belobaba’s course notes at the Massachusetts Institute of Technology (MIT), extends this to many classes by pooling the higher ones into a weighted average fare.

Overbooking. Some booked passengers never show. Belobaba’s 2006 notes put average no-show rates on United States (US) domestic flights at 10% to 15%, down as fares carried more penalties, and up to 15% to 20% on peak holidays. The simplest rule accepts capacity divided by one minus the no-show rate. Too few bookings and seats fly empty; too many and passengers are left at the gate.

India prices that mistake through DGCA’s Civil Aviation Requirements (CAR). The airline must first ask for volunteers. If it bumps someone and cannot fly them within an hour, it owes 200% of the booked one-way basic fare plus fuel charge, up to ₹10,000, when the alternate leaves within 24 hours, and 400%, up to ₹20,000, beyond that. In June 2026, 1,847 domestic passengers were denied boarding, about 1.4 in every 10,000, and airlines paid ₹64.84 lakh in compensation and facilities.

Fare families. Low-cost carriers sell bundles as well as prices. IndiGo’s range now runs from Lite and Saver through Flexi Plus and UpFront to Stretch and Stretch+. Lite, launched in July 2026, includes an auto-assigned seat and a 7 kilogram cabin bag; checked bags, seats and meals cost extra. A fare family is a fence: travellers sort themselves by what they will give up.

Follow one booking

A hypothetical 180-seat flight of about 1,000 kilometres, with two illustrative fares, ₹4,200 and ₹6,000. Real flights have many more buckets.

  1. Months out, the system forecasts 10 bookings at ₹6,000, give or take 3, from similar past departures.
  2. EMSR sets protection. The eighth protected seat has a 75% chance of selling at ₹6,000, worth about ₹4,480, more than ₹4,200 in hand. The ninth has a 63% chance, worth about ₹3,780. So it protects eight seats.
  3. Expecting 5% of bookings not to show, it accepts 180 ÷ 0.95, or 189 bookings, so ₹4,200 can sell up to 181.
  4. A student searches six weeks out, sees ₹4,200, and picks Lite: she has no checked bag.
  5. A festival weekend runs bookings ahead of the curve. The forecast for the higher fare rises, protection rises, and ₹4,200 closes early. The next searcher sees ₹6,000.
  6. Two days out, a manager books at ₹6,000 in Flexi Plus, which allows changes.
  7. On the day, 181 passengers show up for 180 seats. If no one volunteers and the next flight leaves three hours later, the bumped passenger is owed up to ₹10,000.
  8. The flight closes. Its 180,000 seat kilometres feed the metrics; its bookings feed the next forecast.

Where the money is

Available Seat Kilometres (ASK) are seats times distance; Revenue Passenger Kilometres (RPK) are paying passengers times distance. Load factor is RPK over ASK, and yield is ticket revenue per RPK. Passenger Revenue per Available Seat Kilometre (PRASK) is ticket revenue per ASK, which equals yield times load factor. Revenue per Available Seat Kilometre (RASK) counts all revenue, and Cost per Available Seat Kilometre (CASK) all cost. An airline makes money only when RASK beats CASK.

Revenue management trades yield against load factor: close buckets too early and yield rises as seats fly empty; open too many and the plane fills cheaply. PRASK settles the argument.

In the year to March 2026, IndiGo flew 172.4 billion ASKs at an 84.4% load factor and a yield of ₹5.06, so PRASK was about ₹4.27. RASK was ₹4.99 and CASK ₹5.00, including ₹1.47 of fuel and 52 paise of foreign exchange cost. The next quarter moved both levers at once:

IndiGo, April to June 2025 2026
Load factor 84.6% 83.3%
Yield, ₹ per RPK 4.98 6.04
PRASK, ₹ 4.21 5.03
RASK, ₹ 4.85 5.65
CASK, ₹ 4.30 5.71
of which fuel, ₹ 1.38 2.49

Yield rose 21.3% while load factor slipped 1.3 points, and PL Capital’s analysts wrote that the repricing did not materially hurt demand. But fuel cost per ASK rose 80.4% on jet fuel prices, and RASK ended 6 paise below CASK. Pricing lifted PRASK by a fifth but could not absorb the cost shock. Ancillary revenue, which fare families unbundle, grew 13.9% to ₹2,450 crore, about a tenth of revenue.

The ceiling is political. After IndiGo’s December 2025 disruptions, the Ministry of Civil Aviation capped economy fares from 6 December: ₹7,500 for flights up to 500 kilometres, ₹12,000 up to 1,000, ₹15,000 up to 1,500 and ₹18,000 beyond. It also told airlines to “maintain air ticket availability across fare buckets”. The caps were withdrawn on 23 March 2026; the ministry says it watches fares in real time and may bring them back.

What is hard, and what I would build next

1. A disruption mode before a regulator imposes one. The caps came because fares jumped while one airline’s cancellations stranded passengers. I would build a mode that switches on when the airline’s own cancellations cut capacity: it keeps lower buckets open on affected routes, holds seats for rebooking and logs every fare change. A rule the airline writes is cheaper than one written for it. The metric: fare spread on disrupted days against normal ones.

2. Measure price sensitivity instead of inferring it. Booking data shows sales, not the demand a closed bucket turned away, and after a 21% rise in yield, forecasts trained on old fares are stale. Small, randomised fare tests on a share of departures would measure the response route by route.

3. Price the gap between fare families. The question is which bundles to show and how far apart to price them. I would model buy-up between families by route and days to departure, then feed it into overbooking: Belobaba’s notes credit fare penalties with cutting no-shows, so the family mix changes how many bookings a flight can safely take.

Sources