Blog · Guide

Demand Forecasting Methods
for Ecommerce: A Practical Guide

How to forecast demand when you sell online: the four methods that matter — moving averages, exponential smoothing, seasonal indices, and stockout adjustment — explained with a worked per-SKU example and an honest note on what each gets wrong.

By Replenagise · Updated 11 July 2026 · 8 min read

The Basics

What demand forecasting actually has to answer

A demand forecast answers one question per SKU: how many units will this product sell over the next buying period? Everything downstream — reorder points, safety stock, purchase orders, cash planning — inherits its accuracy from that number.

Ecommerce demand data is messy in specific ways: short histories for new products, seasonality that dwarfs the trend, marketing spikes that look like demand shifts, and stockout gaps that read as “no demand” when they were really “no stock”. The methods below are ordered from simplest to most robust against exactly those problems.

The four methods that matter

01

1. Simple moving average

Average the last N periods: sold 120, 140, 130 over three months → forecast 130. Easy and stable, but blind to trend and seasonality — it lags every turn in demand by design. Fine for flat, boring C-class SKUs.

02

2. Weighted / exponential smoothing

Weight recent periods more heavily so the forecast turns when demand turns: e.g. 50% last month, 30% the one before, 20% the one before that. Exponential smoothing does this continuously with one tunable parameter. Responsive, but can chase noise — a one-off promo spike becomes next month’s “demand”.

03

3. Seasonal indices

Compute how each month typically compares to the average (November = 1.8×, February = 0.6×), de-seasonalise the history, forecast the underlying level, then re-apply the index. This is the difference between buying for December in October — and discovering December in December.

04

4. Stockout adjustment

The step almost everyone skips: days you were out of stock are not days of zero demand. Sold 450 units over 90 days but stocked out for 15? True velocity is 450 ÷ 75 days in stock. Skip this and every stockout teaches your forecast to order less — the doom loop that turns one stockout into a chronic one.

A worked example — and what to automate

Take one SKU: 90-day history shows 450 units sold, 15 days out of stock, and a category seasonality index of 1.4 for the coming period. Stockout-adjusted velocity: 450 ÷ 75 = 6/day. Seasonal adjustment: 6 × 1.4 = 8.4/day expected. Over a 30-day buying period that is a forecast of ~252 units — versus the 150 a naive moving average of raw history would have produced. The gap between those two numbers is a stockout you did or did not have.

Doing this once is arithmetic; doing it weekly for two thousand SKUs across channels and stores is a job for software. Replenagise runs stockout-adjusted, seasonality-aware forecasts per SKU, per channel, and per store from live Shopify and Linnworks data — and feeds them straight into reorder points, safety stock, and purchase orders, which is the only reason to forecast in the first place.

The forecast feeds the buffer — see the safety stock formula — and the buy signal — see sell-through rate. Or skip the spreadsheets: inventory forecasting software runs all four methods for you.

Demand Forecasting — FAQs

How do you forecast demand for ecommerce?

Start from per-SKU sales history, correct it for stockout periods (out-of-stock days are not zero-demand days), detect and apply seasonality, then project forward with a trend-aware average such as exponential smoothing. Turn the forecast into reorder points and order quantities — a forecast that never becomes a PO is just a chart.

What is the best demand forecasting method?

For most ecommerce catalogs: stockout-adjusted velocity with seasonal indices and a recency-weighted average — the combination Replenagise runs per SKU automatically. Simple moving averages suit stable low-value SKUs; heavier statistical models only pay off with long, clean histories, which ecommerce rarely has.

How do you forecast demand for new products with no history?

Borrow, then correct: seed the forecast from a comparable existing product or category curve, weight early sales heavily as real data arrives, and review after the first few weeks. Expect wider error bands — and size safety stock accordingly until the SKU earns its own history.

Why do forecasts under-order after a stockout?

Because raw history records a stockout as zero sales, the average drops, so the next order is smaller — making the next stockout more likely. Stockout-adjusted velocity (units sold ÷ days actually in stock) breaks that loop, and is built into every Replenagise forecast.

Forecasts That Become Purchase Orders

Stockout-adjusted, seasonality-aware forecasts on every SKU — flowing straight into reorder points and POs for Shopify and Linnworks.

← Back to all articles