A small or mid-size Shopify store doesn’t need a data science team to forecast demand. Demand forecasting for ecommerce comes down to three answers per product: how many units you’ll sell, when to reorder, and how much buffer to hold while the order is on its way. You can get all three from clean sales history, a method that accounts for seasonality and promotions, and a reorder rule someone actually follows.
The order matters. A forecast is only as good as the inventory data behind it, so fix the data before you buy a forecasting app. An app reading broken history produces a confident, wrong number faster than a spreadsheet does.
What Shopify Already Tells You Before You Forecast Demand
Shopify computes several of the inputs for demand forecasting in ecommerce in its default inventory reports (opens in new tab). Inventory sold daily by product gives each variant’s average units sold per day. Days of inventory remaining divides the stock you have left by that daily average, which estimates how many days you have before you run out. When a variant hasn’t sold anything in that period, the report shows N/A instead of an estimate.
ABC product analysis grades every variant by its share of your revenue. On the Products page (opens in new tab), A-grade products account for around 80% of revenue, B-grade for 15% and C-grade for 5%. The cost of an item doesn’t factor into the grade, so ABC is a revenue ranking. An A product can still be a thin-margin product.
Sell-through rate is units sold divided by units sold plus units still in stock. The Products page shows sell-through, days of inventory remaining and ABC analysis as tiles at the top, each one opening its full report. There’s also a month-end inventory snapshot of every variant’s stock and a month-end inventory value report, which totals stock only for products that carry a cost per item.
The sales history a forecast starts from lives in the sales reports (opens in new tab). Total sales by product variant gives you sales below the product level, and Total sales over time groups orders by the time unit you pick. Sales by discount codes groups sales by discount name or code, which is how you find the weeks a promotion was running.
Why A 28-Day Window Can't Handle Ecommerce Forecasting For December
Days of inventory remaining and ABC analysis both work from the last 28 days of sales (opens in new tab), and ABC’s window can’t be adjusted. That makes them run-rates, not forecasts. In early November, days remaining divides your stock by October’s pace, and it has no idea December is coming.
A run-rate is the right tool for day-to-day stock control, which our guide to Shopify inventory management covers, including how the 28-day reports behave and what replaced Stocky in the admin. Ecommerce inventory forecasting is a different job. It needs at least a full year of history, so the same season last year is in the data.
Clean Data Comes Before Any Ecommerce Forecasting Method
Start with tracking. Inventory tracking is turned on per product with the Track quantity setting (opens in new tab) in the product’s Inventory section. Products whose inventory isn’t tracked count as 0 units sold (opens in new tab) in the sell-through report. Any physical product you plan to reorder should have tracking on, because every report and app reads the same counts.
Next, mark your stockout weeks. A variant at zero stock can’t sell, so an average that includes its stockout weeks understates demand. Keep a column in your history that marks weeks a product was out of stock, and leave those weeks out of the average or replace them with the weeks around them.
Watch the Sell when out of stock setting (opens in new tab) too. It lets customers keep buying after inventory reaches zero, which is fine for a product you can restock fast, but those orders still count as demand you have to fill. Shopify suggests leaving tracking off for digital products, services, made-to-order items and gift cards, and that’s also a sensible list of things to leave out of an inventory forecast.
Then flag promotions. A Black Friday week isn’t a normal week, and if it stays in the average it pulls the baseline up for months. Say a product sells 250 units in a normal week and 900 in BFCM week. A four-week average that includes BFCM comes to 412.5 units a week, 1.65 times the real baseline.
The textbook fix is a yes/no column. Forecasting models treat public holidays as a yes/no predictor (opens in new tab), and a one-off spike gets a dummy variable of its own, which removes its effect without deleting the data. In a spreadsheet, that’s a promo column you fill in from the Sales by discount codes report. The number of trading days in a month also varies and moves sales, so compare weeks with weeks, or adjust months for their length.
Forecasting software wants the same history. Stockful says its forecasts learn each product’s seasonality from 2 years of daily history (opens in new tab). If you install an app on a store with patchy tracking, it learns the patches.
How Inventory Forecasting On Shopify Works Now That Stocky Is Gone
Stocky was Shopify’s own inventory app, and its features included forecasting the inventory you need. Stocky is no longer available after August 31, 2026 (opens in new tab), and Shopify directs merchants to its built-in inventory management features instead.
Those features include native purchase orders (opens in new tab). A purchase order lists products, quantities, costs, payment terms and supplier details, and once it’s marked Ordered you can create an inventory transfer to track the shipment and receive the stock. Purchase orders record what you decided to buy. They don’t suggest what to buy or when.
That leaves three places for inventory forecasting on Shopify. A spreadsheet built on exported sales reports works for a catalog you can review by hand. A forecasting app from the Shopify App Store reads your sales history and suggests purchase orders. A store whose purchasing, warehousing and accounting already run in another system forecasts there, which is where ERP integration comes in, along with keeping Shopify’s inventory states in sync with that system.
The Ecommerce Forecasting Methods A Spreadsheet Can Handle
Hyndman and Athanasopoulos’s free textbook, Forecasting: Principles and Practice (opens in new tab), starts with four simple benchmark methods (opens in new tab). The average method forecasts every future period as the mean of all your history. The naive method forecasts every period as the last one you saw. The seasonal naive method sets each forecast to the last value from the same season, so next December starts as last December.
The fourth is drift, which takes the last value and extends it by the average change seen across your history. Start with these four. A fancier method has to beat them on your own data before it earns its complexity.
Moving Averages And Smoothing In Ecommerce Forecasting
What most store owners call a moving average forecast is the trailing version: average the last few weeks and use that as next week’s number. A single moving average (opens in new tab) is a smoothing process that takes the mean of the most recent points, moving forward one period at a time and dropping the oldest value. In NIST’s worked example, a three-period moving average produced a mean squared error of 2.42, against 3 for the plain overall average on the same data.
A trailing average follows the recent level and lags behind any turn. It has no idea about seasons. Use it for steady products, and don’t use it to plan a peak.
Exponential smoothing is a step up. Its forecasts are weighted averages of past observations (opens in new tab), with the weights shrinking the older an observation gets, so recent weeks count more than old ones. The simple version suits data with no clear trend or seasonal pattern, which describes plenty of everyday replenishment products.
Seasonal Demand Forecasting For Ecommerce
For seasonal products, the textbook method is Holt-Winters (opens in new tab), which tracks three things at once: the level, the trend and the season. It comes in two versions. The additive version fits when the seasonal swing is roughly the same size every year, and the multiplicative version fits when the swing grows in proportion to the business.
In store terms, additive means December adds about the same number of units each year, and multiplicative means December is about the same multiple of a normal month. Here’s a worked example with made-up numbers. Last year a product sold 1,000 units across September and October, 500 a month, then 1,400 in December.
This year September and October came in at 1,150 units, 575 a month. Additive thinking says December adds 900 units to a normal month, so the forecast is 1,475. Multiplicative thinking says December is 2.8 times a normal month, so the forecast is 1,610.
That 135-unit gap is the decision you’re making when you pick a method. If your store is growing and the holiday lift has grown with it, the multiplicative version fits. If last December’s lift came from one fixed event, such as a gift-guide placement, the additive version is the safer read.
New Products With No History
A product launching next year has no December to copy. The usual approach is to borrow the seasonal shape of a similar product and scale it to your best guess of volume, then replace the guess with real sales as soon as they arrive. Early demand helps here. If you take pre-orders for a launch, the count tells you something about demand before you’ve committed to a full production run.
Turning An Ecommerce Demand Forecast Into A Reorder Point
A forecast tells you how many units you’ll sell. A reorder point tells you when to buy. The standard policy is simple: when your inventory position drops to a reorder point (opens in new tab), you place an order.
Inventory position is stock on hand plus stock already on order, minus backorders. If you compare the reorder point against on-hand stock alone, you’ll reorder a second time while the first shipment is still in transit.
The reorder point has two parts. Lead-time demand is what you expect to sell while a replenishment order is on its way. Safety stock is the extra inventory you hold beyond that average, to cover demand running high or a shipment running late, and the reorder point is lead-time demand plus safety stock.
How much safety stock depends on the service level you want. Cycle service level (opens in new tab) is the share of order cycles that finish without a stockout, and product fill rate is the share of demand you fill without a backorder. They can be quite different numbers, so pick one and stick with it. A 95% cycle service level uses a multiplier of about 1.645 on the variability of lead-time demand, and 99% uses 2.33 (opens in new tab).
A Worked Reorder Point
Here’s an illustration with made-up inputs. A product sells 10 units a day on average, with a daily standard deviation of 4 units. The supplier takes 30 days on average, give or take a standard deviation of 5 days, and you want a 95% cycle service level.
Expected lead-time demand is 30 days times 10 units, or 300 units. When both demand and lead time vary, the variance of lead-time demand is the average lead time times the demand variance, plus the squared daily demand times the lead-time variance. That’s 480 plus 2,500, or 2,980, and its square root is about 54.6 units.
Safety stock is 1.645 times 54.6, about 90 units. The reorder point is 300 plus 90, or about 390 units of inventory position. At 10 units a day, that’s 39 days of cover, which is a number you can compare with Shopify’s days of inventory remaining.
| Input or result | Value |
|---|---|
| Average daily demand | 10 units (standard deviation 4) |
| Average lead time | 30 days (standard deviation 5) |
| Expected lead-time demand | 300 units |
| Variance from demand / from lead time | 480 / 2,500 |
| Safety stock at 95% cycle service level | About 90 units |
| Reorder point | About 390 units, or 39 days of cover |
Look at where the variance comes from: 2,500 of the 2,980, about 84%, comes from the five-day wobble in the supplier’s lead time. If the same supplier delivered in exactly 30 days every time, safety stock would drop to about 36 units. If you instead cut the daily standard deviation of demand in half, from 4 units to 2, with a better forecast, safety stock would only fall to about 84 units.
That’s why a longer, reliable lead time can need less safety stock (opens in new tab) than a shorter, unpredictable one. Before you spend on a better forecast, ask your supplier for consistent ship dates and record the actual lead time on every purchase order. That history feeds the reorder point as much as your sales history does.
Turning An Ecommerce Forecast Into Reorder Alerts In Shopify Flow
Shopify Flow (opens in new tab) is a free app on the Basic, Grow, Advanced and Plus plans, and it can send an alert when a product reaches its reorder point. Our guide to Shopify Flow covers how triggers, conditions and actions fit together and which workflows to build first.
The trigger for a reorder alert is Product variant inventory quantity changed (opens in new tab), which starts a workflow whenever a variant’s inventory changes from an order, a manual adjustment or an app. It passes along the variant’s previous quantity as well as the new one. Shopify ships templates for low-stock email alerts and for creating a Trello card or an Asana task when inventory runs low.
Use the previous quantity. A workflow that checks only the current quantity sends a reorder email on every order (opens in new tab) once stock is below the threshold, until you restock. Checking that the previous quantity was above the threshold and the new one is at or below it makes the alert fire once, on the crossing.
Set the threshold per product from your reorder point, not one number for the whole catalog. In the worked example above, that’s 390 units, or 39 days of cover. If you’d rather review once a week than react to every crossing, a workflow on the Scheduled time trigger can use the Get product variant data action (opens in new tab) to gather your low-stock variants, count them and email a summary with each variant’s title and a link to it in the admin.
The reorder point is meant for inventory position, so before you act on an alert, check whether a purchase order for that product is already open. Stores on the Grow, Advanced and Plus plans can also use the Send HTTP Request action (opens in new tab) to post an alert to another system, such as a purchasing tool.
When An Ecommerce Inventory Forecasting App Earns Its Cost
A spreadsheet stops working when the catalog outgrows a weekly review, when you buy from many suppliers with different lead times, or when you sell across several locations. That’s when ecommerce demand forecasting moves from a spreadsheet into an app. These three are on the Shopify App Store.
Prediko (opens in new tab) offers AI demand forecasting and a supply planner, with unlimited users, SKUs and inventory alerts and unlimited purchase order management. Its pricing is revenue-based (opens in new tab): the entry plan is for stores under $100K in annual revenue, the prices for larger bands aren’t listed, and raw materials forecasting with bills of materials is an add-on. Prediko says it’s trusted by more than 3,000 Shopify merchants.
Inventory Planner by Sage (opens in new tab) builds forecasts from your sales patterns, seasonality and lead times (opens in new tab) and turns them into replenishment recommendations, including across multiple locations. It’s free to install, but pricing is quote-based (opens in new tab) on the volume of inventory you manage. Inventory Planner claims customers can reduce overstock by up to 40%.
Stockful (opens in new tab) publishes four plans priced by the number of tracked SKUs and locations, from 2,000 SKUs at one location up to 35,000 SKUs at ten, each with a 14-day trial. It carries the Built for Shopify badge, and Stockful says its forecasts track their own accuracy.
| App | What it forecasts from | How it’s priced |
|---|---|---|
| Prediko (opens in new tab) | AI demand forecasting, with a supply planner and purchase orders | By annual revenue band; only the entry tier (under $100K) shows a price |
| Inventory Planner by Sage (opens in new tab) | Sales patterns, seasonality and lead times, multi-location | Quote-based, by inventory volume |
| Stockful (opens in new tab) | Two years of daily history per product | Published, by tracked SKUs and locations |
Whichever app you trial, run it on the same history your spreadsheet uses and compare its forecasts with the seasonal naive benchmark for last season. If it can’t beat last December copied forward, it isn’t earning its fee yet.
Keep the forecast connected to the rest of your numbers. Sell-through and days of inventory remaining tell you whether stock is moving, while the sales-side ecommerce KPIs, conversion rate, average order value, repeat purchase rate and contribution margin, tell you whether the demand you’re forecasting is profitable.
Who Owns Your Ecommerce Demand Forecast
The forecast, the reorder point and the alert need one owner. Someone has to update the history after each season, keep the promo and stockout flags filled in, record supplier lead times on every purchase order, and act when an alert fires. A forecast that isn’t refreshed after BFCM plans next year on last year’s assumptions.
Plan next year’s buys after the holiday rush, while last season’s data is fresh. Export variant-level sales for the past year or two, mark stockouts and promotions, pick a seasonal method per product group, and set a reorder point for each product you reorder.
Then make the alert someone’s job. Our Shopify automation services build Flow workflows with failure alerts and ownership notes, including inventory alerts routed to the team that reorders. If you’d like a team to wire your reorder points into alerts that reach the right person, take a look at BLKDG’s Shopify automation services.
Not sure where the gap is? That's exactly what the Digital Marketing Growth Audit is for.
A free, no-obligation look at where your site can win more traffic and conversions, with a clear digital marketing roadmap to get there. Just a straight read on where your digital presence stands and where it's headed.


