Demand forecasting sounds complicated. It doesn't have to be. Here is a practical guide to predicting what you will sell next month — and how to stop ordering too much or too little.
Every inventory decision you make is a prediction about the future.
When you reorder 200 units instead of 100, you are predicting you will sell 200 before the next shipment arrives. When you hold back on restocking a slow product, you are predicting demand will stay low. When you buy extra for Q4, you are forecasting a seasonal spike.
The difference between merchants who run out of stock constantly and merchants who always seem to have just the right amount? They are making the same predictions — but one group is using data, and the other is using intuition.
Demand forecasting is the process of using historical sales data — plus contextual signals — to predict future demand for each SKU.
It is not about being perfectly right. It is about being less wrong than random, consistently, across your whole catalogue.
A forecast that is 80% accurate is enormously valuable. It is not perfect, but it is the difference between ordering 200 units when you need 180 versus ordering 80 when you need 180.
You are already forecasting. The question is whether you are doing it with data or with guesses. Data-based forecasting does not require sophisticated tools — it requires a consistent process.
Take your last N periods of sales and average them.
Example: Last 4 weeks of sales for a product: 45, 52, 38, 61 units Moving average = (45 + 52 + 38 + 61) / 4 = 49 units/week
Best for: Stable products with consistent demand and no strong seasonality.
Limitation: Treats all historical data equally. A spike from a promotion 3 months ago has the same weight as last week's sales.
Like a moving average, but more recent periods count more.
Example: Using weights of 0.4 / 0.3 / 0.2 / 0.1 (most recent first): (61 × 0.4) + (38 × 0.3) + (52 × 0.2) + (45 × 0.1) = 24.4 + 11.4 + 10.4 + 4.5 = 50.7 units/week
Best for: Products with gradual trends (growing or declining). Recent data is more predictive.
Separates your demand signal into trend + seasonality + noise, then forecasts each component separately.
This is the method used by machine learning forecasting tools. It is too complex to do manually at scale but is extremely accurate for products with clear seasonal patterns.
Best for: Fashion, gifting, seasonal categories, anything tied to holidays or weather.
Export at least 12 months of unit sales per SKU from Shopify. More data is better — 24 months lets you see two seasonal cycles, which dramatically improves accuracy.
Remove anomalies that will distort your forecast: - Weeks where you were stocked out (demand was constrained, not real) - Promotional spikes you won't repeat - One-off bulk orders from wholesale accounts
For each SKU, calculate average weekly sales over your clean dataset. This is your baseline — the number you would sell in a "normal" week.
Look at the same weeks in previous years. If April consistently sells 1.8× the annual average for your patio furniture collection, apply a 1.8× multiplier to your April forecast.
| Month | Historical Average | Seasonal Index |
|---|---|---|
| Jan | 220 units | 0.7× |
| Feb | 280 units | 0.9× |
| Mar | 340 units | 1.1× |
| Apr | 560 units | 1.8× |
| Dec | 720 units | 2.3× |
Overlay anything your historical data cannot know: - A new paid ad campaign launching next month - A PR mention or influencer partnership - A competitor going out of stock - A price change you are planning
These manual overrides are not guesses — they are information the algorithm does not have access to.
Revenue is affected by discounts, price changes, and currency fluctuations. Always forecast in units, then multiply by price to get revenue. Mixing the two introduces systematic errors.
If you ran out of stock for two weeks in March, those weeks show zero demand — but your actual demand was almost certainly much higher. Forecasting tools call this "censored demand" and need to correct for it. If you are doing manual forecasts, exclude those weeks and interpolate.
A t-shirt in sizes XS/S/M/L/XL does not sell evenly across sizes. Forecasting total t-shirt demand and then dividing by 5 will leave you with too many XS and not enough M. Forecast at the variant level — SKU by SKU.
B2B and B2C customers have very different ordering patterns. Wholesale orders are lumpy and infrequent. DTC is smoother and more predictable. If you serve both channels, separate your forecasts.
Your forecast horizon must be at least as long as your lead time.
If your supplier takes 21 days to fulfil an order, you need to forecast at least 21 days into the future to know when to place the order. Most merchants need a 30–45 day forecast window to allow for ordering, transit, and a small buffer.
Practical formula:
Forecast period = Lead time + Review period + Safety stock days
If your lead time is 14 days, you review orders weekly (7 days), and you want a 7-day safety buffer: forecast 14 + 7 + 7 = 28 days into the future.
Algorithms are good at extrapolating patterns. They are bad at incorporating context.
Trust the algorithm for: - Stable, high-volume SKUs with 12+ months of clean history - Products with clear seasonal patterns the model has seen before - Reorder calculations for workhorse SKUs
Override manually for: - New products with less than 90 days of data - Products affected by trends you can see on social media before they hit sales - Anything linked to an upcoming promotion, launch, or external event - SKUs where you have category expertise the model lacks
| Spreadsheet | ML Forecasting | |
|---|---|---|
| Setup time | 2–4 hours initially | Minutes |
| Accuracy at 50 SKUs | Good | Good |
| Accuracy at 500 SKUs | Poor | Excellent |
| Seasonal handling | Manual | Automatic |
| Updates | Manual, often stale | Real-time |
| Confidence intervals | None | Included |
For stores under 100 SKUs, a well-maintained spreadsheet model is completely viable. Above that threshold, the maintenance burden becomes a full-time job and accuracy degrades.
CoreCaptain uses machine learning forecasting that automatically accounts for trends and seasonality across your entire catalogue. Each SKU shows a 30-day demand forecast with confidence intervals — so you can see not just the prediction, but how certain the model is.
Demand forecasting is not about predicting the future perfectly. It is about making systematically better decisions than you would make on intuition alone.
Start simple: clean your historical data, calculate baselines, apply seasonal adjustments. As your catalogue grows, the ROI of automating the process becomes undeniable — both in accuracy and in the hours you stop spending staring at spreadsheets.
CoreCaptain detects phantom stock, sync errors, and inventory discrepancies automatically. 14-day free trial, no credit card required.
Start Free Trial