How we forecast Shopify demand from order history (and why we draft the PO for you to approve)
Most small Shopify stores I talk to run purchasing the same way. Someone opens the products page on a Sunday, scrolls, notices a few things look low, and sends the supplier an email. It works until a bestseller sells out two weeks before the next container lands. You don’t need a data team to…
Hylke Reitsma is founder of Forthsuite and a supply chain specialist with 8+ years of hands-on experience at Shell, Verisure, and Stryker. He holds an MSc in Supply Chain Management from the University of Groningen and writes practical guides to help e-commerce teams run leaner, faster supply chains. Selected by Replit as 1 of 20 founders for the inaugural Race to Revenue Cohort #1 (2026) and certified as a Replit Platform Builder.
TL;DR: Your Shopify order history is enough to forecast demand: use daily units on in-stock days, a weighted moving average, and a reorder point with safety stock. Draft the purchase order for a person to approve rather than sending it automatically.
Last updated: November 2026
Most small Shopify stores I talk to run purchasing the same way. Someone opens the products page on a Sunday, scrolls, notices a few things look low, and sends the supplier an email. It works until a bestseller sells out two weeks before the next container lands.
You don’t need a data team to do better than that. Your order history already has most of what you need.
Start with daily units, not orders
Daily units, not orders, are the right starting point. Export your orders and turn them into units sold per SKU per day.
Remove refunded and cancelled line items, and mark the days a SKU was out of stock — otherwise your forecast learns the product is less popular than it is, so you order less and run out again.
A weighted moving average beats anything fancy
For most SKUs at small-store volume, a weighted moving average beats anything fancy. Weight the last 4 weeks more heavily than the 8 before, and add weekly seasonality if you have a year of history.
If a candle sold 42 units over 28 in-stock days, that’s 1.5 a day.
Reorder point and safety stock
Reorder point and safety stock is the part people skip, and it’s the part that stops stockouts.
reorder_point = (avg_daily_demand × lead_time_days) + safety_stock
safety_stock = z × stdev_daily_demand × sqrt(lead_time_days)
With z = 1.65 you aim to stay in stock about 95% of the time during the lead time. Use the real lead time, door to shelf. Worked example: 1.5 units/day, stdev 0.9, 30-day lead time → lead-time demand 45, safety stock ≈ 8, reorder point ≈ 53. When on-hand plus incoming drops below 53, order.
Flag risk in days, not units
Risk should be flagged in days, not units. “12 units left, about 8 days of cover, supplier takes 30” tells you exactly how worried to be.
Sort every SKU by days of cover minus lead time; anything negative is already late.
Why we draft the PO for you to approve
When I built Forthcast, a demand forecasting and purchase-order tool for Shopify stores, the obvious request was “just place the orders automatically.” I decided against it.
The model only knows your order data — not that your supplier is closing for Chinese New Year or that you’re dropping a colourway. A drafted PO you review takes a minute; a wrong PO sent automatically ties up thousands. The maths does the counting, a person makes the decision.
If you only do one thing
The one thing worth doing is to pull your top 20 SKUs by revenue. Work out average daily sales on in-stock days only, multiply by your real lead time, add a buffer, and compare to what you have plus what’s on order.
You’ll find two or three you should have reordered last week.
About the Author
Hylke Reitsma is founder of Forthsuite and a supply chain specialist with 8+ years of hands-on experience at Shell, Verisure, and Stryker. He holds an MSc in Supply Chain Management from the University of Groningen and writes practical guides to help e-commerce teams run leaner, faster supply chains. Selected by Replit as 1 of 20 founders for the inaugural Race to Revenue Cohort #1 (2026) and certified as a Replit Platform Builder.
LinkedIn