The Wilson formula is over a century old and still the backbone of serious ERPs. Use it with your real numbers, not textbook ones.
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.
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)
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).
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.
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.
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.
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.
Low order cost (automated processes), moderate holding cost, short lead times. Large EOQs and tight ROPs.
Very high stockout cost (plant shutdown). Justifies 99-99.5% service level and large safety stocks — holding cost is trivial vs stopping production.
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
EOQ = √(2·D·S ÷ H) · ROP = d × LT + Safety stock
Break-Even Point
How much you need to sell to cover costs
VAT Calculator
Add or remove VAT from any amount
Profit Margin
Calculate your gross and net margin
ROI
Return on your investment
ROAS & ad break-even
Calculate your break-even ROAS and check whether your ad campaign is profitable.
Quick Cash Flow
Calculate revenue minus expenses in seconds
Freelance hourly rate
Work out what to charge per hour to reach the income you want after costs and taxes.
LTV and Churn
LTV, LTV:CAC ratio and SaaS payback
Cohort Retention
Cohort decay and cumulative revenue
CAC and Payback
CAC, payback and SaaS Magic Number
Occupancy Break-Even
Minimum occupancy to cover costs
Seasonal Demand
Project demand peaks and troughs
Interés Compuesto
Proyecta cuánto crece tu dinero con aportaciones periódicas e interés compuesto.
The advanced simulators model complete scenarios — 12-month cash flow, pricing with sensitivity analysis, credit risk, delivery routes — with your own data and no sign-up.
Explore the simulatorsCalculator guide
This calculator solves the two central decisions of inventory management: how much to order each time (EOQ, the economic order quantity) and when to trigger the order (ROP, the reorder point), including the safety stock your service level demands.
It is built for whoever manages purchasing or inventory in retail, distribution and e-commerce with relatively continuous demand, and wants to replace 'we order when it looks low' with numeric rules that minimize the total cost of ordering and holding.
EOQ = √(2 × Annual demand × Cost per order ÷ Holding cost)
Daily demand = Annual demand ÷ 365
Safety stock = Z × Daily deviation × √Lead time
Robust version: SS = Z × √(LT × σd² + d² × σLT²)
ROP = Daily demand × Lead time + Safety stock
Total annual cost = (Demand ÷ EOQ) × Cost per order + (EOQ ÷ 2 + SS) × Holding cost
The Z factor comes from the service level (1.645 for 95%, for instance). If you enter lead-time variability, the engine automatically switches to the robust safety-stock formula; if your supplier's minimum exceeds the EOQ, the effective lot adjusts and the cost penalty is reported.
Hypothetical example for illustration. The numbers reproduce exactly when entered into the calculator on this page.
Worked example: a SKU with 12,000 units of annual demand, $900 cost per order, $18 holding cost per unit per year, a 10-day lead time, a daily deviation of 8 units and a 95% service level.
EOQ: √(2 × 12,000 × 900 ÷ 18) = 1,095 units per order.
Daily demand: 12,000 ÷ 365 = 32.9 units. Z factor at 95%: 1.645.
Safety stock: 1.645 × 8 × √10 = 42 units.
ROP: 32.9 × 10 + 42 = 370 units — when inventory touches that level, you trigger the order.
Frequency: 12,000 ÷ 1,095 = 11 orders per year, one every 33 days. The policy's total annual cost: $20,467.
Reading: ordering 1,095 units whenever inventory falls to 370 sustains 95% coverage through the lead time at the lowest combined cost of ordering and storing.
The EOQ is a flat optimum: the total-cost curve is insensitive near the minimum, so rounding the lot to full boxes or pallets barely changes cost. What is sensitive is the ROP: triggering it late translates directly into stockouts.
Safety stock buys coverage with capital: raising the service level makes the buffer more expensive non-linearly, because the Z factor grows ever faster near 100%. Choose service levels per SKU based on the real cost of a stockout, not as a uniform policy.
If the engine reports an MOQ penalty, that number is your negotiation argument with the supplier: it is what their minimum costs you per year versus your optimal lot.
From theory to calculation
The calculator on this page runs with your numbers — no forms, no login. Scroll up and try it.
Try the calculatorFrequently asked questions
Last updated: July 19, 2026
View methodology