Retail Insights: AI Tools, Forecasting & Inventory Trends

How Do Promotions Affect Demand Forecasting?

Written by Anshuman Jaiswal | May,2026

Promotions are the single biggest controllable driver of demand and the single biggest source of forecast error. The reason is that a promotion never affects just one product. It ripples through the entire category, sometimes the entire basket, and often into the next planning period.

Most legacy forecasting systems handle promotions as a simple uplift factor applied to a baseline. That works for the promoted SKU. It fails for everything else the promotion touches. Here are the four effects every demand planner needs to model, why they happen, and how AI detects them.

The Four Secondary Effects of a Promotion

Most articles on this topic cover two effects, cannibalisation and halo. The complete picture has four. Missing any of them produces predictable forecast errors and inventory pain.

Effect

What Happens

Direction

Forecast Risk

Lift

Promoted SKU sales rise

Positive on promoted product

Under-stocking, missed sales

Cannibalisation

Substitute SKU sales fall

Negative on substitutes

Over-stocking substitutes

Halo

Complement SKU sales rise

Positive on complements

Under-stocking complements

Pull-forward

Future demand brought to now

Positive now, negative later

Post-promo demand cliff

1. Lift: The Direct Sales Increase

This is the obvious one. Run a 30% off promotion on shampoo and sales of that shampoo go up. Quantifying that lift correctly requires comparing actual sales during the promotion against what would have happened without it, the baseline.

Lift = Actual Promo Sales − Baseline Forecast

 

Baseline subtraction is harder than it sounds. The baseline can't be the previous week's sales (the previous week might have been a holiday). It can't be the same week last year (the product mix or pricing was different). It has to be a properly modelled counterfactual, what would have sold if the promotion hadn't happened. This is one of the places where AI forecasting outperforms traditional methods most clearly. The model can synthesise a baseline from comparable non-promotional periods and isolate the true incremental lift.

Key takeaway: Promotional lift is meaningless without a credible baseline. If your model can't generate a counterfactual, your reported lift is just total sales with extra steps.

Key takeaway: Promotional lift is meaningless without a credible baseline. If your model can’t generate a counterfactual, your reported lift is just total sales with extra steps.


2. Cannibalisation: When Promotions Eat Other Products

Run a promotion on Pampers and Huggies sales drop. The customer who would have bought Huggies bought the cheaper Pampers instead. The promoted product's sales went up. The category's total sales went up much less than the promotion suggested, because some of the lift was just stolen demand.

Cannibalisation hits hardest in commodity categories where products are near-perfect substitutes (basic groceries, household staples, undifferentiated apparel). It's less aggressive in categories with strong brand loyalty or differentiated features.

Cannibalisation often eats into higher-margin products. A successful promotion can boost top-line revenue while quietly compressing category margin, a pattern that only shows up in cross-SKU analysis.

Churchill Systems, retail forecasting research

Key takeaway: Watch category margin, not just promoted product revenue. Cannibalisation can make a promotion look successful at the SKU level while it's destroying value at the category level.

3. Halo: When Promotions Lift Other Products

The opposite of cannibalisation. Promote pasta and sauce sales rise. Promote a vacuum cleaner and dust bag sales rise. The customer attracted by the promoted product also picks up complementary products on the same trip.

Halo effects are often where the real margin opportunity lives, because the complementary products usually aren't discounted. The classic example is a grocer running a deep promotion on raw chicken and capturing full-margin lift on barbecue sauce, charcoal, and produce in the same week.

The forecasting risk with halo is the opposite of cannibalisation. If the model doesn't anticipate the halo lift, the complementary products go out of stock during the promotion. A real-world example from retail research: a national retailer ran a successful promotion on a top-rated vacuum cleaner that needed custom-sized dust bags. The bags weren't stocked in sufficient quantities. Customers couldn't use the vacuum without them and abandoned the entire purchase, which led to lost sales, returns, and frustrated shoppers.

Key takeaway: Halo products are a margin opportunity if you stock for them and a customer-experience disaster if you don't. The forecasting model needs to know which complements rise with which promotions.

