How to Forecast Promotions and Their Demand Lift
Promo forecasting means separating baseline demand from promotional lift, then modeling the uplift a discount drives. Learn how to forecast promo demand and stock for it.
You ran the same 20%-off email as last quarter, sold out in a day, and spent the rest of the week apologizing to customers, because nobody forecast the lift. The promotion worked exactly as promotions do. The inventory plan just never heard about it.
Promotion forecasting separates baseline demand (what you'd sell without the promo) from promotional lift (the extra units the offer drives), then estimates the uplift for the planned promotion using past promo performance. The forecast is baseline plus modeled lift. Getting it right means stocking enough for the spike without overbuying for demand the promo merely pulled forward.
Key takeaways
- Every bad promo forecast blurs the same line: baseline (what would have sold anyway) and lift (what the offer creates) must be modeled separately.
- Your own past promos are the model: one clean comparable (same depth, channel, season) beats an average of dissimilar ones.
- Part of the spike is borrowed, not created: pull-forward demand returns as a below-baseline trough after the event, and it changes the promo's real ROI.
- A promo forecast has three phases: baseline before, spike during, trough after. Stock and reorder against all three.
What is baseline vs promotional demand?
Baseline demand is what the SKU would sell in the promo window with no offer running: the organic rate from your regular forecast. Promotional lift is everything above that line, the incremental units the discount, placement, and traffic push create. Total promo-window demand is the two added together, and every promo forecast that goes wrong goes wrong by blurring them.
Why you must separate them
Three planning decisions depend on the split. Stocking: the lift is the extra inventory the promo needs; buy against the blended total and you'll misjudge both the promo SKU and the weeks after. Measurement: whether the promo "worked" means whether the lift covered its discount cost, which you can't know without a baseline. And learning: the lift percentages you record this time are the inputs that forecast the next promotion. Skip the separation once and all three decisions degrade together.
How do you model promotional lift?
Estimate lift from your own comparable past promotions: same discount depth, similar channel, similar time of year, then apply that lift percentage to the current baseline. If 20%-off emails to your list have historically run around +150% over baseline for the promo week, and this SKU's baseline for that week is 200 units, the modeled lift is 300 units and the forecast is 500. One clean comparable beats an average of dissimilar ones; three clean comparables beat everything.
The factors that move lift
When no comparable is exact, adjust along the dimensions that matter most:
- Discount depth: lift grows nonlinearly. The jump from 20% to 30% off can more than double response, and shallow offers sometimes barely move it.
- Audience and channel: a sitewide banner, an email to your full list, and a paid campaign reach different pools. Lift follows reach and warmth.
- Timing: the same offer performs differently in a gifting week versus a dead one. Seasonality multiplies the promo rather than adding to it.
- Product role: best-sellers lift on awareness alone, while slow movers need the discount to do all the work.
Write the adjustment you made next to each factor, the same discipline as any forecast built on judgment.
Pull-forward vs true incremental demand
Some of the spike isn't new demand, it's next month's demand arriving early. Loyal customers who would have bought anyway stock up at the discount, and the weeks after the promo run below baseline as a result. Read your post-promo troughs from past events: if a big spike is followed by a visible dip, that share of lift is pull-forward, not incremental. It still needs stocking (the units sell either way), but it changes the economics of the discount and the reorder you place for the weeks after. A promo forecast has three phases: baseline before, spike during, trough after.
How do you stock for a promotion?
Buy to baseline plus expected lift plus a buffer scaled to how confident the lift estimate is, and time the order so stock lands before the push, not during it. Count backward from the promo date by your lead time, exactly as you would for a season. Underbuying a promotion is uniquely painful because you paid (in discount and ad spend) to create demand you then can't fulfill; overbuying is the usual cash and markdown cost. The buffer sits wherever that trade hurts less for the SKU in question.
This is the planning gap where marketing and inventory finally have to share a calendar, and it's the disconnect Conative AI was built around. The forecast reads your marketing signals: planned promotions and campaign spend move the demand number before the spike hits, instead of after, so the reorder for a promo SKU already carries the lift when it's drafted. Inventory-aware marketing runs the same connection in reverse, keeping ad spend off SKUs that can't cover the demand. AI-powered demand forecasting with the marketing calendar inside it. See a demo before your next big send. (Which products deserve the promotion in the first place is its own decision, covered in choosing products to promote; what a promo does to neighboring SKUs is owned by demand cannibalization.)
Frequently asked questions
What is promotional uplift modeling?
Uplift modeling estimates the incremental demand a promotion will create above baseline, usually from your own history of comparable events: same discount depth, channel, and season. The output is a lift percentage applied to the baseline forecast for the promo window. Better models also account for pull-forward, the post-promo dip, and effects on related SKUs.
How do you measure the lift from a past promotion?
Reconstruct the baseline: what the SKU would have sold that week without the offer, from surrounding weeks and its regular forecast. Lift is actual promo-week sales minus that baseline, expressed as a percentage. Check the following weeks too; a below-baseline dip after the event is pull-forward demand that should be netted out of the "win."
Does a discount always increase total demand?
No. A discount always shifts demand, but part of the spike is often pull-forward: customers who would have bought later buying now, at a lower margin. For loyal-audience promos the pull-forward share can dominate. True incremental demand comes from buyers the offer genuinely converted. Comparing the spike against the post-promo weeks reveals the mix.
What is demand pull-forward?
Pull-forward is future demand arriving early because of a promotion: customers accelerate a purchase they'd have made anyway to capture the discount. It shows up as a sales trough in the weeks after the event. It still requires stock during the promo, but it isn't new demand, so it changes both the promo's real ROI and the reorder you place afterward.
How do you forecast a first-time promotion?
Borrow the nearest comparable: a similar offer on a similar product, or category-level lift from whatever events you have run, then adjust for discount depth, audience size, and timing. Hold the estimate as a range, stock toward the end of it that hurts less, and record the actuals carefully; the first event's data is what makes the second forecastable.
How much extra stock should you hold for a sale?
The modeled lift plus a buffer proportional to your uncertainty about it. A well-precedented promo might warrant a small cushion above the lift estimate; a first-time or deep-discount event deserves a wider one. Weigh the asymmetry: paying ad spend and discount to drive customers into a stockout is usually costlier than carrying some extra weeks of supply.

