Skip to main content
Log in

Itinerary-based nesting control with upsell

  • Research Article
  • Published:
Journal of Revenue and Pricing Management Aims and scope

Abstract

In order to accept future high-yield booking requests, airlines protect seats from low-yield passengers. More seats may be reserved when passengers faced with closed fare classes can upsell to open higher fare classes. We address the airline revenue management problem with capacity nesting and customer upsell, and formulate this problem by a stochastic optimization model to determine a set of static protection levels for each itinerary. We apply an approximate dynamic programming framework to approximate the objective function by piecewise linear functions, whose slopes (marginal revenue) are iteratively updated and returned by an efficient heuristic that simultaneous handles both nesting and upsells. The resulting allocation policy is tested over a real airline network and benchmarked against the randomized linear programming bid-price policy under various demand settings. Simulation results suggest that the proposed allocation policy significantly outperforms when incremental demand or upsell probability are high. Structural analyses are also provided for special demand dependence cases.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7

Similar content being viewed by others

Notes

  1. Although Gallego et al (2009) has a path dependent algorithm that provides slightly better performance (<1 per cent in average), its implementation is more complicated and requires more running time. As our upsell heuristic significantly outperforms the path independent algorithm, we consider the path independent algorithm adequate for our benchmarking purpose.

References

  • Belobaba, P.P. and Weatherford, L.R. (1996) Comparing decision rules that incorporate customer diversion in perishable asset revenue management situations. Decision Sciences Journal 27 (2): 343–363.

    Article  Google Scholar 

  • Bitran, G. and Caldentey, R. (2003) An overview of pricing models for revenue management. Manufacturing & Service Operations Management 5 (3): 203–229.

    Article  Google Scholar 

  • Brumelle, S.L. and McGill, J.I. (1993) Airline seat allocation with multiple nested fare classes. Operations Research 41 (1): 127–137.

    Article  Google Scholar 

  • Brumelle, S.L., McGill, J.I., Oum, T., Sawaki, K. and Tretheway, M.W. (1990) Allocation of airline seats between stochastically dependent demands. Transportation Science 24 (3): 183–192.

    Article  Google Scholar 

  • Chen, L. and Homem-de-Mello, T. (2010) Re-solving stochastic programming models for airline revenue management. Annals of Operations Research 177 (1): 91–114.

    Article  Google Scholar 

  • Cooper, W.L. (2002) Asymptotic behavior of an allocation policy for revenue management. Operations Research 50 (4): 720–727.

    Article  Google Scholar 

  • Cooper, W.L. and Gupta, D. (2006) Stochastic comparisons in airline revenue management. Manufacturing & Service Operations Management 8 (3): 221–234.

    Article  Google Scholar 

  • Curry, R.E. (1990) Optimal airline seat allocation with fare classes nested by origins and destinations. Transportation Science 24 (3): 193–204.

    Article  Google Scholar 

  • de Boer, S.V., Freling, R. and Piersma, N. (2002) Mathematical programming for network revenue management revisited. European Journal of Operational Research 137 (1): 72–92.

    Article  Google Scholar 

  • Fiig, T., Isler, K., Hopperstad, C. and Belobaba, P.P. (2010) Optimization of mixed fare structures: Theory and applications. Journal of Revenue and Pricing Management 9 (1/2): 1–19.

    Google Scholar 

  • Gallego, G., Li, L. and Ratliff, R. (2009) Choice-based EMSR methods for single-leg revenue management with demand dependencies. Journal of Revenue and Pricing Management 8 (2/3): 207–240.

    Article  Google Scholar 

  • Grimmett, G. and Stirzaker, D. (2001) Probability and Random Processes. 3rd edn. Oxford University Press, NYC, USA.

    Google Scholar 

  • Higle, J.L. (2007) Bid-price control with origin-destination demand: A stochastic programming approach. Journal of Revenue and Pricing Management 5 (4): 291–304.

    Article  Google Scholar 

  • Li, M.Z.F. and Oum, T.H. (2002) A note on the single leg, multifare seat allocation problem. Transportation Science 36 (3): 349.

    Article  Google Scholar 

  • Littlewood, K. (ed.) (1972) Forecasting and control of passenger bookings, Volume 12. The 12th AGIFORS Symposium, Nathanya, Israel.

  • Liu, Q. and van Ryzin, G. (2008) On the choice-based linear programming model for network revenue management. Manufacturing Service Operations Management 10 (2): 288–310.

    Article  Google Scholar 

  • McGill, J.I. and Van Ryzin, G.J. (1999) Revenue management: Research overview and prospects. Transportation Science 33 (2): 233.

    Article  Google Scholar 

  • Powell, W.B. (2007) Approximate dynamic programming: Solving the curses of dimensionality. Wiley Series in Probability and Statistics. 1st edn. Wiley-Interscience: NYC,USA.

    Chapter  Google Scholar 

  • Powell, W., Ruszczynski, A. and Topaloglu, H. (2004) Learning algorithms for separable approximations of discrete stochastic optimization problems. Mathematics of Operations Research 29 (4): 814–836.

    Article  Google Scholar 

  • Robinson, L.W. (1995) Optimal and approximate control policies for airline booking with sequential nonmonotonic fare classes. Operations Research 43 (2): 252–263.

    Article  Google Scholar 

  • Talluri, K. and van Ryzin, G. (1998) An analysis of bid-price controls for network revenue management. Management Science 44 (11): 1577–1593.

    Article  Google Scholar 

  • Talluri, K. and Van Ryzin, G. (1999) A randomized linear programming method for computing network bid prices. Transportation Science 33 (2): 207–216.

    Article  Google Scholar 

  • Talluri, K. and van Ryzin, G. (2004) The theory and practice of revenue management. International Series in Operations Research & Management Science. 1st edn. Springer: NYC, USA.

    Google Scholar 

  • Topaloglu, H. (2009) On the asymptotic optimality of the randomized linear program for network revenue management. European Journal of Operational Research 197 (3): 884–896.

    Article  Google Scholar 

  • van Ryzin, G.J. and McGill, J.I. (2000) Revenue management without forecasting of optimization: An adaptive algorithm for determining airline seat protection levels. Management Science 46 (6): 760–775.

    Article  Google Scholar 

  • Williamson, E.L. (1992) Airline network seat inventory control: Methodologies and revenue impacts. PhD thesis, Massachusetts Institution of Technology, Cambridge, MA.

  • Wollmer, R.D. (1992) An airline seat management model for a single leg route when lower fare classes book first. Operations Research 40 (1): 26–37.

    Article  Google Scholar 

  • Zhang, D. and Adelman, D. (2009) An approximate dynamic programming approach to network revenue management with customer choice. Transportation Science 43 (3): 381–394.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Appendix

