Demand Forecast & Seasonality
Forecast demand with seasonality adjustments and promotional uplift modeling. Enter values for instant results with step-by-step formulas.
Formula
Forecast = (Base ร Trend ร Seasonality) ร (1 + PromoLift)
We use a classical multiplicative decomposition model. We start with the Baseline, apply the Trend (Growth), multiply by the Seasonality Index (e.g., 1.2 for holiday), and finally apply the Promotional Lift. We then subtract Cannibalization to find True Incremental Sales.
Worked Examples
Example 1: Holiday Sale
Problem:Base 1000, 1.5 Seasonality (Dec), 50% Promo Lift
Solution:Seasonal Base: 1500. Promo: 1500 * 1.5 = 2250.
Result:2250 Forecasted Units
Example 2: Summer Slump
Problem:Base 1000, 0.8 Seasonality (Aug), 0% Promo
Solution:Seasonal Base: 1000 * 0.8 = 800.
Result:800 Forecasted Units
Frequently Asked Questions
What is Seasonality?
Predictable, recurring fluctuations in demand (e.g., Ice cream in summer, Toys in December). It is usually expressed as an index (1.0 = average, 1.2 = 20% above average).
Why forecast decomposition?
It helps you know *why* sales happened. Was it the ad campaign? Or just Christmas? If you confuse Seasonality with Promo Lift, you'll overspend on ads.
How do I forecast revenue?
Bottom-up forecasting multiplies expected units sold by price. Top-down starts with market size and estimates market share. For existing businesses, use historical growth rates with adjustments. For SaaS: Forecast MRR = Current MRR + New MRR - Churned MRR + Expansion MRR. Always model best, expected, and worst case scenarios.
Background & Theory
The Decomposition Model
Sales = Baseline ร Trend ร Seasonality ร Event
- Baseline: What you sell on a boring Tuesday.
- Trend: Is the brand growing or shrinking?
- Seasonality: The calendar effect (Day of week, Month of year).
- Event: The promo, price cut, or TV spot.
The Cannibalization Trap
Promotions often look profitable on the surface but destroy value hidden elsewhere.
- Temporal Cannibalization: "Pantry Loading." I buy 3 shampoos because they are 50% off. I won't buy shampoo again for 6 months. Sales didn't increase; they just moved.
- Cross-Product Cannibalization: I buy the discounted Nike shoes *instead* of the full-price Adidas shoes. Store revenue might actually drop.
Practical Tips
- Clean Your Data: Remove out-of-stock periods from your history. If you had no stock, sales were zero, but demand was not.
- Use Indices: Create a "Seasonal Index" for every week of the year. Week 52 might be 2.5x. Week 5 might be 0.8x.
- Post-Event Analysis: After every promo, calculate the "Lift." Save this variable to predict the next one.
History
The Almanac Era
Farmers were the first demand forecasters. Using almanacs, they predicted seasonal weather patterns to plan crops. Retailers adopted this "Calendar-based" planning in the 19th centuryโstocking coats in winter and swimsuits in summer.
Time Series Analysis
In the 1920s, economists began decomposing time series data into Secular Trend, Seasonal Variation, Cyclical Fluctuation, and Irregular Variation. The Holt-Winters method (1960) added exponential smoothing, allowing algorithms to "learn" seasonality from history automatically.
Machine Learning & Causal AI
Today, retailers like Walmart and Amazon use Gradient Boosted Trees and Deep Learning (LSTM/Transformer) models. These don't just look at history; they look at "features" (Weather, Price, Competitor Actions, Local Events). However, the fundamental concept of "Baseline vs. Uplift" remains the core language of merchandising.
Common Misconceptions
- Myth: "We sold more, so the promo worked." Reality: You might have sold more because it was Payday or Black Friday. You must strip out seasonality to measure promo effectiveness.
- Myth: History repeats exactly. Reality: COVID-19 broke all seasonal models. Modern forecasting requires "intervention" adjustments.