EOQ Formula and Calculator

EOQ = √(2DS ÷ H). Selling 24,000 units a year at $450 an order and $3.00 a unit a year to hold, EOQ = √7,200,000 ≈ 2,683.28, so order 2,684 units.

Economic order quantity 2,684 units exact 2,683.28 · 8.94 orders a year · every 40.8 days
Order + hold a year$8,050at EOQ
Best plan, units5,040Price break 1
Best plan vs EOQ−$2,780a year, all costs
Price breaks, cost tolerance and calendar

The price breaks are example figures. Leave a break blank to switch it off.

Formula with your numbers√(2 × 24,000 × 450.00 ÷ 3.00) = √7,200,000 ≈ 2,683.28 → 2,684 units

Annual ordering cost$4,024.92
Annual holding cost$4,024.92
Within 2% of minimum cost2,198–3,276 units

Order options compared

OptionOrder qtyOrders a yearOrderingHoldingGoodsTotal a yearvs EOQ
EOQ in whole units 2,684 8.94 $4,024 $4,026 $288,000 $296,050 —
Rounded to packs of 48, MOQ 1,000 2,688 8.93 $4,018 $4,032 $288,000 $296,050 +under $1
Price break 1: 5,000+ at $11.82 5,040 4.76 $2,143 $7,447 $283,680 $293,269 −$2,780 (−0.94%)
Price break 2: 12,000+ at $11.70 12,000 2.00 $900 $17,550 $280,800 $299,250 +$3,200 (+1.08%)

The highlighted row is the cheapest option that respects your pack size and minimum. Goods cost uses the unit cost that applies at that quantity.

Cost of ordering more or less

Order sizeUnitsOrderingHoldingOrdering + holdingExtra vs EOQ
0.50 × EOQ 1,342 $8,047.69 $2,013.00 $10,060.69 +24.98%
0.75 × EOQ 2,013 $5,365.13 $3,019.50 $8,384.63 +4.16%
1.00 × EOQ 2,684 $4,023.85 $4,026.00 $8,049.85 +0.00%
1.25 × EOQ 3,355 $3,219.08 $5,032.50 $8,251.58 +2.51%
1.50 × EOQ 4,025 $2,683.23 $6,037.50 $8,720.73 +8.33%
2.00 × EOQ 5,367 $2,012.30 $8,050.50 $10,062.80 +25.01%

The calculation runs in your browser. EOQ rounds up to a whole unit; the pack row takes the cheaper full pack either side. The tolerance range rounds its lower limit up and its upper limit down, so every quantity in it qualifies.

How to Calculate EOQ in 5 Steps

  1. Pick one SKU and one year. EOQ works per item. A product family hides the differences that matter.
  2. Get annual demand, D. Units sold in the last 12 months, adjusted for growth you can already see.
  3. Price one order, S. Add every cost that happens once per order, whatever its size.
  4. Price holding one unit for a year, H. Capital, storage, insurance, shrinkage and obsolescence, per unit.
  5. Apply the formula and round up. EOQ = √(2 × D × S ÷ H), then round up to a whole unit and to your pack size.
SymbolMeaningUnitWhere the number comes fromMost common mistake
DAnnual demandUnits a yearOrder history for this SKU, all channels that draw on the same stock.Using revenue instead of units.
SCost per orderUSD per orderAdmin, brokerage, receiving and fees for one inbound order.Including the cost of the goods.
HAnnual holding cost per unitUSD per unit a yearYour holding rate times unit cost, or a measured dollar figure.Counting only the storage line.
EOQEconomic order quantityUnits per orderThe output: where ordering and holding cost balance.Ordering the decimal instead of rounding to packs.
Keep the time units consistent. D and H must cover the same period. Annual demand with a monthly holding cost inflates EOQ by √12 ≈ 3.46 times: 9,296 units instead of 2,684 on the example.

A Dallas, Texas Brand Importing One SKU

