In Example 6.9 we have considered and solved numerically a hypothetical instance of the newsvendor problem. The procedure was based on brute force and did not provide us with any valuable insight into the structure of the problem itself. Furthermore, if we approximate the distribution of demand by a continuous distribution, which makes sense for high sale volumes, we cannot try any possible value. An analytical solution would definitely be more elegant and useful. An easy way to find it is based on marginal analysis.6 Say that we have purchased q − 1 items. Should we buy one more?
We recall that profit margin of one sold unit is given by m = s − c, i.e., selling price minus purchasing cost. If a unit remains unsold at the end of the sale time window, we incur a cost cu = c − su i.e., purchasing cost minus markdown price, the cost of unsold items. If we buy unit number q, we might incur a cost cu; if we do not buy it, we might miss the profit margin m. We should figure out if we expect that this marginal unit is profitable or not. To attach probabilities to events, observe that the marginal unit will contribute m if demand D is at least q; otherwise, it will reduce profit by cu. Hence, the expected marginal profit is
Note that if demand is a discrete random variable, we should be careful with the inequalities, as in that case the probability P (D ≥ q) is different from P(D > q); if demand has continuous distribution, we may be sloppy with the inequalities. If the expected marginal profit is positive, we should buy one more item; otherwise, we should not. Hence, we must find an optimal quantity q∗ such that
The task is considerably simplified by assuming that demand is a continuous random variable. Then, expected marginal profit can be regarded as the first-order derivative of expected profit, and the optimal solution can be found by enforcing the first-order necessary condition for optimality:
where FD(·) is the CDF of demand. This in turn implies that
To be precise, we should also check the second-order derivative, since stationarity alone cannot tell a minimum from a maximum. We may recall that the derivative of the CDF is just the PDF. Hence, if we differentiate Eq. (7.9), we obtain
which is certainly negative, since the PDF is positive.7
By using Eq. (7.10), it is not only easy to find the optimal ordering quantity; we also gain a fundamental insight into the problem structure:
- First we compute the ratio m/(m + cu), which can be interpreted as the probability of satisfying the whole demand, i.e., the service level.
- Then we find the quantile corresponding to that service level.
We should note that, since m and cu are positive, the ratio is bounded by the interval [0, 1]. Since the CDF is monotonically increasing, we order more (and raise the service level) when m is large with respect to cu. We order less when profit margin is small, or when the cost of unsold items is too large. This is not too surprising and explains the different patterns that we observe at different retail shops, depending on what they sell. An obvious question is: When is it optimal to order the expected value of demand? If the distribution is symmetric, the expected value is just the median. We will order the median if the optimal service level is 50%, which happens when m = cu.
Example 7.5 Let us solve Example 6.9 by assuming, this time, a continuous uniform distribution on the interval [5, 15]. With the data of the problem, we have m = 25 − 20 = 5 and cu = 20 − 0 = 20. Hence, the optimal service level is 5/(5 + 20) = 20%. Using Eq. (7.4) for the CDF of the continuous uniform distribution, we find
By sheer luck, we get the same integer solution we found by brute force in the discrete case. In general, the value q* is not integer, and we have to check whether it is optimal to round it up or down.
The classical newsvendor problem has an easy and elegant solution, but we should not forget the limitations of the underlying model:
- We are assuming that any leftover item can be sold at the markdown price su, independently of the amount of unsold items; in practice, mark-down management procedures may be necessary.8
- We are assuming that the expected value of profit is a sensible objective. While this might make sense in the long run, sometimes risk aversion should be taken into account (see Section 13.2).
Despite all of these limitations, the basic newsvendor model is am extremely useful model for building intuition and can be generalized in many ways. A rather surprising fact is that the reasoning above, based on marginal analysis, can be applied in completely different settings.
Example 7.6 We consider here the simplest model for revenue management in the airline industry (we considered overbooking strategies in Example 6.13). This model is known as Littlewood’s two-class, single-capacity control model9 Assume that we may sell tickets at two different prices, p1 and p2, with p1 > p2. The two prices correspond to two different classes of customers: Class 2 consists of passengers reserving their flight well in advance, maybe because they are planning their holidays. Class 1 consists of business travelers, flying because of business engagements that might pop up at the last minute. Business travelers are typically willing to pay much more for a flight, and this is why they are charged a higher price. Clearly, we are uncertain about the two demands for seats, but we imagine that a probability distribution for the two demands is known (we also assume that demands of the two classes are independent random variables). According to our assumptions, the demand D2 from passengers of class 2 is realized before demand D1 from class 1. If we satisfy all of the requests of class 2 (up to capacity C of the aircraft), we may regret our decision if it turns out that
In such a case, had we reserved more seats to class 1 by rejecting demand from class 2 beyond some threshold level, we would have made more money by selling some seats at a price p1 > p2. Hence, we can define a “protection level,” which is the capacity reserved for passengers of class 1. Of course, if the protection level is set too high, we could regret our decision as well, if we turn down too many requests from class 2, only to find later that demand D1 is low and seats are left empty.
Rather surprisingly, the problem can be tackled much along the lines of the newsvendor problem by marginal analysis. Let us denote the reservation level by y1, i.e., the number of seats reserved to class 1. Let us also denote by F1(·) the CDF for demand from class 1. Say that a customer of class 2 requests a seat when the remaining capacity is y1. Should we accept or reject the offer? To answer the question, we should trade off a sure revenue p2 against an uncertain revenue p1. This revenue is uncertain, because we will make p1 only if demand D1 is at least y1. We should accept the request if
and we should reject it otherwise. If we assume a continuous distribution for D1, the optimal protection level is exactly where the two amounts above are the same:
To check the solution, observe that is large when p2 is small with respect to p2; in the limit, if p2/p1 goes to zero, the protection level is the aircraft capacity and all of the requests from class 2 will be rejected.
We should stress that both basic newsvendor and Littlewood’s models are rather crude simplifications of reality. Nevertheless, they do provide us with essential intuition and can be extended to cope with more realistic models of actual problems.
Leave a Reply