Synplex Logo
Synplex
Free calculatorEOQ calculator

EOQ Calculator (Economic Order Quantity)

Find the order quantity that minimises your total inventory costs. Enter your annual demand, ordering cost, and holding cost to calculate your optimal order size.

Definition: Economic Order Quantity (EOQ) is the ideal order size that minimises the combined cost of placing orders and holding inventory - balancing ordering frequency against storage costs.

Every time you place an order, you pay a fixed cost - admin time, shipping minimums, processing fees. Every unit you hold costs money too - warehouse space, tied-up capital, insurance, and the risk of obsolescence. EOQ finds the order size that minimises the total of these two costs. Order too little too often and you pay more in ordering costs. Order too much too rarely and your holding costs balloon. The right number sits exactly at the point where these two cost curves cross.

EOQ Calculator (Economic Order Quantity) formulas

Classic Wilson formula

Use when: Use for any product with reasonably stable, continuous demand. The most widely used inventory formula.

EOQ = √(2 × D × S / H)

EOQ = square root of (2 × Annual demand × Cost per order / Annual holding cost per unit)

SymbolVariableDescription
DAnnual demand(units / year)Total units expected to sell in a year. Use your Shopify annual sales report for this.
SCost per order(£ / $)Fixed cost of placing one purchase order - includes admin time, supplier setup fees, inbound freight, and any per-order processing costs.
HAnnual holding cost per unit(£ / $ per unit per year)Total annual cost of storing one unit. Typically estimated as 20 – 30% of unit cost, covering warehouse rent, capital cost, insurance, and shrinkage.

Limitation: Assumes constant demand rate and ignores quantity discounts, minimum order quantities, and perishability.

EOQ with quantity discount

Use when: When your supplier offers price breaks at higher quantities. Calculate total annual cost for the standard EOQ and each discount threshold, then choose the lowest.

TC(Q) = (D/Q) × S + (Q/2) × H + D × P

Total annual cost = (Annual demand / Order quantity) × Ordering cost + (Order quantity / 2) × Holding cost + Annual demand × Unit price

SymbolVariableDescription
QOrder quantity being evaluated(units)Test each candidate quantity - standard EOQ and each discount threshold.
PUnit purchase price at this quantity(£ / $)Changes at each discount breakpoint - lower price for higher quantities.
DAnnual demand(units / year)Total expected annual sales.
SCost per order(£ / $)Fixed ordering cost.
HHolding cost per unit per year(£ / $)Annual cost to hold one unit in stock.

Limitation: Requires knowing your exact holding cost rate - often underestimated by ecommerce brands.

Defect-adjusted EOQ

Use when: When you have a known defect, return, or rejection rate from a supplier. Common for brands sourcing from overseas manufacturers.

EOQ_adj = √(2 × D × S / (H × (1 − p)))

Adjusted EOQ = square root of (2 × Annual demand × Ordering cost / (Holding cost per unit × (1 − defect rate)))

SymbolVariableDescription
pDefect / rejection rate(decimal (e.g. 0.05 = 5%))Proportion of units in each order that are defective or returned. Increases effective demand because you need to buy more to get the usable quantity you need.
DAnnual demand (usable units)(units / year)Units you need to sell - not including replacements for defects.
SCost per order(£ / $)Fixed ordering cost.
HHolding cost per unit per year(£ / $)Annual holding cost.

Step-by-step examples

Scenario: “A Shopify electronics brand sells 1,200 units of a product per year. Each order costs £50 to place (admin + freight). Holding cost is £8 per unit per year.

Annual demand (D): 1,200 units
Ordering cost (S): £50 per order
Holding cost (H): £8 per unit per year
  1. 1EOQ = √(2 × 1,200 × 50 / 8)
  2. 2EOQ = √(120,000 / 8)
  3. 3EOQ = √15,000 = 122.5 → round to 123 units
  4. 4Number of orders per year = 1,200 / 123 = ~10 orders
  5. 5Time between orders = 365 / 10 = ~37 days
