Revenue Management and Pricing Chapter 7 Capacity Allocation Capacity Allocation Capacity allocation is the problem of determining how many seats (or hotel rooms or rental cars) to allow low-fare customers to book when there is the possibility of future high-fare demand. Capacity allocation is particularly important among passenger airlines because many airlines have based their revenue
management strategy on segmenting the market between earlybooking, low-fare leisure customers and later-booking, higher-fare business customers. It is also applicable in hotel management, rental cars, freight transportation, make-to-order manufacturing etc. Two-Class Problem In the two-class capacity allocation problem, a flight (or other product) with fixed capacity serves two classes of customers: discount customers who book early and full-fare customers who book later. Discount customers each pay a fare pd>0, and full-fare customers each pay a higher fare pf > pd. In the basic two-class model we assume that all discount booking requests occur before any full-fare passengers seek to book. We have a limited number of seats. The static two-class capacity allocation problem is: How many discount customers (if any) should we allow to book? Or, equivalently: How many seats (if any) should we protect for full-fare customers?
The goal of two-class capacity allocation is to determine a discount booking limit the maximum number of discount bookings that will be allowed. When there are only two classes, the protection level for full-fare bookings is equal to the capacity minus the booking limit: y = C - b, where C is capacity. The Decision Tree Approach If we set the discount booking limit too low, we will turn away discount customers but not see enough full-fare demand to fill the plane. The plane will depart with empty seats even though we turned away bookings. This is called spoilage, since the empty seats become spoiled inventory at the moment the flight departs.
On the other hand, if we allow too many discount customers to book, we run the risk of turning away more profitable full-fare customers. This is called dilution, since we diluted the revenue we could have received from saving an additional seat for a high-fare booking. The challenge of capacity allocation is to balance the risks of spoilage and dilution to maximize expected revenue. The Decision Tree Approach The tradeoffs in the two-class problem are shown as a decision tree in Figure 7.1 for a flight with total capacity C. Ff (x) is the probability that full-fare demand is less than or equal to x and Fd (x) is the probability that discount demand is less than or equal to x. What would be the change in expected revenue if we increase the booking limit from b to b + 1? The Decision Tree Approach
The expected change in revenue from changing the booking limit from b to b+1 is the probability-weighted sum of the possible outcomes, or If the term on the right-hand side of Equation 7.1 is greater than zero, then we can increase expected profitability by increasing the discount booking limit from b to b+1. On the other hand, if the term is less than zero, expected revenue will decrease if we increase the discount booking limit. The key term in Equation 7.1 is pd - [1 - Ff (C-b)]pf . As long as this term is greater than zero, we should increase the discount booking allocation. With a booking limit of b, there will always be at least C-b seats available for fullfare passengers. If discount demand is less than b, there will be even more seats available for full-fare passengers.
The Decision Tree Approach 1 - Ff (C-b) is the probability that full-fare demand will exceed the protection level. It is shown as a function of b in Figure 7.2. The term 1 - Ff (C-b) is small when the protection level is large (that is, the discount booking limit is small) and gets larger as we decrease the protection level (that is, increase the discount booking limit). If pd < [1 - Ff (C-b)]pf, then we should not allocate any seats for discount passengerswe are better off saving all seats for full-fare passengers. If pd > [1 - Ff (C-b)]pf,, then we are better off allocating at least one seat for discount passengers. The Decision Tree Approach
Ex: An airline has set a discount booking limit of 80 seats on a 150-seat aircraft for a certain flight departure. The corresponding protection level is 70 seats. If the airline substituted a 100-seat aircraft for that flight and neither the fares nor the full-fare demand forecast changed, then the optimal protection level would be: again 70 seats. The optimal discount booking limit with the smaller aircraft would be 100-70 = 30 seats. The Decision Tree Approach This marginal analysis suggests the following simple hill-climbing algorithm for calculating the optimal booking limit b*. Algorithm for Computing Optimal Discount Booking Limit: This algorithm involves adding one seat at a time to the discount booking limit (or, equivalently, removing one seat at a time from the full-fare protection level) and continuing as long as adding one more seat increases expected revenue.
However, there is a simpler way to get to the same point. Littlewoods Rule The sequential algorithm finds the value of b* such that where y* is the optimal protection level for full-fare demand Almost always, the function Ff(y) will be a strictly increasing function of the protection level y. In this case, Ff will be invertible and we can write Littlewoods rule as: If b needs to be discrete, for any fare ratio, pd /pf , the corresponding optimal booking limit is the smallest value of b for which 1-Ff (C - b)pd /pf. The optimal protection level does not depend on the forecast of discount demand or on the capacity, except to the extent that it never makes sense to protect more seats than the capacity of the plane. Littlewoods Rule
Ex: The mean full-fare demand for a flight with a 100-seat aircraft is 50 with a standard deviation of 100. For any fare ratio, pd /pf , the corresponding optimal booking limit is the smallest value of b for which 1-Ff(C - b)pd /pf. Table 7.1 illustrates the key calculation For a fare ratio of 0.4, the optimal booking limit is 25, for a ratio of 0.5, it is 50, and for a ratio of 0.6, it is 76. Notice that if the fare ratio is less than 0.309, we would not allow any discount passengers to book. On the other hand, if the fare ratio is greater than 0.691, we would open the entire flight to discount passenger bookings. Littlewoods Rule with Independent Normal Demands The two-class discount booking limit algorithm will find the optimal booking limit given any distribution of full-fare demand. But there is a particularly
simple way to calculate the optimal discount booking limit when full-fare demand is normally distributed. In this case, where (x) is the standard cumulative normal distribution and f and f are the mean and standard deviation of full-fare demand, respectively. Littlewoods rule then implies that we want to find the value of b such that The optimal discount booking limit and protection level satisfy Littlewoods Rule with Independent Normal Demands Ex: A flight has a capacity of 100 seats and two fare classes. The full fare is $300, and full-fare demand is normally distributed with a mean of 70. If the discount fare is $150, the airline should protect exactly 70 seats for full-fare customers and set a booking limit of 30 for discount-fare demand. If the discount fare is $180, the airline should protect fewer than 70 seats for full-fare demand; if the discount fare
is $120, the airline should protect more than 70 seats for full-fare demand. The optimal protection levels for each case can be determined from Littlewoods Equation. Recall that f 0 is a measure of the uncertainty in our forecast of full-fare demand. A higher value of f means more uncertainty. First of all, notice that f=0 implies that b*=[C - f]. If we knew full-fare demand with certainty, we would protect exactly f seats for full-fare demand. This is clearly the policy that will maximize expected revenue. We can see that y * is a linear function of the standard deviation when full-fare demand is normally distributed. Littlewoods Rule with Independent Normal Demands The dependence of the protection level on full-fare standard deviation and the fare ratio is summarized in Table 7.2. When the fare ratio is exactly 1/2 or the standard deviation of full-fare demand is zero, then the optimal protection level for full-fare demand is equal to mean full-fare
demand. If the fare ratio is less than 1/2, the optimal protection level will be greater than f, and increasing the standard deviation will increase the protection level. If the fare ratio is greater than 1/2, the optimal protection level will be less than f and will fall as the standard deviation increases. Relation to Newsvendor Problem Littlewoods rule has a close relationship to the so-called critical fractile (or critical ratio) solution to the optimal replenishment problem for perishable goods. Both capacity allocation and replenishment of perishable goods are themselves special cases of a classic problem known as the newsvendor problem. The newsvendor problem considers the situation in which a purchaser needs to order a quantity of some good in the face of uncertain demand. The problem got its name from the example of a newspaper salesperson who needs to determine how many newspapers to purchase at the beginning of the day to satisfy the days uncertain demand. The key to this decision is that the newsvendor faces different costs if he
purchases too much or too little. If he buys too many newspapers, then at the end of the day he will have unsold, worthless copies that he discards. If he buys too few, he will sell out of papers and turn away potentially profitable customers. The purchaser might be a retailer deciding how many units of a fashion good to order, or it might be a manufacturer ordering raw materials. Relation to Newsvendor Problem The solution to the newsvendor problem can be expressed in terms of the overage cost and the underage cost of the decision. The overage cost is the cost per unit of purchasing too many items; the underage cost is the unit cost of purchasing too few. Assume that the newsvendor buys newspapers for 20 cents a piece and sells them at 25 cents. His overage cost is 20 cents per unsold paper; his underage cost is the 5 cent profit that he forgoes for each missed sale. (Note that the overage cost is an actual monetary cost, while the underage cost is an opportunity cost.) If U is the underage cost and O is the overage cost, the optimal order quantity for
the newsvendor is the value of Y such that where F(y) is the cumulative distribution on demand. Relation to Newsvendor Problem When newspapers cost 20 cents and are sold for 25 cents, the number of newspapers the vendor should purchase would be the smallest value of Y such that F(Y ) 5/(20 + 5) = 0.2. Finding the optimal discount booking limit in the two-class case is analogous to the newsvendor problem. The airline needs to determine how many seats to protect (i.e., order) to satisfy unknown full-fare demand. The airlines unit overage cost from protecting too many seats is a displaced discount fare:O = pd. The underage cost is the revenue from a lost full-fare booking minus the discount fare: U = pf - pd.
Then, the airline should set the protection level such that which is the same equation in Littlewoods rule. Capacity Allocation with Dependent Demands The models we have considered so far assume that demand in each fare class is independent of demand in the other fare classes. Perhaps even more surprising, they assume that demand in each fare class is independent of whether other classes are opened or closed. This is the assumption of perfect market segmentation. Standard capacity allocation models, such as Littlewoods rule, assume
no cannibalizationopening a discount class has no effect on full-fare demand. Full-fare passengers are either unwilling or unable to purchase at the discount fare, and none of the discount passengers would purchase the product at the full fare. The assumption of fare class independence does not reflect the real world. In reality, there are no such things as full-fare customers and discount customers; there are only potential buyers searching for the alternative that best meets their needs. Capacity Allocation with Dependent Demands Some fraction of the customers who are refused when we close the discount fare will go on to purchase at the full fare and that we cannot really treat the two demands as independent. Rather, the full-fare demand will depend on whether or not the discount fare class is opened or closed. When we close discount fares, we would expect more full-fare demand because some of the discount-fare customers will go ahead to purchase at full fare when
the discount fare is not available. Flight controllers noticed that closing a discount fare class would often lead to increased demand in higher classes. This phenomenon was termed buy-up or sell-up. Revenue controllers would close discount classes earlier than recommended by the revenue management system because they knew that they would gain benefits from buy-up. By the same token, opening a discount fare class would often lead to decreased demand in higher classescannibalization. Demand Dependence with Two Fare Classes We modify the marginal analysis approach to find the optimal booking limit under imperfect segmentation with two fare classes. We assume as before that the discount fare is pd and the full fare is pf, with pf > pd. For this analysis, we use new definitions of demand: dd =Total discount demand
df = Total full-fare demand assuming all discount bookings are accepted In addition, we will define as the fraction of rejected discount demand that will seek to book a full fare, with 0 1, if discount seats are not available. The actual full-fare demand the airline sees will be a function of the discount booking limit and can be written as This means that increasing the booking limit b will decrease expected full-fare demand by if discount demand exceeds the booking limit and will have no effect on full-fare demand otherwise. Demand Dependence with Two Fare Classes Specifically, this model is equivalent to assuming that there are dd customers with a w.t.p. for the discount product that is greater than pd.
Of these, dd also have a w.t.p. for the full-fare product that is greater than pf: If the discount product is not available, they will buy the full-fare product. = 0 corresponds to the case of perfect segmentation. Finally, there are df customers who have a w.t.p. for the full-fare product that is greater than pf and whose willingness-to-pay for the discount product is lower than pd. Of course, we would expect dd, df, and to change if we changed the fares pd and pf.
Demand Dependence with Two Fare Classes The decision tree for the two-class model with demand dependence is shown in Figure 7.8. The only difference from the basic two-class allocation model occurs when discount demand is greater than the booking limit and full-fare demand is less than the protection level, C - b. In this case, increasing the booking limit by 1 leads to an additional discount booking, but there is a probability of that this increased discount booking cannibalizes a future full-fare booking. The net impact on expected profitability is pd - pf. Demand Dependence with Two Fare Classes The expected marginal impact of increasing the booking limit by 1 in this case is
given by If this term is greater than zero, increasing the booking limit by 1 will lead to increased expected revenue. If it is less than zero, increasing the booking limit will lead to decreased expected revenue. Note that if pd /pf , the term on the right will be less than or equal to zero for all values of b. This corresponds to the case where cannibalization overwhelms demand induction. In this case, we know immediately that the optimal booking limit is b* = 0. Assume now that pd > pf . We are looking for the protection level y* that solves or Demand Dependence with Two Fare Classes is called the modified fare ratio.
Since the modified fare ratio is less than the original fare ratio pd/pf, the impact of demand dependence is to reduce the discount booking limit (equivalently, increase the full-fare protection level) from the case with no demand dependency. Note that when full-fare demand is normally distributed, the optimal protection level is Capacity Allocation with Multiple Fare Classes
Littlewoods rule finds the optimal discount allocation in the case of two classes when the lower fare class books first. However, airlines are prolific price differentiators, often offering tens if not hundreds of different fares on a flight, such as special discount fares, corporate fares, and group fares in addition to the standard discount fares and full fare. An airline needs to manage the availability of all of these fares to maximize total contribution. The same holds true for any revenue management company selling multiple fare classes. More specifically, they need to set the nested booking limits within a booking control structure. This is the multiclass capacity allocation problem, and, predictably, it is more difficult to solve than the two-class model. Capacity Allocation with Multiple Fare Classes
To analyze the multiclass model we make the following assumptions. A product has n fare classes, each with an associated fare. Fare classes are numbered in descending fare order, that is, p1 > p2 > . . . >pn. A fare class is called higher than another if it has a higher farethus, class 1 is the highest class and class n is the lowest class. Demand in each class is an independent random variable. We denote the demand in fare class i by di. Demand in class i follows a probability distribution fi(x) defined on integer x 0, where fi(x) is the probability that demand for fare class i will be x. Fi(x) denotes the probability that di x. Demand books in increasing fare order. That is, the lowest-fare passengers (those paying pn) book first, followed by the second-lowest-fare passengers and so on, so that the highest-fare passengers (those paying p1) book last. There are no no-shows or cancellations. The objective function is to maximize expected revenue. Capacity Allocation with Multiple Fare Classes
The time convention for the multiclass model is shown in Figure 7.6. During the first period the airline sees only booking requests from the lowest-fare passengers, those paying pn. At the end of this first booking period, the airline has accepted some number of bookings from these passengers, say, xn 0. During the second period, passengers paying the next highest fare, pn-1, start to book, and so on, until the last period, in which the highest-fare passengersthose paying p1seek to book. Note that the indices of the fare classes decrease as the time of
departure approaches. Capacity Allocation with Multiple Fare Classes The airlines decision at the start of each booking period j is how many bookings of type j it should accept. It knows how many bookings it has already accepted, namely, Since there are no no-shows or cancellations, is the unbooked capacity remaining at the beginning of period j. The airline also knows the demand distributions for future booking periods. Given this information, the airline needs to find the maximum number of bookings from class j to accept in order to maximize expected revenue. We call this quantity the class j booking limit and denote it by bj. In this model, the airline only needs to calculate one booking limit at the start of each period, since it will receive bookings from only one fare class during the coming period. The airline can wait until it sees how many bookings it accepts in this period before setting the booking limits for the next higher class.
The Decision Tree Approach To solve the multiclass booking limit problem, we work backwards. At the beginning of the final period the airline has C1 seats remaining. Since there are no no-shows or cancellations, it is clearly optimal for the airline to allow all remaining seats to be booked. So b1=C1. Next we consider period 2the penultimate period before departure. At the beginning of period 2 the airline has C2 seats remaining. It should be clear that the problem the airline faces at the beginning of the second period is exactly the two-fare-class problem we solved before.Therefore, the airline can maximize revenue by applying Littlewoods rule: The
optimal booking limit is the smallest value of 0 b2 C2 such that The Decision Tree Approach Things get more complicated when we move backwards one period to calculate b3. Conceptually, the tradeoff is similar to the two-class case: If we increase the booking limit in period 3, one of two things can happen. Either we receive an additional type 3 passenger booking or we dont. If we dont, the net impact on total revenue of increasing the booking limit will be zero. If we do book an additional customer in period 3, we will receive a fare of p3, but we run the risk of displacing a later-booking customer who would pay a higher
fareeither p1 or p2. There is no easy way to calculate either the probability that we will displace a booking or the conditional probability of which type of booking will be displaced. However, the fundamental tradeoff remains the same as in the two-class case we want to set the booking limit that balances the risks of spoilage and dilution. The Decision Tree Approach The period 3 problem is illustrated in Figure 7.7, where q2 is the probability that increasing the class 3 booking limit will displace a class 2 passenger and q1 is the probability that it will displace a class 1 passenger.
From this tree we can see that the optimal class 3 booking limit depends on the probability that an additional class 3 booking would displace a higher fare booking and the fare of the booking that would be displaced. If we knew the displacement probabilities q1 and q2, it would be straightforward to roll back the decision tree to solve for the optimal b3. The Decision Tree Approach Unfortunately, there is no easy way to calculate the displacement probabilities for
three or more fare classes. As a result, the solution techniques for finding the optimal booking limits for three or more fare classes require the use of dynamic programming. While the techniques for finding the optimal booking limits and protection levels in the multiclass problem are not mathematically difficult, they can be computationally intensive, particularly when they need to be applied to thousands of flights in a limited period of time. For this reason, airlines, hotels, rental car companies, and their revenue management brethren typically do not calculate the optimal multiclass booking limits. Rather, they utilize a heuristic to determine good but not necessarily optimal booking limits. The most popular of these heuristics are the expected marginal seat revenue (EMSR) approaches, especially EMSR-a and EMSR-b. These are very fast and almost always find booking limits that generate expected revenue very close to the theoretical optimum. Expected Marginal Seat Revenue (EMSR) Heuristics
EMSR-a and EMSR-b are based on approximating the multiclass problem by a series of two-class problems and applying Littlewoods rule to obtain a solution. EMSR-a: Based on the idea of calculating protection levels for the current class relative to each of the higher classes using Littlewoods rule. These protection levels are then summed to create the protection level for the current class. For example, EMSR-a would calculate a protection level for class 3 against class 1 (which we denote by y31) and against class 2, which we denote by y32 using the form of Littlewoods rule as The EMSR-a protection level for class 3, y3, is calculated as the sum of these two protection levels; that is, Expected Marginal Seat Revenue (EMSR) Heuristics
Then since C3 is the unbooked capacity we have at the beginning of booking period 3, EMSR-a can be generalized to any number of fare classes. For j2, the EMSR-a protection level yj is If demands are normally distributed for each fare class, the EMSR-a protection level for class j is Expected Marginal Seat Revenue (EMSR) Heuristics
EMSR-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 Littlewoods rule to calculate the booking limit of the current class j with respect to the artificial class. To formalize EMSR-b, assume that demand in all classes follows a normal distribution, with the demand in class i having a mean of i and a standard deviation of i. Assume we are at the beginning of period j2 and want to calculate the booking
limit bj. EMSR-b then proceeds as if we were solving a two-class problem. EMSR-b assumes that demand for the artificial class is normally distributed with mean demand , average fare p, and standard deviation given by Expected Marginal Seat Revenue (EMSR) Heuristics We can use the version of Littlewoods rule for normal distributions to write as the formula for EMSR-b when demands are normally distributed. Comparison of EMSR heuristics: It is difficult to make definitive statements about the relative merits of the two EMSR heuristics. There are cases when EMSR-a gives higher booking limits than EMSR-b and cases when the opposite is true. More pertinently, there are cases when EMSR-a results in higher revenue than EMSR-b, and vice versa. Both appear to give solutions close to the optimal booking limits in most realistic cases, and both generally capture a high percentage of the optimal revenue. It is widely felt that the additional revenues from solving the optimal booking control problem do not generally justify the extensive additional computations that
would be required relative to using an EMSR heuristic. As a result, EMSR-b has become the standard for calculating booking limits for a single resource. Expected Marginal Seat Revenue (EMSR) Heuristics Ex: Talluri and van Ryzin (2004) ran a series of simulations comparing the performance of the two EMSR heuristics with the optimal policy. In this case, EMSR-b performed slightly better than EMSR-a; however, both policies performed within 1% of the optimal revenue for all values of seating capacity. This high level of performance is a good indication of why the EMSR heuristics are so popular in practice. Modified EMSR Heuristics for Dependent Demand Both EMSR-a and EMSR-b can be modified to incorporate imperfect segmentations, based on the assumption that when a class closes, rejected demand for that class may buy up to the next highest classbut 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.
Under this assumption, define j for j = 2, 3, . . . , n as the fraction of class j customers who would purchase in the next-higher class j-1 if class j is closed. Thus, 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. 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: + + Capacity Allocation in Action Dynamic Booking Control Process 1. Calculate the initial booking limits for a flight. 2. When a booking request for class j is received, compare the number of seats requested with the current booking limit for the class.
3. If the number of seats requested exceeds the booking limit for class j, reject the request and go to step 6. 4. If the number of seats requested is within the booking limit for class j, accept the request. Depending on the capabilities of the reservation system, either (a) decrement the booking limits for classes with positive availability by the number of seats accepted or (b) decrement the booking limits for all classes by the number of seats accepted. 5. When a booking cancels, either (a) increment the booking limits for classes with positive availability by the number of seats cancelled (irreversible) or (b) increment to booking limits for all classes by the number of seats cancelled (reversible). 6. Periodically recalculate all booking limits based on total bookings and demand expected in each class until departure. (This recalculation is often called a reoptimization.) Bid Pricing We have seen that optimal nested booking limits have the property that if one fare class is open, then all higher fare classes will be open. This means that one of
three conditions must hold when the allocations for a resource are optimized; either 1. All fare classes are open, or 2. All fare classes are closed, or 3. There is an open fare class such that all higher classes are open and all lower classes are closed. This suggests the following rule: Accept a single-seat booking request if its associated fare is greater than or equal to the fare in the lowest open class. Otherwise reject it. Ex: A flight departure has six fare classes. Two weeks before departure, fare classes 1, 2, and 3 are open while classes 4, 5, and 6 are closed. The class 3 fare is $250 and the class 4 fare is $210. If the next booking request has a fare greater than or equal to $250, it will be accepted; otherwise it will be rejected. Bid Pricing This simple rule to control bookings is called bid pricing, and the minimum acceptable fare is called the bid price. When bid price is zero, any booking request with positive net contribution will
be acceptedthis is equivalent to having all fare classes open. The seller can use the bid price as an intensity control, raising the bid price when he wishes to reduce sales and increase average price and lowering the bid price when he wishes to increase sales and accept a lower average price. Bid pricing requires only calculating and updating a single numberthe bid price. It avoids the complexity involved in recalculating multiple booking limits. If bid prices are continually updated and each request is for a single unit of resource and demand for different fare classes were independent, a system under which booking requests are evaluated only against a bid price could capture at least as much revenue as the standard booking limit approaches. Bid Pricing
A request for a constrained resource should be accepted only if the associated price exceeds the opportunity cost of the resource. The bid price for a resource is the opportunity cost for that resource. The decision tree approach makes this explicitwe should accept a booking only if its fare exceeds the expected revenue we could realize from that unit of capacity in the future, i.e., its opportunity cost. Bid pricing exploits the following equivalence. Bid price for a resource = Fare in the lowest open fare class = Opportunity cost for the resource Bid pricing is simply an actualization of the rule that a unit of a constrained perishable resource should be sold only if the price received is greater than the opportunity cost. Bid Pricing
Despite the appealing simplicity of bid pricing, most revenue management companies do not use pure bid pricing systems. Rather, they rely upon booking limits. There are three main reasons for this. 1. Bid prices give only marginal guidancethat is, a bid price can only tell us whether or not we should accept a booking request for a single seat. The bid price does not give a definitive answer to the question of whether or not we should accept a booking request for more than one seat. 2. The bid price for a resource jumps upward any time a booking is accepted and decreases any time an existing booking is cancelled. For bid prices to provide optimal control, they would need to be calculated at least every time a booking or cancellation takes place. This would be computationally infeasible given the volume of bookings and cancellations. 3. Booking limits were built into the airline reservation systems from their inception. The nested booking controls were the only way available to revenue management companies to implement capacity allocation. Despite these practical concerns, bid pricing is an important concept. Since the bid price on a leg approximates the opportunity cost for a resource, it is a good estimate of the additional revenue that could be achieved by acquiring an additional unit of resource.
Measuring Capacity Allocation Effectiveness The revenue opportunity model assumes we have a record of all the booking requests we received for a flight. We then measure the revenue that could be achieved from a specific flight under two extreme cases. In the base case, bookings are accepted in the order in which they are received until the capacity constraint is reached or demand is exhausted. This is the flights performance without any revenue management. In the perfect revenue management case, bookings are accepted in decreasing order of revenue until demand is exhausted or the capacity constraint is reached. This represents a case in which we achieved as much revenue as possible given the demands for different fare classes. If the flight is full, the revenue achieved under any revenue management program will lie between these extremes. The total revenue opportunity on a flight is the difference between the revenue achieved from perfect revenue management and the revenue achieved from no revenue management. The revenue opportunity metric is the percentage of the revenue actually achieved from that
flight minus the revenue that would have been achieved under no revenue management divided by the total revenue opportunity. Measuring Capacity Allocation Effectiveness Ex: If the maximum possible revenue for a flight is $50,000, revenue from no revenue management is $35,000, and an airline actually realized $45,000 from the flight, then the revenue opportunity metric (ROM) for that departure would be ROM = ($45,000 - $35,000)/($50,000 - $35,000) = $10,000/$15,000 = 67% ROM has been used by airlines, hotels, and other RM companies to measure the effectiveness of their revenue management programs. However, it can be sensitive to changes in market conditions. For example, the ROM for a flight with very low demand will always be close to 100%, since every booking will be accepted. On the other hand, a flight with high uncertainty in highfare demand (a high standard deviation) will tend to have a lower ROM than one with the same expected high-fare demand but less uncertainty (a lower standard deviation). This means that changes in ROM for a flight or group of flights may be due to changes in the underlying structure of demand rather than to changes in revenue