Skip to content
Reorder Radar
← All guides

Shopify inventory forecasting: a method you can check by hand

Updated September 16, 2026

An inventory forecast answers one question per product: how many units will sell per day over the next lead time? Everything else (reorder point, order quantity, order-by date) is built on that number, so small errors here become expensive later.

Step 1: start from units sold per day, not revenue

Export orders (Shopify admin → Orders → Export) and count units per variant per day. Remove test orders and cancelled orders, and subtract refunded units on the day they were refunded. Discounts don't matter; units do.

Step 2: ignore the days you couldn't sell

If a product was out of stock, zero sales that day tells you nothing about demand. Divide by in-stock days, not calendar days.

Example: 180 units sold in 30 days, but out of stock for 6 of them. Naive average: 180 ÷ 30 = 6/day. In-stock average: 180 ÷ 24 = 7.5/day. Planning with 6 under-orders by 20% and causes the next stockout.

Step 3: weight recent weeks more

A long window is stable but slow to react; a short one reacts but is noisy. A simple blend works well:

Forecast = 0.6 × last-28-day average + 0.4 × 90-day average

If the last 28 days averaged 8/day and the last 90 averaged 6/day: 0.6 × 8 + 0.4 × 6 = 7.2/day.

Step 4: adjust for seasonality only with evidence

If you have last year's sales for the same weeks, compare them with the weeks around them. If the coming four weeks sold 1.5× the surrounding average last year, multiply the forecast by 1.5. Without a year of history, don't guess a seasonal factor. Plan with the recent average and add safety stock instead.

Step 5: cap one-off spikes

A wholesale order or a viral post can put 60 units on a day that normally sells 3. Left in, it inflates the average for months. Cap any single day at a multiple of normal demand (for example 3× the 95th-percentile day) before averaging, and plan big known orders separately.

New products and thin history

With fewer than about 14 in-stock days, a statistical forecast isn't trustworthy. Use the sales rate of a similar product, order a smaller first batch, and re-check weekly. Label these forecasts as estimates so nobody treats them as precise.

Measure accuracy, then improve

Once a month, compare forecast with actual units sold using weighted absolute percentage error:

WAPE = Σ |actual − forecast| ÷ Σ actual

Across a catalog, fast movers matter most, and WAPE weights them naturally. If it stays high for a product, look for the cause (stockouts, promotions, bundles) before reaching for a more complex model.

Turn a forecast into a reorder decision with the reorder point formula or the reorder point calculator.