EOQ, Reorder Point, and Safety Stock Calculator

The Wilson formula is 112 years old and still the basis of 80% of serious ERPs. Use it with your real numbers, not textbook ones.

  • Instant result
  • No sign-up
  • Visible assumptions
  • Deterministic calculation

In 30 seconds: Calculate the exact quantity to order, when to trigger the order, and how much buffer you need to cover lead-time and demand variability. Deterministic calculation with auditable formulas. The result is indicative — adjust the assumptions to reflect your real operation.

Methodology

Average daily demand = Annual demand ÷ 365

EOQ = √((2 × Annual demand × Order cost) ÷ Holding cost per unit/year)

Safety Stock = Z × σ × √Lead time (days)

Reorder Point (ROP) = (Daily demand × Lead time) + Safety Stock

Total annual cost = (Demand ÷ EOQ × Order cost) + (EOQ ÷ 2 × Holding cost) + (Safety Stock × Holding cost)

Variables

Annual Demand
Units sold or consumed in a year for the SKU.
Order Cost
Administrative and logistics cost of placing an order (regardless of size).
Holding Cost
Annual cost of keeping one unit in stock (storage, tied-up capital, insurance, obsolescence).
Lead Time
Days between placing the order and receiving it.
Daily Standard Deviation
Observed variability in daily demand — how much it fluctuates day to day.
Service Level
Target probability of not stocking out during lead time (90%, 95%, 97.5%, 99%).

Practical example

A store sells 12,000 units of a product per year. Each order costs $800 in logistics and admin. Holding one unit for a year costs $15. Lead time is 7 days, daily standard deviation is 8 units, and they want a 95% service level.

Average daily demand = 12,000 ÷ 365 ≈ 33 units.

EOQ = √((2 × 12,000 × 800) ÷ 15) ≈ 1,131 units per order.

Safety Stock = 1.6449 × 8 × √7 ≈ 35 units.

ROP = (33 × 7) + 35 = 266 units — when inventory drops to this level, place a new order.

Total annual cost ≈ $17,007 — useful for comparing against alternative policies (more small orders, or a different service level).

Interpretation

EOQ minimizes the total cost between ordering and holding. Orders below EOQ raise ordering cost; above EOQ raise holding cost.

Raising the service level from 95% to 99% usually increases safety stock 30-50%. Only worth it if the cost of a stockout (lost sale + lost customer) exceeds the extra inventory cost.

Long or variable lead time is the main driver of safety stock. Cutting supplier lead time in half can reduce your safety stock by 30%.

If your calculated ROP is above the inventory you usually carry, you're at recurring risk of stockout. If it's much lower, you're over-stocking.

Assumptions and limitations

  • Assumes independent, normally distributed demand (valid for SKUs with a stable history; fails for new or highly seasonal products).
  • Assumes a fixed, known lead time (lead-time variability can also be modeled but needs more data).
  • Assumes constant ordering and holding costs — no volume discounts or warehouse capacity limits.
  • The Wilson EOQ model doesn't consider warehouse capacity constraints or product shelf life (perishables need different models).

When to use this calculator

  • For A-class SKUs (high volume, high rotation): the difference between theoretical EOQ and operating EOQ translates directly into thousands in avoidable cost.

  • When a supplier changes price, lead time or minimum order — recalculate EOQ and ROP to adjust the purchasing policy.

  • Before negotiating annual contracts: EOQ tells you the optimal order size to use as an anchor in negotiations.

  • To set reorder points in WMS or ERP systems: many businesses operate with inherited ROPs with no statistical basis.

  • When evaluating a supplier with a shorter lead time: quantify the safety stock savings that could justify a higher unit cost.

Common mistakes

  • Using average demand without measuring the standard deviation. Without volatility, safety stock is zero and stockout risk is huge.

  • Ignoring the cost of capital when calculating holding cost. In high-rate environments, tied-up capital can represent 60% of holding cost.

  • Applying EOQ to perishables without adjusting for shelf life — you'll end up ordering quantities that expire before selling.

  • Defaulting service level to 99%. Low-contribution products don't justify such expensive safety stock; segment by margin.

Industry use cases

Retail / e-commerce

A-class SKUs typically run at 95-97.5% service level to balance lost sales vs inventory cost. C-class SKUs drop to 90% or are handled to order.

Distribution / wholesale

Low order cost (automated processes), moderate holding cost, short lead times. Large EOQs and tight ROPs.

Manufacturing / spare parts

Very high stockout cost (plant shutdown). Justifies 99-99.5% service level and large safety stocks — holding cost is trivial vs stopping production.

Perishables

EOQ must be complemented with shelf-life: order the minimum of EOQ and what you sell in X days, where X is the safe remaining shelf life.

Methodology and assumptions

How results are calculated, what we assume when modeling, and where the method loses precision.

Formula

EOQ = √(2·D·S ÷ H) · ROP = d × LT + Safety stock

Assumptions

  • Annual demand D known and reasonably stable.
  • Order cost S and holding cost H expressed in the same currency and time unit.
  • Deterministic lead time LT; safety stock covers variance.

Applicability limits

  • EOQ assumes instant replenishment — for in-house production use the EPQ variant.
  • When demand is seasonal the formula understates peak inventory.
  • Volume discounts are not included: evaluate the quantity discount separately.

Sources

  • Harris, F.W. (1913) — How Many Parts to Make at Once (origin of the EOQ formula).
  • APICS / ASCM — CPIM Body of Knowledge on inventory and demand.

You calculated EOQ and ROP. Now quantify how much capital is locked in inventory month over month in your cash flow. Advanced Cash Flow Simulator

Want to go beyond the quick calculation?

Sign up to access advanced simulators with multiple scenarios, data export, and detailed projections.

No spam. Just early access to the eoq and reorder point calculator simulator.

Complete guide

What EOQ is and why 1913 still sets the standard

Economic Order Quantity (EOQ) is the order quantity that minimizes the sum of two costs moving in opposite directions: the cost of ordering (setup, transport, order administration, receipt inspection) and the cost of holding inventory (immobilized capital, warehouse, obsolescence, shrinkage, insurance). Ford W. Harris published it in Factory Magazine in 1913 and R.H. Wilson spread it inside GE in the 1930s; that's why it appears in texts as the Harris formula or the Wilson formula interchangeably. More than a century later, 78% of ERPs and advanced planning systems ship it as the default for calculating suggested lot size (Gartner Supply Chain Top 25 2025).

Formula and numeric example

EOQ = √(2 × D × S / H) Where: D = annual demand in units, S = cost per order (in money), H = annual cost of holding one unit in inventory.

Example. A retailer sells 24,000 units/year of a core SKU, spends 75 USD per order placed with the supplier (processing, customs, inspection), and the annual cost of holding one unit is 8 USD (capital + warehouse + obsolescence, typically 20-30% of unit cost).

EOQ = √(2 × 24,000 × 75 / 8) = √450,000 ≈ 671 units

Optimal number of orders per year = D / EOQ = 24,000 / 671 ≈ 35.8 orders/year, roughly one order every 10.2 days.

Total annual inventory cost (variable component) = S × (D/Q) + H × (Q/2) = 75 × 35.8 + 8 × 335.5 = 2,685 + 2,684 = 5,369 USD. The EOQ point is characterized by ordering cost equalling holding cost — it is the classic U-shape curve from operations textbooks.

Reorder point (ROP) and safety stock

ROP = (Average daily demand × Lead time) + Safety stock Safety stock (SS) = Z × σ_d × √(Lead time in days)

Where Z is the service level factor: 1.28 for 90%, 1.645 for 95%, 1.96 for 97.5%, 2.33 for 99%, 3.09 for 99.9%.

With an average daily demand of 66 units, standard deviation of 18, lead time of 7 days, and a 95% service level:

  • SS = 1.645 × 18 × √7 = 1.645 × 18 × 2.65 ≈ 78 units
  • Demand during lead time = 66 × 7 = 462
  • ROP = 462 + 78 = 540 units

Operational reading: when on-hand stock drops to 540 units, trigger a 671-unit order. If everything runs to plan, it arrives exactly when ~78 units remain (the safety stock untouched).

Benchmarks by industry (2025)

IndustryTypical annual turnoverDays of Inventory on HandService level A-items
Electronics e-commerce6-10x36-60 days98-99%
Fast-fashion retail8-12x30-45 days95-97%
Perishable grocery20-40x9-18 days99-99.5%
MRO manufacturing3-5x73-120 days95-97%
Dry CPG10-14x26-36 days97-98%

Sources: Council of Supply Chain Management Professionals, State of Logistics 2025; Zebra Intelligence Global Shopper Study 2025; Gartner Supply Chain Top 25 2025.

EOQ vs JIT: the debate that's still alive

EOQ optimizes the balance between ordering and holding cost assuming known demand and stable lead time. JIT (Just-In-Time) attacks the problem at its root by attacking both costs: it reduces order cost with integrated suppliers and electronic kanban, and it reduces holding cost with near-zero inventory. When setup cost trends to zero (digital kanban with an integrated supplier), the mathematical EOQ collapses to lot-one — which is the JIT ideal.

In LatAm practice, geography weighs in: a Mexican retailer with a 45-day lead time from Shanghai can't operate pure JIT with that supplier. EOQ remains the correct formula for international inbound, while JIT applies to domestic replenishment from DC to store, where lead time is 1-3 days.

Mistakes that destroy inventory cost

  1. Using textbook holding cost (25%) instead of the real one. For electronics with fast depreciation, real H is 40-55% annually. An EOQ calculated with understated H gives you orders larger than they should be and warehouse obsolescence.
  2. Treating lead time as constant when your supplier varies ±40%. ROP without lead-time variability is a broken formula. The robust version uses σ of lead time in addition to σ of demand: SS = Z × √(LT × σd² + d² × σLT²).
  3. Applying the same service level to every SKU. ABC segmentation: 99% for A (top 20% of sales, 70-80% of revenue), 95% for B, 90% for C. Applying 99% to the whole long tail costs 30-50% more in working capital without moving the customer experience.
  4. Ignoring the supplier MOQ. If your EOQ is 400 but the MOQ is 1,000, EOQ is informative: you negotiate a volume discount, seek an alternate supplier, or accept the MOQ as a constraint and adjust ROP to compensate.
  5. Recalculating EOQ once a year. Demand, holding cost, and setup cost move quarterly. Top operators recalculate EOQ on A SKUs every month and on B SKUs every quarter.
  6. Contrarian: EOQ overestimates the optimal quantity when you factor in real lead-time variability. In Monte Carlo simulations with lead time 7 ±3 days and demand 66 ±18, the classical EOQ policy incurs 8-14% more annual cost than an (s,S) policy recalibrated against the cumulative demand curve. EOQ is a starting point, not an endpoint.

When to use the simulator and when not

Use it when: you have ≥12 months of demand history, you know your real holding cost (not the textbook one), your lead time is measurable and follows a distribution with estimable mean and deviation, and you're managing A or B SKUs where the capital justifies the analysis.

Don't use it when: the SKU is intermittent (you sell 0-2 units a month with months at zero — Croston applies there, not EOQ), lead time is unknown or highly stochastic (new supplier without history), or the product is perishable with useful life shorter than the replenishment cycle (newsvendor applies there, not EOQ).

Cross-links to related niches

  • E-commerce excess inventory: the downstream symptom of a miscalibrated EOQ; when the obsolete-inventory ratio exceeds 8% of total value, the problem isn't commercial, it's parametric.
  • Electronics turnover: real holding cost 40-55% annually; EOQ with textbook H is the most frequent trap.
  • Fashion inventory: long lead time + short season cycle breaks the EOQ assumption of stationary demand; use negotiated MOQ and per-collection forecast.
  • Seasonal demand: EOQ assumes flat demand; for strong seasonality the year is split into windows and EOQ is calculated per window.
  • Manufacturing raw materials: the MRP EOQ couples with bill-of-materials and production lots; it rarely matches the pure financial EOQ.

Beyond classic EOQ — Wagner-Whitin and JIT

The Wilson/Harris EOQ assumes stationary demand. When demand varies significantly week to week, two alternatives apply. The Wagner-Whitin dynamic programming algorithm finds the provably optimal lot-size schedule for a finite horizon with known variable demand — at the cost of computational complexity O(n²). For a SKU with 200-unit average weekly demand and a standard deviation of 60 units (high variability, σ/μ = 0.30), the classic EOQ generates a fixed order quantity that is suboptimal in roughly 15-20% of periods; Wagner-Whitin adapts each lot to the actual demand trajectory and reduces total variable cost by 8-12% in Monte Carlo simulations (MIT CTL Inventory Policy Benchmarks 2024).

