The Economics of Overbooking / Revisiting an Old Case Competition on Production Optimization

The economics of overbooking flights have earned international renown recently because of actions of a certain airline. The reason airlines overbook flights is because the economics are attractive. The result is lower prices for non-refundable flights: people who miss flights subsidize those that make it. The strategy has cost in proportion to E(max(D - X),0) where X is the number of seats in an airplane and D is the demand. We have found that for a normally distributed demand, the average overbookings  or E(max(D - X),0) is given below:

For an airline, the distribution of "D" can be determined by the number of tickets they sell. Assuming each customer is independent of one another, the distribution of D will be N(px,sqrt(p(1-p)x)) where p is the likelihood a customer will show up. You can replace mu with px and sigma with sqrt(p(1-p)x) in the above formula to find the average overbookings. The cost will be proportional by a factor c. Thus the optimal number of overbooking will be when the derivative of cE(max(X – D),0) is equal to the ticket price, which I have neglected to calculate because it is too tedious. 

Why is it so complicated? Like the COMM 341 case below, the company knows and/or controls the demand function and has production/seat constraints. So the standard critical ratio method cannot be used.

---

Our COMM 341 case competition was on Sport Obermeyer which made products with uncertain demand in two batches. Over producing would result in a cost of 8% of price; and under-producing would result in a cost of 18%. Thus the most obvious solution is to produce each product to the 75th percentile Cu / (Cu + Co) of demand, and split that quantity into two.

However, while performing the case we realized that the uncertainty of demand occurred only prior to the first batch whereas by the time of the second batch, your estimates were significantly more accurate (See Exhibit 5). Knowing this, we tried to provide a different answer than the standard one. Assuming that by the second batch, you knew demand perfectly (which according to the scatterplot is a fairly reasonable assumption) your only risk for the first batch was to over produce (if you under-produced, you would simply make it up in the second batch). So the solution was in the first batch produce the products with the least variance and the least cost of overproduction.

At the time it was known that we needed to minimize the sum of 0.08P*E(max(X – D),0)) across all products, where X is our first batch production, D is the random variable for demand and P was the price. Unfortunately, at the time, we did not find a way to calculate this quantity in excel, and so instead we minimized P(X>D) across all products. This is clearly wrong but closer to the truth than the standard answer. Unfortunately we lost the case competition because of this.

It is quite a shame as at the time, I was unaware that a conditional expectation of a normal distribution could be taken. In fact, when I solved a problem such as E(|Z|), instead of simply writing out the expression and integrating, I would indirectly approach it through a chi-square distribution (since |Z| is quite elegantly the root of Z^2, which is the Chi-square distribution). But now knowing that you can simply integrate a normal distribution to get to a conditional expectation, we find that

(the similarity to the black scholes model is not coincidental)

When this quantity multiplied by the price is minimized using solver, we find an answer that is not entirely different than what we showed in our presentation 4 years ago. Unfortunately, this new discovery was not able to overturn our loss.

PriceC_oC_uCu/Average ForecastStandard Deviation3rd yearToday
    (Co + Cu)  First OrderFirst Order
Gail1108.819.80.751,017194588686
Isis997.9217.820.751,042323405507
Entice806.414.40.751,358248838974
Assault907.216.20.752,5253401,8631,978
Teri1239.8422.140.751,100381381430
Electra17313.8431.140.752,1504041,4001,378
Stepahnie13310.6423.940.751,113524212173
Seduced735.8413.140.754,0175563,0793,181
Anita937.4416.740.753,2961,0471,9361,594
Daphne14811.8426.640.752,3836971,2981,099
Totals    20,001 12,00012,000