A kitchenware brand ships from a warehouse in Dallas, Texas and buys one hero SKU from an overseas supplier. These are the calculator's default inputs.

24,000units a year (D), from 12 months of orders
$450cost per order (S), built up below
$3.00holding cost (H): 25% of a $12 unit cost
48 / 1,000units per carton / supplier minimum
Cost per order (S)Example
Purchase order adminRaising, approving and chasing the PO$55
Customs entry and brokerageOne entry per inbound shipment$175
Receiving and putawayDock, count and putaway for one delivery$120
Payment and bank feesOne international transfer$35
Pre-shipment inspectionOne inspection visit per order$65
S$450
Holding rate (H)Example
Cost of capitalWhat the cash tied up in stock would earn or cost elsewhere10%
StoragePallet or bin charges for the space the stock occupies8%
Shrinkage and obsolescenceDamage, write-offs and markdowns on aging stock5%
InsuranceCover on stored inventory2%
Rate × $12 unit cost25% = $3.00
OutputArithmeticResult
EOQ√(2 × 24,000 × 450 ÷ 3.00) = √7,200,0002,683.28 → 2,684 units
Orders a year24,000 ÷ 2,683.288.94
Days between orders365 ÷ 8.9440.8 days
Annual ordering cost8.94 × $450$4,024.92
Annual holding cost(2,683.28 ÷ 2) × $3.00$4,024.92
Ordering + holding√(2 × 24,000 × 450 × 3.00)$8,049.84
  • Rounded to cartons of 48, the cheaper multiple is 2,688 units, 56 cartons. The 1,000-unit minimum does not bind.
  • Any order from 2,198 to 3,276 units stays within 2% of the minimum ordering and holding cost.
  • The 5,000-unit break at $11.82 means ordering 5,040 units. It saves $2,780 a year in total cost against EOQ.
  • The 12,000-unit break at $11.70 costs $3,200 a year more than EOQ. The extra holding cost outweighs the lower price.

Ordering Cost and Holding Cost Meet at EOQ

Order more often and you pay the fixed cost more times. Order less often and you carry more stock. On the example, the total is lowest where the two lines cross.

Order quantityOrders a yearOrdering costHolding costOrdering + holding
1,000 units24.00$10,800.00$1,500.00$12,300.00
2,000 units12.00$5,400.00$3,000.00$8,400.00
2,684 units (EOQ)8.94$4,023.85$4,026.00$8,049.85
3,500 units6.86$3,085.71$5,250.00$8,335.71
5,000 units4.80$2,160.00$7,500.00$9,660.00

A built-in check

At EOQ, ordering cost equals holding cost. If your two figures are far apart, the quantity is not the optimum.

A shortcut for the total

Ordering plus holding cost at EOQ is √(2DSH), which is twice either half.

A direction

If ordering cost is the larger half, order more each time. If holding cost is larger, order less.

Being a Little Off EOQ Is Cheap

For an order of r times EOQ, ordering plus holding cost is (r + 1 ÷ r) ÷ 2 times the minimum. D, S and H cancel out, so these percentages hold for every SKU.

Order sizeExtra ordering + holding costUnits on the exampleWhat it means
0.50 × EOQ+25.00%1,342Half the order costs as much extra as double the order.
0.75 × EOQ+4.17%2,013A quarter under EOQ: noticeably more ordering cost.
0.90 × EOQ+0.56%2,415A 10% round-down to a pack or pallet.
1.00 × EOQ+0.00%2,684The bottom of the curve.
1.10 × EOQ+0.45%2,952A 10% round-up to a pack or pallet.
1.25 × EOQ+2.50%3,355Rounding up a quarter costs less than going a quarter under.
1.50 × EOQ+8.33%4,025Half again as much stock.
2.00 × EOQ+25.00%5,367Double the order: the same penalty as halving it.
+2.50%

Round to the packaging

Even a 25% round-up to a full pallet adds only this much. Clean handling is usually worth it.