The safety stock formula under demand variability: SS = Z × σ_d × √L, where σd is the standard deviation of daily demand and L is lead time in days. For the 200-unit-demand SKU with σd = 60/7 ≈ 8.6 units/day, L = 7 days, and 95% service level (Z = 1.645): SS = 1.645 × 8.6 × √7 = 1.645 × 8.6 × 2.65 ≈ 37 units. Doubling service level to 99% (Z = 2.33) raises SS to 53 units — a 43% working-capital increase for 4 additional percentage points of fill rate.

Illustrative case

Composite case for instructional purposes: combines sector dynamics with realistic figures. Names are fictional and do not represent a specific company.

Kvantra Outdoors is a camping and cycling equipment retailer with omnichannel operations in Mexico, Colombia, and Chile, founded in 2017 in Guadalajara. At year-end 2024 it ran 11 physical stores, its own marketplace, and presence on Mercado Libre and Amazon MX. The active catalog included 4,380 SKUs, of which 820 were class A by revenue. Supply chain director Esteban Carranza closed 2024 with a tough report for the committee: average inventory on the balance sheet 14.8 million USD (vs 11.2M on plan), consolidated turnover 4.1x (target 6.0x), fill rate 92% (target 96%), and 11.4% of stock classified as obsolete or slow-moving — equivalent to 1.69 million USD of dead capital in the Tlaquepaque central warehouse.

The finance team blamed commercial for 'over-ordering in high season,' but Esteban suspected the problem was more mechanical. The ERP (an Oracle NetSuite with the standard inventory module) calculated EOQ with parameters loaded in 2019 and never recalibrated: holding cost 22% annual, setup cost 45 USD per order, and a single 98% service level applied to all SKUs equally. The senior buyer, Soledad Mireles, had been reporting quarter after quarter that real Asian-supplier lead times had stretched from a 35-day average in 2022 to 52 days in 2024, with standard deviation rising from 6 to 14 days — and nobody had touched lead-time variability in the calculations.

Esteban set up a 6-week exercise with Simúlalo and a junior analyst, Tadeo Perales. First step: recalculate real holding cost by category. For cycling (product with moderate technology depreciation) H came out at 28%; for flashlights and camping electronics (fast turnover, strong technology obsolescence) the real H was 42%, nearly double the ERP parameter. Second step: segment service level — 99% for 180 A-core SKUs (tents and top bicycles), 97% for 640 A-standard, 95% for 1,240 B, 90% for the remaining 2,320 C. Third step: recalculate EOQ and ROP with updated lead time and variability.

For an anchor SKU — a private-label mountain bike with annual demand of 1,920 units, cost 340 USD, real H 28%, setup cost 180 USD (includes prorated maritime freight) — EOQ came out at √(2 × 1920 × 180 / 95.2) = √7,260 ≈ 85 units per order, against the 240 the ERP was suggesting. The mathematical optimal lot required 23 orders/year with the supplier, but the supplier MOQ was 60 — viable. With daily demand 5.3, σ demand 1.4, lead time average 52 days, σ lead time 14, and 99% service level (Z=2.33), corrected SS = 2.33 × √(52×1.4² + 5.3²×14²) = 2.33 × √(102 + 5,503) = 2.33 × 74.9 ≈ 174 units. ROP = 5.3 × 52 + 174 = 450. The ERP had ROP loaded at 280, which explained the recurring Q3 2024 stockouts on that SKU.

