Data Science-ish

View Original

Misapplying the Newsvendor Problem

The Stitch Fix blog recently had a good intro to the newsvendor problem. For more details and extensions of the basic problem, I’d recommend this paper by Qing et. al.  

I think the newsvendor problem is a very valuable mental model, but I have seen newsvendor-ish thinking misapplied very frequently, particularly in healthcare management. In this post, I’m going to try to explain two common misapplications of the newsvendor framework.

Newsvendor problem setup

But first, let’s recap the setup of the newsvendor problem.

  1. Agents: There is one newsvendor, and several customers who show up during the course of the day, each of whom buys one newspaper.

  2. Goals: The newsvendor wants to stock newspapers so as to match the daily demand. For example, if 100 people show up, then the newsvendor would like to have a stock of 100 newspapers, no more, no less. 

  3. Randomness: However, demand is stochastic and varies from day to day. We’ll assume here that daily demand is drawn from a normal distribution.

  4. Stockouts: If a customer arrives and finds that there are no newspapers left in stock, then that customer leaves without getting anything. This is important, we’ll come back to it later.

  5. Required solution: How many newspapers should the newsvendor stock?



Solution using overage and underage costs

To solve this problem, the newsvendor first makes two calculations, to the find the “cost of overage” and the “cost of underage”. Here’s what those terms mean:

  • Cost of overage (too many newspapers): this is the cost to the newsvendor of each paper that is left unsold. This might be the price that the newsvendor paid to the publisher/printer. Let’s denote this CO.

  • Cost of underage (too few newspapers): this is the cost in terms of lost sales for each unit of demand that is unmet. We’ll denote this COU

From these two numbers we’ll calculate a ratio called the critical ratio. The critical ratio is CU/(CU+CO). Note that CU and CO are specific to the particular circumstances that prevail for this particular newsvendor.

The next and final step is to plug the critical ratio into the inverse CDF of the demand distribution. This gives us the optimum number of newspapers that the newsvendor should stock. There we go, problem solved.

As an example, let’s say that overage and underage costs are the same. Then the critical ratio is 0.5. Plug this into the inverse CDF of the demand distribution and we’ll get back the mean demand/50th percentile (assuming normality).

Misapplications of the newsvendor framework

Here are a couple of common misapplications that I see:

  1. Defaulting to “magic numbers” such as the 95th percentile

  2. Using the newsvendor formulation in cases where the assumptions don’t apply, and therefore focusing on the wrong output.

Let’s look at each in turn.

Misapplication 1: Defaulting to the 95th percentile

It might be a bit inaccurate to call this a misapplication of the newsvendor problem, as it’s more of a failure to apply the framework at all. However, I think it comes from a vague sort of newsvendor-ish thinking.

Let’s imagine a conversation between the Chief Marketing Officer and the Chief Financial Officer of a retail company.

The CMO says, “We want to serve as much demand as possible. We may not be able to hold enough stock to meet the maximum possible demand, but we should go for the 95th percentile of demand.”

This reasoning comes from a good place – the CMO is not just trying to meet average demand, but instead recognizing that there is variability around the average. However, they are only looking at the problem from one side – avoiding underage costs.

The CFO is likely to respond, “Do we really need to stock that much? By definition, the 95th percentile almost never happens. I don’t want to tie up so much working capital in inventory if we don’t need it.”

This is the other side of the problem – avoiding overage costs.

Within the newsvendor framework, the solution is based on the critical ratio that takes into account the underage and overage costs. And there’s no reason why this ratio would always be 0.95, or 0.75, or any other specific number. It depends on the specifics of the situation.

Misapplication 2: Failing to recognize a queueing problem

This is a more serious misapplication. I’ll explain using a specific example: imagine you’re working in a hospital, and you’re trying to find the right capacity for the emergency department (ED) to meet demand.

Here’s how this maps back to the newsvendor setup:

  • The number of beds in the ED is analogous to the stock of newspapers that the newsvendor has.

  • Just like in the newsvendor problem, you have to decide on the number of beds (the “stock”) before the stochastic demand materializes, and you can’t change capacity during the day to meet daily demand.

So, can you use the newsvendor framework here? I would say no, not in any simple way.

Remember point 4 in the newsvendor setup, the one about what happens if there’s a stockout? Well, it doesn’t apply here. If a patient arrives to the ED and there are no free beds, they aren’t turned away. Instead, they end up waiting until a bed gets freed up. This fundamental property of the system makes it a queueing problem, not a newsvendor problem.

How does this change our recommended solution?

It is almost always true that wait times matter as a key output in queuing problems. As a patient going to the ED I wouldn’t care at all that the number of beds is equal to the Xth percentile of the demand distribution. What I would care about is: “Can I access a bed in a reasonably short amount of time?”

The newsvendor formulation just doesn’t have any way of accounting for wait times. It also fails to highlight one of the most important properties of queueing systems: performance (in terms of wait times) decreases rapidly and nonlinearly as the average utilization rate approaches 100%. Furthermore, it’s important to realize that the rate of performance decline depends on the size of the system and the level of variability. These are all features that are important to account for.

Therefore, for this kind of problem, I would strongly recommend some kind of queueing model, rather than the newsvendor-ish thinking of “just match the 95th percentile of demand”, or even a more informed application using the critical ratio.