Appendix

Proofs

Lemma 1

Proof Let be the expected demand, and the total expected demand. In the case with a single itinerary, consider the deterministic version of (2) and rewrite the function into an optimization problem without protection levels by substituting ξ−Π c−1 with x c . We have

 □

It is easy to see that solving the above DP is equivalent to solving

By coupling the itinerary allocation decision with network capacity constraints, we have

Lemma 2

Proof. Let HL be the high-to-low arrival order, LH be the low-to-high arrival order, R be a random arrival order and R π(O) be the revenue obtained by applying the optimal allocation policy of problem π under arrival order O. Then we have and The first observation is based on the fact that seats occupied by low-yield passengers in the LH arrival order can be given to high-yield passengers in both the random and HL arrival orders, and the second observation is based on the fact that since allocations are partitioned, arrival order does not matter. Suppose is the optimal solution of problem π and is the extracted empty seats based on the optimal solution of problem π. We have

 □

Hence, we have which implies The last inequality is because of the fact that SP(K) is optimal under stochastic demand.

Proposition 2

Proof. Following (2), it is easy to see

 □

Note that ξ−min{ξ−Π c−1, Dc}=Π c−1+(ξ−Π c−1− D c )+. By mapping and the definition of z c in (7), we have

For mapping we can follow the argument backward.

Propositions 5 and 6

Let X and Y be one-dimensional continuous random variables. By definition, f XY (x, y)=f X|Y (x|y)f Y (y)=f Y|X (y|x)f X (x) where f y (y)=∫0 f XY (x, y)dx is the marginal density of Y at y. If the cumulative probability function is differentiable, then the probability conditioning on zero probability event can be appropriately defined as

This definition can be found in Grimmett and Stirzaker (2001).

Lemma 3

  • We have for any event E.

Proof. Under Assumption A1, for any ε>0 and continuous random variable Y, if we have

 □

Similarly, if Y is a discrete random variable, the proof is equivalent by substituting ɛ with 1.

Let be the set of demands for Classes 1, …, c,D c={D c , …, D |C|} be the set of demands for classes and d c be their realizations respectively, d c(D c E)=d c+1∪{D c E} be the updated set of observed events given observed demands d c+1 and event{D c E}, f c (d c ) be the marginal density of demand d c ,f c|c+1(d c |d c+1) be the conditional density of d c given a set of realized demands d c+1. Given a sample path d, the revenue function is

and

