All frameworks

Operations Decide

Economic Order Quantity

Economic order quantity is the order quantity that minimizes the combined cost of ordering and holding inventory.

The questionHow many units should we order at a time so that ordering cost plus holding cost is as low as it can be?

EOQ. Also called the Wilson formula or the Harris-Wilson model.

Formula · Ford W. Harris, 1913

Order quantity Annual cost Ordering cost Holding cost Total cost Minimum (EOQ)
  • Ordering costFalls as order size grows
  • Holding costRises as order size grows
  • Total costSum of the two
  • Minimum (EOQ)Ordering and holding cost are equal
Schematic of yearly ordering, holding, and total cost against order quantity.

When to use it

  • Replenishment orders are set by the calendar or by habit, such as a monthly order for everything, and both ordering cost and holding cost are material.
  • Demand is steady and the item is bought repeatedly without volume breaks, such as fasteners, consumables, packaging, and basic spares.
  • You need a defensible starting lot size for an inventory policy before safety stock is added.
  • A client believes bigger batches are always cheaper and you want to test that with their own cost figures.

When to avoid it

  • Demand is lumpy, seasonal, or driven by promotions. The formula assumes a constant rate, and its answer will mislead.
  • The supplier offers quantity discounts, or the item is bought in truckloads or minimum lots. Those constraints dominate, and EOQ is at best a starting point.
  • The open issue is how to buy the item, not how much. If supply is at risk or the buyer has leverage, use the Kraljic matrix first.
  • The lean aim is to reduce the cost of each order or setup. Then the job is to shrink that cost, not to optimize batch size around it.

Overview

EOQ finds the order size at which the yearly cost of placing orders equals the yearly cost of holding stock, which is where the sum of the two is lowest. It supports one decision: how many units to buy at a time for an item with steady demand.

Total cost changes slowly near the optimum. An order quantity within 20 percent of EOQ, in either direction, costs under 3 percent more in total. That makes rounding to a pack, pallet, or truck size reasonable, and it means arguing about the last unit is wasted effort. The inputs deserve more scrutiny than the arithmetic, because order cost and holding cost are usually estimates.

The assumptions

Demand is constant and known

The model uses one annual figure and spreads it evenly. Seasonal items, promotions, and new products break it. Smooth, repeat demand is where it fits.

Each order has a fixed cost

Placing an order costs the same whatever its size. Count only costs that change with the number of orders, such as handling, receiving, inspection, and transport per delivery. Salaries that are paid regardless are not part of it.

Holding cost rises in proportion to stock

Each unit in stock costs the same per year, usually stated as a percentage of unit value covering capital, storage, insurance, shrinkage, and obsolescence. The cost per unit per year is the input.

Replenishment is immediate

An order arrives in full when stock reaches zero. In practice lead times exist, so you add a reorder point to cover demand during the lead time. The order quantity itself is unchanged.

No stockouts

The model never runs out. The cost of running out is outside it, which is why safety stock has to be set separately.

No quantity discounts

The unit price is the same at any order size. Where price breaks exist, compare total cost at each price tier, including the purchase cost, because the cheapest unit price can outweigh the extra holding cost.

One item at a time

The calculation is done separately for each item. Joint orders, shared transport, and shared storage limits are outside the basic model.

What it is not

  • A full inventory policy. It sets the order size. When to reorder and how much safety stock to hold are separate decisions.
  • A precise answer. The total cost curve is flat near the optimum, and the cost inputs are estimates, so the exact figure carries false confidence. Round to a convenient quantity.

The steps

  1. Check the assumptions for the item

    Test demand for steadiness, check for price breaks and minimum lots, and note any shelf-life limit. Start with the highest-value items, and drop any that fail the check for a different method.

  2. Estimate the two costs honestly

    Cost per order includes only what changes with the number of orders. Holding cost per unit per year includes capital, storage, insurance, shrinkage, and obsolescence. Write down each component, because these two inputs decide the answer.

  3. Compute EOQ and the total cost

    Work out the quantity, orders per year, ordering cost, holding cost, and their total. Also compute the total for the current practice. The difference is the case for change.

  4. Test realistic quantities

    Calculate the total cost at the pack, pallet, or truckload sizes the supplier offers, and at any discount tiers. Choose the quantity with the lowest total that can actually be ordered.

  5. Set the reorder point and a review date

    Handle lead time and safety stock separately, so the order size does not have to change. Set a date to refresh demand and cost inputs, because they will drift.

