ROT
Inventory Management

EOQ Formula Explained: Economic Order Quantity for Retail Operators

How buyers actually use Economic Order Quantity. Two formulas, a full worked example, sensitivity scenarios, and the assumptions that decide whether EOQ helps or misleads on a given SKU.

Bhanu Prakash Published April 26, 2025 Updated July 13, 2026 11 min read Reviewed by Bhanu Prakash
Share:
EOQ Formula Explained: Economic Order Quantity for Retail Operators

Every buyer has been in the same meeting. Finance wants inventory down because cash is tight. Operations wants inventory up because a stockout on a top SKU last quarter cost real money. The room argues about weeks of supply and target days of coverage, and nobody has a defensible answer for how big each PO should actually be.

Economic Order Quantity is the answer that argument keeps failing to reach. It is not a fancy formula. It is the point where the cost of placing another PO and the cost of holding another unit cross, sized in the units of the SKU on the table. If you have never used it, you have been guessing. If you have used it once and moved on, you have probably drifted away from it under the pressure of case packs, supplier minimums, and the buyer who insists two weeks of supply is the answer to everything.

This guide walks through the formula in operator language, one worked example, three what-if scenarios that shift EOQ in different directions, the quantity-discount extension that most retailers actually need, and the decision framework for when to use EOQ and when to skip it.

What EOQ actually solves

The problem EOQ solves is a cost trade-off. Every time a buyer places a PO, some fixed cost gets consumed. Buyer time. PO processing overhead. Receiving labor. Inspection. Invoice matching. Depending on how automated the retailer is, this fully-loaded cost usually sits between $25 and $150 per PO. That cost is fixed with respect to order size, which means placing 50 POs of 200 units each costs the same on the ordering side as placing 50 POs of 2,000 units each.

But holding those units costs money too. Cash tied up in inventory earns nothing. Warehouse space costs rent. Insurance, shrink and obsolescence all scale with what you carry. This is why the industry standard for annual holding cost sits between 20 and 30 percent of the unit's landed cost.

Order too little and the annual pile of PO overhead crushes the margin. Order too much and the annual pile of holding cost does the same. Somewhere between the two extremes is the order quantity where those two costs are equal. That quantity is the EOQ.

If your team argues about weeks-of-supply targets without ever putting a number on order cost or holding cost, you are having the wrong argument. EOQ turns the argument into arithmetic.

The formula

The basic EOQ formula has three inputs and one output.

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

D is annual demand in units. S is the fully-loaded cost of placing one order. H is the cost of holding one unit for one year. The result is the order size, in the same units as D, that minimizes the sum of annual ordering cost and annual holding cost.

The square-root shape of the formula matters more than the formula itself. It means EOQ is forgiving of small errors in your input estimates. Doubling S only pushes EOQ up by about 41 percent. Getting H wrong by 20 percent shifts EOQ by roughly 10 percent. Operators do not need perfect cost data to get useful answers, they just need honest ones. The EOQ Calculator does the math and returns the annual ordering cost, annual holding cost and total annual inventory cost side by side, so you can see the balance the formula is chasing.

Full worked example

A hardware buyer is setting the replenishment policy for a stable-selling battery pack. Trailing 12 months of sales is 12,000 units and demand is expected to be flat. The buyer estimates order cost at $50 per PO by counting their own time, the PO processing charge, receiving labor and invoice matching. Landed cost per unit is $10, and holding cost is set at 20 percent, giving H = $2 per unit per year.

EOQ = √((2 × 12,000 × 50) / 2) = √600,000 ≈ 775 units

The buyer will place 12,000 / 775 ≈ 15.5 orders per year, or one PO every 24 days on average. Annual ordering cost = 15.5 × $50 = $775. Annual holding cost = (775 / 2) × $2 = $775. Total annual inventory cost of $1,550. The two cost buckets are almost perfectly balanced, which is EOQ doing its job.

For context, if the buyer instead ordered the traditional "one month of supply" (1,000 units per PO), annual holding cost would be (1,000 / 2) × $2 = $1,000 and annual ordering cost would be 12 × $50 = $600. Total = $1,600. So the intuitive rule costs $50 more per year on this SKU. Multiply that across an assortment of 3,000 stable SKUs and the same $50 mistake becomes $150,000 in avoidable annual cost.

Three what-if scenarios

One EOQ answer is worth less than understanding how EOQ moves when inputs change. Three shifts show up most often in real reviews.

Order cost goes up