Note that and } c Πc−1, ξ, d c+1 is continuous and piecewise linear in ξ with three break points. For the remaining paragraphs, we assume integral demands. It is then easy to see that is also continuous and piecewise linear in ξ with countably many breakpoints. To show that is concave in ξ, it suffices to show that the derivative on the left is no less than the derivative on the right for all possible value of ξ. The corresponding right and left derivatives are showed below:

First, we show the following properties for the left and right derivatives.

Lemma 4

  • If Lemma 3 is satisfied, then

Proof The proof is by the fact the left derivatives are mainly composed with conditional probabilities. □

Lemma 5

  • We have

Proof The proof is by induction on c. For c=1. we have both sides equal to Suppose the statement is true for c−1, then we have

 □

The proof is completed.

The following is a direct result of Lemma 5.

Corollary 1

  • We have

Note that Lemmas 4 and 5, and Corollary 1 are also applicable to the right derivatives.

Proposition 7

  • Under Assumption A1, and if for all lc−1, the protection level Π l satisfies

    then is concave in ξ.

Proof Let be the difference between the right and left derivatives. We want to show for all ξ. The proof is by induction on c. For the base case with ξ1, we have

 □

The inequalities are obtained by applying (9) and Lemma 4. To verify at the break point ξ1, we have

Support the induction assumption holds for c−1, for example, For ξ c−1, we have

The first term of the last inequality is non-positive by Lemma 4, and the second term is non-positive because of our induction assumption. Hence, At the break point where ξ c−1, we have

Similarly, the inequalities are obtained by applying (9) and Corollary 1. Hence, the right derivative is no larger than the left derivative, and the continuous piecewise linear function is concave in ξ when satisfies (9).

Lemma 5 states that is concave in ξ if the allocation policy Π satisfies (9), which in fact are also the optimality conditions for Π.

Proposition 8

  • Condition (9) is the optimality condition for the protection level Π c−1 given any Π c−2 that satisfy Proposition 5.

Proof To proof this lemma, we inspect the left and right derivatives of with respect to Π c−1:

 □

The left and right derivatives above together with (9) imply that and by Lemma 5 that is concave in ξ, Π c−1 that satisfies (9) maximizes as required.

Algorithms

Upsell revenue estimation algorithm

The upsell revenue estimation algorithm estimates the upsell revenue given demand samples and class-level partition allocations. It heavily relies on the recursive structure of Equations (5) and (6). It takes {xc} the set of class-level partitioned allocations, {ξ c k} the set of demand samples, {p cc } the set of upsell probabilities, and returns r the average revenue over all demand scenarios along with reject and upsell information encoded by three indicating variables.

Let α c k be a binary variable that indicates if a class-c booking is rejected, β c k c be a binary variable that indicates if an upsell to class c is rejected owning to insufficient allocations, and γ cc k be a binary variable that indicates if a rejected class-c booking upsells to class c′. These three indicating variables are used to store information for the upsell margin estimation algorithm (Algorithm 4) to compute revenue margins if an additional seat is given to any one of the classes. The algorithm is summarized in Algorithm 3.

illustration

figure d

For each demand scenario, the algorithm starts from the lowest class and compute the total upsell to the current class c. Revenue is collected according to objective (4) at Line 6. If there exists a rejected booking in class c, α c k, is set to one to indicate that there exists a rejected booking. Furthermore, if c is not the highest class, is set to one to record the class that the rejected booking is upselling to. The algorithm then checks if upsells to class c occupy all seats allocated to class c. If it is the case, β c k is set to one to record the fact that there exists at least one upsell to class c. The three variables α, β, and γ record information required to compute the seat margin in margin estimation algorithm.

By recording these rejection and upsell information, we can, instead of computing the finite differences based on the estimated revenue for each class when one more seat is added, reduce the number of algorithmic operations by first computing the base revenue (before a seat is added) and marginally estimating the seat margins for all classes. This reduces the running time significantly when the number of classes is high. In the end, we update the number of empty seats available for higher classes at Line 21 using Equation (5).

Upsell margin estimation algorithm

The upsell margin estimation algorithm computes the revenue margin if one more seat is given to a particular class in question. All necessary information to compute the margin are encoded in arrays α, β, and γ (see Algorithm 3 for definitions). It requires the same inputs as those in the upsell revenue estimation algorithm (Algorithm 3) without demand samples. In addition, the class in question is also needed to indicate which class the seat should be added, and the margin should be computed. The algorithm is summarized in Algorithm 4.

illustration

figure c

