Blog · E-commerce

Demand forecasting for Shopify without a data science team

October 30, 2026 · 7 min read
A Shopify store owner reviewing sales velocity and reorder points on a laptop

Every time I bring up demand forecasting with other store owners, I watch their eyes glaze over. They picture a wall of spreadsheets, a statistics degree, maybe a data scientist they cannot afford. So they do what I did for years: they eyeball it. They reorder when a shelf looks empty, guess a quantity, and hope. Then they either run out of their best seller for three weeks or they drown in product that will not move until next summer.

Here is the thing I wish someone had told me earlier. Demand forecasting for a Shopify store is not data science. It is arithmetic plus a little discipline. You do not need a model that predicts the future to three decimal places. You need a number good enough to tell you how much to order and when, and you can get that from data you already have sitting in your admin.

Let me walk through the simple method first, then the tooling that makes it stop being a chore.

Start with sales velocity, not gut feel

Sales velocity is just how fast a product sells. Units sold divided by days. If you sold 90 units of a hoodie in the last 30 days, your velocity is 3 units a day. That is the single most useful number in inventory planning and almost nobody tracks it per product.

A few practical notes on getting it right:

  • Use a recent window, but not too recent. Thirty days is my default for steady sellers. For something spiky, I look at 60 or 90 so one weird week does not throw the whole picture off.
  • Strip out the noise. If you had a flash sale that moved 300 units in two days, that is not your normal velocity. Pull those days out or your forecast will tell you to order triple what you need.
  • Do it per variant, not per product. The medium black tee and the XXL white tee are completely different animals. Blending them hides the exact stockouts that hurt most.

Once you have velocity, you can already answer the question that matters: at this pace, how many days of stock do I have left? Current inventory divided by daily velocity. Forty units at 3 a day is about 13 days of cover. That number alone will save you more than any fancy algorithm.

Layer in seasonality so you are not always late

Velocity assumes the next 30 days look like the last 30. For a lot of products they do not. Swimwear in November and swimwear in May are different businesses. The trick is not to model seasonality perfectly, it is to stop ignoring it.

The low-effort version: pull the same product's sales from the same month last year and the month before the spike. You are looking for the shape, not the exact figure. Did sales roughly double going into the season? Triple? That multiplier is good enough to adjust your base velocity. If last December you sold 4x your November rate, plan on something in that neighborhood again and order against it.

If you have less than a year of history, borrow the shape from a similar product or from your category's general pattern. An imperfect seasonal adjustment beats pretending every month is average, which is the mistake that leaves you empty during your biggest weeks.

Lead time is the number that actually bites

This is where most stores get burned, and it has nothing to do with forecasting demand. It is about forecasting supply. Lead time is the gap between placing a purchase order and having sellable stock on the shelf. For a lot of us sourcing overseas, that is 6 to 12 weeks once you count production, shipping, customs, and receiving.

Your forecast is useless if you only look at how fast you sell. You have to look forward across that whole lead time. If your hoodie sells 3 a day and your supplier takes 60 days, you will burn through 180 units before a reorder even arrives. If you wait until you are low to order, you are already weeks too late.

So write down the real lead time for each supplier. Not the optimistic quote, the actual observed time from your last few orders. Then add a bit of buffer, because the one time it slips is always the week demand spikes.

Reorder points tie it all together

A reorder point is the stock level that triggers a new order. Hit it, and you order, no debate. The formula is simpler than it sounds:

  • Reorder point = (daily velocity x lead time in days) + safety stock

Safety stock is your cushion for the days demand runs hot or the supplier runs slow. A common rule of thumb is a week or two of extra velocity for a reliable product, more for one with erratic sales or a flaky supplier.

Back to the hoodie: 3 a day, 60 day lead time, plus say 14 days of safety stock. That is (3 x 60) + (3 x 14), or 180 + 42, so 222 units. When you drop to 222 on hand, you place the order. Cross that line and dithering is how stockouts happen.

The beauty of reorder points is that they turn a judgment call into a rule. You stop asking yourself should I order and start just acting when the number says so.

When the spreadsheet stops scaling

Everything above works in a spreadsheet, and I genuinely recommend building it once by hand so you understand the mechanics. But a spreadsheet has a shelf life. The moment it starts failing you looks like this:

  • You have more than a few dozen SKUs and updating velocity for each one eats a morning.
  • Variants multiply and the sheet becomes a maze of tabs nobody trusts.
  • You stock across multiple locations and the math has to split by each.
  • The numbers go stale the day after you export them, so decisions get made on last month's reality.

That is the point to let software carry the arithmetic. With Shopify's own Stocky winding down, a lot of stores are shopping for a replacement, and this is squarely what a dedicated inventory tool is for. I lean on Stockra for this: it pulls live sales data, calculates velocity and seasonality, tracks lead times per supplier, and flags each product when it hits its reorder point, then helps you cut the purchase order. The point is not that the tool is magic. It is that the method I just described runs automatically across every SKU instead of me maintaining a spreadsheet at midnight.

The mindset that matters more than the math

If you take one thing from this, let it be that forecasting is a habit, not a project. You do not solve it once. You check velocity, respect your lead times, and act on reorder points on a regular cadence, weekly for most stores. The stores that stay in stock are not the ones with the smartest model. They are the ones who look at the right few numbers consistently and reorder before the shelf is empty rather than after.

You already have the data. You do not need a data science team. You need velocity, a seasonal adjustment, honest lead times, and a reorder point you actually obey. Start there, and let tooling take over the grind once your catalog outgrows the spreadsheet.