MishiSpark

Shopify Inventory Management: Data-Driven Restocking

Use Shopify sales data to time restocking decisions. Avoid stockouts on best sellers and stop over-ordering slow movers with data-driven inventory.

Spark by MishiPay Team7 min read

Running out of your best-selling product on a Saturday afternoon is a painful way to learn about inventory management. So is discovering 400 units of a product that hasn't sold in three months sitting in your warehouse, quietly eating your cash flow.

Shopify gives you basic inventory tracking. You can see stock levels, set low-stock alerts, and track quantities across locations. But it doesn't answer the questions that actually matter: when should you reorder, how much should you order, and which products should you stop ordering altogether?

That requires data-driven restocking — and it's more straightforward than most merchants think.

Where Shopify's inventory tracking falls short

Shopify tracks inventory quantities. It tells you that Product A has 23 units in stock. What it doesn't tell you is:

  • How fast those 23 units are selling (sales velocity)
  • How long it takes your supplier to deliver a reorder (lead time)
  • How many units you need as a buffer for demand spikes (safety stock)
  • When exactly you should place the next purchase order (reorder point)

Without these calculations, merchants fall into two traps. Either they reorder reactively — scrambling to restock after they've already hit zero — or they reorder emotionally, buying large quantities of products they "feel" will sell well, tying up capital in excess inventory.

Both approaches cost real money. Stockouts mean lost sales and disappointed customers. Overstock means cash sitting on shelves instead of in your bank account.

Sales velocity: the number that drives everything

Sales velocity is the average number of units you sell per day for a given SKU. It's the foundation of every restocking calculation.

Sales velocity = Units sold / Number of days in the period

For example, if you sold 120 units of a product over the last 30 days, your sales velocity is 4 units per day.

A few things to keep in mind when calculating this:

  • Use recent data. Sales velocity from six months ago might not reflect current demand. A 30-day or 60-day window usually gives you the best balance of recency and stability.
  • Account for stockouts. If you were out of stock for 10 of those 30 days, your denominator should be 20, not 30. Otherwise, you'll underestimate demand and create a self-reinforcing cycle of understocking.
  • Watch for seasonality. A product that sells 8 units/day in December and 2 units/day in February needs different reorder calculations depending on the time of year.

Shopify doesn't calculate sales velocity for you. You'd need to export your order data, match it to inventory records, and build the calculation in a spreadsheet. Or use a tool that does it automatically — more on that below.

Calculating your reorder point

Once you know your sales velocity, you can calculate when to reorder. The formula is simple:

Reorder point = (Sales velocity x Lead time) + Safety stock

Let's say your product sells 4 units/day, your supplier takes 14 days to deliver, and you want 7 days of safety stock:

  • Lead time demand: 4 x 14 = 56 units
  • Safety stock: 4 x 7 = 28 units
  • Reorder point: 84 units

When your stock level hits 84 units, it's time to place a purchase order. This gives you enough inventory to cover the lead time plus a buffer for unexpected demand spikes or supplier delays.

Lead time: the variable most merchants underestimate

Lead time isn't just shipping time. It includes:

  • Order processing — the time between placing your PO and the supplier confirming it
  • Production/picking — time for the supplier to prepare the goods
  • Transit — actual shipping time
  • Receiving and QC — time for you to receive, inspect, and shelve the inventory

Many merchants use their supplier's quoted shipping time as lead time. In practice, total lead time is often 30-50% longer. Track your actual lead times by recording when you place orders and when inventory is available for sale. The gap between those two dates is your true lead time.

If your lead time is unpredictable — which is common with overseas suppliers — increase your safety stock to compensate. A reliable domestic supplier with 5-day lead times needs less safety stock than an overseas supplier with lead times that swing between 21 and 35 days.

Safety stock: insurance against uncertainty

Safety stock is your buffer. The right amount depends on two factors: how variable your demand is and how variable your lead time is.

A simplified safety stock formula that works for most Shopify merchants:

Safety stock = (Maximum daily sales x Maximum lead time) - (Average daily sales x Average lead time)

This gives you enough buffer to survive a worst-case scenario where demand spikes and your supplier is late at the same time.

For a product with average daily sales of 4, max daily sales of 7, average lead time of 14 days, and max lead time of 20 days:

  • Worst case: 7 x 20 = 140
  • Average case: 4 x 14 = 56
  • Safety stock: 84 units

That might seem like a lot. And for some products, it is — which is why you should adjust safety stock by product importance. Your top 10 products by margin deserve more safety stock than a long-tail SKU that sells twice a month.

Identifying dead stock and overstock

Not every product deserves restocking. Dead stock — inventory that hasn't sold in 90+ days — is a cash trap. Every dollar tied up in dead stock is a dollar that could be funding inventory for your best sellers.

To identify dead stock from your Shopify data:

  1. Pull your product list with current stock quantities
  2. Match it against sales data from the last 90 days
  3. Flag products with zero sales and positive stock levels

For products that are selling but slowly, calculate the days of supply:

Days of supply = Current stock / Average daily sales

If a product has 200 units in stock and sells 1 unit per day, you have 200 days of supply. That's probably too much. For most products, 30-60 days of supply is a healthy range. Anything over 90 days should be evaluated for markdowns or discontinuation.

Overstock ties up capital and often leads to eventual markdowns, which erode margins. It's almost always better to order smaller quantities more frequently than to place large orders that sit in your warehouse for months.

How Spark surfaces inventory insights from your Shopify data

Doing all of this manually — calculating sales velocity for every SKU, tracking lead times, maintaining safety stock levels, identifying dead stock — is tedious and error-prone. Most merchants start strong, build a spreadsheet, and then stop updating it after two weeks.

Spark by MishiPay connects directly to your Shopify store and automates this analysis. Once connected, you can ask questions like:

  • "Which products will run out of stock in the next 14 days?"
  • "What are my slowest-moving SKUs by days of supply?"
  • "Show me products with zero sales in the last 90 days"
  • "What's the sales velocity trend for my top 10 products?"

Spark calculates sales velocity, flags dead stock, and identifies products at risk of stockout — all from your real Shopify data, updated continuously. Instead of maintaining spreadsheets, you get answers in plain English, backed by your actual numbers.

The inventory decisions you make — what to reorder, how much, and when — are among the highest-impact choices in your business. Getting them right means fewer stockouts, less dead stock, and more cash available to invest in growth. The data to make those decisions is already in your Shopify store. You just need to put it to work.

Stop guessing when to restock

Spark connects to your Shopify store and calculates sales velocity, reorder points, and dead stock automatically.

Ready to double your store sales?

Connect your store in 60 seconds. Get your first AI diagnostic free.