The upsell margin estimation algorithm starts with checking if there exists a rejected upsell from any lower classes to class . If an upsell exists, it returns the unit price of class at Line 5. This is because of the fact that if one more seat was given, the rejected upsold booking should have been captured rather than being rejected. If such a rejected upsell does not exist, then for any equal and higher classes , the algorithm checks both if there exists a rejected booking and if such a rejected booking results in an upsell. If both conditions are satisfied, we need to adjust our margin according to Line 11. The reason is that if one more seat was allocated to class , the upsell should have been impossible because of the nesting nature of the allocation policy. Thus, the resulting margin should be non-positive. In the end, if an upsell cannot be found, the margin is set to be the unit price of class c′ at Line 13. Although the upsell heuristic (Algorithm 2) can essentially start with allocating all seats to the highest class, the set of allocations returned by this algorithm can significantly reduce the running time of the upsell heuristic.

Upsell-adjusted seat allocation algorithm

The upsell-adjuste seat allocation algorithm effectively handles cases when spilling demand is likely. It takes the number of total allocated seats, a set of demand samples and a set of upsell probabilities, and returns a set of class-level partition allocations for the upsell heuristic (Algorithm 2) to further adjust the allocations. Given a set of demand samples and a set of partitioned allocations, the algorithm aggregates demand for higher classes together with the upsells from lower classes. It essentially uses arrival distributions to approximate the upsell demands that are MNL. Once the demands are aggregated, the algorithm treats the aggregated demands as if they are independent and updates the partitioned allocations by the fare-adjusted seat allocation algorithm (Algorithm 6). The process repeats until no more rejection occurs in any demand sample.

illustration

figure b

The algorithm first initializes α the array that stores accumulated upsells. Once the algorithm enters the infinite loop, it computes the partitioned allocations by the fare-adjusted seat allocation algorithm at Line 3, the associated rejected bookings at Line 9, and the empty seats at Line 10. Next, the algorithm starts from the lowest class and finds the first class with a rejected booking in at least one of the demand samples. Demands to the corresponding upselling classes are then adjusted according to Line 18. The upsells are accumulated and recorded at Line 19. In the end, the number of rejected class-c bookings is subtracted from class demand.

Fare-adjusted seat allocation algorithm

The fare-adjusted seat allocation algorithm is a heuristic that returns a set of partitioned allocations while accounting some upsell information. It takes y the number of total allocated seats, ζ a set of demand samples, p a set of upsell probabilities, θ c =∑ c′=1 c−1 p cc the probability that a rejected class-c booking ever upsells, and the average fare over all classes above or equal to class c. It returns a set of partitioned allocations and a set of approximated revenue margins.

The algorithm relies on the derived optimal condition in Curry (1990) and a simple fare-adjusted criterion in Gallego et al (2009) to efficiently approximate a set of protection levels that accounts for upsell. Additional cares are given to update marginal revenue and to turn the protection levels into partition allocations according to mapping function As observed in Gallego et al (2009), the fare-adjusted criterion numerically yields a set of protection levels that tends to reserve more seats to higher classes. This is desirable as the upsell heuristic (Algorithm 2) iteratively and profitably reallocates seats from higher classes to lower classes.

illustration

figure a

The algorithm first empirically estimates the p.d.f. and c.d.f. of the demands, which are then fed to Line 5 to compute the seat margins based on the optimality conditions valid for independent demands (see Brumelle and McGill, 1993). Once the seat margins are computed, the optimal protection level is determined for the current class based on the adapted fare-adjusted criterion in Gallego et al (2009) at Line 9. Next, the slope vector is updated, and the corresponding partitioned allocation is computed.

Tables

This section includes all results used to create the figures in the main document. Table A1 shows the running time of the upsell heuristic (Algorithm 2) for various numbers of classes and demands (λ). In general, the running time increases when the number of classes or demand increases.

Table A1 Average running time for the upsell heuristic and the associated demand factor

Table A2 shows the minimum, average, and maximum demand factors over all flights for multiple demand multipliers. When the demand multiplier is 0, then the average demand factor is 80 per cent representing that the network is 80 per cent full. When the demand factor is above 100 per cent, the number of bookings are more than the number of seats available.

Table A2 Minimum, average and maximum demand factors over all flights for different demand multipliers

Table A3 shows the average percentage of improvement in revenue against RLP for different demand multipliers and upsell probability multipliers. The average is taken over all generated demand sample paths, one for each simulation experiment. The percentages showed are the revenue improvement of our proposed allocation policy over the RLP bid-prices.

Table A3 Average percentage of revenue improvement against RLP over all simulations for different demand multipliers and upsell probability multipliers when upsells are forecasted accurately

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Seng Pun, C., Klabjan, D., Karaesmen, F. et al. Itinerary-based nesting control with upsell. J Revenue Pricing Manag 15, 107–137 (2016). https://doi.org/10.1057/rpm.2015.21

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1057/rpm.2015.21

Keywords

Navigation