How to incorporate out-of-stocks (OOS) in forecasting

Real-time point-of-sale (POS) data is a must for a good demand forecast. It’s a direct demand signal from the consumer that avoids the distortions and delays that retailer orders often introduce.

But even POS doesn’t always fully capture true demand as it only reflects what shoppers actually purchased. It doesn’t tell you what was desired, but not purchased because your product was not available. For example, when a great promo causes an item to go out-of-stock or products are perpetually understocked in certain stores, the actual demand for the product is most likely higher than what the sales numbers reflect.

If you don’t account for these out-of-stock events by adjusting the data set going into your models, they can’t learn from the mistake and you’re doomed to repeat it. Sales will be artificially depressed again because you only forecasted to sell, and thus only sourced, made and delivered, as much as you did before.

To break the cycle and get a head start preventing lost sales, you need to know when, where and what products had out-of-stocks. Then there are three main methods for adjusting the data to incorporate this input in your demand forecasts. There are pros and cons to each, but the important thing is to not simply ignore previous out-of-stock events when preparing your data.

1. Exclusion

As the name implies, exclusion basically deals with out-of-stocks by removing any affected data points from your time series.

Since it completely deletes sales that would have been impacted by out-of-stocks, the result is a neat time series. It only contains data that is closer to true demand for use in forecasting. The “dirty” data points do not have the opportunity to bias the forecast because of uncaptured lost sales. The methodology is fairly straightforward and easy to implement unless you have extremely frequent out-of-stocks.

However, out-of-stocks typically do not occur at random. For instance, they may be linked to certain stores, regions, or seasonal patterns where demand is higher than average. These patterns hold critical insights that, if effectively identified, could make a real difference in forecast accuracy, not to mention sales and marketing decisions.

As a result, while exclusion will give you good baseline forecasts by keeping the data clean, it is likely to still underpredict sales during the business critical times when out-of-stocks tend to occur, such as promos or holidays.

2. Imputation

This method is another attempt at creating a clean time series, while avoiding the gaps left by exclusion. Instead, you make a concerted effort to fill those gaps by estimating (i.e., imputing) the true demand levels where there were out-of-stocks. You’re answering the question: “What would sales have been if there had been enough inventory on shelf to fully service demand?”

The main problem with applying this method is its difficulty. There’s no way to know for sure what could have been. To create a close estimate, you need enough historical data from similar locations and events that don’t go out-of-stock to give a realistic idea of what true demand should be. Otherwise, they are just guesses with the sheer purpose of filling in the gaps, regardless of the accuracy. This process introduces bad data that could be misleading, and you wouldn’t even be able to determine whether you are over- or under-predicting true demand.

If you are able to accurately estimate true demand, the advantages of imputation are great. You have a clean, continuous time series that gives you the most flexibility. You can easily apply different forecasting models and it can even be leveraged for other applications. Setting your team up for success goes back to the data again. The more granular (store and SKU-level) sell-through and out-of-stock data you can get, the more opportunities you have to directly compare similar locations and events and better estimate the imputed values when you have out-of-stocks.

3. Categorical Indicator Variable (Flagging)

The third way to incorporate out-of-stock events is to actually acknowledge it inside the forecast as a special event. The last two methods took out-of-stocks into account by adjusting the sales numbers of the time series; flagging is separate from the sales data and adds a categorical indicator variable that can go into the model formulation.

Flagging allows you to categorize out-of-stocks, so you can treat different types of occurrences differently. For example, out-of-stocks caused by a retailer consistently under-ordering vs. one caused by a sudden weather event that impacted shipments, should not necessarily be treated the same way when forecasting demand. It also allows you to differentiate between when POS does reflect true demand (when there are no out-of-stocks) and when it does not.

These strengths of flagging enrich your data set, but out-of-stocks can still only be incorporated at the broad categorical level, not quantitatively like with imputation. Flags are typically a discrete variable, so it is hard to also indicate the magnitude of impact each of these types of out-of-stock events has, particularly if they are one-off events. This nuance gets lost, so if it can be calculated, a more precise method could yield more accuracy.


Summary of methodologies for incorporating OOS in your forecast

In our next post, we discuss how to choose which methodology to use to incorporate out-of-stocks in your demand forecasts. Your industry, the type of forecasting model you’re using and data you have access to may all impact your decision.

Related resources


Seven steps to identify and prevent lost sales

Learn seven tips for never missing out on a sale due to out-of-stocks.

Keep reading

Choosing the “right” demand forecasting model

We review three different classes of commonly used demand forecasting methods, including the best products for each, pros, cons and example models.

Keep reading

Rise above your silos during business critical events

Learn concrete steps to target the most common sources of planning and execution errors, ensuring your peak consumer demand turns into dollars.

Keep reading