ClearStock is live on the Shopify App Store.Install free →

← All blogs

Reorder Math8 min read

Min max inventory explained (formula, Excel example, and when it fails)

The min max inventory formula for Shopify stores, with a worked Excel example — how to set both thresholds, when the policy works, and where it fails.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

Min max inventory is a two-threshold replenishment policy: when a SKU's stock on hand falls to the min, you order enough to bring it back up to the max. Order quantity = max − current stock. That's the whole rule — no order-up-to forecast, no per-order quantity decision. It's popular because it's simple enough to run in a spreadsheet across hundreds of SKUs.

This article covers how to compute both numbers, a copy-paste min max inventory calculation for Excel, a worked example with realistic merchant figures, and an honest section on where the policy fails — because a flat min/max applied to an entire catalog is a known weakness, not a nitpick.

What min and max actually mean

Two levels per SKU:

  • Min (reorder trigger). The stock level that fires the order. It has to cover demand over the supplier lead time, plus a buffer. Functionally, min is a reorder point wearing a different name.
  • Max (order-up-to level). The quantity you top up to. Every order restores stock to max, so max determines how much you buy and how much shelf space and cash each SKU consumes.

A useful mental model: min protects you from running out of stock; max protects you from buying too much. Most merchants set min with care and set max with vibes. That's backwards — max is where the money sits.

The min max inventory formula

Min = (average daily units sold × lead time in days) + safety stock

Max = min + (average daily units sold × replenishment cycle in days)

The replenishment cycle is how often you review and order that SKU — every 30 days if you do a monthly buy, every 14 days if you order fortnightly. If you order the moment stock touches min, the cycle is short and max sits close to min. If you batch orders into a weekly or monthly buy, max needs enough headroom to cover the days between orders.

Each input:

  • Daily units sold — per SKU, computed from in-stock days only (more below).
  • Lead time — your real order-to-received average, not the supplier's quote. The method for measuring it is in the supplier lead time guide.
  • Safety stock — a buffer in units; the standard-deviation formula is in the safety stock guide.

Notice min is exactly the reorder point formula. Min/max is not a different theory of replenishment — it's a reorder point plus an automatic quantity rule. That's the honest way to evaluate it: the quantity rule trades flexibility for simplicity.

Worked example: a SKU selling 4.8 units a day

Your SKU CNDL-LAV-9, a lavender candle, sells 4.8 units per day on average. Supplier lead time is 30 days real (they quote 21 — they always have). You order from this supplier monthly and keep 6 days of safety stock.

Step 1 — Lead-time demand.

4.8 × 30 = 144 units

Step 2 — Safety stock.

4.8 × 6 = 28.8 → 29 units

Step 3 — Min.

144 + 29 = 173 units

Step 4 — Max. Your monthly buying cycle means, on top of lead-time demand and buffer, you want stock to cover roughly one cycle of ordering. With a 30-day cycle:

173 + (4.8 × 30) = 173 + 144 = 317 units

So: the day CNDL-LAV-9 hits 173 on hand, you order 317 − 173 = 144 units. Order arrives around week 4.3, right as the buffer absorbs the tail of demand. Total inventory investment at peak: 317 candles. If that candle costs you $6.50 landed, max represents about $2,060 of cash on the shelf for one SKU. Multiply by a few hundred SKUs and you can see why max deserves more scrutiny than it gets.

Min max inventory calculation in Excel (copy-paste row)

One row per SKU:

Cell Column Example value
B2 Daily velocity (units/day) 4.8
C2 Real lead time (days) 30
D2 Safety stock (units) 29
E2 Replenishment cycle (days) 30

Min, row 2:

=ROUND(B2*C2 + D2, 0)

Max, row 2:

=ROUND(B2*C2 + D2 + B2*E2, 0)

Order quantity, once stock (F2) touches min:

=MAX(0, ROUND(B2*C2 + D2 + B2*E2, 0) - F2)

Three spreadsheet disciplines that keep this honest:

  1. Compute B2 from in-stock days only. If CNDL-LAV-9 was dark for 8 of the last 30 days, 100 units sold ÷ 30 days = 3.3/day understates it; 100 ÷ 22 available days = 4.5/day is the real rate. The full correction is covered in why velocity numbers lie during out-of-stock days.
  2. Round order quantities up to case packs. You don't order 144 candles; you order 144 or 150.
  3. Recompute min and max quarterly — monthly for your top 20 SKUs. A threshold set in March is a stale input by October.

