Capturing Unconstrained Demand in Supply Chains
By: Nicolas Vandeput
Tags: Supply Chain Management, Supply Chain, Planning, Demand Forecasting, Forecasting

Capturing real demand is difficult for supply chains. If not impossible.

The real demand is your clients’ initially requested product, quantity, and delivery date. Demand is not your actual sales. Sales are constrained by the inventory at hand or, more generally, by supply availability. In other words, demand is about what your clients want, how much do they want, and when do they want it. Not what you delivered, how much you delivered, and when you delivered it.

When you are out of stock (copyright: Nicolas Vandeput)

💣 Most companies do not record demand but sales.

Sales are constrained by a lack of on-hand inventory. We are, henceforth, interested in what happens when you run out of stock.

❓ How do you measure demand?

❓ What if your clients buy another product than their initial choice?

❓ What if your clients introduce their orders multiple times?

❓ How do you know if a product is out-of-stock? (this should be your first objective)

A perfect demand collection is often impossible. But each step toward better data will result in a better forecast. Simply put,

more data = better forecast

better data = better forecast

Here are a few ideas to get better demand data.

👍 Collaboration

Collaborate with your clients and ask for their sell-out information. Altogether this will reduce the bullwhip effect and will allow you to track the real demand and not just how many goods they ordered from you.

📦 Track Out-of-Stocks

Tracking when you are out of stock will allow you (or your model) to know when demand and sales are not aligned. This out-of-stock information can then be fed to your forecasting engine: the model should learn that sales are constrained during out-of-stock periods.

As they can learn complex, non-linear relationships, machine learning models will be particularly suited to deal with this kind of demand driver.

On the other hand, statistical models will have a more challenging time during out-of-stocks periods (a potential solution would be to treat any period without inventory as an outlier).

📊 Analyze Demand Drivers

Instead of tracking historical demand to populate your future forecast, you can use demand drivers (such as weather, web traffic, number of people visiting a store, …). A lack of inventory won’t impact these drivers. Using them might give a more robust picture of the demand (despite a low sales volume).

💰 Products’ Cannibalization

Being out-of-stock on one product might result in higher sales for another product as your clients have to fall back on similar products. This effect will result in too many sales for one product and not enough for another one. Product cannibalization is especially difficult to take into account when forecasting (both for ML and stats models).

One potential solution is to make a demand forecast at a family level rather than at an SKU level. Unfortunately, this technique is not a silver bullet against product cannibalization and will come with its own challenges:

Defining meaningful families is not a trivial task.

You will have to pay careful attention when splitting the family forecast into an SKU forecast.

Imagine one SKU (within a family) was recently out-of-stock. This will impact the future demand split and allocate a lower forecast to this particular SKU. In turn, this will result in less stock deployed for this SKU, kickstarting a vicious circle of ever lower forecasts and sales.

📠 Sales Order Management System

A good sales order management system is critical to keep track of demand (rather than just sales). This will help you to: