Economic Order Quantity
Total cost curve plotted, with the setup-reduction lever shown.
Ref: Harris 1913 · Wilson 1934 · Hopp & Spearman, Factory Physics
IDemand and costs
IIOptional
IIIOrder policy
| Quantity | Value | Unit |
|---|
IVAnnual cost against lot size
VWhat a setup reduction buys
| Setup cost | EOQ | Orders/year | Total cost |
|---|
VIConditions at analysis
VIIWhat the formula does and does not say
Every order or changeover costs something to place, and every unit sitting in stock costs something to hold. Order in large batches and you pay for inventory; order in small ones and you pay for setups. The economic order quantity is the lot size where those two costs are equal, which is also where their sum is least.
The lever most people miss is in that square root. The setup cost is not a constant — it is a decision. Classical EOQ takes S as given and optimizes the batch around it; SMED attacks S itself, and because EOQ scales with √S, a 75% reduction in changeover cost halves the economic lot. That is the whole mechanism behind small-lot production: not ignoring the arithmetic, but changing one of its inputs.
The assumptions are worth knowing before you quote the number. Demand is taken as constant and known; replenishment arrives all at once; there are no quantity discounts, no capacity limit and no shared equipment. Real plants break several of these. Where a work center is shared across a product family, the question is not each part’s own EOQ but the interval on which the whole mix can be cycled — every-part-every-interval — and sizing them independently will overrun the available time.
Note also what the total cost curve does near its minimum: it is flat. Being 30% off the EOQ typically costs under 4% in total cost, so it is entirely reasonable to round to a container, a pallet or a shift’s production. Precision here is not where the money is — the setup cost is.
This is one of the bench instruments, standing alone
The calculator above takes numbers you type, one set at a time. On the bench, the same solver runs against a dataset you keep — versioned, with the conditions held beside the result, so the number can still be explained to someone who asks six months from now.