How-to Inventory New

How to Calculate Your Reorder Point in Shopify (With Examples)

July 2026 · 7 min read

TL;DR

  • Formula: Reorder point = (average daily sales × lead time days) + safety stock.
  • Problem: Shopify doesn't calculate or store this per product. You have to work it out yourself — and keep it updated as your sales patterns change.
  • Shortcut: Replenishly now calculates reorder points from your actual Shopify order history and suggests the right threshold per product — automatically.

Every time you run out of stock, you lose a sale. Every time you order too early, you tie up cash you don't need to. The reorder point is the number that sits between those two failures — it's the stock level at which you need to place an order so that the new stock arrives before the old stock runs out.

It sounds simple. The maths is simple. But applying it correctly across dozens or hundreds of products, with different suppliers, different lead times, and changing sales patterns, is where things fall apart for most merchants.

Here's how to do it properly.

1. The formula

Reorder point = (avg daily sales × supplier lead time) + safety stock
Where safety stock = avg daily sales × safety buffer days

Let's break each component down.

Average daily sales

This is the average number of units you sell per day over a representative period. The right period depends on your business:

For most Shopify merchants with physical stock, 60 days is a reasonable default. Long enough to average out a bad week; short enough to reflect how the product is actually selling right now.

To get this from Shopify manually: go to Analytics → Reports → Sales by product, set the date range to 60 days, and divide the total units sold by 60. Do this for every product you want to set a reorder point for. It's tedious, but you only need to do it once per product initially — then update it quarterly, or when you notice a significant sales change.

Supplier lead time

This is how many days it takes from placing an order to stock arriving at your warehouse, ready to sell. Be honest with yourself here — use the actual time, not the optimistic one.

If your supplier is in China and you're importing by sea, you might be looking at 45–60 days. A UK-based manufacturer might be 7–14 days. A domestic distributor might be 2–3 days.

Use the lead time you actually experience, not the lead time on the supplier's website. And include your own internal processing time — if there are 3 days between stock arriving and being available to pick, add those days too.

Safety stock

Safety stock is a buffer that protects you against two things: demand that runs higher than average during your lead time, and supplier delays. Without it, you're betting that sales will be exactly average and the supplier will deliver exactly on time. Neither is guaranteed.

A simple way to think about safety stock: how many extra days of average sales do you want to hold as a buffer?

If average daily sales are 5 units, and you want 4 days of safety stock, that's 20 units. Add that to your lead-time calculation and you have your reorder point.

Replenishly uses a 20% safety buffer built into its suggested thresholds — so the full formula is:

Suggested threshold = ceil(avg daily sales × lead time × 1.2)
The 1.2 multiplier is a 20% safety buffer above the raw lead-time demand

2. A worked example

Let's make this concrete.

You sell a product that averages 3.5 units per day over the last 60 days. Your supplier is based in the EU and typically delivers in 14 days. You want a 20% safety buffer.

So your reorder point is 59. When stock drops to 59 units, you need to place an order. If you do, the supplier delivers in 14 days, and by the time they arrive, you'll have used approximately 3.5 × 14 = 49 of those 59 units, leaving you with 10 units of safety stock. Clean.

Now do that calculation for 200 products with different suppliers. This is why most merchants either set thresholds too low (running out), too high (holding excess stock), or give up and check inventory manually.

3. The Shopify problem

Shopify doesn't store or calculate reorder points. There's no native field for "threshold" or "minimum stock level" in the core inventory system. You can set a continue selling when out of stock flag, but that's about it.

What Shopify does have:

What Shopify doesn't have:

Until Stocky's shutdown, Stocky filled this gap. Stocky's APIs stop working on August 31, 2026 — if you're reading this as a Stocky migrant, that's the urgency.

The options now are: calculate your own reorder points manually and enter them into whatever tool you're using, or use a tool that calculates them from your actual sales data.

4. Why manual thresholds go stale

There's a fundamental problem with setting thresholds manually: your sales change, but your thresholds don't.

You set a reorder point of 30 units for a product that was selling 2/day with a 14-day lead time. That was sensible. Then a TikTok video happens, your store gets featured in a newsletter, or you run a promotion — and suddenly you're selling 8/day. Your reorder point of 30 units is now dangerously low; at 8/day it represents less than 4 days of stock, not 14.