When min max works, and where it fails

It works well for:

  • Steady-selling staples with predictable demand (consumables, basics, replenishment goods)
  • SKUs with a single supplier and a stable lead time
  • Catalogs too large for per-order quantity decisions — one threshold pair per SKU, reviewed quarterly, is manageable
  • Merchants who order on a fixed cadence and want quantities decided for them

It fails when:

  • Demand is seasonal or spiky. A min/max computed in September is wrong for December. Thresholds are static; seasons are not.
  • One size fits nobody. The failure mode is applying identical logic catalog-wide. In a January 2025 public reply on the Shopify App Store, the founder of the Assisty inventory app acknowledged this directly, writing that the app's reorder suggestions "use the same min and max inventory levels for all products" (App Store review reply, accessed October 2026). When a planning-app vendor admits it in public, treat it as the category's known limitation: a min/max system that can't differentiate a $9 hero SKU from a $90 slow mover isn't planning, it's rounding.
  • Lead times vary. A 30-day supplier who sometimes takes 45 will punch through a min built on 30. Min needs the buffer; the buffer needs honest lead-time data.
  • The velocity input is poisoned. Every threshold inherits whatever error is in the daily-velocity number. Wrong velocity → wrong min → orders placed too late → more dark days → wronger velocity. The loop compounds.

Min/max vs. plain reorder point

If min is a reorder point, why not just use one? The difference is the quantity side:

Reorder point only Min/max policy
Trigger Stock hits threshold Stock hits min
Quantity Decided per order (order-up-to math, forecast, case packs) Automatic: max − current stock
Effort Higher — a decision per order Lower — decisions are pre-made
Flexibility High — you can react to cash, seasons, promos Low — max keeps ordering the same shape of order

Use min/max when consistency and low effort win. Use a plain reorder point with deliberate order quantities when a SKU's demand is seasonal, its cash footprint is large, or you're buying for a promotion — static thresholds don't map cleanly onto Q4 buying.

One practical middle ground: run min/max mechanically on your long tail of steady SKUs, and handle your top 20–50 movers with per-SKU judgment. That's where the thresholds earn their keep and where rigid ones do the most damage.

If you want a starting point without building the spreadsheet from zero: InventoryX's planned weekly Buying List is intended to compute a per-SKU order suggestion from in-stock-only velocity and your lead times — the same inputs as min above, refreshed weekly. It won't maintain a catalog-wide max for you; the max side stays your call, deliberately.

Common questions

What is min max inventory? A replenishment policy where each SKU has two thresholds: when stock drops to the min, you order enough to return it to the max. The min covers lead-time demand plus a buffer; the max caps your investment per SKU. Order quantity is automatic — max minus current stock — which is both the method's convenience and its main weakness.

What is the min max inventory formula? Min = (average daily units sold × lead time in days) + safety stock. Max = min + (daily units sold × replenishment cycle in days). A candle selling 4.8/day from a 30-day supplier with 6 days of buffer and monthly ordering carries a min of 173 units and a max of 317.

How do you calculate min max inventory in Excel? One row per SKU: velocity in B2, lead time in C2, safety stock in D2, cycle in E2. Min is =ROUND(B2*C2 + D2, 0); max is =ROUND(B2*C2 + D2 + B2*E2, 0). Compute velocity from in-stock days only and round order quantities up to whole case packs.

Is min max the same as a reorder point? No — a reorder point is only the trigger; you still decide quantity per order. Min/max adds an automatic quantity rule (order up to max), which removes the per-order decision. The min value is computed the same way as a reorder point, so min/max is effectively a reorder point with the quantity question pre-answered.

When should you not use min max inventory? Avoid it for seasonal SKUs, products with volatile demand, and catalogs where lead times vary widely — static thresholds lag all three. It also fails when velocity data counts days you had nothing to sell as low demand. Use it for steady staples, and handle volatile or high-value SKUs with per-order judgment.

Next step

Pull your ten fastest movers and compute min and max for each tonight using the spreadsheet row above. Before trusting the output, interrogate one input: divide sales by in-stock days, not calendar days. Then compare each SKU's min against its days of cover — if a SKU is already sitting below min and you haven't ordered, the threshold did its job and the buying process didn't.