June 23, 2026
By 
Mike Le

Moving Average Forecasting: Simple but Useful

Moving Average Forecasting: Simple but Useful

Moving average forecasting smooths recent sales into a demand estimate. Learn simple vs weighted moving average, how to calculate it, and its limits.

You don't need a data science degree to forecast a steady seller. Sometimes averaging the last few weeks is genuinely good enough, and knowing exactly when it is (and when it quietly stops being) is worth more than most model tutorials.

Moving average forecasting predicts demand by averaging sales over a recent window of periods, smoothing out random swings. Simple moving average weights every period equally; weighted moving average gives recent periods more pull. It's easy and reliable for stable demand but lags when trends shift.

Key takeaways

  • The idea is a rolling window: average the last N periods, call it next period's forecast, slide the window forward each week.
  • Simple weights everything equally; weighted favors recency, which reacts a little faster at the cost of one more decision.
  • The window length is the real dial: short windows react fast but stay noisy, long windows are smooth but slow.
  • Every moving average lags a trend by construction, because it can only look backward, which is exactly the itch exponential smoothing scratches.

What is moving average forecasting?

Moving average forecasting averages demand over the last N periods to predict the next one, smoothing out noise so the signal shows through. It's the entry point of the whole time-series family: no parameters to tune beyond the window, nothing that can't live in one spreadsheet column.

The rolling window idea

"Moving" is literal: each period, the window slides forward, dropping the oldest observation and admitting the newest. The forecast therefore always reflects the most recent N periods and nothing else, which is both the method's honesty (no stale history) and its blindness (no memory of anything older, no notion of where the series is heading).

How do you calculate a moving average?

Add the demand for your last N periods and divide by N. That average becomes your forecast for the next period; then the window rolls forward. One worked pass makes the whole method concrete.

Simple moving average, worked

Take a SKU's last six weeks of sales: 110, 128, 122, 135, 146, 150. A 3-week simple moving average forecasts next week from the latest three: (135 + 146 + 150) divided by 3 = 143.7, call it 144. A 5-week window instead: (128 + 122 + 135 + 146 + 150) divided by 5 = 136.2, call it 136.

  • 3-week SMA. calculation: (135 + 146 + 150) divided by 3; forecast: about 144
  • 5-week SMA. calculation: (128 + 122 + 135 + 146 + 150) divided by 5; forecast: about 136
  • Weighted 3-week (0.5/0.3/0.2). calculation: 150 x 0.5 + 146 x 0.3 + 135 x 0.2; forecast: about 146

Notice what the series is doing: climbing steadily. If next week actually sells 158, all three forecasts came in low, and the longer window came in lowest. That's not a calculation error; it's the method's character showing.

Weighted moving average

A weighted moving average keeps the window but tilts it toward recency: the newest week counts most, the oldest least (weights summing to 1). In the worked row above, weighting 0.5/0.3/0.2 lifts the forecast from 144 to about 146, closer to the rising reality. Weighted MA is the halfway house between the plain average and exponential smoothing: a little more responsive, at the cost of choosing weights someone must justify.

What's the smoothing window, and what are the limits?

A short window reacts fast but stays noisy; a long window is smooth but slow. And any moving average, whatever its window, lags a real trend, because averaging the past can never quite catch up to a series that keeps moving.

Choosing the window length

  • Short (2-4 periods): tracks change quickly, but every random blip leaks into the forecast. Suits stable-but-shifting demand you review often.
  • Medium (4-8): the default compromise for weekly eCommerce data.
  • Long (8-13+): very smooth, very calm, and very slow to notice that demand changed. Suits mature staples where change is rare.

Rule of thumb: the noisier the series, the longer the window you'll want; the faster demand genuinely shifts, the shorter. When one SKU needs both at once, that's the signal you've outgrown the method.

The lag limitation

On the climbing series above, every window's forecast trailed reality, and the longer the window, the worse the trail. The same happens in mirror on a decline: the average keeps forecasting yesterday's healthier demand while stock piles up. Moving averages are noise filters, not trend followers. When your misses start pointing in one consistent direction, the method is telling you it's done, and the natural next step (weighting recency systematically instead of by hand) is exponential smoothing.

Frequently asked questions

What window length should I use for a moving average?

Match it to your demand's noise and speed of change: 2-4 periods when demand shifts and you review often, 4-8 as the weekly default, longer for calm staples. Test candidates against your own history: forecast past periods with each window and keep the one with the smallest error. Re-check seasonally.

When is a weighted moving average better than a simple one?

When demand is drifting rather than flat: weighting recent periods more keeps the forecast closer to a rising or easing series, softening the lag a plain average suffers. On genuinely stable demand the benefit is negligible, and beyond mild drift you're better served by exponential smoothing than by hand-tuned weights.

Why does a moving average lag a trend?

Because every input it uses is from the past, and past values on a trending series are systematically below (or above) the present. The average of yesterday's climb sits under today's level by construction. Shortening the window softens the lag but can't remove it; only methods that model trend explicitly do.

Is moving average good for seasonal demand?

No, used naively it's the wrong tool: the average smooths away the very peak you needed to buy for, over-forecasting troughs and under-forecasting peaks. Seasonal SKUs need methods that carry the cycle (seasonal indices, Holt-Winters). A moving average can still serve as the deseasonalized baseline underneath.

How is moving average different from exponential smoothing?

A moving average weights its window equally and forgets everything older. Exponential smoothing weights all history with exponentially fading influence, controlled by one dial (alpha), so it adapts faster and never throws data away abruptly. Smoothing is effectively the moving average's graduation: same instinct, more finesse, one parameter.

Can a moving average forecast new products?

No, it needs a window of the product's own sales to average, which a launch doesn't have. Early on, borrow signal from comparable products and pre-launch evidence; a short-window moving average becomes usable within a couple of months as sales accumulate, and it's often the first honest baseline a new SKU gets.

Turn insights into cash

Time is money, save both.

By clicking Get Started you're confirming that you agree with our Terms and Conditions.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.