Push order cost from $50 to $150 because a new ERP change adds two manual approval steps and a compliance form. EOQ rises from 775 to about 1,342 units, and orders per year drop from 15.5 to 9. Order size jumps 73 percent for a 3x increase in order cost, which is the square-root shape absorbing most of the shock. The operational takeaway: when purchasing processes get heavier, EOQ pushes toward bigger, less frequent orders. That means average inventory rises, which means turnover falls, which is a hidden downstream cost of process bloat that few finance teams price in.

Holding cost drops

The DC negotiates lower cubic-foot storage rates and holding cost per unit falls from $2 to $1. EOQ rises from 775 to about 1,095 units. Orders per year drop to about 11. When holding is cheaper, the formula says hold more per PO and place fewer of them. This is the mathematical reason retailers with owned DCs (lower marginal holding cost) can operate on larger EOQs than retailers on 3PL contracts (higher marginal holding cost).

Demand collapses

The SKU enters end-of-life and annual demand halves to 6,000 units. EOQ falls to about 548 units. The formula never told you to stop stocking the item, only to buy less per PO. Whether to keep stocking it is a separate assortment question that belongs in the ABC Analysis Calculator, not in EOQ.

The quantity-discount extension

The basic EOQ formula assumes unit cost is constant. Most real suppliers offer price breaks, and the moment they do, basic EOQ becomes the wrong answer. The extension is easy: compute total annual cost at the EOQ, then at each discount break, and pick the lowest.

Continuing the battery-pack example, suppose the supplier offers a 5 percent discount at 2,000 units per PO. At EOQ (775 units), annual purchase cost is 12,000 × $10 = $120,000, plus $1,550 in ordering and holding. Total = $121,550. At the discount level (2,000 units per PO), unit cost drops to $9.50. Annual purchase cost is 12,000 × $9.50 = $114,000. Annual ordering cost is 6 × $50 = $300. Annual holding cost is (2,000 / 2) × $2 = $2,000. Total = $116,300.

The discount saves $5,250 per year on this SKU, and it beats EOQ. The higher holding cost from ordering 2,000 units at a time is real, but it is much smaller than the 5 percent price break on annual COGS. On any high-COGS category, quantity discounts almost always beat basic EOQ, which is why merchandising teams that walk into supplier negotiations armed with this math consistently win better terms.

PolicyOrder QtyAnn. OrderingAnn. HoldingAnn. PurchaseTotal
Basic EOQ775$775$775$120,000$121,550
Discount tier2,000$300$2,000$114,000$116,300

Quantity-discount comparison: the discount tier wins by $5,250 per year despite higher holding cost.

Assumptions and where they break

EOQ is built on four assumptions. Understanding which one breaks first for a given SKU tells you whether to trust the number.

  • Constant demand. EOQ assumes demand is smooth across the year. Highly seasonal SKUs (holiday, back-to-school, summer) break this. For those, run EOQ on a rolling trailing 8 to 12 weeks annualized, not on the full-year figure, and refresh quarterly.
  • Constant lead time. EOQ ignores supply variability. When lead times swing 5 to 15 days on the same SKU, order size is only half the answer. The other half is safety stock, which handles the supply-side risk.
  • No quantity discounts. Covered above. Use the total-cost extension whenever a real price break exists.
  • Instantaneous replenishment. EOQ assumes the truck arrives the moment stock hits the reorder point. Real replenishment happens over a lead time. This is why EOQ and reorder point are separate calculations that combine into one policy.

Every retailer has SKUs where EOQ is the right answer, SKUs where a modified version is the right answer, and SKUs where it should not be used at all. The trick is knowing which is which before the PO fires.

How EOQ interacts with the rest of the cluster

EOQ never runs alone. It sits inside a small system of related inventory decisions, and the number it produces changes when any of the neighbours change.

EOQ and reorder point. Reorder point tells you when to fire a PO. EOQ tells you how much to order when it fires. Together they define the entire replenishment policy for a stable SKU.

EOQ and safety stock. Safety stock is the cushion above expected demand. Shrinking EOQ means more orders per year, which means more lead-time windows during which a stockout can happen. Teams that reduce EOQ to free up cash should re-check their service levels afterwards, because the same buffer no longer buys the same protection.

EOQ and ABC classification. EOQ pays off on A items where the cost trade-off is real. On C items, EOQ is theoretical arithmetic that gets swallowed by supplier minimums and case-pack multiples. Classify first, then decide where EOQ earns its keep.

EOQ and inventory turnover. Average inventory for a SKU is roughly EOQ / 2. Smaller EOQ, higher turnover. Larger EOQ, lower turnover. This is the mechanical lever operators pull when they need to move category-level turn on purpose, and category turnover benchmarks tell you what "good" looks like for the vertical.

