While discussing bid price, it is also useful to understand how this can be translated into the calculation of protection levels. We’ll walk you through it here. If you missed our previous article explaining bid price, you can read it here.
Bid Price Vectors & Fare Level Determine Protection Levels
Let us start with a quote from our previous article on bid price: “In economics, the opportunity cost of an activity is the expected value we give up when we take one action in lieu of another.
In the airline revenue management context, we assume capacity is fixed, so each seat on a plane that is sold has an opportunity cost equal to the revenue the airline could capture if it still had that seat for sale in the future. This opportunity cost is referred to as the 'bid price' in the RM context.”
"The protection level, as the name would suggest, is the number of seats you reserve/protect in a particular class from all lower classes."
As mentioned, with fixed capacity to sell, an airline should not be selling tickets for fares lower than the current bid-price level, as this would lead to a sub-optimal revenue result at the time of departure.
Rather, it should utilize a mechanism of ensuring that a certain number of seats are reserved for future sales – in other words – protection levels.
The protection level, as the name would suggest, is the number of seats you reserve/protect in a particular class from all lower classes (lower in the nesting structure, e.g. being sold with a lower fare).
Let's illustrate this concept with a simple example – where we have an aircraft with 100 seats and the following fare classes:
- Y - $350
- H - $250
- K - $175
- M - $99
If we believe there are a certain number of travelers to purchase Y fare tickets (let's say 14, for example), we will simply protect those seats in Y-class. That will leave the remaining seats (86 in our example) to be distributed between H, K and M classes.
With the same logic, we can cascade down and determine H-class projections from K and M, and then in the last step, protect K class from M.
Ideally, our protection levels are not determined by “we believe to sell X seats in this class” but are based on a more nuanced approach. Here, we connect this thinking to the bid-price concept.
Probability of Selling One More Seat
We will now enhance our model by introducing probability values of selling N-number of seats per class. This concept can be simply described as “What is the chance of selling one seat, at this moment, in a given class?”
Let’s say that for a Y-class seat selling for $350, at this point in time, the probability of selling is 82%. Another ticket, for $250 in H-class, has a higher chance of being sold at 89%. And in M-class with tickets for $99, we have 100% certainty that tickets placed into this class will be sold. This is represented in the table below.

An important question to ask is – what is the probability of selling yet another ticket in the same class? After we sell one, what are the chances of selling a second, and then a third, etc.
For an aircraft with 100 seats, we should expand our table to cover everything:


Now the differences between classes are becoming visible. For example, there is a clear discrepancy If we compare the chance of selling a fifth seat in Y-class at 8% to the same fifth seat in M-class at 95% (one way to interpret this number: of 1000 such flights in 950 cases we will sell this seat, while in 50 we will not).
However, this still does not tell us what the best seat is to offer for sale at this point in time. But once we multiply probabilities with fare values of each class, and we start looking at expected revenue per seat, the picture becomes clearer:


In the case of one seat remaining to be sold – M-class has 100% certainty of sale happening and will bring $99 in revenue. However, the 82% chance of sale in Y-class will “earn” us, on average, $287 – and so it is a better option to allocate this one seat. How about the others? Let's color our values from top to bottom (we cut the table at seat 7 for this example).

Reflecting the shapes of probability curves and expected revenue patterns, seats in higher classes are bringing more revenue “in first seats” and then declining (where the seventh seat in Y-class gains only $3.50), while M-class is stable across all seats (with seventh scoring $90.09).
For further readability improvement, let's rank our seats in descending order based on expected revenue values (again, for seven seats in each of the four classes, so we order from 1 to 28):

With this view, it is becoming clear what is the “best revenue generating” seat – and that is the first seat in Y-class. The second-best yielding option is the first seat in H-class, third is the second seat in H, fourth is the second seat in Y-class.
Only on the fifth, we have the first seat from K-class, and to “open” a seat in M-class only makes “economic sense” on the seat. Therefore, if we have 12 or less seats available, we should not open M-class.
Linking back to protection levels and the question we asked at the beginning – to determine “the number of seats you reserve/protect in a particular class from all lower classes” – in this table we can find the answer.
- In case of having 1 available seat, it should be clearly allocated to Y-class.
- In case of having 2 available seats, one should be allocated to Y-class (and here we can say protected) and another one in H class.
- In case of having 3 available seats, one should be protected in Y-class and the remaining 2 go to H-class.
And if we have 15 – from the same table we read:

- We should protect 3 seats in Y (from 15 total, so we still have 12 seats to redistribute).
- Another 4 are to be protected in H-class (at this stage we protected 7 seats, still 8 to go).
- Then we should protect 5 seats in K, leaving the remaining 3 seats for M-class. This is represented below.

The output is simple; however, it incorporates the probability of selling a certain number of seats in each class, together with the expected revenue outcome (bid price function) and reflects the remaining seats available for sale.
Authorization Levels (AUs)
To complete our simple example, we should also mention the concept of Authorization Levels (AUs). With protection levels - we are protecting a number of seats in higher classes from those in lower classes, and we are ensuring minimum revenue expectations are being met (according to bid price).
However, it would be optimal to sell all our remaining seats in the highest class, should such an opportunity arise.
So, while we protect 3 seats in Y-class, we allow all 15 remaining seats to be sold in Y-class. This will be the authorization level (AU) for Y-class.
And if we protect 4 in H-class, we allow 12 seats to be sold (all 15 minus those 3 protected in Y-class above). If we complete the table with this concept, it will look like this:

Naturally, if we have a bid price curve in its full length, we can calculate protection levels and AUs for all classes and all the seats (not only remaining ones) - and we can optimally distribute seats on an aircraft at its full capacity.