What min-max ordering looks like in practice
Min-max ordering is the most common inventory replenishment method for spreadsheet-based FBA sellers. The setup is simple: pick a minimum inventory level for each SKU (the reorder trigger) and a maximum inventory level (the order-up-to target). When stock drops to or below the min, you order enough to refill to the max. The order quantity is always Max minus Current Inventory minus On-Order.
The appeal of min-max ordering is its simplicity. You can run it from a Google Sheet with two columns and a conditional format. No demand forecasting models, no service-level math at the SKU level, no rolling lead time recalculations. For brand-new sellers with 5-20 SKUs, that simplicity is a feature.
The problem with min-max ordering shows up the moment your business grows past the simple case. Static min and max levels work fine for products with stable, predictable demand. They fall apart for seasonal SKUs, products with unpredictable lead times (read: most Asia-sourced FBA products), and businesses that have crossed 50+ ASINs.
The min-max ordering formula
The order quantity in min-max ordering is variable, similar to a periodic review system, but the trigger is a stock threshold (like a fixed order point system) rather than a calendar date. The min in min-max is just your reorder point by another name — our free tool returns the value in seconds.
Example: min-max ordering for an FBA kitchen tool
You sell a garlic press at $24.99 with 12 units/day demand, 78-day lead time including FBA receiving, daily standard deviation of 3 units, 95% service level (z = 1.65), EOQ of 500 units, and supplier MOQ of 500.
- Safety stock: 1.65 x 3 x √78 = 44 units
- Min: (12 x 78) + 44 = 936 + 44 = 980 units
- Max: 980 + 500 = 1,480 units
When inventory drops to 980 (say, 720 on hand + 260 in transit), and the in-transit hits FBA, you place an order. Current inventory after that incoming receives might be 800 with zero on order. Order qty = 1,480 − 800 − 0 = 680 units.
If demand stays at 12/day, the next order trigger arrives roughly 42 days later. Now imagine Q4 hits and demand jumps to 30/day. Lead time stays at 78 days. The min level you calculated (980 units) covers only 33 days at the new velocity, far short of the 78-day lead time. You will stock out before the next order arrives.
Why min-max ordering breaks for seasonal FBA products
Min-max ordering assumes daily demand is roughly constant. For Amazon FBA sellers with seasonal products (which is most of them), that assumption fails in three ways.
The min becomes a stockout trap. A min calibrated against January demand will be 60-80% too low heading into November. By the time inventory hits the min, you do not have enough lead time runway to bring in new stock before going out of stock during peak weeks.
The max creates Q1 dead stock. A max set for Q4 demand creates 6+ months of supply when demand drops to baseline in January and February. That triggers aged inventory surcharges at 181 days and ties up working capital.
Restock limits override your max. Even if your max says 1,480 units, FBA may only allow 800 in. The remaining 680 sit at a 3PL or with your supplier.
The fix is dynamic min-max levels: recalculate at least monthly using a rolling 60-day demand average and an updated lead time. Better operators use seasonality indices to pre-set 3-4 different min/max profiles per SKU and switch between them as the calendar moves.
Common mistakes
- Setting min and max once at SKU launch and never updating. The single most common min-max ordering failure mode. Demand and lead times change every quarter. Levels set in March will be wrong by September.
- Confusing the max with a hard cap on inventory. Max is the order-up-to target, not the most you should ever hold. A large incoming shipment received during a sales lull can legitimately push inventory above max temporarily. Do not panic-discount.
- Using min-max ordering for products with multi-modal demand. Products with two distinct sales seasons (back-to-school plus holidays, for example) need separate min/max profiles for each peak. A single average destroys both signals.