Connects with ERP & MES systems like

Manufacturing Efficiency

Economic Production Quantity: Formula, Example and Limits

Find the right production run size with EPQ, understand when its assumptions fit, and use SkyPlanner to see how your chosen quantity affects other orders.

Jussi Mäntylä Production Planning Specialist, SkyPlanner Updated October 20, 2026 9 min read
Gears move from production through a stock buffer to assembly, illustrating gradual replenishment and consumption.
In this article
  1. What makes EPQ different from EOQ?
  2. The economic production quantity formula
  3. Why the finite-rate factor matters
  4. Worked EPQ example: run size is not maximum stock
  5. When is the basic EPQ model useful?
  6. Lower setup cost changes the economical run size
  7. Make the chosen run size workable with SkyPlanner

Home » Resources » Economic Production Quantity: Formula, Example and Limits

Estimated reading time: 9 minutes

Economic production quantity (EPQ) is the production run size that minimizes the combined setup and inventory holding costs in a model where goods are produced gradually while demand continues. It helps answer a familiar question: how much should we make before stopping and setting up again?

Longer runs mean fewer setups, but more stock to hold. Shorter runs reduce stock, but repeat the setup more often. EPQ puts a number on that trade-off under steady, predictable conditions.

The next question is whether that quantity fits your factory. A mathematically economical run can still hold up another product on a shared machine. SkyPlanner APS connects your chosen quantities with materials, capacity and delivery priorities, so you can judge the schedule consequences without rebuilding each machine queue by hand.

What makes EPQ different from EOQ?

The basic economic order quantity (EOQ) model assumes the whole replenishment quantity becomes available at once. Inventory jumps up when a delivery arrives, then falls as it is consumed.

EPQ replaces that instant receipt with a finite production rate. While production runs, some output is already being consumed. Stock therefore builds at the difference between the production and demand rates, not at the full production rate. When the run stops, demand draws down the accumulated stock until the next replenishment cycle.

That makes EPQ useful for a repeatedly manufactured component that can be released progressively to stock or to a downstream operation. It is also called economic manufacturing quantity or economic batch quantity in this context. The decisive distinction from basic EOQ is gradual availability, not simply whether an order is labeled internal or external.

The economic production quantity formula

With annual demand and annual holding cost, calculate:

EPQ = √[2 × D × S / (H × (1 − d/p))]

SymbolMeaningUnits used here
DTotal demand over the yearUnits/year
SFixed setup cost for one production runCurrency/run
HHolding cost for one unit for one yearCurrency/unit/year
dDemand or consumption rateUnits/working day
pProduction rate while the item is runningUnits/working day
QQuantity made in a production runUnits

Keep the time bases consistent. D and H use the same annual horizon; d and p must use the same time unit as each other. If production is measured per working day, divide annual demand by working days, not calendar days, to obtain d.

Use the item’s output rate while it is being produced for p, rather than its annual output averaged across weeks when the machine makes other products. The model requires p to be greater than d.

S is a cost, not a duration. It represents the fixed cost of preparing a run, independent of the number of units in that run. H is a currency amount per unit per year, not an inventory carrying percentage on its own. If your holding-cost input is a percentage, convert it to a monetary amount using the relevant unit value and cost definition.

Why the finite-rate factor matters

For a run of Q units, production takes Q/p working days. Demand continues during that time, leaving a maximum cycle-stock level of:

Maximum inventory = Q × (1 − d/p)

Average cycle stock is half that maximum in the basic model. The annual costs that change with run size are therefore:

Annual setup cost = (D/Q) × S

Annual holding cost = (Q/2) × (1 − d/p) × H

Adding them gives the relevant annual cost for a candidate Q. EPQ minimizes that sum. At the calculated optimum, these two costs are equal.

This is not the manufacturer’s entire annual production cost. Unit production cost that stays constant with quantity does not change the best Q, so it can be left out of this comparison. Quantity discounts, overtime premiums or other quantity-dependent costs would change the problem.

Worked EPQ example: run size is not maximum stock

The gearbox teaching example in Fundamentals of Operations Management by Azim Abbas and Seyed Goosheh uses these inputs:

  • Annual demand D: 48,000 gearboxes.
  • Production rate p: 800 gearboxes per working day.
  • Working days: 240 per year.
  • Setup cost S: $45 per run.
  • Annual holding cost H: $1 per gearbox.

These are educational inputs, not manufacturing cost benchmarks or a SkyPlanner customer result.

Daily demand is 48,000 ÷ 240 = 200 gearboxes. The finite-rate factor is 1 − 200/800 = 0.75.

EPQ = √[(2 × 48,000 × 45) / (1 × 0.75)] = 2,400 gearboxes

At that quantity, annual setup cost is (48,000 / 2,400) × $45 = $900. Annual holding cost is (2,400 / 2) × 0.75 × $1 = $900, giving a combined $1,800 per year in the model.

