How to Calculate Economic Order Quantity: What the EOQ Formula Does and What It Assumes
Process AnalysisMetrics

How to Calculate Economic Order Quantity: What the EOQ Formula Does and What It Assumes

T. Krause

T. Krause

The economic order quantity formula

The economic order quantity, EOQ for short, is the quantity per order at which a year's ordering cost and holding cost add up to the least.

Economic order quantity = √(2 × yearly demand × cost per order ÷ holding cost per unit and year)

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

Yearly demand. D is how many pieces of the part you need in a year. This article takes last year's consumption.

Cost per order. S is what one order costs, whether it is for 50 pieces or 500. Only money you would not have spent without that order belongs in it.

Holding cost per unit and year. H is what it costs to keep one piece on the shelf for a year, worked out as unit cost × holding cost rate. The rate covers interest on the money tied up, storage space, insurance and shrinkage.

Large, rare orders cost little in ordering and a lot in stock. Small, frequent orders do the opposite. At the EOQ the two amounts are equal.

EOQ calculation example: five spare parts on one stock list

This is an illustrative example with invented figures and an invented company. It is the pump maker's spare parts store from how to calculate inventory turnover, which supplies unit cost, yearly consumption and average stock. The safety stocks are from how to calculate reorder point.

Two inputs are new, and both are assumptions of this example. An order costs €50, whichever part it is for. The holding cost rate is 20% of unit cost per year. Neither is a benchmark. Your own two figures come from your own books.

So far the list gives an order quantity for one part, 300 for the control board. For the others it is worked back from the list, on the assumption that stock falls evenly and is topped up in fixed lots. A shelf then holds, on average, the safety stock plus half an order.

Order quantity today = 2 × (average stock − safety stock)

For the mechanical seal that is 2 × (500 − 80) = 840 pcs. The control board checks out, since 2 × (300 − 150) = 300. The housing for the old series stays out until mistake 4.

ItemUnit costConsumption per yearAverage stockSafety stockOrder quantity today
Mechanical seal€18.006,00050080840
Gasket set€6.009,0001,5002502,500
Electric motor 0.75 kW€85.001,20015030240
Impeller€38.001,20040040720
Control board€120.00600300150300
Housing, old series€140.00402005none

Quantities are in pieces. The EOQ is rounded to whole pieces. Costs use the rounded quantity and are rounded to whole euros, and differences are taken from the rounded amounts.

Step 1: holding cost

For the electric motor that is €85.00 × 20% = €17.00 per piece and year.

Step 2: the formula

√(2 × 1,200 × 50 ÷ 17) = √7,058.8 = 84.02, rounded to 84 pcs

Step 3: cost per year

Cost per year = D ÷ Q × S + Q ÷ 2 × H

With 84 pcs: 1,200 ÷ 84 × €50 + 42 × €17 = €714 + €714 = €1,428

With 240 pcs: 5 × €50 + 120 × €17 = €250 + €2,040 = €2,290

Today's quantity costs €862 a year more. Purchase price and the safety stock's holding cost are in neither figure, since they are the same at every order quantity.

The same sums for five items, each with 20% of its unit cost as holding cost:

ItemEOQOrders per yearCost per yearCost at today's quantityDifference
Mechanical seal40814.7€1,470€1,869€399
Gasket set86610.4€1,039€1,680€641
Electric motor 0.75 kW8414.3€1,428€2,290€862
Impeller1269.5€955€2,819€1,864
Control board5012.0€1,200€3,700€2,500
Five items60.9€6,092€12,358€6,266

All five are ordered today in larger lots than the formula gives. The impeller at 5.7 times its EOQ and the control board at 6 times are furthest off. In an ABC analysis of the same list, with nine parts added, the impeller is only a B part. The €6,266 follows from the two assumptions. Other rates give other quantities.

How exact the order quantity has to be

Cost reacts slowly to quantity. The control board's holding cost is €120.00 × 20% = €24.00, so its EOQ is √(2 × 600 × 50 ÷ 24) = √2,500 = 50 pcs, and a year costs €600 + €600 = €1,200.

At 40 boards per order a year costs €750 + €480 = €1,230, and at 60 it costs €500 + €720 = €1,220. Being 20% off the EOQ costs 2.5% or 1.7% more. Even twice the EOQ, at €300 + €1,200 = €1,500, costs only a quarter more. What is expensive is today's 300, six times the EOQ, at €100 + €3,600 = €3,700. So round the result freely, and look for parts ordered at several times their EOQ.

What the new quantity does to stock and turnover

Average stock = safety stock + order quantity ÷ 2

