DEMDemandStop 9 of 12
- Forecasting fundamentals
- Demand patterns & classification
- Exponential smoothing & ETS
- Intermittent demand: Croston, SBA, TSB
- ML & global forecasting models
- Forecast accuracy & bias
- Probabilistic forecasting
- Hierarchical forecasting
- Promotions, cannibalization & halo
- New products & phase-outs
- Demand sensing & shaping
- Consensus forecasting & FVA
Promotions, cannibalization & halo
Estimating how much extra a promotion sells, the dip that follows, and what it does to related products.
Read atChange any time
A “buy one, get one free” on a 500 ml shampoo can double its sales for two weeks. Forecasting that well means separating two pieces:
- Baseline: what would have sold without the promotion.
- Uplift (lift): the extra caused by the promotion, which depends on discount depth, display, advertising and timing.
Mixing them causes trouble both ways. If promotion spikes are left in the history, the baseline forecast is inflated for weeks with no promotion. If they’re simply deleted, the company forgets how strongly customers react next time.
Promotions also have side effects:
- Post-promotion dip: shoppers stocked up, so sales fall below normal for a while afterwards. This is called pantry loading, or forward buying when retailers do it.
- Cannibalization: the promoted 500 ml steals sales from the 200 ml pack and from a sister brand, so total category sales rise less than the promoted item’s spike suggests.
- Halo: related items sell more, such as conditioner alongside the promoted shampoo, or chips during a cola deal.
So a promotion’s true effect is lift, minus the dip, minus cannibalized sales, plus halo. That net number is what should drive production and stock, and it decides whether the promotion made money at all.
Words to use
- Baseline demand
- Expected sales without any promotion or special event.
- Cannibalization
- Sales the promoted item takes from your own other products.
- Halo effect
- Extra sales of related products caused by a promotion.
Step by step
- Flag promotional periods in the history, with their mechanics: discount depth, display, advertising, multibuy.
- Estimate the baseline, what would have sold without the promotion, usually from nearby non-promoted weeks or a model fitted on them.
- Measure lift: sales during the promotion minus the baseline, often expressed as a percentage, by type of promotion.
- Measure the after-effects: the dip after the promotion, cannibalization of related items and halo on complementary ones.
- Model the drivers: relate lift to discount depth, display and advertising, so a future promotion can be forecast from its plan.
Baseline: 1,000 units a week at ₹300, costing ₹180, so a normal margin of ₹120 a unit. During the promotion the price is ₹225 and the margin ₹45.
- Promotion weeks: 2,100 and 1,900 units, 4,000 against a baseline of 2,000. Lift: 2,000 units, or +100%.
- Post-promotion dip: the next two weeks sell 800 and 900, 300 below baseline.
- Cannibalization: the 200 ml pack loses 270 units (₹50 margin each) and a sister brand loses 150 (₹100 margin each).
- Halo: conditioner sells 200 extra units (₹80 margin each).
Margin compared with no promotion:
- Promotion weeks: 4,000 × ₹45 = ₹1,80,000, against ₹2,40,000 at baseline: −₹60,000.
- Dip: −₹36,000. Cannibalization: −₹13,500 and −₹15,000. Halo: +₹16,000.
- Net: −₹1,08,500.
Sales doubled, and the promotion still lost money, before counting any supplier funding or new customers it attracted.
What the forecast needs
- Forecast the baseline from clean history, and add planned uplift for each upcoming promotion from its mechanics.
- Forecast the dip and the cannibalization on the items they affect, so the supply plan doesn’t overstock them.
- Keep the promotion calendar in the planning system with its mechanics, not just its dates.
Price elasticity
Price elasticity is the percentage change in quantity divided by the percentage change in price. In the example, a 25% price cut doubled sales: an elasticity of about +100% ÷ −25% = −4. That is very high, and typical of temporary discounts, because shoppers switch brands and stock up. Permanent price changes usually show much smaller elasticities, because stockpiling and switching settle down. Models often regress log sales on log price, so the coefficient is the elasticity directly.
Lift isn’t constant
- Fatigue and reference prices: the more often an item is promoted, the less each promotion lifts it, as shoppers learn to wait for the deal and the discounted price becomes the price they expect.
- Mechanics interact: a discount with an in-store display and an advert can lift far more than the three effects added separately.
- Timing: promotions in festival weeks or around paydays behave differently from ordinary weeks.
So lift should be modelled on its drivers and recent history, not copied from the last event.
Where the extra sales come from
Research that decomposed promotional bumps in store data (van Heerde, Leeflang and Wittink, 2004) splits the extra sales into brand switching, buying more or earlier (stockpiling) and genuine growth of the category. Only the last is new demand for the category; the rest is borrowed from competitors, from your own future weeks or from your other products.
Trade promotions and the bullwhip
Discounts offered to retailers, rather than to shoppers, invite forward buying: retailers stock up at the deal price and sell at normal prices later, sometimes reselling elsewhere (diversion). Shipments spike and collapse while consumer demand barely moves, one of the classic causes of the bullwhip effect. Everyday low pricing (EDLP) was partly a response: steadier prices give steadier orders.
Supply-side consequences
Promotions need stock in place before day one (filling store shelves and displays), special packs that become dead stock if over-ordered, and a plan for the dip, when production should slow rather than keep running at the peak rate.
Interview kit
Practise it out loud
Answer each question yourself before opening the model answer.
I’d forecast promotions as baseline plus uplift, with the uplift driven by discount depth, display, advertising and timing. Then I’d adjust for the post-promotion dip, cannibalization of the company’s own products, and halo effects on related items. The net incremental volume is what drives supply, and also tells us whether the promotion paid for itself.
A promotion doubled the item's sales. Was it a success?
Not necessarily. Subtract the post-promotion dip, the sales taken from sister products and the discount cost, and add any halo on related items. Only the net incremental margin tells you whether it worked, and whether the extra volume strained supply.
How should past promotions be treated in the history used for forecasting?
Don’t feed raw spikes into the baseline model, and don’t just delete them either. Flag promotion periods, model the baseline without their effect, and keep the promotion data to estimate uplift for future events. That is where ML models with promotion features do well.
Connected stops
Where this idea feeds in, or gets its inputs from.
Sources and further reading
- Hyndman, R. J. & Athanasopoulos, G. Forecasting: Principles and Practice (3rd ed.). OTexts. Chapters on regression and dynamic regression with predictors.
- Makridakis, S., Spiliotis, E. & Assimakopoulos, V. (2022). M5 accuracy competition: Results, findings, and conclusions. International Journal of Forecasting, 38(4), 1346–1364.
- van Heerde, H. J., Leeflang, P. S. H., & Wittink, D. R. (2004). Decomposing the sales promotion bump with store data. Marketing Science, 23(3), 317–334.
- Blattberg, R. C., & Neslin, S. A. (1990). Sales Promotion: Concepts, Methods, and Strategies. Prentice Hall.