Producing the lot takes 3 working days, excluding setup: 2,400 / 800. The complete replenishment cycle lasts 12 working days: 2,400 / 200. Production stops for the remaining nine working days while stock supplies demand.

Peak inventory is 1,800 gearboxes, not 2,400. Demand has already consumed 600 during the three-day run. Average cycle stock is 900.

Using those same inputs, we can compare alternative quantities:

Run quantityAnnual setup costAnnual holding costCombined annual cost
1,200$1,800$450$2,250
2,400$900$900$1,800
4,800$450$1,800$2,250

The table explains why simply reducing setups is not enough. Doubling the economical run size halves setup cost but doubles holding cost. It also shows what a planner is comparing when a smaller run is needed for another delivery: a modelled cost trade-off, not a rule that every factory must always run 2,400 units.

When is the basic EPQ model useful?

EPQ is a useful benchmark when the item has repeatable demand, replenishment builds gradually and the main quantity decision is the balance between fixed setup cost and cycle-stock holding cost.

Check these conditions before using the answer:

  • Demand is known and reasonably constant. One annual total can hide seasonal peaks or individual project requirements. A smooth annual average does not tell you when those orders are due.
  • Production is steady and faster than consumption. If p is no greater than d, this model cannot build the buffer that supplies demand between runs.
  • Setup and holding costs are stable. Use consistent cost definitions. Sequence-dependent changeovers or quantity-dependent production costs require more than one fixed setup figure.
  • Replenishment is available progressively. If the entire lot must finish curing, inspection or quality release before any units can be used, the assumed inventory buildup does not describe that handoff.
  • There are no shortages in the basic cycle. The formula above does not price backorders or calculate safety stock for uncertain demand and supply.
  • The proposed quantity has no binding practical limit. Storage, shelf life, container sizes, minimum process loads and shared equipment can rule out the unconstrained answer.

Finite production rate does not mean the model has scheduled your finite factory capacity. It considers one item’s replenishment cycle. It does not allocate every product’s runs, setups and downstream operations to the same machine calendar.

For irregular demand or customer-specific work, start with the actual dated requirements rather than forcing an EPQ cycle onto them. Where the model is appropriate, use its result as a benchmark and check feasible nearby quantities against the real constraints.

Lower setup cost changes the economical run size

A larger run is not the only way to spread setup effort. Reducing the fixed setup cost makes smaller, more frequent runs economical in the model. Because EPQ depends on the square root of S, halving S reduces the calculated quantity to about 71% of its previous value, with the other inputs unchanged.

That is why setup reduction and run-size policy belong in the same discussion. SMED helps address the changeover itself; EPQ helps interpret the resulting setup-versus-stock balance. If an improvement reduces setup time but not all setup-related costs, update the cost input accordingly rather than assuming the two fall by the same percentage.

Make the chosen run size workable with SkyPlanner

Imagine the gearbox run shares a machine with another component needed urgently by assembly. The EPQ calculation may support the longer run, but it has not checked the other component’s deadline or whether materials for the next operation are ready. You need to see that competition before committing the machine.

SkyPlanner brings those connections into a shared production schedule. Define a product’s process steps, durations, eligible workstations, materials and bill of materials once. Orders then carry the product, quantity and delivery date. Arcturus, SkyPlanner’s scheduling AI, schedules the orders together rather than leaving you to reconcile a separate plan for each item.

With material-aware scheduling enabled, material availability also affects that calculation. The Gantt timeline shows the resulting timing across workstations, making it easier to see how the selected quantity affects other work and delivery commitments. You set the priorities; Arcturus handles the scheduling calculation within those instructions.

The benefit is a clearer quantity decision and less manual queue maintenance. When a chosen run disrupts another commitment, you can decide whether to change its quantity, adjust priorities or provide more capacity, then recalculate the schedule around the decision. SkyPlanner integrates with any ERP or MES through its open REST API, so that scheduling can build on your existing orders and production data.

KJH-Comp’s experience shows why the shared view matters. The sheet-metal contract manufacturer previously relied on coarse weekly loads and manual day-level machine assignments. With SkyPlanner, the supervisor can see overload on a shared bending machine and react. The company also describes sequencing work with the same tooling and material thickness together, while avoiding early jobs displacing work due sooner. Setup efficiency and delivery priorities can then be considered in the same plan, rather than in competing lists.

For the practical details of coordinating runs and transfer batches, continue to the batch production guide. Here, the key distinction is simpler: EPQ estimates an economical quantity under stated assumptions; the production schedule shows how your chosen quantity fits the work you have promised.

To see that connection in your own production, book a SkyPlanner demo with a recurring product, a candidate run size and the machine it shares with other work. Review how those requirements fit together before making the next delivery commitment. If you prefer to explore first, try SkyPlanner with demo data.

Jussi Mäntylä

Production Planning Specialist, SkyPlanner

Build a clearer production schedule with SkyPlanner

Connect your data, review the first plan, and keep planners in control of every schedule that goes live.