EOQ Formula and Calculator (Economic Order Quantity)

Economic order quantity is the order size that minimizes ordering and holding costs combined. The formula:

EOQ = √(2 x D x S / 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. Plug in your numbers below and see how order size moves ordering costs, holding costs, and order frequency.

Interactive EOQ Calculator

Your Numbers

Results

Economic Order Quantity250 units
Orders per Year20
Days Between Orders18.3 days
Annual Order Cost$1,000
Annual Holding Cost$1,000
Total Annual Inventory Cost$2,000
Inventory cost per unit sold: $0.40

* Based on the classic Wilson EOQ formula. Assumes constant demand, fixed order and holding costs, and no quantity discounts. Actual ordering decisions should account for demand variability, supplier constraints, and seasonality.

The Problem with Ordering "By Feel"

Most e-commerce sellers order inventory one of two ways: they reorder whatever they ordered last time, or they eyeball current stock and guess. Both approaches leave money on the table: ordering too much ties up cash and warehouse space, ordering too little means higher per-unit shipping and more frequent reorders.

Economic Order Quantity (EOQ) gives you a formula to find the sweet spot. But the textbook version was designed for factories in the 1910s, not for Shopify and Amazon sellers dealing with casepacks, MOQs, and variable demand. This guide covers the classic formula, where it breaks, and how to adapt it.

The Classic EOQ Formula

EOQ balances two costs that move in opposite directions: ordering costs (go down with larger, less frequent orders) and holding costs (go up with more inventory on hand). The calculator above runs the formula; the rest of this page is what to feed it and where the textbook version breaks.

EOQ = sqrt((2 * D * S) / H)

Where D = annual demand in units, S = fixed cost per order, and H = holding cost per unit per year.

What Goes Into Each Variable

Ordering cost (S). The fixed cost each time you place a PO:

Cost Component Example
Staff time to create PO $15-50 per order
Shipping/freight flat fees $150-500 per shipment
Customs brokerage $75-200 per entry
Quality inspection + receiving $75-225 per batch

Domestic supplier S might be $50-100. Overseas supplier with freight forwarding and customs: $400-600. The difference matters. A lot.

Holding cost (H). The annual cost of storing one unit. A common shortcut: H = 20-30% of unit cost per year, covering warehouse rent, insurance, capital cost, shrinkage, and FBA storage fees.

Worked Example: Domestic Supplier

You sell a phone case on Shopify. Domestic supplier, simple logistics.

Variable Value
Annual demand (D) 3,600 units (300/month)
Ordering cost (S) $75 per order
Holding cost (H) 25% of $4.00 = $1.00/unit/year
EOQ = sqrt((2 * 3,600 * 75) / 1.00) = sqrt(540,000) = 735 units

That means roughly 5 orders per year. Compare the total cost across different strategies:

Order Quantity Orders/Year Ordering Cost Holding Cost Total Cost
300 (monthly) 12 $900 $150 $1,050
735 (EOQ) 4.9 $367 $368 $735
1,800 (biannual) 2 $150 $900 $1,050

EOQ saves $315/year on this single SKU. Across 200 SKUs, that is $63,000 left on the table if you are ordering monthly or biannually instead.

Worked Example: Overseas Supplier

You sell a yoga mat on Amazon FBA. Manufactured in China, shipped by sea.

Variable Value
Annual demand (D) 12,000 units (1,000/month)
Ordering cost (S) $450 per order
Holding cost (H) 30% of $8.50 = $2.55/unit/year
EOQ = sqrt((2 * 12,000 * 450) / 2.55) = sqrt(4,235,294) = 2,058 units

About 6 orders per year, or one shipment every 2 months. That lines up with how most overseas sellers actually operate. They just never did the math to confirm it.

Why Classic EOQ Breaks for E-commerce

MOQs Override the Formula

Your supplier requires 3,000 minimum. EOQ says 2,058. You must order the MOQ and absorb the higher holding cost. Compare: cost at EOQ is $5,246/year; cost at MOQ 3,000 is $5,625/year, a $379 annual penalty. That gap is acceptable. A 5,000-unit MOQ would change the math entirely.

Casepacks and Order Multiples

Your supplier ships in cases of 24. EOQ says 735, so you round to 720 or 744. The cost difference is negligible, but you still need to round. See Casepack Requirements and MOQ for how these constraints stack in ugly ways.

Variable Demand

EOQ assumes constant demand. A product selling 300 units in January might sell 800 in November. Use average demand for the EOQ baseline, but adjust order timing with your demand forecast. I treat EOQ as the quantity guide and the forecast as the timing guide.

Quantity Discounts

Quantity Unit Price
1-499 $8.50
500-1,999 $7.75
2,000+ $7.00

Classic EOQ ignores discounts. Calculate total cost (ordering + holding + purchase) at each price break and at EOQ, then pick the lowest. Sometimes ordering 2,000 units at $7.00 beats ordering 735 at $8.50, even with the extra holding cost. I have taken the bigger order for exactly that reason and eaten the storage fees.

Multiple SKUs, Shared Freight

If you buy 10 SKUs from one supplier in a single shipment, ordering cost S is shared. Use joint ordering: calculate a combined order cycle for all SKUs from one supplier, then allocate quantities by each SKU's demand.

A Practical EOQ Workflow

This is the order I run it in at every supplier review.

  1. Calculate raw EOQ per SKU using the formula
  2. Apply constraints. Round to casepack multiples, enforce MOQs, check price breaks.
  3. Group by supplier. Combine SKUs shipping together.
  4. Validate against working capital. Can you fund that much inventory?
  5. Cross-check with reorder points. Make sure EOQ covers enough days of supply given your lead time.
  6. Add safety stock. EOQ tells you how much; the reorder point tells you when.

When EOQ Is Not Worth Calculating

Not every SKU needs this analysis. Skip it when the supplier's MOQ is already above the EOQ, because the constraint decides the quantity for you. Skip it for one-time and seasonal buys, which have no recurring cycle to optimize. Skip it for very low volume SKUs; at 20 units a year the cost difference between order sizes is trivial. And skip it for dropshipped products, where zero holding cost means the formula has nothing to balance.

Focus EOQ analysis on A-items and B-items with meaningful order volumes. For everything else, your time is better spent elsewhere.

How ReplenishRadar Handles Order Quantities

We do not calculate a static EOQ and call it done. That would ignore half of what makes e-commerce ordering complicated.

ReplenishRadar generates suggested order quantities using rolling demand forecasts instead of the constant-demand assumption. The system applies supplier constraints (MOQs, casepacks, order multiples) automatically to every suggested PO. When you buy multiple SKUs from one supplier, it groups them into a single shipment and accounts for shared freight costs. And if a suggested order would blow past your budget, working capital caps flag it before you commit.

You configure your supplier constraints once. After that, every suggested PO respects them. No manual rounding, no spreadsheet formulas, no hoping you remembered the casepack size.


EOQ gives you a rational starting point. The real work is adapting it for MOQs, casepacks, price breaks, variable demand, and cash constraints. The sellers who get ordering right are not the ones with the fanciest formula. They are the ones who account for every real-world constraint, every time.

EOQ Questions

Go beyond static EOQ formulas

We use how fast you really sell, and the rules your suppliers set, to size each order. The number moves as your sales move.
Start Your 14-Day Free Trial
No credit card required14-day free trialCancel anytime

Doing $5M+ in revenue? Talk to our team