This website does not support Internet Explorer. Please, switch to Edge, Chrome, or Firefox browser to view this page.

Learn about IE support

Driver-Based Forecasting: Incorporating the Impact of Promotions

Published: Reading time: 5 min
Nikhil Gupta Lead Data Scientist
Nikhil GuptaLead Data Scientist
Follow on LinkedIn

Traditional demand forecasting

For a long time, traditional demand planning solutions have relied on univariate forecasting without the use of external drivers. These solutions rely on the assumption that future demand is related to past demand in terms of trend and seasonality. For example, sales of jackets will usually spike right before winter, remain high during the winter, and eventually reduce to a low level during the summer months. This same pattern can be expected year after year. Forecasting sales of jackets using past data is a good example of the application of univariate forecasting without external drivers.

The influence of demand drivers

However, life is never so simple. External factors such as price and weather can greatly influence the sales of jackets during the winter months. Let’s take pricing, discounts, and promotions as an example. Budget-conscious customers may be inclined towards purchasing a jacket that is on discount vs. one that is not (especially in periods of high inflation). Moreover, pricing and discounts provided in past years during winter may not be the same as those planned in the current year which can again impact how much an SKU sells this year vs. past years. Similarly, sales of jackets will generally be higher during winters when the average temperature is lower than usual vs. winters with average or above average temperatures. In such cases, relying solely on past demand without incorporating these external factors can lead to forecasts with high errors.

Improving demand forecasts with promotions

Let’s look at how incorporating the impact of these external factors can improve demand forecasting. We will take the example of an SKU which has data from Oct 2019 to July 2022. The sales of this item are heavily influenced by promotions. In Figure 1 below, the blue line chart shows the actual sales of this SKU. The green bars on the bottom chart show the periods when promotions were active. As we can see, the sales show appreciable spikes when the promotions are active.

Figure 1: Univariate modeling without external drivers such as promos (Baseline)

Training and testing the demand forecast without promotions

As a starting point, we develop a univariate model for this SKU without taking into account promotions. The training data will be till April 2022 and the period after that will be used as a test set. The red line in Figure 1 shows the in-sample (train) and out-of-sample (test) predictions from this univariate model. The test period shows the breakdown of the predictions by trend and seasonal components for reference. Since this model does not take into account promotions, the promo component is zero in this case. The trend and seasonal components do a good job of capturing the volume when the SKU is not promoted, but when the SKU is promoted, seasonal and trend components are insufficient.

Refining the demand forecast with promotions

Next, let’s incorporate a flag into the model that indicates the promo period (results in Figure 2). This is a simple extension of the previous univariate model. This model definitely does a better job of capturing some of the lifts during the promo period. The forecast in the test period also shows the contribution of promos now. However, this is still a very simplistic model and it still can not capture some of the nuances during the promo period. For example, we can see that the impact of the promos is not identical in all periods. Some promos are more effective than others and result in a greater lift. The timing of the promo also matters. For example, promos in December generally lead to a greater lift compared to promos in May.

Figure 2: Modeling with basic external drivers such as when the promo is active

Enriching the demand forecast with promotion details

We can try to capture these effects in the model by incorporating richer data about the promotion such as the type of the promo, the extent of the discount, as well as other promo-related engineered features. The results of this model can be seen in Figure 3. This model is able to capture not only the lift due to promotions but the nuances in the promo periods such as the spike in various promotion periods and their timings.

Figure 3: Modeling with advanced external drivers such as when the promo is active, type of promo, discounts, and other promo-related engineering features.

Improve accuracy with driver-based forecasting

So that is it for now. As can be seen, sophisticated feature engineering related to drivers can greatly improve the accuracy of forecasting solutions which can improve downstream planning systems. Not only that, armed with the knowledge of how drivers such as promos impact sales, planners can now plan better in order to meet certain objectives such as maximizing sales or profits.

To learn more about our AI/ML Forecasting product, make sure to read our whitepaper: "AI-Powered Demand Forecasting - Future-ready Thinking with o9's Digital Brain" here.

Srm pov mockup

Multi-Tier Supply Chain Risk Management

Turn chaos into control by aligning your supply chain network partners to boost resilience.

About the author

Nikhil Gupta Lead Data Scientist

Nikhil Gupta

Lead Data Scientist

Nikhil Gupta is a Lead Data Scientist working on developing demand planning solutions at o9 Solutions. Prior to joining o9, Nikhil worked in the semiconductor industry where he applied machine learning and forecasting techniques to various domains such as circuit design and supply chain management. Nikhil holds Master’s degree in Electrical Engineering and in Data Science. Outside of work, he is an avid contributor to the open-source community and is the lead developer of the time series module in “pycaret”.


View our related articles, white papers, use cases & videos

article6 min

Prevendo a demanda com Inteligência Artificial

by o9 Solutions
Improving ml tehcniques blog header
article16 min

The Takeaways from aim10x Chicago 2024

by o9 Solutions
Hero image blog page
article3 min

5 Ways to Navigate Disruptions with Strategic Supplier Relationship Management

by Karolina Tuttle, Falko Feldchen
Supplier risk management blog 1 header v1 2
article5 min

Minimizando o Impacto das Escassez de Suprimentos na Manufatura com uma Colaboração Aprimorada com Fornecedores

by o9 Solutions
O9 supplier collaboration blog 1 header
article7 min

Os 9 benefícios que uma Torre de Controle da Cadeia de Suprimentos fornece

by o9 Solutions
Control tower blog header
article11 min

The Key Takeaways from aim10x Hong Kong 2024

by Stijn-Pieter van Houten
Key takeaways banner hk
article4 min

Navigating Large Volume Challenges: o9's Solution to Enterprise Scalability

by Stijn-Pieter van Houten
O9 mof blog navigating large volume challenges header
article4 min

Each Step Counts: What o9 Walks Means to Our Community

by Igor Rikalo
O9 walks blog page
article9 min

What is Inventory Allocation?

by o9 Solutions
Seo blog inventory allocation blog header v1
article8 min

The Takeaways from aim10x Bangkok 2024

by Stijn-Pieter van Houten
Hero image blog page
article3 min

Advanced Risk Management: Steering Supply Chains Safely Through the Storm

by Karolina Tuttle
Risk management blog 3
article16 min

Day 1 Recap: aim10x digital 2024

by o9 Solutions
Day 1 recap web banner 920x1080px