Home / Blog / Supply Chain / How to Calculate EOQ
How to Calculate EOQ (Economic Order Quantity) in Practice
By Zeeshan Abbas . Reviewed by Rimsha Nadeem Anwar (Six Sigma Black Belt) . September 2026
In short: EOQ is the order size that makes the yearly cost of placing orders equal the yearly cost of holding stock, so the combined cost is as low as it goes. The formula is the square root of (2 x annual demand x cost per order divided by holding cost per unit per year). Because the total cost curve is nearly flat around the low point, you can round the answer to a practical pack size without paying a real penalty.
Most teams that carry inventory keep bumping into the same two problems, and the two problems pull in opposite directions. Order too much at once and you tie up cash, fill shelves, and pay to store units you will not touch for months. Order too little and you are back on the phone with the supplier every week, paying the setup, freight, and paperwork cost of a fresh purchase order again and again. Economic Order Quantity, almost always written as EOQ, is the classic way to settle that tug of war with arithmetic instead of a gut call.
This guide walks through the method the way a planner actually uses it. We will state the formula, define each input in plain terms, work a full numeric example you can copy, and then read the result the way an operations manager reads it. Along the way we will point out where EOQ quietly stops being the right tool, because knowing the limits of a model is what separates a spreadsheet from a decision.
What EOQ actually is
EOQ answers one narrow question: for a single item with steady demand, how many units should you buy each time you place an order so that your total yearly cost is as low as possible? The model splits that yearly cost into two buckets that move against each other. The first bucket is ordering cost, everything it takes to trigger and receive a purchase order, spread across the year. The second bucket is holding cost, everything it takes to keep a unit sitting in your warehouse for a year, including capital, space, insurance, and the risk of damage or obsolescence.
When you order in large batches, you place fewer orders, so the yearly ordering cost drops, but your average inventory is high, so the yearly holding cost climbs. When you order in small batches, the opposite happens. EOQ is the order size that sits at the bottom of the combined curve, the point where the two buckets are equal and their sum is smallest. That balance point, and the fact that the curve around it is gentle rather than sharp, is the whole idea.
The EOQ formula and its inputs
EOQ = square root of ( 2 x D x S / H )
Three inputs feed the formula, and getting them honest matters more than any decimal place in the answer.
D is annual demand, the number of units you expect to sell or consume over a full year. Use a real forecast, not last month times twelve, and use consistent units. If you order cases, express demand in cases.
S is the cost per order, sometimes called setup cost. This is the fixed cost of placing one order regardless of its size: buyer time, the transaction fee, inbound freight that does not scale with quantity, receiving and inspection labor. It is not the price of the goods. The unit price of the item does not appear in the basic EOQ at all, which surprises people the first time they see it.
H is the holding cost per unit per year, the cost of keeping one unit in stock for twelve months. Teams usually build this as a holding rate, often somewhere between fifteen and thirty percent, multiplied by the unit cost. So a unit that costs twenty dollars with a twenty-five percent holding rate carries an H of five dollars per year.
Two supporting formulas turn the EOQ into a plan. Orders per year is annual demand divided by the EOQ. Total relevant cost is (D divided by Q) times S plus (Q divided by 2) times H, where Q is your chosen order quantity. That second formula is worth keeping nearby, because it lets you price out any order size, not just the mathematically perfect one.
How to calculate EOQ step by step
The calculation is short once the inputs are clean. Here is the sequence a planner runs, whether by hand or in a tool.
Step one, gather the three inputs in matching units: annual demand D, cost per order S, and holding cost per unit per year H. If your holding cost is expressed as a rate, multiply it by the unit cost first so H is a dollar figure.
Step two, multiply and divide inside the root. Take 2 times D times S, then divide by H. This gives you the quantity that will sit under the square root sign.
Step three, take the square root. The result is the EOQ in units. It will rarely be a round number, and that is fine.
Step four, translate to a schedule. Divide annual demand by the EOQ to get orders per year, and divide 365 by orders per year to get the days between orders, your cycle length.
Step five, round to something you can actually buy. Suppliers sell in packs, pallets, and minimum quantities. Round the EOQ to the nearest practical figure and check the total relevant cost at that rounded number. Because the curve is flat near the optimum, the rounded cost is almost always within a percent or two of the theoretical best.
A full worked example you can copy
Take a distributor selling a steady mid-price item. The numbers are clean on purpose so you can follow every step.
| Input | Symbol | Value |
|---|---|---|
| Annual demand | D | 12,000 units per year |
| Cost per order | S | 50 dollars per order |
| Holding cost per unit per year | H | 3 dollars per unit per year |
Plug those into the formula. Inside the root you get 2 times 12,000 times 50, which is 1,200,000, divided by 3, which is 400,000. The square root of 400,000 is 632. So the EOQ is 632 units.
Now turn that into a schedule. Orders per year is 12,000 divided by 632, which is about 19 orders. Cycle length is 632 divided by 12,000 times 365, which comes to about 19 days between orders. So this item gets reordered roughly every three weeks.
Check the cost. Ordering cost is (12,000 divided by 632) times 50, which is about 949 dollars for the year. Holding cost is (632 divided by 2) times 3, which is about 948 dollars for the year. Total relevant cost is 949 plus 948, or about 1,897 dollars. Notice that the two buckets, 949 and 948, come out essentially equal. That is not a coincidence. At the EOQ the ordering cost and the holding cost always meet, and that equality is a fast way to sanity check any EOQ you calculate.
A quick check: at the true EOQ, yearly ordering cost equals yearly holding cost. If you compute an order quantity and the two costs are far apart, you have a data error or a rounding you did not mean to make.
Here is the part that saves planners from over-engineering. Suppose your order cost doubles from 50 to 100 dollars, maybe because freight got more expensive. You might expect the order quantity to double too. It does not. The new EOQ is the square root of (2 times 12,000 times 100 divided by 3), which is the square root of 800,000, or about 894 units. A doubling of the input moved the answer by a factor of the square root of two, roughly forty percent, not one hundred percent. This square-root dampening runs through the whole model. It is why precise inputs are less important than people fear, and why a rounded order quantity rarely costs you anything real.
How to read and apply the result
The EOQ tells you how much to buy each time. It does not tell you when to buy. Those are two separate decisions, and mixing them up is the most common EOQ mistake in the field. The when is governed by the reorder point, which is the stock level that triggers a new order.
Reorder point = demand during lead time + safety stock
Demand during lead time is simply your daily usage multiplied by the number of days the supplier takes to deliver. Safety stock is the cushion you hold to cover variability in demand and lead time, sized to the service level you want. In our example, if the item sells about 33 units a day and the supplier takes 7 days, demand during lead time is about 231 units. Add whatever safety stock your service target calls for, and that sum is the level at which you place your next order for 632 units. The two numbers, the 632 and the reorder point, work together but are calculated independently.
Once you have both, the operating rule is easy to state. Watch inventory fall. When it hits the reorder point, place an order for one EOQ. Repeat. The EOQ sets the rhythm and the batch size; the reorder point protects you during the wait.
Common mistakes that break EOQ
The formula is forgiving, but a few habits reliably produce bad answers.
Putting the unit price into the formula. The basic EOQ ignores the purchase price of the goods, because buying the same annual demand costs the same in product dollars no matter how you split the orders. Price only matters when the supplier offers quantity discounts, which is a different model built on top of EOQ.
Guessing the holding cost. Holding cost is the input people wave their hands at, and it is the one that most changes the answer. If you only capture the cost of capital and forget space, insurance, shrinkage, and obsolescence, your H is too low and your EOQ is too high, so you will carry more stock than you should.
Ignoring supplier minimums and pack sizes. An EOQ of 632 is meaningless if the item ships only in pallets of 500. Round to the real buying unit and accept the tiny cost difference. The flat curve is there precisely so you can.
Treating a lumpy or seasonal item as steady. EOQ assumes demand is roughly constant through the year. For an item that sells in bursts, the average demand hides the reality, and the model will steer you wrong.
When EOQ does not apply, and what to use instead
EOQ earns its keep on stable, independent-demand items: the steady sellers, the consumables, the parts you buy on a predictable rhythm. Outside that zone, reach for a different tool.
If demand is highly variable or seasonal, a fixed batch size fights the pattern; a periodic review or a forecast-driven plan fits better. If the item is perishable or short-lived, holding cost is not linear and the model understates the risk of ordering too much. If the supplier offers price breaks at higher volumes, use the quantity-discount extension, which compares the EOQ cost against the cost at each price break. And for parts whose demand depends on the production schedule rather than on independent customer orders, material requirements planning, not EOQ, is the right frame.
None of this makes EOQ obsolete. It makes EOQ a baseline. Calculate it first, see what a balanced order size looks like, and then adjust for the specific texture of the item in front of you.
Three expert tips
Build your holding rate once and reuse it
Rather than argue about holding cost item by item, agree on a single holding rate for the business, the percentage of unit cost it takes to store an item for a year. Fifteen to thirty percent is the usual range, higher for bulky or fragile goods. Once the rate is set, H for any item is just that rate times its unit cost, and every EOQ across the catalog becomes consistent and defensible.
Trust the flat curve and round with confidence
The single most useful fact about EOQ is that the total cost curve is nearly flat near the optimum. An order quantity ten or fifteen percent off the exact EOQ usually costs less than one percent more per year. That means you can round to a pallet, match a supplier minimum, or align with a truckload without guilt. Spend your energy on clean inputs, not on chasing the last unit.
Recalculate on a schedule, not on every wobble
Because of the square-root dampening, small changes in demand or cost barely move the EOQ. There is no need to recompute every week. Set a review cadence, quarterly for most items, and refresh the EOQ when demand, order cost, or holding cost has shifted enough to matter. This keeps the plan current without turning it into busywork.
Free supply chain calculators
You can run every step above without a spreadsheet. The EOQ Calculator handles the order-quantity math shown here, and the two decisions that pair with it live in the Reorder Point Calculator and the Safety Stock Calculator. To round out your inventory planning, the ABC Analysis Calculator tells you which items deserve the tightest control, the Inventory Turnover Calculator shows how fast stock is moving, and the Service Level and Fill Rate Calculator ties your stocking policy to the availability you promise customers. All of them, plus the rest of the collection, sit on the Supply Chain hub.
Frequently asked questions
What is EOQ in simple terms?
EOQ, or Economic Order Quantity, is the order size that makes the yearly cost of placing orders equal the yearly cost of holding stock, so the two together are as low as possible. It answers the question of how many units to buy each time you order a steady item.
What is the EOQ formula?
EOQ equals the square root of (2 times annual demand times cost per order, divided by holding cost per unit per year). In symbols that is the square root of (2 x D x S / H), where D is annual demand, S is the cost per order, and H is the holding cost per unit per year.
Can you show a worked EOQ example?
With annual demand of 12,000 units, an order cost of 50 dollars, and a holding cost of 3 dollars per unit per year, the EOQ is the square root of (2 x 12,000 x 50 / 3), which is the square root of 400,000, or 632 units. That means about 19 orders a year, roughly one every 19 days.
Why does the unit price not appear in the EOQ formula?
Buying your full annual demand costs the same in product dollars no matter how you split the orders, so the purchase price cancels out of the basic model. Price only matters when the supplier offers quantity discounts, which is handled by a separate extension of EOQ.
How many orders per year does EOQ imply?
Divide annual demand by the EOQ. In the worked example, 12,000 divided by 632 is about 19 orders per year. Dividing 365 by that gives a cycle of about 19 days between orders.
What is the total cost at the EOQ?
Total relevant cost is (D divided by Q) times S plus (Q divided by 2) times H. In the example that is about 949 dollars of ordering cost plus about 948 dollars of holding cost, for a total near 1,897 dollars a year. The two buckets are equal at the EOQ, which is a handy way to check your work.
How is EOQ related to the reorder point?
They answer different questions. EOQ tells you how much to buy each time. The reorder point tells you when to buy, and it equals demand during lead time plus safety stock. You calculate them separately and use them together: order one EOQ each time stock falls to the reorder point.
Do I have to order the exact EOQ number?
No. The total cost curve is nearly flat around the optimum, so rounding the EOQ to a pallet, a supplier minimum, or a truckload usually adds less than one percent to yearly cost. Round to whatever you can actually buy and move on.
What happens to EOQ if my order cost changes?
The EOQ moves by the square root of the change, not in direct proportion. If the order cost doubles from 50 to 100 dollars, the EOQ rises from 632 to about 894 units, a change of roughly 40 percent rather than 100 percent. This square-root dampening means small input changes barely move the answer.
How do I estimate holding cost?
Build a holding rate that captures the cost of capital plus storage space, insurance, shrinkage, and obsolescence, usually somewhere between 15 and 30 percent of unit cost. Multiply that rate by the unit cost to get H in dollars. This is the input that most affects the EOQ, so it is worth getting right.
When should I not use EOQ?
Skip EOQ when demand is highly seasonal or lumpy, when the item is perishable, when the supplier offers meaningful quantity discounts, or when demand depends on a production schedule rather than independent customer orders. In those cases use periodic review, the quantity-discount model, or material requirements planning instead.
Is EOQ still useful if my inputs are rough?
Yes. Because the answer depends on the square root of the inputs and the cost curve is flat near the optimum, rough but honest estimates still land you close to the best order size. EOQ is a baseline you refine, not a number that demands four decimal places.
EOQ will not run your warehouse for you, but it gives you a defensible starting point for every steady item you stock. Calculate it, check that ordering and holding costs balance, round to a quantity you can actually buy, and set the reorder point separately to cover your lead time. Do that across your catalog and the constant tug of war between too much stock and too many orders turns into a routine you can trust.