Enter annual demand
How many units you sell or use in a year. If you only know monthly, multiply by 12 first.
The EOQ calculator with orders/year, cycle days, and bulk discount check.
Updated Reviewed by Sajid Hussain· Editor
Economic order quantity (EOQ) is the order size that minimises your total annual inventory cost by balancing the fixed cost of placing orders against the per-unit cost of holding stock — the exact answer to "how much should I order each time?" This EOQ calculator uses the Wilson formula — √(2 × demand × ordering cost ÷ holding cost per unit per year) — to find that optimum and then shows orders per year, cycle in days, average inventory on hand, and the ordering-vs-holding cost split that proves the math is working. It also tests supplier bulk-price offers: enter a discount quantity and price and the calculator compares total annual cost — purchase plus ordering plus holding — at the deal versus the EOQ, then names the winner.
Holding vs ordering — the fundamental tension. Order too much at once and you tie up cash and warehouse space in slow-moving stock — your holding cost balloons. Order too little, too often, and you rack up freight, paperwork, and receiving labour on every tiny order — your ordering cost balloons. The EOQ is the sweet spot: at that order size, ordering cost and holding cost are exactly equal, and the total is at its lowest.
The Wilson EOQ formula, in full. EOQ = √( (2 × annual demand × ordering cost) ÷ holding cost per unit per year ). Most free tools stop there. We also show orders per year, cycle in days, average inventory, and the total annual cost split into its ordering and holding halves — so you can see the balance for yourself.
Two ways to enter holding cost. Enter it as a flat figure (e.g. 3 per unit per year) if you know it. If you only know the rule of thumb, switch to carrying-cost-% mode and enter 20–30% of unit value — that's a typical range once storage, tied-up capital, insurance, and shrinkage are added up. Both paths feed the same math.
The quantity-discount decision. Suppliers love to dangle a lower unit price for bulk orders — but ordering more than the EOQ means carrying more stock, and the extra holding cost can quietly eat the discount. Enter the bulk quantity and its price and we compare total annual cost — purchase plus ordering plus holding — at the deal versus at the EOQ, then tell you which wins and by how much.
Quick facts
Four short steps to the order size that costs you the least.
How many units you sell or use in a year. If you only know monthly, multiply by 12 first.
The fixed cost of placing and receiving one order — freight, customs, admin, and stocking labour, whatever the order size.
What it costs to keep one unit in stock for a year — flat, or as a % of the unit value (20–30% is typical).
Get the optimal order quantity, orders per year, your cycle in days, the total annual cost, and an optional bulk-discount verdict.
Steps to use the Economic Order Quantity (EOQ) Calculator: Enter annual demand, Add your ordering cost, Add your holding cost, Read the EOQ.
No black boxes — the Wilson EOQ and everything we derive from it, in plain algebra.
D = annual demand (units), S = ordering cost per order, H = holding cost per unit per year. This is the order size that minimises the total of ordering + holding cost. The 2 comes from the average-inventory term (H is charged on EOQ ÷ 2).
If you enter holding cost as a percentage of unit value instead of a flat figure, we convert it first. A 12 unit cost at a 25% carrying rate gives H = 3 per unit per year.
How often you reorder, and how many days each batch lasts. The cycle is when you would place the next order — pair it with a reorder-point calculation for the WHEN.
Average inventory across a cycle is EOQ ÷ 2 (stock falls evenly from EOQ to 0). At the EOQ these two costs are exactly equal — the defining property of the optimum.
The combined cost the EOQ minimises. Purchase cost (D × unit price) is left out because it depends only on demand, not on how you split the orders — so it does not change the EOQ.
Watch the EOQ balance ordering against holding — and prove the two costs land equal.
Scenario
You sell 12,000 units/year. It costs $50.00 to place and receive one order, and $3.00 to keep one unit in stock for a year. How much should you order each time?
EOQ = √( (2 × 12,000 × $50.00) ÷ $3.00 ) = √(1,200,000 ÷ 3) = √400,000 ≈ 632 units.
EOQ ≈ 632 units
Orders per year = 12,000 ÷ 632 units ≈ 18.97. Cycle = 365 ÷ 18.97 ≈ 19 days between orders.
18.97 orders/year · ~19 days
Annual ordering = (12,000 ÷ 632 units) × $50.00 ≈ 18.97 orders × $50.00 ≈ $948.68. Annual holding = (632 units ÷ 2) × $3.00 ≈ $948.68. The two halves are exactly equal — the EOQ's defining property.
Ordering ≈ $948.68 = Holding ≈ $948.68
Total = $948.68 + $948.68 ≈ $1,897.37. Order more or less than 632 units and this total only goes up.
Minimum total ≈ $1,897.37
The takeaway
Ordering 632 units units at a time — about 18.97 times a year, roughly one order every 19 days — minimises your total inventory cost at roughly $1,897.37. Now add a supplier bulk-discount quantity and price to test whether buying more in one go beats the EOQ once the extra holding cost is counted.
EOQ outputs are situational, not a single league table — but these ranges help you sanity-check the numbers against how most ecommerce and small-manufacturing operations run.
| Metric | Poor | Average | Good | Excellent |
|---|---|---|---|---|
Carrying-cost rate (% of value) NetSuite Inventory Carrying Cost Guide 2025 | > 40% | 30–40% | 20–30% | < 20% |
Orders per year per SKU APQC Supply Chain Management Benchmarks 2024 | > 52 (weekly+) | 24–52 | 6–24 | 4–12 |
Order cycle (days between orders) ShipBob Supply Chain Benchmark Report 2025 | < 7 | 7–15 | 15–60 | 30–90 |
Ordering ÷ holding cost balance Wilson (1934) EOQ Optimality Condition — INFORMS Operations Research | Wildly skewed | Within 2× | Within 1.3× | Equal (at EOQ) |
Inventory turns per year Deloitte Global Powers of Retailing 2025 | < 4 | 4–8 | 8–12 | 12+ |
Most free EOQ tools print the square root and stop. We turn it into a decision: orders, cycle, costs, and a real bulk-discount comparison.
| Feature | Calcrux | Omni Calculator | Spreadsheet |
|---|---|---|---|
| Economic order quantity (the EOQ) | Manual | ||
| Orders per year + cycle in days | Rare | Manual | |
| Annual ordering vs holding cost split | Manual | ||
| Total annual inventory cost at the EOQ | Some | Manual | |
| Holding cost as a % carrying rate | Rare | Manual | |
| Quantity-discount-vs-EOQ decision | Manual | ||
| Plain-language warnings on odd results | |||
| Works in any currency | Most US-only | ||
| Free, no signup | Most |
Why it matters
The EOQ formula needs DEMAND PER YEAR. Plug in a monthly figure and the EOQ comes out about 3.5× too small (the demand sits under a square root), so you order far too little, far too often.
Fix
Always annualise first: monthly units × 12. We label the field "units per year" for exactly this reason.
Why it matters
Ordering cost is not just the PO. It includes freight, customs, inspection, receiving labour, and the buyer's time. Count only the purchase-order fee and the EOQ collapses, pushing you toward uneconomically frequent orders.
Fix
Add up everything it takes to place AND receive one order, whatever the size. A realistic figure is usually higher than people expect.
Why it matters
Holding cost is more than warehouse rent. It includes the capital tied up in stock, insurance, obsolescence, and shrinkage. Most businesses carry 20–30% of inventory value per year — far above bare storage rent.
Fix
Use the carrying-cost-% mode and enter a realistic 20–30% of unit value if you do not have a precise flat figure.
Why it matters
The total-cost curve is flat near the bottom — ordering 10–20% above or below the EOQ barely changes your cost. Chasing the exact number while ignoring case packs or supplier minimums wastes effort.
Fix
Round the EOQ to a practical order size: a full case, pallet, container, or your supplier's minimum order quantity. Close is good enough.
Why it matters
A lower unit price feels like a win, but ordering far above the EOQ to get it can raise holding cost more than it saves on price — a net loss that hides in next year's storage bill.
Fix
Use the bulk-discount check: it compares total annual cost (purchase + ordering + holding) at the deal vs the EOQ and tells you the real saving — or loss.
Why it matters
EOQ assumes steady, predictable demand. For lumpy, highly seasonal, or fast-declining products, a single EOQ can leave you over- or under-stocked at the wrong moment.
Fix
Use EOQ for stable runners. For seasonal or volatile SKUs, plan order-by-order and lean on the restock calculator with a safety-stock buffer instead.
The cost curve is flat at the bottom, so round the EOQ up to a full case, pallet, or supplier minimum. The cost penalty for being a bit off is tiny.
When freight, demand, or storage costs change, the EOQ shifts. Re-run it each season or after a supplier renegotiation rather than reusing last year's number.
EDI, standing orders, and consolidated POs cut the per-order cost — which lowers the EOQ and lets you carry less stock without paying more to order.
EOQ is HOW MUCH; the reorder point (lead-time demand + safety stock) is WHEN. Use the restock calculator alongside this one for the full picture.
If the cycle in days exceeds the product's shelf life or your storage window, cap the order below the EOQ regardless of cost — spoilage beats any saving.
Before saying yes to a price break, run it through the discount check. The extra holding cost on the bigger order often erases the headline saving.
The Economic Order Quantity (EOQ) Calculator works across every stage of the workflow.
Decide how many units to reorder per shipment so freight and storage costs are balanced rather than guessed.
Size each inbound shipment so storage fees and reorder freight net to the lowest total — then time it with the restock calculator.
Set batch purchase sizes for components to minimise combined setup/ordering and carrying cost.
Check whether a supplier price break for a larger order actually beats ordering at the EOQ once holding cost is counted.
Establish a baseline order quantity and reorder cadence per SKU, then layer safety stock and lead time on top.
Work through the classic Wilson EOQ with every intermediate figure shown — ideal for learning or checking coursework.
Every important term you'll encounter in this calculator and the broader topic.
Everything you need to know about how the Economic Order Quantity (EOQ) Calculator works.
The order size that minimises total annual inventory cost by balancing ordering cost against holding cost. Order more than the EOQ: too much stock, high holding cost. Order less: too many orders, high ordering cost. At the EOQ the two costs are exactly equal and the combined cost is lowest.
EOQ = √( (2 × D × S) ÷ H ), where D = annual demand, S = ordering cost per order, H = holding cost per unit per year. Example: D=12,000, S=50, H=3 → EOQ = √(1,200,000 ÷ 3) = √400,000 ≈ 632 units. This calculator computes that and shows every intermediate step.
Three numbers: annual demand, cost per order, and holding cost per unit per year. Enter them and the EOQ is returned instantly — along with orders per year, cycle in days, and total annual cost at the optimum.
Ordering cost: everything to place and receive one order (freight, admin, inspection, labour). Holding cost: keeping one unit for a year (space, capital, insurance, shrinkage) — typically 20–30% of unit value per year. Use the carrying-cost-% mode if unsure.
A mathematical property of the model: as order size increases, ordering cost falls while holding cost rises. They cross at the EOQ — that crossing point is the minimum. When the two costs are equal, the total is at its lowest. It's a useful sanity check on your result.
No. A lower unit price often comes with extra holding cost that outweighs the saving. The right test: total annual cost (purchase + ordering + holding) at the bulk quantity vs at the EOQ. Enter the bulk quantity and price and the calculator runs the comparison and names the winner.
Not on its own. Purchase cost (demand × price) is the same regardless of order size, so it doesn't affect the EOQ. Unit price only matters in a discount comparison, where a lower price changes total annual cost — which the bulk-discount check handles.
Orders/year = demand ÷ EOQ; cycle = 365 ÷ orders per year. In the worked example, 12,000 ÷ 632 ≈ 19 orders a year, one every 19 days. EOQ sets HOW MUCH; the cycle hints at WHEN — but for a precise reorder trigger you also need lead time and safety stock.
Normal. The cost curve is flat near the optimum, so rounding to a practical size barely changes cost. Round up to a full case, pallet, or supplier minimum. If the EOQ is below one unit, your holding cost is very high relative to ordering cost — double-check both.
EOQ assumes steady predictable demand and constant costs. It fits poorly for highly seasonal items, short shelf lives, fast-declining SKUs, or severe storage caps. For those, plan order by order and rely on a reorder point with safety stock instead.
Yes. EOQ is currency-agnostic — the quantity is the same in any currency. Enter costs in your local currency and the calculator shows all monetary outputs (ordering cost, holding cost, total, discount saving) in that same currency. No conversion, no hidden currency assumption.
EOQ is HOW MUCH to order — the quantity that minimises cost. Reorder point is WHEN to order — the stock level that triggers a new order (lead-time demand + safety stock). You need both; the restock calculator handles the reorder point.
Keep exploring
Reorder point, days to reorder, and order quantity — no spreadsheets needed.
Your GMROI, the ~3.2 retail benchmark verdict, and both levers that move it.
Inventory turnover, DSI, and supply weeks — with a benchmark verdict.
Calculate your true Amazon FBA profit, margin, and ROI in seconds.
Category
Ecommerce Seller Operations
Subcategory
inventory operations
Availability
Global · 9 markets
Price
Free forever
Topics
Calculators, simulators, and decision tools for every stage of business operations.
Results update in real time as you type — no submit needed.
Your numbers
Results
Results appear as you type
No submit button needed
Decision lab
The EOQ is the bottom of a U-shaped cost curve. Slide in the quantity you order today and watch where it lands: near the bottom the curve is almost flat, so being a little off barely matters — but order far too much or too little and the premium adds up fast.
Enter annual demand, ordering cost, and a holding cost above to plot the cost curve.
Why trust this calculator
Last updated
June 17, 2026
Coverage
9 markets · 8 currencies
Privacy
Calculated in-browser · no data stored
Pricing
Free forever · no sign-up
Your honest feedback shapes what we build next. Takes 30 seconds, fully anonymous — we don't ask for your name or email.