Optimal order quantity = 123 units (~10 times per year)

Interpretation: Order 123 units roughly every 37 days to minimise your combined ordering and holding costs. Adjust if your supplier has a minimum order quantity.

Scenario: “Supplier offers a 5% discount if ordering 200+ units. Unit price standard: £20. Discounted: £19. Annual demand: 1,200 units. S = £50. H = 30% of unit price.

Annual demand (D): 1,200 units
Ordering cost (S): £50
Standard unit price: £20 → H = £6/unit/year
Discounted unit price (200+ units): £19 → H = £5.70/unit/year
  1. 1Standard EOQ = √(2 × 1,200 × 50 / 6) = √20,000 = 141 units
  2. 2TC at 141 units: (1,200/141)×50 + (141/2)×6 + 1,200×20 = £425 + £423 + £24,000 = £24,848
  3. 3TC at 200 units (discount): (1,200/200)×50 + (200/2)×5.70 + 1,200×19 = £300 + £570 + £22,800 = £23,670
  4. 4Savings from discount: £24,848 − £23,670 = £1,178 per year
Order 200 units at the discounted price - saves £1,178 per year

Interpretation: The quantity discount makes ordering at the threshold more economical than the pure EOQ. Always compare total annual cost including purchase price, not just ordering and holding costs.

Typical holding cost rates by product category

CategoryBenchmark
General merchandise / non-perishable20 – 30% of unit cost per year
Electronics25 – 35% of unit cost per year
Fashion / seasonal items30 – 40% of unit cost per year
Perishable goods50%+ of unit cost per year
Low-value, stable items15 – 20% of unit cost per year

Holding cost includes capital cost (interest or opportunity cost of tied-up cash), storage cost, insurance, shrinkage, and obsolescence risk. Many brands underestimate this at 10% when the true rate is closer to 25%.

Critical pitfalls to avoid

Using revenue instead of unit count for D

EOQ requires a unit quantity for D, not a monetary value. Plugging in annual revenue produces a meaningless result.

Fix: Use total units sold per year from your Shopify sales report.

Underestimating holding cost

Many merchants estimate H at warehouse rent only and ignore the opportunity cost of capital, insurance, and obsolescence. A 10% H estimate when reality is 25% leads to over-ordering.

Fix: Use 20 – 30% of unit cost as a conservative starting point and refine from your actual cost structure.

Ignoring minimum order quantities

If your supplier's MOQ is 500 units but your EOQ is 120, the formula is irrelevant in its pure form. You'll always order at MOQ.

Fix: When MOQ > EOQ, recalculate total cost at the MOQ and decide whether to negotiate the MOQ down or accept the holding cost.

Using monthly demand instead of annual

Entering D = 100 (monthly units) and H = £2 (annual holding cost) creates a unit mismatch. EOQ formula requires consistent time units.

Fix: Use annual demand and annual holding cost throughout, or convert everything to a common period.

Not updating EOQ as demand changes

EOQ is sensitive to demand. If your annual sales grow 40%, your optimal order quantity changes significantly. A static EOQ from two years ago may be wildly wrong today.

Fix: Recalculate EOQ every 6 months, or when demand changes by more than 20%.

Shopify-specific tips

  • Pull annual demand from Shopify Analytics > Sales by product over your chosen 12-month period. Use units sold, not revenue.
  • Ordering cost (S) for Shopify brands typically includes: time to create and send a PO, any bank transfer or payment processing fees, and a portion of inbound freight if not built into unit price.
  • Holding cost estimation: if you use a 3PL, check your monthly storage invoice and divide by average units stored to get a per-unit-per-month rate. Multiply by 12 for annual H.
  • Shopify does not calculate EOQ natively. If you use an inventory planning app, check whether it factors in your ordering and holding costs or simply uses a demand-based reorder quantity.
  • For seasonal Shopify brands, consider calculating a separate EOQ for peak season (using peak D) and off-season. One EOQ across the full year will under-order in peak periods.

Frequently asked questions

Related resources