← Back to Blog
Inventory ManagementShopifyPurchase OrdersCash Flow

Economic Order Quantity (EOQ): The Formula Every Shopify Merchant Should Know

EOQ is a 100-year-old formula that tells you exactly how much to order each time you restock — minimising the combined cost of ordering too often and holding too much. Here is how to apply it to your Shopify store.

April 21, 2026 8 min read

Every time you place a purchase order, you are making a trade-off.

Order too little, too often: you pay more per unit, spend hours managing suppliers, and risk stockouts between orders.

Order too much, too rarely: you tie up working capital, fill warehouse space, and watch carrying costs eat your margins while stock sits idle for months.

Economic Order Quantity (EOQ) is the formula that finds the exact middle point — the order size that minimises your total inventory cost.

20–30%typical reduction in total inventory cost when EOQ is applied correctly
40%of merchants over-order by more than 40% on their slowest-moving SKUs
£8,000–£15,000average annual carrying cost for a 500-SKU Shopify store
15 minutestime to calculate EOQ for your entire catalogue with the right data

What Is Economic Order Quantity?

EOQ is the optimal number of units to order each time you restock a SKU, given three inputs:

  • D — Annual demand (units sold per year)
  • S — Ordering cost per order (cost to place and receive one PO)
  • H — Holding cost per unit per year (cost to store one unit for 12 months)

The EOQ Formula:

EOQ = √(2DS ÷ H)

That's it. Square root of (2 × annual demand × ordering cost) divided by holding cost per unit per year.

Key Takeaway

EOQ minimises the sum of ordering costs and holding costs. At the EOQ, the total cost of ordering is equal to the total cost of holding — that intersection is the mathematical minimum of your combined inventory cost.


A Worked Example

You sell a product at 1,200 units per year (100/month). Each time you place an order, it costs you £50 in admin time, supplier communication, and receiving labour. The product costs £12 to buy, and your holding cost is 25% of purchase cost per year — so £3 per unit per year.

EOQ = √(2 × 1,200 × 50 ÷ 3) = √(120,000 ÷ 3) = √40,000 = 200 units

Your optimal order quantity is 200 units. At this quantity, you place 6 orders per year (1,200 ÷ 200), and your total annual inventory cost is minimised.

If you had been ordering 400 units (to "save on shipping"), your holding cost would be twice as high while your ordering frequency saving was marginal. If you had been ordering 100 units, you would place 12 orders per year — each with its own admin overhead — while gaining very little in holding cost reduction.


How to Calculate Your Holding Cost

Holding cost is the input merchants most often get wrong — usually because they underestimate it.

Holding cost per unit per year = unit cost × holding rate

A realistic holding rate includes:

ComponentTypical Rate
Warehouse rent / storage fees5–8%
Insurance1–2%
Obsolescence / shrinkage risk2–5%
Opportunity cost of tied-up capital5–10%
Handling and labour2–3%
Total15–28%

Most merchants who have done this calculation are surprised. A 25% holding rate on a £20 product means it costs you £5 per unit per year just to keep it in stock. Order 500 extras "just in case" and you are paying £2,500 a year to store units that might never sell.


How to Calculate Your Ordering Cost

Ordering cost per PO includes everything it costs you to place and receive a single order:

  • Time spent communicating with the supplier (emails, calls, confirmations)
  • Time spent creating the PO in your system
  • Time spent receiving, counting, and putting away the shipment
  • Any bank transfer or payment processing fees
  • Shipping and freight costs attributable to the order (if not baked into unit cost)

For most small-to-mid Shopify merchants, ordering cost runs £30–£80 per PO when admin time is included at a realistic hourly rate. Many merchants assume it is close to zero and then wonder why their EOQ feels implausibly small.

Watch Out

If you set ordering cost to zero, EOQ = 0, which means "order infinitely small quantities infinitely often." This is the mathematical equivalent of saying admin time has no value — and it leads to unrealistically small recommended order quantities.


EOQ Limitations — and How to Handle Them

EOQ is a powerful baseline, but it assumes:

1. Constant, predictable demand. EOQ assumes you sell the same amount every month. If your product has strong seasonal spikes — selling 300 units in November and 40 in February — a single EOQ calculation will over-order in slow months and under-order in peak ones. Solution: Calculate EOQ separately for peak and off-peak seasons, or use demand forecasting to adjust D dynamically.

2. Instant replenishment. The pure EOQ model ignores lead time. In practice, you need to place your order before you run out. Solution: Combine EOQ (how much to order) with a reorder point calculation (when to order). These are complementary, not competing.

3. No quantity discounts. EOQ ignores supplier pricing breaks. If your supplier offers a 10% discount on orders over 500 units and your EOQ is 200, the discount might make ordering 500 economically worthwhile. Solution: Compare total cost at EOQ vs. the discount threshold quantity. If the discount savings exceed the additional holding cost, take the larger order.

4. Single-product focus. EOQ is calculated per SKU. It does not automatically account for consolidating multiple SKUs into a single PO to save on freight. Solution: Use EOQ as the target quantity per SKU, then consolidate POs to the same supplier where individual SKU EOQ timing is close.


Applying EOQ Across Your Catalogue

For a store with 100+ SKUs, running EOQ manually is impractical. In practice, you apply it in tiers:

Class A SKUs (top 80% of revenue): Calculate EOQ precisely. These products drive most of your cash flow and over/under-ordering has the highest financial impact.

Class B SKUs: Use a simplified estimate. Group similar products with similar demand patterns and apply a single EOQ to the cluster.

Class C SKUs (bottom 5% of revenue): EOQ is often less relevant here. For very slow movers, the answer is often "order as little as your supplier's MOQ allows" rather than a formula-driven quantity.

Key Takeaway

The 80/20 rule applies: 20% of your SKUs drive 80% of the value in getting EOQ right. Start with your Class A products and the calculation pays for itself quickly.


EOQ and Your Reorder Point Together

EOQ tells you how much to order. Your reorder point tells you when to order.

They work as a pair:

  • Reorder Point = (Average daily demand × Lead time in days) + Safety stock
  • EOQ = How many units to order when you hit that point

With both set correctly, your replenishment system runs almost automatically: when stock crosses the reorder point, trigger a PO for exactly EOQ units. No guesswork. No over-ordering from anxiety. No stockouts from under-ordering.


Summary

EOQ is not just a textbook formula — it is a practical tool that removes guesswork from every purchase order you place.

Calculate your annual demand, your realistic ordering cost (including admin time), and your realistic holding cost (including opportunity cost and obsolescence risk). Plug them into the formula. Use the result as your default order quantity for each SKU.

You will order less than you think you need on slow movers and more frequently than you are comfortable with on fast movers — and that is exactly right. The formula has been optimising inventory costs for over a century. Trust the maths.

See this in your own store

CoreCaptain detects phantom stock, sync errors, and inventory discrepancies automatically. 14-day free trial, no credit card required.

Start Free Trial