EOQ and DIO. Days Inventory Outstanding is turnover expressed as days. When EOQ shifts, DIO shifts inversely. Finance teams watching DIO climb are often looking at an EOQ that quietly grew when a supplier or process change raised order cost.

A three-question decision framework

Before applying EOQ to a SKU, ask three questions. The answers decide whether the number is trustworthy or ornamental.

  1. Is annual demand stable enough that trailing 12 months predicts the next 12? If yes, run EOQ. If no, run it on a shorter rolling window or use a demand-planning approach through the Demand Planning Calculator.
  2. Are order cost and holding cost measured honestly? Order cost must include receiving and put-away labor, not just buyer time. Holding cost must include cost of capital, not just storage rent. If either is being estimated by gut feel, the EOQ answer is directional only.
  3. Are there supplier constraints (minimum order quantity, case-pack multiples, container-load requirements) that make the theoretical EOQ physically impossible? If yes, round to the nearest realistic constraint and re-compute total annual cost at the rounded quantity to check the loss.

Common EOQ mistakes

Four failure modes show up repeatedly in EOQ reviews. Each one has a specific fix.

MistakeSymptomFix
Understating order costEOQ recommends unrealistically small orders and PO volume balloonsInclude receiving labor, put-away and invoice matching in S
Understating holding costEOQ recommends huge orders and average inventory bloatsUse 20 to 30 percent of landed cost, not just storage rent
Applying EOQ to seasonal SKUs unchangedStockouts in peak, markdowns in troughRefresh EOQ quarterly on trailing 8 to 12 weeks annualized
Ignoring supplier MOQs and case packsTheoretical EOQ conflicts with what can actually be orderedRound to nearest case pack, compare total cost to raw EOQ

The four failure modes that turn EOQ from a useful answer into a misleading one.

Templates and cross-references

EOQ works best as a live calculation, not a spreadsheet locked in a shared drive. For batch computing across an assortment, the Inventory Management Tracker (Excel) has a working EOQ column that reads demand, order cost and holding cost per SKU. The Inventory KPI Cheat Sheet covers where EOQ sits alongside DIO, turnover and OTIF on a one-page reference for buyers and planners.

For turnover benchmarks that let you sanity-check whether an EOQ-driven policy is producing category-competitive turn, the Inventory Turnover Benchmarks page carries figures by retail vertical. For the full assortment-planning context, the Inventory Management Best Practices guide covers where EOQ fits alongside cycle counting, ABC review and vendor governance.

Summary

EOQ solves one specific problem: the cost trade-off between placing too many small POs and holding too much inventory. The formula is simple, forgiving of imperfect inputs, and most useful on A-class SKUs with stable demand and honest cost data. It becomes misleading when demand is highly seasonal, when quantity discounts exist and get ignored, when order cost or holding cost is estimated by gut feel, and when supplier minimums are treated as afterthoughts. Used alongside reorder point, safety stock and ABC classification, EOQ becomes the arithmetic backbone of a replenishment policy. Used in isolation, it becomes another spreadsheet answer nobody trusts. Run any SKU through the EOQ Calculator to see how the four cost buckets balance for that specific number.

Frequently Asked Questions

What is EOQ in plain language?+

It is the order size that makes the sum of your yearly ordering cost and your yearly holding cost as small as it can be. Order less than EOQ and you place too many POs. Order more than EOQ and you carry too much inventory. The EOQ Calculator computes it in one click and shows the annual cost buckets so you can see the balance.

How is order cost calculated for EOQ?+

Order cost is the fully-loaded cost to place and receive one PO. It includes buyer time, PO processing overhead, receiving labor, inspection, put-away and invoice matching. Retailers with mostly manual purchasing land between $75 and $150 per order. Retailers with EDI or vendor-portal automation drop to $25 to $50. Understating order cost is the most common EOQ mistake, because it makes the formula recommend orders that are too small and PO volume balloons across the assortment.

How is holding cost calculated for EOQ?+

The industry standard is 20 to 30 percent of the unit's landed cost per year, covering cost of capital (8 to 12 percent), storage and DC overhead (3 to 6 percent), insurance (0.5 to 1 percent), shrink (0.5 to 2 percent) and obsolescence (2 to 8 percent, higher for apparel and electronics). Using only warehouse rent as holding cost is a common trap. It systematically underestimates H, which pushes EOQ too small and inflates annual ordering cost.

How does EOQ relate to safety stock and reorder point?+

