Economic order quantity (EOQ) formula and calculator for purchased parts
The economic order quantity (EOQ) is the order size that keeps the yearly cost of placing orders and holding stock as low as it can be. The EOQ formula takes the square root of 2 × yearly demand × the cost of one order, divided by what it costs to hold one unit for a year. For a purchased part, round the answer to your supplier's minimum, pack size and price breaks before you order.
What is the economic order quantity?
Every purchased part carries two running costs that pull in opposite directions. Each order costs your team time to place, confirm, follow up, receive and pay. Each unit on the shelf costs you capital, space, insurance and the risk of a write-off. Order in big lots and you place fewer POs but hold more stock; order in small lots and you hold less but order more often. The economic order quantity (EOQ) is the lot size where the two costs add up to the least.
A bracket used at 24,000 a year, $75 a PO, $0.60 a year to hold one. Any lot from about 1,790 to 3,360 costs within 5% of the lowest total.
The floor of that curve is wide. A lot 20% above or below the EOQ adds less than 3% to the yearly cost, which leaves you room to round to your supplier's packs and minimums. Price breaks, minimums and scrap move the answer far more than the formula's precision does.
The EOQ formula balances ordering against holding
One formula gives the lot where yearly ordering cost equals yearly holding cost, which is where their sum is lowest:
is the units you use a year, is what one PO costs you, and is what it costs to hold one unit for a year, in dollars. To compare any lot size , cost a full year, purchase price included:
In a spreadsheet, with in B1, in B2, the unit price in B3 and the carrying rate in B4, the EOQ is =SQRT(2*B1*B2/(B3*B4)). Add a total cost column for each lot you want to compare, because the EOQ alone leaves out your supplier's terms.
EOQ calculator
Set your part's numbers to see its EOQ and how flat the cost curve is
A lot 50% above the EOQ costs only 8% more ($122 a year), so rounding to your supplier's packs costs you little.
Measure the inputs from your own records
The formula is simple; the work is in its three inputs. Take each one from your own books rather than a rule of thumb, because each one is easy to get wrong in a way that moves the answer.
Annual demand, from usage
Use what your plant consumes. For a component, explode the build plan through the bill of materials: a bracket used twice on one assembly and once on another counts three times when you build one of each. If the plan swings week to week, read the boundary conditions further down before you trust a yearly figure.
Order cost, from your team's workload
Order cost is mostly planner and buyer workload. Each PO means raising and sending it, confirming the date, following up, receiving and inspection, three-way match and paying the invoice, plus any fixed freight or handling charge per delivery. For a first estimate, spread your purchasing team's yearly cost over the PO lines it handles:
Fewer orders mean fewer rounds of that work. In the bracket example below, lots of 3,000 mean about 8 POs a year and lots of 5,000 about 5.
Order cost calculator
Enter your purchasing team's yearly cost and the PO lines it handles. Add any charge each delivery carries.
Holding cost: a rate times the price
Holding cost covers the capital tied up in the stock, storage, insurance and tax, shrink, and the parts you scrap when a revision changes or a product ends. Estimate it as a yearly percentage of the unit price, the carrying rate, and multiply by the price to get in dollars:
Carrying rates commonly run 20% to 30% a year, and blended rates 22% to 28%. The calculator starts at 25%, a planning assumption inside that range. Replace it with your own cost of capital and storage, and add the write-offs you record each year.
Calculate the order quantity your supplier will accept
The classic EOQ ignores three things every purchased part has: a supplier minimum, a pack size and, often, price breaks. Scrap raises what you buy on top. The calculator below works through all four and keeps the lot with the lowest total yearly cost that your supplier accepts.
Calculate your order quantity
EOQ calculator with MOQ, price breaks and scrap
Illustrative example: a purchased machined bracket used at 24,000 a year. Replace the numbers above with your own.
Order quantity
5,000Total cost a year
$57,629MOQ penalty a year
$28Cash per PO
$11,400Lot sizes side by side
The best lot shows its total cost a year; the others show what they cost on top of it. The EOQ row ignores the MOQ and packs, so your supplier may not accept it.
Total cost a year by lot size
Show the working
- Gross demand24,000 ÷ (1 − 2.0%)
24,490 units a year - Holding cost per unit$2.40 × 25.0%
$0.60 a year - EOQ√(2 × 24,490 × $75.00 ÷ $0.60)
2,474 units, $1,484.61 a year in ordering and holding - Best lot, 5,000ordering (24,490 ÷ 5,000) × $75.00 + holding (5,000 ÷ 2) × $2.28 × 25.0% + purchase 24,490 × $2.28
$367.35 + $1,425.00 + $55,836.73 = $57,629.08, $2.401 per good unit - MOQ penaltyordering plus holding at 3,000 and $2.40, minus the same at the EOQ
$27.63 a year - Break-even price at the MOQ($60,260.13 − (24,490 ÷ 3,000) × $75.00) ÷ (24,490 + (3,000 ÷ 2) × 25.0%)
$2.399 - Cashaverage = lot ÷ 2 × price; per PO = lot × price
$5,700 average, $11,400 per PO, before safety stock
The calculator checks each price tier's own optimum, each break and the MOQ, rounded both ways to whole packs, and keeps the lot with the lowest total.
Worked example: a machined bracket
Illustrative example. Cartograph made up these figures; the calculator opens with them.
Your plant uses 24,000 brackets a year. A PO costs you $75. The supplier charges $2.40 a unit, sells in packs of 250, has an MOQ of 3,000, and quotes $2.28 from 5,000 units and $2.25 from 10,000. You lose 2% of the brackets to scrap.
- Gross demand: 24,000 ÷ (1 − 0.02) = 24,490 units a year, since you buy the scrapped ones too.
- H = $2.40 × 25% = $0.60 per unit per year.
- EOQ = √(2 × 24,490 × $75 ÷ $0.60) = 2,474 units. At that lot, ordering and holding each cost $742, $1,485 a year together.
- The MOQ sits above the EOQ, so the smallest lot you can buy is 3,000, or 12 packs. Ordering: 24,490 ÷ 3,000 × $75 = $612. Holding: 3,000 ÷ 2 × $0.60 = $900. Together $1,512, so the MOQ costs you $28 a year.
- The 5,000 break: ordering $367, holding 2,500 × $0.57 = $1,425, purchase 24,490 × $2.28 = $55,837. Total $57,629, against $60,288 for 3,000 at $2.40. The break saves $2,659 a year.
- The 10,000 break: ordering $184, holding $2,813, purchase $55,102. Total $58,098, which is $469 more than the 5,000 lot. Holding twice the stock eats the extra 3 cents a unit.
- Cash: the 5,000 lot ties up $5,700 on average (2,500 × $2.28) and each PO comes to $11,400. At 3,000 you would hold $3,600 on average. Each extra dollar on the shelf saves you $1.27 a year.
You order 5,000 units, about 2.4 months of use per lot. The textbook formula says 2,474.
Use it in a spreadsheet
Download the free EOQ template (Excel, also opens in Google Sheets). Yellow cells are your inputs: demand, order cost, price, carrying rate, scrap, MOQ, pack size and up to four price breaks. Every other cell is a live formula. It checks the EOQ rounded both ways, the MOQ and each break, and returns the order quantity, total cost a year, MOQ penalty, break-even price and cash per PO. With the bracket above it returns the same 5,000 units and $57,629 as the calculator.
Fit the lot to your supplier's terms
When the MOQ is above your EOQ
You order the MOQ. Each lot then costs you more to hold than it saves you in orders, and the calculator prices that gap:
Next, find the supplier break-even price: the unit price at which the MOQ costs you the same per year as the EOQ at today's price. If the supplier quotes the MOQ at or below it, the minimum pays for itself.
When the MOQ binds, the calculator also gives the highest price you could pay for an EOQ-sized lot before it costs more than taking the MOQ. Bring that price to your supplier. The MOQ vs EOQ lesson covers what to offer in return, with lines you can use.
Price breaks: compare the total cost a year
A price break changes the purchase cost, which for most parts dwarfs ordering and holding, and the EOQ formula leaves purchase out. Cost the whole year at each break: ordering, plus holding at the break price, plus purchase at the break price. Pick the cheapest total the supplier accepts.
All-units breaks
Every unit in the lot takes the break price once you reach the quantity. Most component quotes work this way.
Incremental breaks
Only the units above each break take the lower price. The average price drops less, so fewer breaks pay. Pick this in the calculator if your quote reads that way.
Pack size, scrap and rounding
Your supplier ships in packs, reels, cartons or pallets, so you order a whole number of them. Round the EOQ both ways to the nearest pack and keep the cheaper lot; on a flat curve the two differ by a few dollars. Scrap raises what you buy: divide annual demand by (1 − scrap rate) before you calculate. Cost per good unit is the total cost a year divided by the units you use.
Cash tied up in each lot
Cycle stock averages half a lot, so average cash is ÷ 2 × unit price. Right after a delivery you hold the whole lot, so the cash per PO is × unit price. Both leave out safety stock, which you hold on top of any lot. When a break wins, divide the yearly saving by the extra average cash to see what each extra dollar on the shelf earns you.
Safety stock on top of a big lot
The lot size changes how much safety stock you need, and which service figure you should set it by. Two figures go by the name “service level”, so label each one. Cycle service level is the chance of no stockout in one replenishment cycle. Fill rate is the share of demand you serve from stock, and it depends on the lot size:
Solve it for the safety factor k, then safety stock = k × σLTD, where σLTD is the standard deviation of demand over the lead time. On lumpy demand, a 95% cycle service level can come with a fill rate of about 50%. A big lot, such as a 5,000 MOQ, covers most replenishment cycles on its own, so a cycle-service target overstocks it. When the MOQ is large next to σLTD, set safety stock by fill rate. The safety stock calculator works out the buffer.
EOQ is no silver bullet: check its boundary conditions
EOQ assumes steady demand, a fixed price, a fixed lead time and no limit on space or cash. It fits a part you buy all year at a steady rate. Check these cases before you trust its answer.
Build-driven demand
When a build plan moves week to week, size each lot against real requirements in your MRP run, with the MOQ as a lot rule. The material requirements planning lesson and the MRP calculator show how.
Seasonal demand
A yearly average hides a busy season. Work out the EOQ for each season from that season's rate of use, and change the lot when the season turns.
A part near revision or end of life
Cap the lot at what you will use before the change, whatever the formula says. A large lot on a short-lived part turns into scrap.
A shared shipment or minimum
When several parts share one shipment or a supplier minimum by value, size the combined order. Each part's own EOQ comes out too small.
A lead time that swings
When deliveries arrive early and late, running short costs you more than a lot off the optimum. Size the buffer first; see supplier lead time.
The carrying rate used as H
Storage, salaries and capital divided by inventory value gives a percentage. in the formula is dollars per unit per year: the percentage times the unit price.
Holding cost divided by demand
Yearly holding cost grows with the average stock you keep. Divide it by demand and you get a number the formula can't use.
A price break judged from the EOQ
Compare total cost a year, purchase included, to see whether a break pays. An MOQ above your EOQ doesn't block the order either: you order the MOQ and pay the penalty, or negotiate.
EOQ, reorder point and safety stock
The three numbers answer different questions. The EOQ says how much to order. The reorder point says when: the stock you use during the lead time plus your safety stock. Safety stock is the cushion against late deliveries and busy weeks. Work out all three for each part; the reorder point lesson and the safety stock calculator cover the other two.
How the calculator picks the lot
It minimises ÷ × + ÷ 2 × () × + × () over the lots your supplier accepts, where is gross demand and () the average unit price for a lot of . Within each price tier the cost curve has one low point, so the calculator checks each tier's own optimum and edges, rounded both ways to whole packs.
Your lot size works when the supplier delivers on the date you planned. Cartograph follows up on open POs: Scout Agent emails and calls your suppliers to confirm dates and expedite late lines. Get Cartograph free to see it on your own POs.
EOQ questions
What is the EOQ formula?
EOQ = √(2 × D × S ÷ H). D is the units you use a year, S is what one PO costs you, and H is what it costs to hold one unit for a year: the unit price times your carrying rate.
What does EOQ stand for?
Economic order quantity: the order size that keeps your yearly cost of placing orders plus holding stock at its lowest. It takes three inputs: annual demand, the cost of one order, and the yearly cost of holding one unit.
Why are ordering and holding cost equal at the EOQ?
Ordering cost falls as the lot grows and holding cost rises. Their sum is lowest where the two meet, so at the EOQ each is half the total. In the bracket example both come to $742 a year.
How do I calculate EOQ in Excel?
With demand in B1, order cost in B2, unit price in B3 and carrying rate in B4, use =SQRT(2*B1*B2/(B3*B4)). Add a total cost column, =B1/Q*B2+Q/2*B3*B4+B1*B3, for each lot you want to compare. The free template on this page does this with your MOQ, packs and price breaks.
What carrying rate should I use?
Carrying rates commonly run 20% to 30% a year, covering capital, storage, insurance and tax, shrink and obsolescence. With nothing better, start at 25% and correct it with the write-offs you record each year.
Is EOQ the same as MOQ?
No. You work out the EOQ from your own costs; the supplier sets the MOQ to cover its setup and handling. When the MOQ is higher, you order the MOQ and put a yearly cost on the gap.
What if my supplier's MOQ is higher than my EOQ?
Order the MOQ and check the penalty. If it comes to a few dollars a year, accept it. If it runs to hundreds or thousands, ask for a smaller lot at a higher price, scheduled releases against a blanket PO, or a minimum by value across several parts.
How do quantity discounts change EOQ?
Price breaks change which lot is cheapest; the formula stays the same. Cost a full year at each price break, purchase included, and pick the lowest total your supplier accepts. In the bracket example the 5,000 break saves $2,659 a year over the MOQ, and the 10,000 break costs $469 more than the 5,000 lot.
Should I round EOQ up or down?
Round to the pack size both ways, at or above the MOQ, and keep whichever lot has the lower total cost. Near the EOQ the two differ by a few dollars a year.
How do I include scrap?
Buy for gross demand: annual use divided by (1 − scrap rate). The calculator does this and reports the cost per good unit.
How much cash does an order quantity tie up?
Half a lot on average and a full lot right after each delivery: average cash = lot ÷ 2 × unit price, and cash per PO = lot × unit price. Safety stock comes on top.
What is the difference between EOQ, reorder point and safety stock?
The EOQ says how much to order, the reorder point says when, and safety stock is the cushion that covers late deliveries and busy weeks. The reorder point is the use during the lead time plus the safety stock.
Does EOQ work with seasonal or variable demand?
Only roughly. For seasonal parts, work out an EOQ per season. When a build plan drives demand week to week, size lots in your MRP run against real requirements instead.
How often should I recalculate EOQ?
When demand, price, order cost or the supplier's terms change, and at least once a year. The cost curve stays flat near the optimum, so a 10% change in demand moves the EOQ by about 5%.
Is EOQ worked out per part?
Yes. Each part has its own demand, price and supplier terms. If several parts come from one supplier on one PO, they share the order cost, so size the combined order.