Ordering 50 at a time, the shelf holds 150 + 25 = 175 control boards on average, down from 300. Stock value falls from €36,000 to €21,000. Turnover rises from 2.0 to 600 ÷ 175 = 3.4, and days on hand fall from 182.5 to 175 × 365 ÷ 600 = 106.5.

The same sum gives 284 mechanical seals, 683 gasket sets, 72 motors and 103 impellers. The housing stays at 200. The value of the whole list would fall from €109,950 to €68,244. On consumption of €387,200, turnover would rise from 3.52 to 5.67 and days on hand would fall from 103.6 to 64.3.

The figures in the turnover article describe the year as it was. These are for a following year with the same consumption, in which every part is ordered at its EOQ. The housing would then tie up 41.0% of stock value, up from 25.5%.

What the EOQ formula assumes

The formula holds on four assumptions.

Demand is steady. Only then is half an order on the shelf on average. For seasonal parts and parts that are rarely needed, that half of the sum is wrong. More under mistake 4. An XYZ analysis measures how steady a part's demand is.

There is no quantity discount. The formula sees the purchase price only as the basis of holding cost. Suppose the control board's supplier gives 3% off from 100 pieces. A board then costs €116.40 to buy and €23.28 a year to hold. At 50 per order a year costs €72,000 + €1,200 = €73,200. At 100 it costs €69,840 + €300 + €1,164 = €71,304, €1,896 less. With discounts, compare the yearly cost including purchase price at the EOQ and at each price break above it.

There is no minimum order and no pack size. The formula returns any number of pieces, and a supplier doesn't. More under mistake 3.

The cost per order does not depend on the quantity. If freight rises with weight, that part belongs to the price per piece. The fixed amount stays in S.

Five mistakes with the EOQ formula

1. Counting only interest in the holding cost rate

Suppose the 20% is made up of 8% interest on the money tied up and 12% for space, insurance and shrinkage. At 8% alone the control board's holding cost is €9.60, not €24.00. The formula then gives √(2 × 600 × 50 ÷ 9.60) = √6,250 = 79.06, rounded to 79 pcs where 50 is right.

At the full rate, 79 pcs cost €380 + €948 = €1,328, €128 more than the optimum. Everything that rises and falls with stock belongs in the rate.

2. Putting salaries into the cost per order

Suppose somebody divides purchasing salaries by the number of orders and adds €120 to the €50. With S = €170 the formula gives √(2 × 600 × 170 ÷ 24) = √8,500 = 92.2, rounded to 92 pcs. But salaries don't fall when a few orders fewer go out in a year. At the true €50 per order, 92 pcs cost €326 + €1,104 = €1,430, €230 more than the optimum.

The argument has a limit. The five parts make 19.4 orders a year today and 60.9 at the formula's quantities. If that takes more people, their cost belongs in S.

3. Ordering to the exact piece

For the gasket set the formula gives 866 pcs. Suppose the supplier packs cartons of 250. The choice is then 750 or 1,000. Both cost €1,050, €11 more than the €1,039 at 866.

Write pack size and minimum order next to the result, and cost the deliverable quantities below and above it.

4. Using the formula on a part without steady demand

For the housing of the old series the formula gives √(2 × 40 × 50 ÷ 28) = √142.9 = 11.95, rounded to 12 pcs. Twelve housings cost €1,680 and last 109.5 days if 40 a year keep going out. On most days nobody takes a housing, though, and the series is old. The shelf holds 180, and the reorder point of 12 is 1,533 days away. Until then there is nothing to order.

5. Changing the order quantity and leaving the rest alone

At 50 boards per order, down from 300, average stock falls to 175 and turnover rises to 3.4. Recalculate any targets for stock or days on hand.

The reorder point stays at 381, because the order quantity is not in its formula. But the shelf never holds more than 150 + 50 = 200 boards. An order goes out every 30.4 days and takes 140, so four or five are on their way at any time. Compare the reorder point with available stock, the shelf plus open orders.

Lower the reorder point to 200 because the shelf never holds more, and you order too late. 230.1 boards go out in the 140 days. You are 30.1 short, and the bin is empty 18.3 days before the delivery.

The next step

Take the twenty parts with the highest stock value. Put yearly consumption, unit cost, today's order quantity and pack size side by side. Set the cost per order and the holding cost rate once and run the formula. Look first at the parts where today's quantity is more than twice the EOQ.

If you want to know at which point in your process order quantities are decided, that is the scope of our process analysis. Fixed scope, fixed duration, fixed price.

Cookie settings

We use technically necessary cookies to run this site. Optional anonymised analytics cookies (Google Analytics) help us improve it — we only set these with your consent.

More in the privacy policy