4. Pull-Forward: The Effect Most Articles Miss

This is the underdiscussed effect that quietly inflates promotional ROI in almost every retail organisation.

A customer who would have bought your shampoo next week sees the promotion this week and buys it now. The promotion didn't grow demand. It just pulled demand forward in time. The current week looks great. The week after the promotion ends shows a demand cliff because the customers who would have bought then have already bought.

Naively measured, the promotion delivered strong lift. Properly measured, much of that lift was demand that was already coming. The genuine incremental impact is far smaller than the headline number suggests.

What a demand cliff looks like. A household staples SKU runs a four-week sales cycle: baseline forecast of 1,000 units per week, then a promotional week, then two post-promo weeks.

Week

Baseline forecast

Actual sales

Variance

Notes

Week 1

1,000

1,020

+2%

Normal week

Week 2 (promo)

1,000

1,800

+80%

Headline lift looks strong

Week 3

1,000

620

−38%

Demand cliff begins

Week 4

1,000

800

−20%

Cliff continues

Headline lift in the promo week is 800 units. Across the full four-week window, total actuals are 4,240 units against a baseline of 4,000. The genuine incremental impact is 240 units, not 800. Naive measurement would have overstated the promotion’s impact by more than 3x.

Key takeaway: Always measure promotional impact across a window that includes the post-promotion period, not just the promotion week. Pull-forward is the silent killer of promotional ROI calculations.

Typical Promotional Effect Benchmarks by Category

Cannibalisation rates, pull-forward windows, and halo strength vary widely by category. The ranges below are typical for mature retailers and serve as a sanity check on promotional analysis. A measured cannibalisation rate of 5% in basic groceries should raise questions about the baseline model; the same number in differentiated consumer electronics is plausible.

Category

Cannibalisation rate

Pull-forward window

Halo strength

Basic groceries

30 to 50%

2 to 3 weeks

Low

Household staples

20 to 35%

3 to 6 weeks

Low

Apparel

15 to 30%

1 to 2 weeks

Moderate

Consumer electronics

5 to 15%

4 to 8 weeks

Moderate to high

Beauty and personal care

10 to 25%

2 to 4 weeks

Moderate


How AI Detects Cross-SKU Relationships

Identifying which products are substitutes, which are complements, and which are independent in a catalogue of tens of thousands of SKUs is where modern AI forecasting earns its place. The core technique borrowed from association rule mining uses three metrics.

Support

How often two products appear together in a basket. High support suggests a relationship worth investigating, but doesn't tell you what kind.

Confidence

Given that product X was bought, how often was product Y also bought? High confidence between two products usually indicates a complementary relationship, the foundation of halo modelling.

Lift (the association metric, not the promotional one)

How much more often two products appear together than chance would predict. This is the key signal for cannibalisation detection. Tredence research on promotion analytics describes how cross-price elasticity gets layered on top to quantify the strength of substitute and complement relationships.

In practice, the model scans transaction data across millions of baskets to identify candidate relationships, then uses historical promotional outcomes to validate which relationships actually drive cannibalisation or halo. A good model recognises that wine and cheese are complements while two Cabernet Sauvignons in the same price tier are substitutes.

A worked example. Across 10,000 baskets, wine appears in 30% of them and cheese in 25%. The two appear together in 20% of baskets. Support for the wine-and-cheese pair is 20%. Confidence that a wine buyer also buys cheese is 20% divided by 30%, or 67%. Lift is the observed co-occurrence (20%) divided by the rate expected by chance (30% × 25% = 7.5%), giving 2.67. A lift well above 1 confirms a complementary relationship; a lift below 1 would point to substitution. This is the calculation that lets the model classify the pair as halo rather than cannibalisation, automatically.

Key takeaway: AI doesn't guess at cross-SKU relationships. It learns them from basket data using support, confidence, and lift, then validates with historical promotion outcomes.

The SKU vs Category Aggregation Question

This is the methodology choice that trips up almost every promotional analysis, and it echoes the aggregation paradox that affects forecast accuracy measurement.