The reverse also happens. A seasonal product sells 15/day in November and 1/day in February. A static threshold set for peak season means you're ordering stock you don't need for most of the year.

The only solution is to keep your thresholds updated. Most merchants don't. The threshold gets set once, works reasonably well for a while, then gradually drifts out of sync with reality. The result is either stockouts on fast movers or excess stock on slow ones.

5. Velocity-based thresholds: letting the data set the reorder point

The alternative to manual threshold management is to let your actual sales data define the threshold — and update it automatically as sales patterns change.

This is what Replenishly's sales velocity forecasting does. It works like this:

  1. Replenishly reads 60 days of your paid Shopify order history via the Orders API
  2. For each product variant, it calculates the average daily units sold across that period
  3. It applies the formula: ceil(avg_daily_units × lead_time_days × 1.2)
  4. The result appears as a suggested threshold next to each product in your inventory watch

You keep full control. Suggestions only appear when a product has sufficient sales history (at least 5 data points). You can accept a suggestion with one click, apply all suggestions at once, or ignore it entirely and keep your manual threshold. Per-product overrides are independent — changing one product's threshold doesn't touch the others.

Worked example from a real suggestion

  • Product: selling 2.1 units/day on average over 60 days
  • Lead time in Replenishly settings: 14 days
  • Suggested threshold: ceil(2.1 × 14 × 1.2) = ceil(35.28) = 36 units
  • Previous manual threshold: 10 (set once when the product launched and never updated)

The → 36 chip appears in the Inventory Watch. Click it to apply. Done.

6. When to use manual thresholds vs. velocity-based ones

Velocity-based thresholds are better when:

Manual thresholds make more sense when:

The ideal setup is usually hybrid: let velocity-based suggestions handle the bulk of your catalogue, and override manually where you have specific knowledge the formula doesn't.

7. Setting up reorder points in Replenishly

Here's the practical flow if you're using Replenishly:

  1. Set your lead time — in Settings → Reorder Settings, enter your typical supplier lead time in days. This is the single input that drives the formula for all suggested thresholds.
  2. Run the velocity calculation — in Settings → Velocity-based Thresholds, click "Recalculate from order history." Replenishly fetches 60 days of paid orders and computes average daily sales per variant.
  3. Review the suggestions — the panel shows each tracked product with its current threshold, velocity, and suggested threshold. Items where the suggestion differs significantly from your current threshold are the ones to look at first.
  4. Apply selectively or in bulk — click "→ N" chips on individual products in the Inventory Watch to apply one at a time, or use "Apply all N suggestions" in the settings panel to update everything at once.
  5. Set a global fallback — the global threshold (Settings → Reorder Settings) applies to any product without a per-item override. New products fall back to this until they accumulate enough sales history to get a suggestion.

Once thresholds are set, Replenishly monitors inventory in real time via Shopify's inventory webhook. When stock drops below a product's effective threshold, a PO draft is automatically generated, pre-filled with the correct supplier and quantity, and either emailed directly to the factory or held for your review — depending on your settings.

About the suggestions vs. full demand forecasting

Replenishly's velocity-based thresholds are calculated from average sales over 60 days. They account for your lead time and include a 20% safety buffer. What they don't account for is seasonality, trend direction (growing vs. declining sales), or promotional uplift. For products where those factors matter significantly — large seasonal swings, fast-growing new SKUs — treat the suggestion as a starting point and apply your own judgement. If you need full demand forecasting with seasonal models, that's a different category of tool (Inventory Planner, Prediko). Replenishly is honest about this.

The bottom line

The reorder point formula is not complicated. avg daily sales × lead time × 1.2 covers most real-world cases adequately. The hard part is applying it accurately across all your products and keeping it current as your sales change.

If you're doing it manually, you'll drift. Most merchants do. The fix is to automate the calculation from real order data — so the threshold reflects how the product is actually selling today, not when you last updated a spreadsheet.

Replenishly does this calculation for every tracked product in your Shopify store. 7-day free trial, no credit card required to start.

Try it free

Let your sales data set the reorder points

Replenishly reads 60 days of your Shopify order history and suggests the right threshold per product. One click to apply. Automatic POs when stock drops below it.

Install free on Shopify

$29/month after trial · Cancel any time

Related