AI and Demand Forecasting

There has been a lot of talk from software vendors about how Artificial Intelligence (AI) can improve the accuracy of forecasts generated from sales history.  Most of this talk has been based on the belief that it should be able to improve forecasts, but we need to gain a better understanding of when it can do so and understand when it can’t.

Forecasting software has included AI concepts for over 60 years.  Forecasting algorithms such as Exponential Smoothing and regression algorithms are examples of this and work well when forecasting demand that is stable.  Recognised specialists on the topic have gone so far as to state that AI can’t significantly improve forecasts generated from stable demand.

Non-stable demand can be described as demand that fluctuates and contains a lot of “noise”.  A major component of AI, Machine Learning, is promoted as being able to improve forecasts generated from non-stable demand because it can detect the noise and exclude it.  The simplest way to achieve this is to generate forecasts at a less granular level than the demand is recorded i.e. summarised over multiple customers and/or multiple items, then disaggregated back to the level required for stock planning.  AI can help to group customers to achieve this, but it needs to be given guidelines to operate within otherwise it could seriously slow down the generation of forecasts.

The real benefits that AI can deliver is when forecasts are affected by external events such as weather or temperature that are measurable.  However, this link must be programmed into the AI model by somebody – AI can’t examine every possible external event that might affect forecasts because this would require an enormous amount of analysis and computing power.

The other main type of demand is demand that has been radically changed by a shock such as Covid-19.  It would be nice to think that AI could help manage this, but such shocks only occur occasionally and the gap between them makes drawing conclusions from a previous shock and applying them to future forecasts very risky.  The effect of major shocks on forecasts will therefore always require some sort of manual intervention – it is unrealistic to think a machine can automatically manage them.

In all cases there are some fundamental features a forecasting system must have:

1)     Good, accurate data.  There is no point in using AI, or any system, to improve forecasts that are generated from bad data.

2)   The ability to generate forecasts at summary as well as detailed levels (top down, bottom up forecasting).  This dampens much of the noise that may exist in the historical demand.

3)   The ability to manually adjust forecasts.  There are many scenarios where defining the rules and guidelines that an AI system requires is a challenging exercise, while manually adjusting forecasts to manage obvious factors may take a fraction of time as long as the forecasting system facilitates it.

An example of this is promotions.  In theory it would be possible to predict when a promotion should be run, but creating an AI model to predict it would be difficult, whereas manually creating a promotion that impacted future forecasts would take minutes as long as the forecasting system provided functionality to do so.  Where AI can help is to determine how successful a promotion has been based on the actual sales that occurred during the life of the promotion, and determine if promotions for some items affect the sales of other items.

In summary, AI can help improve demand forecasts generated by a system but the costs and degree of difficulty in using it needs to be considered.  Also, your demand forecasting system must provide the functionality to complement it, especially where manual actions can reduce the complexity of AI models.

We believe that viewing AI as a “black box” that can generate accurate forecasts from any type of demand under any circumstances is a fallacy that understates the amount and complexity of work required to program the AI system.  Its real strength is when there are known factors that are likely to affect forecasts, and a lot of data needs to be continually analysed to determine to what extent.