---
title: "EOQ Formula: Economic Order Quantity With Worked Examples"
description: "The EOQ formula is the square root of 2DS/H. Worked rupee and dollar examples, a cost sensitivity table, quantity discount check and reorder point link."
canonical: https://luckpanda.app/blog/eoq-formula
author: "Dhrumil Barot"
author_bio: "Dhrumil is a small-business operations and compliance expert. Dhrumil built LuckPanda so small businesses can run invoicing, inventory, accounts and compliance in one place."
published: 2026-10-21
updated: 2026-10-21
category: "Purchasing and inventory"
keywords: "eoq formula"
language: en
---

# EOQ Formula: Economic Order Quantity With Worked Examples

EOQ = square root of 2DS/H. How to calculate economic order quantity, how much rounding costs, when a quantity discount beats it, and its limits.

By [Dhrumil Barot](https://luckpanda.app/about#founder), Founder. Published 21 Oct 2026. Updated 21 Oct 2026. 6 min read.

**TL;DR:** The EOQ formula is EOQ = √(2DS ÷ H), where D is annual demand in units, S is the fixed cost of placing one order and H is the cost of holding one unit for a year. It gives the order size at which yearly ordering cost and yearly holding cost are equal, and their total is lowest. The cost curve is flat near the answer, so rounding to a case pack costs very little.

Economic order quantity (EOQ) is the number of units to order each time that minimises the combined cost of ordering and holding stock. Order too little and you pay the fixed cost of an order (raising the purchase order, freight, receiving, inspection, paying the bill) many times a year. Order too much and you pay to hold stock: the money tied up, storage space, insurance, damage and obsolescence. EOQ is the balance point. Ford W. Harris published the model in 1913 in "How Many Parts to Make at Once" ([reprinted in Operations Research, 1990](https://doi.org/10.1287/opre.38.6.947)); consultant R. H. Wilson later applied it so widely that it is also called the Wilson formula; Donald Erlenkotter's [history of the model](https://doi.org/10.1287/opre.38.6.937) restored Harris's credit.

## What is the EOQ formula?

The economic order quantity formula is:

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

| Symbol | Meaning | Unit | How to estimate it |
| --- | --- | --- | --- |
| D | Annual demand | units per year | Last 12 months of sales or usage for the item |
| S | Ordering cost (setup cost) | currency per order | Freight per shipment, staff time to raise and receive a PO, inspection, bill processing |
| H | Holding cost (carrying cost) | currency per unit per year | Usually a % of unit cost: cost of capital + storage + insurance + shrinkage, often 15% to 30% |

The unit price itself is not in the formula. Changing the price changes H (because holding cost is usually a percentage of price) but the purchase spend D × P is the same whatever the order size, so it does not move the optimum unless the supplier offers a quantity discount.

### Where does the formula come from?

The EOQ comes from the total annual cost of stocking one item:

**Total cost = P × D + S × (D ÷ Q) + H × (Q ÷ 2)**

- P × D is the purchase cost for the year; it does not depend on Q.
- S × (D ÷ Q) is ordering cost: you place D ÷ Q orders a year, each costing S.
- H × (Q ÷ 2) is holding cost: stock falls steadily from Q to zero, so the average on hand is Q ÷ 2.

Ordering cost falls as Q rises; holding cost rises with Q. Setting the derivative of total cost to zero gives −SD ÷ Q² + H ÷ 2 = 0, so Q² = 2DS ÷ H and Q = √(2DS ÷ H). Substituting back shows the minimum ordering-plus-holding cost is √(2DSH) (see the [full derivation on Wikipedia](https://en.wikipedia.org/wiki/Economic_order_quantity)).

## How do you calculate EOQ? A worked example

A Jaipur stationery distributor sells 6,000 boxes of an A4 copier paper a year. Each box costs ₹500. Placing one order costs ₹1,500 (truck freight ₹1,100 plus about ₹400 of staff time to raise the PO, receive and check the delivery). Holding cost is 20% of the unit cost per year, so H = ₹100 per box per year.

1. Multiply 2 × D × S: 2 × 6,000 × ₹1,500 = 1,80,00,000.
2. Divide by H: 1,80,00,000 ÷ 100 = 1,80,000.
3. Take the square root: √1,80,000 = **424 boxes**.

| Result | Calculation | Value |
| --- | --- | --- |
| Economic order quantity | √(2 × 6,000 × 1,500 ÷ 100) | 424 boxes |
| Orders per year | 6,000 ÷ 424 | 14.2 orders |
| Days between orders | 365 ÷ 14.2 | about 26 days |
| Annual ordering cost | 14.2 × ₹1,500 | ₹21,226 |
| Annual holding cost | (424 ÷ 2) × ₹100 | ₹21,200 |
| Total ordering + holding cost |  | ₹42,426 |

The two costs come out equal (the ₹26 gap is rounding). That is not a coincidence: at the EOQ, annual ordering cost always equals annual holding cost, and their total equals √(2DSH).

A second check, in US dollars: a Columbus bike shop sells 1,200 inner tubes a year, pays $75 per order and $4 per tube per year to hold them. EOQ = √(2 × 1,200 × 75 ÷ 4) = √45,000 = about 212 tubes, so roughly 6 orders a year.

## How much does it cost to order more or less than the EOQ?

Ordering a different amount than the EOQ costs surprisingly little, which is the most useful fact about the model and the one most explanations skip. The ratio of the cost at any quantity Q to the minimum cost is 0.5 × (Q ÷ EOQ + EOQ ÷ Q):

| Order size vs EOQ | Example (EOQ = 424) | Extra ordering + holding cost |
| --- | --- | ---: |
| 50% of EOQ | 212 boxes | +25.0% |
| 80% of EOQ | 339 boxes | +2.5% |
| 100% (EOQ) | 424 boxes | 0% |
| 120% of EOQ | 509 boxes | +1.7% |
| 150% of EOQ | 636 boxes | +8.3% |
| 200% of EOQ | 848 boxes | +25.0% |

Two practical consequences:

- **Round to what the supplier ships.** If paper comes in pallets of 50, order 400 or 450. Both cost ₹42,500 a year in ordering and holding, only 0.2% above the exact optimum.
- **Rough inputs are fine.** Because the answer is a square root, a 20% error in S or H moves the EOQ by only about 10%, and the cost by well under 1%. Do not spend a week measuring holding cost to two decimal places.

## What does EOQ assume?

EOQ assumes a simplified world. Know where yours differs:

- **Demand is constant and known.** Seasonal items (umbrellas, festival stock, school supplies) break this; calculate EOQ per season or use a forecast instead of last year's average.
- **Ordering cost is fixed per order** and does not depend on size. Freight that is charged per kilogram is partly a unit cost, not S.
- **Holding cost is linear.** It rises in proportion to stock. Running out of warehouse space or a cold room is a step change the formula ignores.
- **Delivery is instant and complete.** Real lead times need a reorder point; partial deliveries need a different model.
- **No stockouts, no quantity discounts, one item at a time.** Joint orders from one supplier, price breaks and backorders all need adjustments.

When goods are produced in-house and arrive gradually rather than in one delivery, use the economic production quantity (EPQ) instead: EPQ = √(2DS ÷ (H × (1 − d ÷ p))), where d is the demand rate and p the production rate.

## Should you take a quantity discount instead of the EOQ?

Compare total annual cost, including the purchase price, at the EOQ and at each discount break, then choose the lowest. Suppose the paper supplier offers 2% off (₹490 a box) on orders of 1,000 boxes or more. H drops to 20% × ₹490 = ₹98.

| Option | Purchase cost | Ordering cost | Holding cost | Total per year |
| --- | ---: | --- | ---: | ---: |
| EOQ, 424 boxes at ₹500 | ₹30,00,000 | ₹21,226 | ₹21,200 | ₹30,42,426 |
| 1,000 boxes at ₹490 | ₹29,40,000 | ₹9,000 (6 orders) | ₹49,000 | ₹29,98,000 |

The discount wins by about ₹44,400 a year, because 2% off ₹30 lakh of spend (₹60,000) dwarfs the extra holding cost. The rule: the bigger the item's annual spend relative to ordering and holding cost, the more often a price break beats the pure EOQ. Check you have the cash and the space first, and that the item will not expire or go out of fashion before you sell 1,000 boxes (about 61 days of demand).

## How do EOQ and the reorder point work together?

EOQ answers "how much to order"; the reorder point answers "when". Reorder point = average daily demand × lead time in days + safety stock. For the paper: 6,000 ÷ 365 = 16.4 boxes a day. With a 10-day supplier lead time and 60 boxes of safety stock, you reorder 424 boxes when stock falls to 16.4 × 10 + 60 = 224 boxes.

Safety stock covers demand and lead-time variability, which EOQ assumes away. Items with steady demand need little; items with lumpy demand need more. For which items deserve this attention at all, sort them first: the top 20% of items by annual value usually carry most of the money, and a rough rule of thumb works for the rest.

## What are the benefits and limitations of EOQ?

| Benefits of EOQ | Limitations of EOQ |
| --- | --- |
| Gives a defensible order size from three numbers you already have | Assumes steady demand; seasonal items need per-season EOQs |
| Cuts total ordering + holding cost; the minimum is √(2DSH) | Ignores price breaks unless you check them separately |
| Flat cost curve: rounding to case packs costs under 1% | Ignores shelf life, storage limits and supplier MOQs |
| Pairs directly with a reorder point and safety stock | One item at a time; joint orders from one supplier need more work |

## When is EOQ the wrong tool?

EOQ is a poor fit for:

- **Perishable or dated stock** (food, medicines, cosmetics): shelf life caps the order size before cost does.
- **Made-to-order or project items** with no steady demand.
- **Suppliers with a minimum order quantity (MOQ)** above the EOQ: you order the MOQ.
- **Very cheap, low-value items** where a simple "order a 3-month supply" rule is close enough and costs no analysis time.
- **Just-in-time supply** where ordering cost has been driven almost to zero by contracts and scheduled deliveries; EOQ then correctly says "order small and often".

## How do I find D, S and H from my own records?

The inputs come from records you already keep. D is the quantity sold or issued per item over the last 12 months, which a stock register or stock movement history gives directly. S is your freight per inbound shipment from purchase bills plus a fair estimate of staff time per purchase order. H starts from the item's cost price times your holding rate. LuckPanda's [Inventory module](https://luckpanda.app/modules/inventory) is being built so items, [stock movements](https://luckpanda.app/modules/inventory/stock) and purchase bills share one record, which is where all three numbers live. For the buying side, see how a [blanket purchase order](https://luckpanda.app/blog/blanket-purchase-order) locks in price and splits deliveries, and how [backorders](https://luckpanda.app/blog/backorder-meaning) arise when the reorder point is set too low. Counting regularly with [cycle counting](https://luckpanda.app/blog/cycle-counting) keeps the demand history honest.

## What is the bottom line on EOQ?

Use EOQ = √(2DS ÷ H) as the starting order size for items with steady demand, round it to the supplier's pack size, test any price break on total cost, and set a reorder point so the order arrives before you run out. Recalculate when demand, freight or your cost of money moves by more than about 25%.

## Questions

### What does EOQ stand for?

EOQ stands for economic order quantity: the order size that minimises the total of ordering cost and holding cost for an item.

### What is the EOQ formula in simple words?

Double your yearly demand, multiply by the cost of one order, divide by the yearly cost of holding one unit, and take the square root.

### What are the three variables in the EOQ formula?

Annual demand (D), ordering cost per order (S, sometimes written K) and holding cost per unit per year (H).

### Why is there a 2 in the EOQ formula?

Because average stock is half the order size. Stock falls from Q to zero between deliveries, so holding cost is H × Q ÷ 2, and the 2 survives when you solve for Q.

### Is a higher EOQ good or bad?

Neither. A high EOQ means ordering is expensive relative to holding, so fewer, larger orders are cheaper. A low EOQ means holding is expensive, so small frequent orders are cheaper.

### Can EOQ be used for monthly demand?

Yes, if H is also monthly. D and H must cover the same period: monthly demand with a monthly holding cost per unit gives the same EOQ as annual figures.

### What is the difference between EOQ and MOQ?

EOQ is the order size that is cheapest for you. MOQ (minimum order quantity) is the smallest order the supplier will accept. If the MOQ is above your EOQ, you order the MOQ or find another supplier.

## More guides

- [COGS Formula: How to Calculate Cost of Goods Sold](https://luckpanda.app/blog/cogs-formula)
- [Cycle Counting: Methods, Schedule and How to Do It](https://luckpanda.app/blog/cycle-counting)
- [What Does Backorder Mean? Backordered vs Out of Stock](https://luckpanda.app/blog/backorder-meaning)

## Related tools

- [Markup calculator](https://luckpanda.app/tools/markup-calculator): Selling price from cost and markup, and the margin it gives.
- [Gross margin calculator](https://luckpanda.app/tools/gross-margin-calculator): Gross profit and gross margin from revenue and cost of goods sold.

## About the author

**Written by [Dhrumil Barot](https://luckpanda.app/about#founder)**, Founder. Dhrumil is a small-business operations and compliance expert. Dhrumil built LuckPanda so small businesses can run invoicing, inventory, accounts and compliance in one place. [LinkedIn](https://www.linkedin.com/in/bdhrumil) · [X](https://x.com/fyidhrumil)