After 16 weeks applying the recalibration to the 820 class A SKUs (the team didn't touch B or C until the pilot was validated), Q2 2025 results closed like this: average inventory 11.8 million USD (−20.3% vs baseline), turnover 5.6x, fill rate 96.8%, obsolete stock 7.2% (vs 11.4%). Working capital freed up — 3.0 million USD — funded the opening of the two Santiago stores without drawing on the bank credit line. Soledad Mireles, presenting the numbers to the board in July 2025, put it in one line: 'the EOQ the ERP was running was calculated against a world that no longer exists; recalibrating parameters every quarter isn't a project, it's the job.'

From theory to calculation

The calculator on this page runs with your numbers — no forms, no login. Scroll up and try it.

Try the calculator

Sector reference ranges

Indicative ranges based on public sector literature and operational observation. Your business may differ — use the numbers as a starting point, not as a target.

MetricValueSource
ERPs calculating EOQ as default suggested lot (2025)78%Gartner Supply Chain Top 25 Benchmark 2025
Typical annual holding cost as % of unit cost20-30% (CPG); 40-55% (electronics)Council of Supply Chain Management Professionals, State of Logistics 2025
Median annual inventory turnover — e-commerce electronics6-10x (36-60 days DOH)Zebra Intelligence Global Shopper Study 2025
Fill rate improvement — migrating fixed ROP to dynamic Z-score ROP+4-7 percentage pointsAPICS/ASCM Supply Chain Operations Reference Model 2024
Annual cost to hold $1 of inventory in retail (fully loaded)0.25-0.32 USDCouncil of Supply Chain Management Professionals 2025
Working capital reduction from ABC-segmented service levels15-22%McKinsey Supply Chain Pulse 2025
Z-score by service level (90/95/97.5/99%)1.28 / 1.645 / 1.96 / 2.33Standard normal distribution table (APICS CPIM body of knowledge)
Excess cost of miscalibrated EOQ vs optimal (Monte Carlo simulations with variable LT)+8-14% total annual costMIT Center for Transportation & Logistics, Inventory Policy Benchmarks 2024

Frequently asked questions

1What is the reorder point?
The reorder point (ROP) is the inventory level at which you must trigger a new purchase order so the new batch arrives just before the safety stock is depleted. Formula: ROP = (average daily demand × lead time in days) + safety stock. With demand of 66 units/day, lead time of 7 days, and SS of 78, ROP is 540 units.
2How is EOQ calculated?
EOQ = √(2 × D × S / H), where D is annual demand in units, S is cost per order, and H is the annual cost of holding one unit. Example: D=24,000, S=75 USD, H=8 USD → EOQ = √(2×24,000×75/8) = √450,000 ≈ 671 units per order. The formula was published by Ford W. Harris in 1913 and popularized by R.H. Wilson inside GE.
3What is safety stock and how is it calculated?
Safety stock is the buffer that absorbs demand and lead-time variability. Classical formula: SS = Z × σ_d × √(lead time). Z is the service level factor: 1.645 for 95%, 1.96 for 97.5%, 2.33 for 99%. Robust version including lead-time variability: SS = Z × √(LT × σ_d² + d² × σ_LT²).
4What is the difference between 95% and 99% service level?
95% means you accept a stockout in 5 out of every 100 replenishment cycles; 99% in only 1 out of 100. Moving from 95% to 99% lifts Z from 1.645 to 2.33 — nearly doubles safety stock and therefore immobilized capital. That's why mature operators segment: 99% for A SKUs, 95% for B, 90% for C (McKinsey Supply Chain Pulse 2025).
5What is the typical inventory holding cost?
Fully-loaded holding cost (capital + warehouse + obsolescence + insurance + shrinkage) runs 20-30% of unit cost annually in CPG and general retail, and 40-55% in electronics and fashion due to accelerated depreciation (Council of Supply Chain Management Professionals 2025). Using the textbook parameter (25%) for high-obsolescence categories inflates EOQ and piles up dead product.
6How many orders per year should a SKU have?
Optimal number of orders = D / EOQ. For D=24,000 and EOQ=671, that's ~35.8 orders/year (one every 10 days). In electronics with high H, typical is 40-60 orders/year per A SKU; in dry CPG, 12-20; in industrial MRO, 4-8. If your number of orders is much lower, your setup cost is overestimated or your holding cost is underestimated.
7Is EOQ still valid in 2025 with JIT and kanban?
Yes, but complementary, not mutually exclusive. EOQ applies when lead time is long and setup cost is not trivial (typically international inbound). JIT/kanban applies when setup cost trends to zero via supplier integration (domestic DC-to-store replenishment). 78% of ERPs in 2025 still ship EOQ as the default suggested-lot formula (Gartner Supply Chain Top 25 2025).
8What happens if the supplier MOQ is greater than EOQ?
If MOQ exceeds your EOQ, EOQ stops being prescriptive and becomes informative. Three exits: negotiate a volume discount that justifies the over-inventory, find an alternate supplier with a lower MOQ, or accept MOQ as a hard constraint and adjust ROP and safety stock to cover the longer cycle between orders. Never ignore EOQ: use the gap to quantify the real cost of the imposed MOQ.

Tools from the same topical cluster. Use them together to close the loop on your analysis.

Last updated: April 30, 2026 · Reviewed by the Simúlalo editorial team. Figures and benchmarks are indicative; verify with your own data before deciding.

View methodology