Analyse promotional impact at the SKU level and you'll see strong lift on the promoted product. Analyse at the category level and you'll often see the lift shrink dramatically, because cannibalisation pulled sales from substitutes within the same category. Both numbers are correct. They answer different questions.

The SKU number tells you whether the promotion succeeded for the promoted item. The category number tells you whether the promotion succeeded for the business. For commodity categories where substitutes are abundant, category-level analysis is the only honest measure. For unique or differentiated products with weak substitutes, SKU-level analysis is fine.

Key takeaway: Match the aggregation level to the question. Commodity categories need category-level promotional analysis; differentiated products can be measured at the SKU level. Mixing levels produces misleading conclusions.

When Promotions Don't Grow Demand at All

This is the part of promotional planning that most articles skip, and it's where honest analysis pays off.

After accounting for cannibalisation and pull-forward, some promotions create no incremental demand at all. They simply move demand around. The promoted product's revenue rises, substitute products' revenue falls by a similar amount, and the post-promotion period falls because future demand was pulled forward. Net effect on category revenue: roughly zero. Net effect on category margin: negative, because the discount was real and the demand was already coming.

These zero-growth promotions are surprisingly common in commodity categories with high cross-price elasticity. A good promotional analysis identifies them before they run, so the planning team can either reshape the promotion (deeper discount, different SKU, different timing) or skip it entirely. Running them anyway destroys margin without growing the business.

Key takeaway: Not every promotion grows demand. Some just shuffle it. The job of promotional forecasting is to tell you which is which before the promotion runs.

How OnePint.ai Models Promotional Impact

Promotional forecasting needs cross-SKU and cross-category models, baseline subtraction, and post-promotion window analysis. This is exactly what OnePint.ai is built to handle. Pint Planning applies AI-powered demand forecasting that isolates lift, cannibalisation, halo, and pull-forward as separate components, then updates forecasts for promoted products, substitutes, complements, and the post-promotion period together. Pint Control Center surfaces what-if scenarios so planners can compare promotional outcomes before committing to a campaign.

Customers using the platform see 20 to 30% better forecast accuracy, up to 85% fewer stockouts, and 10 to 20% lower fulfilment costs. Promotional accuracy gains are typically larger than baseline accuracy gains because the legacy forecasting tools most retailers replace were never designed to handle cross-SKU effects in the first place. OnePint.ai was also recognised as a 2025 Gartner Cool Vendor in Supply Chain Planning Technology.

Frequently Asked Questions

What is the difference between cannibalisation and halo effects?

Cannibalisation is when a promotion on one product reduces sales of substitute products in the same category. Halo is when a promotion on one product increases sales of complementary products that are typically bought together. Both effects need to be modelled or the post-promotion forecast will be wrong on every affected SKU.

How do you measure promotional lift accurately?

Compare actual promotional sales against a properly modelled baseline forecast that represents what would have sold without the promotion. Don't use the previous week's sales (different conditions) or last year's sales (different product mix). The baseline has to be a counterfactual, which is one of the places where AI forecasting outperforms traditional methods most clearly.

What is pull-forward in promotional forecasting?

Pull-forward is when a promotion shifts demand from future periods into the current period rather than creating new demand. The current week looks great because customers bought now instead of later. The post-promotion week shows a demand cliff. Naive measurement counts pull-forward as lift, which inflates promotional ROI substantially.

Why does my forecast fail during promotions even when the model is accurate the rest of the time?

Most legacy forecasting models treat each SKU in isolation and apply promotions as a simple uplift factor. They miss cannibalisation on substitutes and halo lift on complements entirely. A model that handles baseline forecasting well can still fall apart the moment a promotion enters the picture, particularly in categories with abundant substitutes.

How long should a post-promotion analysis window be?

At minimum two weeks beyond the promotion end date, ideally four weeks for products with longer purchase cycles. Pull-forward effects can extend well beyond the promotion period itself, particularly in categories with infrequent purchase cycles like household staples. Analysing only the promotion week itself systematically overstates incremental impact.