Demand Forecaster Seasonality
Forecast monthly demand from base volume, annual growth, peak month and seasonal amplitude using a trend-times-cosine model; see peak, trough and average.
Demand Forecaster Seasonality
Calculator
Adjust values & calculateEnter your values below. Every result is computed in your browser — no data is sent to any server.
Formula: Forecast = Base x (1 + g x t) x (1 + A x cos(2pi x (month - peak) / 12))
Worked example — Peak: 3,024 in December | Trough: 1,248 in June | Average: ~2,100/month
Formula
Forecast = Base x (1 + g x t) x (1 + A x cos(2pi x (month - peak) / 12))
Where Base is the average monthly demand, g is the annual growth rate, t is time in years, A is the seasonal amplitude (decimal), month is the current calendar month, and peak is the peak demand month. The cosine function creates a smooth seasonal curve that peaks and troughs naturally.
Worked Examples
Example 1: E-commerce Store with Holiday Peak
Problem:An online store has base monthly demand of 2,000 orders, 8% annual growth, peak in December (month 12), and 40% seasonal amplitude. Forecast 12 months.
Solution:Month 1 (Jan): Trend = 2000 x (1 + 0.08 x 1/12) = 2013. Seasonal factor for Jan (1 month after Dec peak) = 1 + 0.4 x cos(2pi x 1/12) = 1 + 0.4 x 0.866 = 1.346. Demand = 2013 x 1.346 = 2710. Month 6 (Jun): Trend = 2000 x (1 + 0.08 x 6/12) = 2080. Seasonal = 1 + 0.4 x cos(pi) = 0.60. Demand = 2080 x 0.60 = 1248. Month 12 (Dec): Trend = 2160. Seasonal = 1.40. Demand = 3024.
Result:Peak: 3,024 in December | Trough: 1,248 in June | Average: ~2,100/month
Example 2: Ice Cream Shop with Summer Peak
Problem:A shop sells an average of 500 units/month with 3% growth, peak in July (month 7), and 50% seasonal amplitude over 12 months.
Solution:Month 1 (Jan): Trend = 500 x (1 + 0.03 x 1/12) = 501. Phase = (1 - 7) x 2pi/12 = -pi, and cos(-pi) = -1, so Seasonal = 1 + 0.5 x (-1) = 0.50. Demand = 501 x 0.50 = 251 — six months from the peak is the trough. Month 7 (Jul): Trend = 509. Phase = 0, cos(0) = 1, Seasonal = 1.50. Demand = 509 x 1.5 = 763. Month 12 (Dec): Phase = 5 x 2pi/12, cos = -0.866, Seasonal = 0.567. Demand = 515 x 0.567 = 292. Average demand across the 12 months = 509, so swing = (763 - 251) / 509 = 100.6%.
Result:Peak: ~763 in July | Trough: ~251 in January | Seasonal swing: ~101%
Frequently Asked Questions
What is demand forecasting with seasonality?
Demand forecasting with seasonality is a quantitative method that predicts future product or service demand by combining a baseline trend with recurring seasonal patterns. Most businesses experience predictable fluctuations throughout the year driven by weather, holidays, school schedules, or cultural events. A seasonal demand model typically decomposes the forecast into a trend component that captures long-term growth or decline and a seasonal component that captures cyclic peaks and troughs. By modeling both components together, businesses can anticipate inventory needs, staffing requirements, and marketing budgets far more accurately than using simple averages or linear projections alone.
How does the seasonal amplitude affect the forecast?
Seasonal amplitude represents the maximum percentage deviation from the trend line during peak and trough periods. A 30 percent amplitude means demand can swing 30 percent above trend at the peak and 30 percent below trend at the trough, creating a total swing of 60 percent. Higher amplitudes indicate stronger seasonality, which is common in industries like retail, tourism, and agriculture. Lower amplitudes suggest more stable year-round demand, typical of utilities or essential consumer goods. Accurately estimating amplitude from historical data is critical because overestimating leads to excess inventory costs while underestimating causes stockouts and lost sales opportunities during peak periods.
What mathematical model does Demand Forecaster Seasonality use?
Demand Forecaster Seasonality uses a multiplicative seasonality model where the forecast equals the trend multiplied by a seasonal index. The trend component is calculated as base demand times one plus the growth rate times the time elapsed in years. The seasonal index uses a cosine function centered on your specified peak month with the given amplitude. The formula is Forecast = Trend x (1 + A x cos(2 x pi x (month - peakMonth) / 12)), where A is the seasonal amplitude as a decimal. This cosine model produces smooth, realistic seasonal curves that closely approximate actual business cycles and is widely used in operations research and supply chain planning.
How do I determine the peak month for my business?
To identify your peak month, analyze at least two to three years of historical sales or demand data. Calculate the average demand for each calendar month across all years, then identify which month consistently shows the highest values. For retail businesses, December is often the peak due to holiday shopping. For tourism, it depends on your location and climate. Ice cream shops peak in July or August, while ski resorts peak in January or February. Tax services peak in March and April. If you lack historical data, research industry benchmarks and competitor patterns to make an educated estimate and refine it as you collect your own data.
Can I use this forecast for inventory and staffing planning?
Yes, seasonal demand forecasts are essential tools for both inventory management and workforce planning. For inventory, use the monthly forecasted demand to calculate safety stock levels and reorder points for each period. Order more inventory ahead of peak months and reduce orders before trough periods to minimize carrying costs. For staffing, map your labor requirements to the forecasted demand curve. Begin hiring and training temporary staff two to three months before your peak season. Many retailers start seasonal hiring in September for the December rush. The forecast also helps with cash flow planning, allowing you to secure financing before high-demand periods when working capital needs increase.
What is the difference between additive and multiplicative seasonality?
Additive seasonality adds a fixed quantity in each period — December is always about 400 units above trend, whatever the trend level. Multiplicative seasonality multiplies by a seasonal index, so December is always about 30 percent above trend and the absolute swing grows as the business grows. Demand Forecaster Seasonality is multiplicative. Diagnose which fits by plotting several years: if the peaks and troughs fan out as the level rises, use multiplicative; if the band stays a constant width, use additive. Taking logs of a multiplicative series converts it into an additive one.
Why does a single cosine wave miss patterns with a sharp peak?
A cosine is symmetric, so it forces the trough exactly six months after the peak and makes the climb and the decline mirror images. Real demand is often asymmetric: a long build-up into a late-December spike followed by an abrupt collapse, or a single event week that a smooth wave spreads across two months. Adding harmonics — a second Fourier term at six-month period, a third at four months — lets the curve sharpen and skew. Estimating twelve separate monthly indices from history is the non-parametric alternative when you have three or more years of data.
Which error metric should you use when backtesting a seasonal forecast?
Hold out the most recent full season and score the forecast against it rather than against the data used to fit. Mean absolute error stays in units and is easy to explain. Root mean squared error punishes large misses harder, which matters when a single stockout is costly. MAPE is popular but misbehaves on low-volume periods, where a small absolute miss becomes a huge percentage, and it penalises over-forecasting and under-forecasting unequally. MASE sidesteps both by scoring against a seasonal naive benchmark — last year's same month — which is the baseline any seasonal model must beat.
How does forecast error translate into a safety stock level?
Safety stock is driven by the spread of the forecast error, not by the point forecast. The usual form is z × σ × √L, where σ is the standard deviation of the per-period forecast error, L is the replenishment lead time in the same periods, and z is the normal quantile for your target service level — roughly 1.65 for 95 percent. With σ of 200 units and a two-month lead time, safety stock is 1.65 × 200 × √2 ≈ 467 units. Halving forecast error halves the buffer, which is where forecasting work pays back.
How should moving holidays and unequal month lengths be handled?
A twelve-period seasonal index silently assumes every month is the same length and every holiday lands in the same one. Neither holds. February has about 10 percent fewer selling days than a 31-day month, so its index absorbs a calendar artefact that has nothing to do with seasonality. Easter moves between March and April, Ramadan drifts about eleven days earlier each year, and the number of weekends in a month varies. The standard fix is to normalise demand per trading day before fitting and to add explicit holiday regressors rather than letting the seasonal term blur them.
References
Background & Theory
History
Reviewed for accuracy by Daniel Agrici, Founder & Lead Developer · Editorial policy
Related Calculators
📈Demand Forecast & Seasonality
Forecast demand with seasonality adjustments and promotional uplift modeling
🎧Helpdesk Staffing & Workload Forecaster
Calculate optimal helpdesk staffing based on ticket volume and SLA targets
🧮Energy Consumption Forecaster
Calculate energy consumption forecaster with inputs, formulas, and instant results.
🧮Grade Improvement Forecaster
Calculate grade improvement forecaster with inputs, formulas, and instant results.
🧮Habit Streak Forecaster
Calculate habit streak forecaster with inputs, formulas, and instant results.
🧮Weight Trend Forecaster Personalized
Calculate weight trend forecaster personalized with inputs, formulas, and instant results.
🧮Color Palette Balance AI
Calculate color palette balance ai with inputs, formulas, and instant results.
🧮EV Route Charge Planner Range AI
Calculate ev route charge planner range ai with inputs, formulas, and instant results.