Shopify Inventory Mastery: Calculate Reorder Points Without an App
Hey fellow store owners,
Lately, there’s been a lot of chatter in the community about inventory management, especially with folks looking for alternatives to apps like Stocky. It’s a common pain point: how do you know when to reorder, and how much? The good news is, you don’t always need a fancy app to get started. The core math behind reorder points is actually pretty straightforward, and you can absolutely manage it with a spreadsheet for quite a while. Our community expert, Zecathop, recently broke it down beautifully, and the discussion that followed added some crucial insights that I wanted to share with all of you.
It’s all about understanding your numbers, and even if you eventually go for an app (which many of us do as we grow!), knowing this foundational math helps you make sense of any tool’s suggestions. As lumine wisely pointed out, if you can’t reproduce an app’s suggestion by hand, you should probably be a little suspicious of it.
Decoding Reorder Points: The Core Math
Let’s start with the basic idea. Imagine you sell a popular candle that moves about 4 units a day. Your supplier takes 30 days to deliver an order. During those 30 days, you’re going to sell roughly 4 units/day * 30 days = 120 candles. If you wait until you’re down to, say, 50 candles to reorder, you’ll be out of stock long before your new shipment arrives.
So, you need a buffer – a safety net for unexpected delays or sudden sales spikes. Zecathop suggests adding about 10 extra days of sales as a buffer. So, 4 units/day * 10 days = 40 candles. Add that to your lead time sales, and you get:
Reorder Point = (Units Per Day × Supplier Lead Time) + Buffer
In our candle example: (4 * 30) + 40 = 160. So, when your stock hits 160 candles, it’s time to place that order!
The Spreadsheet Blueprint
Now, how do you do this for your entire catalog? It’s simpler than you think. You’ll need to export your sales data from Shopify. Go to Analytics → Reports → Sales by product variant, select the last 90 days, and export it as a CSV. Then, you can set up a spreadsheet like this:
| Col | What | How |
|---|---|---|
| A | SKU | — |
| B | Units sold, last 90 days | from the export |
| C | Units per day | =B2/90 |
| D | Supplier days (order → on shelf) | you know this |
| E | Buffer | =C2*10 (10 days of cover) |
| F | Reorder point | =C2*D2+E2 |
| G | In stock + already ordered | from Shopify + open POs |
| H | Order now? | =IF(G2<=F2,"YES","") |
When Column H says “YES,” it’s time to order! To figure out how much, you’d typically order enough to cover your usual ordering cycle. For example, if you order every two months, you might order units per day × 60, minus what you already have in stock or on order.
Common Pitfalls & How to Avoid Them
Now, this basic setup is great, but as the community discussion highlighted, there are a few “gotchas” that can quietly mess up your numbers. Trust me, these are the insights that separate a good spreadsheet from a great one.
1. The “Out-of-Stock” Trap
This was a huge point brought up by both Zecathop and lumine, and it’s probably the most expensive mistake. If a product was out of stock for 50 of those 90 days, but still sold 20 units, your spreadsheet will wrongly think it’s a slow seller (20 units / 90 days). In reality, it sold 20 units in just 40 days! That’s a much faster pace. The fix? Divide by the days the item was actually in stock, not just calendar days. Shopify doesn’t hand you this “days in stock” history easily, but it’s crucial. If you skip this, your best sellers stay permanently under-ordered, leading to lost sales.
2. Real Lead Times Matter
Both Zecathop and lumine emphasized this: don’t use the lead time your supplier promises. Use what they actually do. Track the real time from when you place an order to when the stock is physically on your shelf and sellable. If you have old PO history, dig it out! That data is gold because it accounts for port delays, factory backlogs, and seasonal fluctuations that Dharmendra_Ahluwalia also pointed out as operational friction points.
3. Don’t Let Averages Lie
- Seasonality: A 90-day average might starve you in Q4 if you’re looking at summer sales. If your business is seasonal, look at last year’s numbers for the upcoming period, or adjust your categories by hand.
- Wholesale Orders: A single large B2B order can totally skew the average for a small product. If it’s a third of your volume, take it out before calculating your average daily sales for regular retail.
- Velocity Spikes: As Dharmendra_Ahluwalia mentioned, static averages react slowly to sudden promotional spikes. Keep an eye on your sales trends beyond just a fixed window.
4. Variant-Level Accuracy
This is a big one that lumine brought up. Always average at the variant level, not the product level. If you sell a t-shirt in S, M, L, and XL, and the large size is your bestseller, a product-level average might tell you to reorder all sizes evenly. You’d end up with too many smalls and not enough larges. Focus on each SKU individually.
5. The Little Details: Case Packs & Slow Sellers
- Case Packs: Lumine suggested adding a column for your supplier’s case pack quantity. If your reorder point is 147, but your supplier only ships in cases of 50, you’ll need to order 150 (3 cases).
- Slow Sellers: For products that sell less than about one unit a week, the math can get noisy. Zecathop’s advice here is simple: skip the formula. Just go with a manual rule like, “when I’m down to 2, I order 10.”
When Your Spreadsheet Needs a Sidekick
This spreadsheet method genuinely works for years for many stores. It’s an excellent way to get a handle on your inventory and really understand your business’s flow, especially as you start or grow your Shopify store. However, it does reach its limits. When you’re juggling hundreds of SKUs, managing multiple locations, or need weekly (or even daily) updates, keeping that sheet current becomes a full-time job. The math doesn’t get harder, but the manual effort to maintain it does.
This is where apps come into play. Tools built for inventory management can handle the “dynamic” elements Dharmendra_Ahluwalia mentioned, like continuously calculating safety stock using rolling velocity and real-time supplier delivery averages. They can even offer event-driven reorder triggers, drafting purchase orders automatically before you dip below safety stock. Zecathop himself, who started this valuable discussion, built an app (Purveyo) that automates much of this, acknowledging that while the math is accessible, the maintenance can be a beast.
There’s also a more advanced way to calculate your buffer, if you’re feeling adventurous and have daily sales data to hand:
=1.65*STDEV(daily sales)*SQRT(D2)
This formula gives more cushion to products with wildly swinging sales (like going from 0 to 40 units one day) compared to products that sell a steady 4 units daily. But honestly, the simple 10-day buffer is perfectly fine to start!
Ultimately, whether you stick with a spreadsheet or move to an app, understanding these core principles of reorder points will empower you to make smarter inventory decisions, keep your shelves stocked, and avoid those frustrating out-of-stock moments. It’s all about knowing your numbers and letting them guide your growth. Happy stocking!