+0.002%

Round to the calendar

8.94 orders a year runs better as 9 orders of 2,667 units. On the example that costs this much extra.

+0.42%

Stop refining S

If S is 20% too high, EOQ moves 9.5% and the cost penalty is this small. Estimate once, then move on.

EOQ With Supplier Price Breaks

Classic EOQ ignores the unit price. When a supplier cuts the price at a volume, purchase cost enters the comparison and the answer can jump to the break.

  1. Compute EOQ at each price. If H is a percentage of unit cost, it falls with the price, so each tier has its own EOQ.
  2. Lift it to the break. If a tier's EOQ is below its minimum, use the minimum, rounded up to a full pack.
  3. Add the goods. Total cost = D × price + ordering cost + holding cost.
  4. Take the lowest total. Compare every tier, including the base price, and order that quantity.
Tier on the exampleUnit costOrder qtyOrdering + holdingGoods a yearTotal a yearvs EOQ
Base price, pack-rounded$12.002,688$8,050$288,000$296,050+under $1
From 5,000 units$11.825,040$9,589$283,680$293,269−$2,780 (−0.94%)
From 12,000 units$11.7012,000$18,450$280,800$299,250+$3,200 (+1.08%)
Check the space before you take the break. Average cycle stock is half the order: 1,344 units at the pack-rounded EOQ, 2,520 at the first break. Confirm the warehouse has room for it before you commit.

EOQ vs MOQ vs Reorder Point vs Safety Stock

TermAnswersSet byHow it relates to EOQ
EOQHow much to orderYou, from D, S and HThe cost-minimizing order size.
MOQThe least you may orderThe supplierIf MOQ is above EOQ, order the MOQ.
Reorder pointWhen to orderLead-time demand plus safety stockTriggers each EOQ-sized order.
Safety stockHow much buffer to holdDemand and lead-time variabilitySits under the EOQ cycle and adds to average stock.
Cycle stockWhat you carry on averageOrder quantity ÷ 21,342 units at EOQ on the example.

Set the trigger with the reorder point calculator, size the buffer with the safety stock calculator, and build H with the carrying cost calculator.

What Belongs in S and What Belongs in H

Ask one question of every cost line: would it change if the order doubled? If not, it is S. If it scales with the stock you carry, it is H.

Belongs in S (per order)

  • Raising and approving the purchase order
  • Freight booking fees and minimum charges
  • Customs entry and broker fees per declaration
  • Receiving, count and quality check per delivery
  • Bank transfer or letter-of-credit charges
  • Inspection or lab testing per production run

Belongs in H (per unit, per year)

  • Cost of capital on the cash tied up in stock
  • Storage charges for the space the stock uses
  • Insurance on stored inventory
  • Shrinkage, damage and miscounts
  • Obsolescence and markdowns on aging stock
  • Cycle counts and relocations caused by holding it
Split mixed fees. If your warehouse bills a fee per shipment received and a fee per unit, the shipment fee goes in S. The per-unit fee is paid on every unit whatever the order size, so it changes neither S nor H.

EOQ Formula in Excel or Google Sheets

There is no EOQ function, but six cells rebuild this calculator. The formulas work the same in Google Sheets.

CellHoldsFormula or valueExample result
B1Annual demand2400024,000
B2Cost per order450$450
B3Holding cost per unit a year=12*25%$3.00
B4EOQ, whole units=ROUNDUP(SQRT(2*B1*B2/B3),0)2,684
B5Orders a year=B1/B48.94
B6Ordering + holding cost=B1/B4*B2+B4/2*B3$8,049.85
Pack rounding in a sheet. =CEILING(B4, 48) rounds up to a full carton of 48. Compare B6 at that quantity and at =FLOOR(B4, 48) and keep the cheaper one, which is what the calculator does.

What the EOQ Model Assumes