EOQ decides how much to order each time a PO fires. Safety stock decides how much cushion to hold above expected demand. Reorder point decides when to fire the PO. They are three separate calculations that combine into one policy. Cutting EOQ means more orders per year, which means more lead-time windows in which a stockout can happen, which means the same safety stock buffer no longer buys the same service level.

Should I use EOQ for every SKU?+

No. EOQ pays off on A-class SKUs with stable demand, where the annual cost balance is worth optimizing. Run ABC analysis first. On A items, apply EOQ. On B items, EOQ is a directional starting point that gets rounded to case pack or truckload. On C items, use a simple periodic review policy because the annual cost differences are too small to justify the arithmetic. Applying EOQ uniformly across an assortment wastes effort and produces a false precision on tail items.

What if my supplier offers volume discounts?+

Ignore basic EOQ and use the total-cost extension. Compute total annual cost (ordering plus holding plus purchase cost) at the EOQ, then at each discount break, and pick the lowest. On high-COGS categories, a 3 to 5 percent price break at a higher order quantity almost always beats the pure EOQ answer, because the discount applies to annual COGS while the extra holding cost applies only to the incremental units.

What if demand is highly seasonal?+

Run EOQ on the trailing 8 to 12 weeks of demand annualized, and refresh the calculation quarterly. Do not use full-year demand for a Christmas SKU sized in January or a summer SKU sized in December. If demand swings more than 40 percent between quarters, EOQ becomes directional rather than precise. In that case, use a fixed weeks-of-supply target for the peak window and run EOQ only in the shoulder period.

How does EOQ affect inventory turnover?+

Average inventory for an SKU on an EOQ policy is roughly EOQ / 2. Smaller EOQ, higher turnover. Larger EOQ, lower turnover. When category-level turn is below the industry benchmark, the mechanical lever to move it is smaller EOQ, but that lever has to be paired with a check on service levels because more frequent orders create more stockout windows. Use the Inventory Turnover Calculator to see the impact before making the change.

What is the most common EOQ mistake?+

Applying it to case-pack constrained SKUs without rounding. The theoretical EOQ might be 775 units, but the supplier only ships in cases of 240. The right answer is to compute total annual cost at 720 (three cases), 960 (four cases) and 1,200 (five cases), pick the lowest, and stop chasing the theoretical number. The EOQ Formula Guide worked example covers how to do this comparison cleanly.

When should I NOT use EOQ?+

When shelf life caps order size (grocery perishables, seasonal fashion), when lead times are wildly unstable, when supplier MOQs dominate the decision, and when stockout cost hugely exceeds inventory cost (loss-leader SKUs, contractual supply). In those cases, use a service-level driven approach through the Safety Stock Calculator and let the availability target, not the cost balance, drive the order policy.

Related Calculators

Try the math from this guide with our free tools.

EOQ Calculator

Find the order size that minimizes what you spend keeping an SKU stocked. Small orders push order cost up. Big orders push carrying cost up. EOQ finds the point where the two curves cross so you stop paying more than you have to, and it anchors every reorder point and safety stock decision downstream.

Open calculator

Reorder Point Calculator

Set the trigger level that fires the next PO for an SKU. Reorder point combines expected demand during lead time with a buffer for the weeks that run hot. Get either half wrong and you either stock out or bury cash on the shelf. This calculator returns the ROP, the lead-time demand, the buffer as a percent of expected demand, and the days of supply the ROP represents at current sales velocity.

Open calculator

Safety Stock Calculator

Size the buffer that keeps shelves stocked when demand spikes or the truck runs late. Enter a target service level, your demand history, and lead time to get the exact number of units to hold above expected demand. No more guessing with "two extra weeks of supply."

Open calculator

ABC Analysis Calculator

Paste a list of SKUs and their revenue and get an instant A / B / C classification. Use the output to set service levels, safety stock, and buying priority the way experienced planners do.

Open calculator

Inventory Turnover Calculator

Measure how many times a year your average inventory sells through and gets replaced. The single most consequential operational KPI in retail. It connects buying decisions, warehouse cash, markdown risk, and finance targets into one number. This calculator returns the turn ratio, converts it into days and weeks of supply, and shows how much working capital a one-turn improvement releases.

Open calculator

Days Inventory Outstanding Calculator

Convert your inventory position into a number finance actually reads: the average days of cash sitting on the warehouse floor. DIO is the same measurement as inventory turnover in days instead of a ratio, and it maps directly onto working capital, cash conversion cycle and reorder cadence. This calculator returns DIO, weeks of supply, implied turnover, and the exact cash a 10-day DIO improvement would release.

Open calculator

Related Articles

Explore Related Resources

Handpicked benchmarks, templates and guides to help you dig deeper.