The formula

EOQ = square root of (2 × annual demand × cost per order ÷ holding cost per unit per year)

The order size at which yearly ordering cost and yearly holding cost are equal, which is the point where their sum is lowest.

  • Annual demand: units used per year, assumed steady.
  • Cost per order: the cost each order adds, such as handling, receiving, and freight. It excludes the price of the goods.
  • Holding cost per unit per year: the yearly cost of keeping one unit in stock, often the unit cost times a holding rate that covers capital, storage, insurance, and obsolescence.
  • Total cost at the optimum: square root of (2 × annual demand × cost per order × holding cost per unit per year), not counting the purchase price.

In practice

The buyer at a regional distributor orders a fast-moving fastener once a month, because that is when she reviews stock. Annual demand is 12,000 units, each order costs 75 dollars in handling, receiving, and freight, and the unit cost is 20 dollars. Finance charges a holding rate of 25 percent of unit cost per year, which is 5 dollars per unit per year. The monthly habit means 12 orders of 1,000 units. Ordering costs 12 times 75, or 900 dollars, and holding costs the average stock of 500 units times 5, or 2,500 dollars. The total is 3,400 dollars.

EOQ is the square root of (2 times 12,000 times 75 divided by 5), which is the square root of 360,000, or 600 units. That means 20 orders a year. Ordering costs 20 times 75, or 1,500 dollars, and holding costs 300 units times 5, or 1,500 dollars, so the total is 3,000 dollars. The two costs are equal at the optimum. The saving on this item is 400 dollars a year, so the case is made across the catalog, not on one part. The supplier packs in lots of 250. Ordering 500 units at a time costs 3,050 dollars and ordering 750 costs 3,075 dollars, so either pack size is within 2.5 percent of the optimum. The buyer can round to a pack size without much loss.

What you leave with

  • An order quantity for each item, with its total cost and the cost of the current practice beside it.
  • The ordering and holding cost inputs, written down and split into components.
  • Orders per year, which a buyer can plan around.
  • A list of items where the assumptions fail and a different method is needed.
  • A decision on the practical quantity, such as a pack or pallet size, with its cost compared to the optimum.

Failure points

Fully loaded order cost

Finance allocates the purchasing department's whole budget across orders. Cost per order looks high, EOQ comes out large, and inventory grows. Only costs that fall when an order is skipped belong in it.

Holding cost that is only interest

The calculation counts the cost of capital and leaves out storage, handling, shrinkage, and obsolescence. Holding cost is too low and EOQ too high. For perishable or fast-obsolescing items the error is large.

Stale inputs

The formula is run once, and demand, freight rates, and capital costs change. A year later the quantities are still in the system and no longer fit the cost picture.

Lumpy demand pushed through the formula

Spares, promotional items, and one-off projects are run through the same spreadsheet as steady items. The result looks exact and bears no relation to how the item is used.

A quantity nobody can buy

The answer is 640 units, the supplier sells in cases of 24 and pallets of 250, and the minimum order is 1,000. The planner ignores the constraint or ignores the formula. Test realistic quantities and choose from those.

The failures above are usually Commercial Acumen: the work was not tied to money, for the client and/or for you.

Origin

Ford W. Harris set out the calculation in a short article, "How Many Parts to Make at Once," published in Factory, The Magazine of Management in February 1913. His question was about production lots: how many parts to run in one batch, given the cost of setting up the run and the cost of carrying the parts afterward. The article was reprinted in Operations Research in 1990.

The formula is often called the Wilson formula, after R. H. Wilson, a consultant who applied it widely in the 1930s and is credited with detailed analysis of it, along with K. Andler. The same math sizes a purchase order and a production run, and the production version is usually called the economic production quantity. Nobody owns the formula and there is no licensing question.

Further reading

  • How Many Parts to Make at Once

    Ford W. Harris, Factory, The Magazine of Management, February 1913, as reprinted in Operations Research in 1990. Short and readable as a historical document. The reprint sits behind the publisher's paywall.

  • Economic order quantity

    Wikipedia's article, with the derivation, a worked example, and sections on discounts, backorders, and limitations. Check its sources before quoting.

Last updated