The model assumesWhat actually happensWhat to do about it
Demand is steady and knownPromotions and seasons move it.Use EOQ for the average order size and hold safety stock for the swings.
Cost per order is fixedFreight steps up at container and weight breaks.Check EOQ against the shipping breaks and test the nearest one.
One price at any quantitySuppliers offer price breaks.Enter the breaks above and compare total cost.
The whole order lands at onceOwn production arrives gradually.Use the production order quantity model, which allows a larger batch.
No planned stockoutsSome slow movers run on backorder.A planned-backorder model allows a larger order.

Short life cycles

Fashion drops and seasonal one-offs have one selling window, not a repeating cycle.

No demand history

A new SKU gives D nothing to stand on. Start from a plan, then switch to EOQ.

Shelf life or cash caps

When expiry or a working-capital limit caps the order, EOQ is not the binding number.

Six EOQ Mistakes

1

Mixing monthly and annual

A monthly H with annual D gives 9,296 units on the example instead of 2,684.

2

Counting only storage in H

An H of $0.90 (storage alone, example) gives 4,899 units. At the true $3.00, that order costs 18.7% more to order and hold.

3

Putting goods cost in S

S is the cost of the transaction. The price of the goods belongs only in the price-break comparison.

4

Ordering the decimal

Nobody ships 2,683.28 units. Round up to a unit, then to the cheaper full pack.

5

Taking every price break

The 12,000-unit break on the example looks cheaper per unit but costs $3,200 a year more in total.

6

Setting it once

Re-run EOQ when demand, freight or the supplier changes, and on a regular review.

EOQ Formula Questions

The EOQ formula is EOQ = √(2DS ÷ H). D is annual demand in units, S is the fixed cost of placing one order, and H is the cost of holding one unit for a year. With D = 24,000, S = $450 and H = $3.00, EOQ = √7,200,000 ≈ 2,683.28, or 2,684 units rounded up.
EOQ stands for economic order quantity: the order size that gives the lowest combined ordering and holding cost for one item bought repeatedly. The same formula is also known as the Wilson EOQ model.
Multiply annual demand by the cost per order and by 2. Divide by the annual holding cost per unit. Take the square root, then round up to a whole unit. On the example that is 2 × 24,000 × 450 ÷ 3.00 = 7,200,000, and √7,200,000 ≈ 2,683.28, so 2,684 units.
Excel has no built-in EOQ function, but one cell does it. With demand in B1, cost per order in B2 and annual holding cost per unit in B3, use =SQRT(2*B1*B2/B3). Wrap it as =ROUNDUP(SQRT(2*B1*B2/B3),0) to get whole units.
EOQ is the order size that minimizes your own ordering and holding cost. MOQ is the minimum order quantity a supplier will accept. When the MOQ is above EOQ, you order the MOQ and carry the extra stock. The calculator takes both and rounds to your pack size.
At EOQ, annual ordering cost equals annual holding cost, and their sum is √(2DSH). On the example both halves are $4,024.92, so the total is $8,049.84 a year before the cost of the goods themselves.
Not much near the optimum. Ordering 25% more than EOQ raises ordering plus holding cost by 2.50%, and ordering 25% less raises it by 4.17%. That flat bottom is why rounding EOQ to a carton or pallet multiple is normally fine.
Add the purchase cost and compare total cost at each price break. On the example, a 5,000-unit break at $11.82 means ordering 5,040 units and saves $2,780 a year against EOQ. A 12,000-unit break at $11.70 costs $3,200 more, because holding outweighs the discount.
It assumes steady, known demand, a fixed cost per order, one unit price at any quantity, the whole order arriving at once, and no planned stockouts. Real demand breaks the first, which is why EOQ is paired with safety stock and a reorder point.
EOQ answers how much to order. The reorder point answers when: demand during the lead time plus safety stock. When stock falls to the reorder point, you place an order for the EOQ-based quantity.

Need Somewhere for Each Order to Land?

Talk to Locad about receiving, storage and fulfillment for the stock your order plan creates.