Skip to content

Capacity Planning: Theoretical vs. Effective Capacity, Horizons & Why Most Plans Fail

By Mark Kobbert · Last updated: April 2026

What is capacity planning?

Capacity planning is the process of matching available production capacity — machines, labour, tools, materials — against demand over a defined horizon, so that orders can be committed to with dates that are actually achievable. In textbook form it is an optimisation problem. In a real plant it is a data problem: the plan is only as good as the capacity number that feeds it, and the capacity number that most ERP systems use is almost always too optimistic.

Having spent the last decade building the data pipeline between shopfloor machines and cloud systems, I see the same pattern at most customers before SYMESTIC goes live: the ERP capacity plan says the plant can produce X units per week, the actual output is 0.7–0.8 × X, and nobody is quite sure why the number is wrong. The planners blame the shopfloor; the shopfloor blames the plan; the truth is that the capacity figure in the planning system has never been reconciled against what the machines actually do.

This article looks at capacity planning from the angle that most glossaries skip: not the classical rough-cut vs. detailed taxonomy (though that is covered too), but the feedback architecture that separates a capacity plan that works from one that produces politely ignored Gantt charts. The lead time article covers the flow-time side of the same problem; this one focuses on the capacity side.

Theoretical vs. effective capacity — where most plans lose touch with reality

Every capacity plan is built on an assumption about how much a machine can produce in a given time window. That assumption is where accuracy lives or dies. Three capacity numbers matter, and most plants only explicitly track the first.

Capacity type Definition Typical value (relative) Used for
Design (theoretical) capacity Nameplate output per hour × planned operating hours 100 % Investment decisions, brochures
Effective capacity Design × typical OEE (availability × performance × quality) 55–75 % Honest planning, order commitment
Demonstrated capacity Actual good output measured over a rolling period Whatever the data says Continuous re-baselining

Most ERP planning modules are configured once, using a number somewhere between design and effective capacity, and then left alone. As the plant evolves — new products, new cycle times, new bottlenecks, deteriorating equipment — the gap between the configured number and the demonstrated number drifts. After two or three years the planning number has become a historical artefact. This is not a criticism of ERP; it is a description of what happens when no feedback loop exists to update the number. The OEE value on the shopfloor is the missing variable in that loop.

The three horizons of capacity planning

Capacity planning is not one activity — it is three, each with a different time horizon, a different granularity, and a different owner. Confusing them is one of the more common sources of dysfunctional planning.

Horizon Typical range Granularity Owner Decision it supports
Strategic capacity planning 1–5 years Resource group, plant Executive leadership Invest, divest, build, close
Rough-cut / master planning (S&OP) 3–18 months Product family, week/month Plant / supply chain Headcount, shifts, outsourcing
Detailed / finite scheduling 1 day to 4 weeks Machine, order, hour/minute Production planning Order sequence, setup timing

Each horizon has its own failure mode. Strategic plans fail on optimism about demand. Rough-cut plans fail on stale productivity assumptions. Detailed schedules fail on the gap between planned and actual cycle time, setup time and downtime. The remedies are different for each — and the data each horizon needs is different. Strategic planning can tolerate monthly aggregates; detailed scheduling cannot tolerate anything above hourly resolution.

Finite vs. infinite capacity planning — the honest comparison

Classical MRP runs at infinite capacity: it assumes resources are available whenever the schedule says they should be. APS systems and modern MES scheduling run at finite capacity: they respect the actual availability of each resource. Neither is categorically better; each fails differently.

Approach Strength Typical failure mode
Infinite capacity (classical MRP) Fast, simple, produces a gross requirements plan Promises dates that bottleneck resources cannot deliver
Finite capacity (APS / finite scheduling) Produces schedules that respect real resource limits Brittle — one disruption invalidates the entire plan
Hybrid (rolling finite within infinite master plan) Combines stability and realism Requires disciplined feedback between horizons

The hybrid approach is what most mature plants converge on, and it is architecturally the most interesting: rough-cut plans run at infinite capacity over months, detailed schedules run at finite capacity over days, and the feedback loop from execution (MES) to planning (ERP/APS) keeps the two consistent. Without that loop, the two layers drift apart — the rough-cut says "yes, we can do it," the detailed schedule says "no, we can't," and the planner becomes a negotiator rather than a planner.

The data problem: why most capacity plans are fiction

Over the last ten years I have connected around 15,000 machines to cloud systems. The single most common finding in the first month of live data is that the capacity assumptions in the planning system do not match what the machines are actually doing. Six reasons, in rough order of frequency:

Reason What it looks like in the data Typical capacity error
Cycle time in ERP is nominal, not actual Real cycle 10–25 % slower than master data +10–25 % over-planned
Downtime assumption too low Real stops, especially micro-stops, not captured +10–30 % over-planned
Setup time nominal, not actual Changeovers longer and more variable than planned +5–20 % over-planned
Scrap not included in throughput calculation Plan counts parts produced, not good parts +2–8 % over-planned
Bottleneck misidentified Planning optimises wrong resource Variable, often severe
Operator/tool availability ignored Machine available but cannot actually run Variable, often severe

Stack those errors and a plant can easily believe it has 30–50 % more capacity than it actually has. That is not a planning problem; it is a measurement problem. And it cannot be fixed with a better algorithm — only with better input data. The planning engine is not the weak link in most plants; the data feeding it is.

The feedback architecture — how MES, ERP and APS fit together

The technical answer to the data problem is straightforward but often poorly implemented. Four layers, four responsibilities, two feedback loops. The critical detail is that the loops must run at different frequencies — trying to push real-time data into the rough-cut plan creates noise; trying to update the detailed schedule weekly creates stale plans.

Layer Responsibility Data it consumes Data it produces
ERP Orders, BOM, routings, rough capacity Demand forecast, master data Production orders, due dates
APS / Finite scheduler Detailed sequencing, resource conflict resolution Orders + real capacity from MES Executable schedule per resource
MES Execution, dispatch, real-time status Schedule from APS Actual cycle time, OEE, order progress
Edge / machine Raw data capture PLC / I/O signals Timestamps, events, measurements

Loop 1 is fast: MES → APS, updated continuously, feeds real capacity into detailed scheduling. Loop 2 is slow: MES → ERP (weekly or monthly), updates the master capacity numbers used for rough-cut planning. The most common architectural mistake is collapsing both loops into one — either overwhelming the ERP with real-time noise, or starving the APS with weekly aggregates. Two loops, two cadences, two levels of aggregation.

Capacity planning failure modes — what to watch for

Failure mode Symptom Root cause
"The plan says we can, the shopfloor says we can't" Chronic missed due dates, expediting, overtime Capacity figure too high; no feedback loop
Schedule invalid by Tuesday morning Planners replan weekly; shopfloor ignores the schedule Finite schedule too brittle; no rolling re-planning
Bottleneck "moves" every week No stable improvement target Demand mix changes faster than planning resolution
High WIP, high expediting, high OEE Paradoxical combination Non-bottleneck resources over-utilised; Theory of Constraints violation
Capacity number never changes year to year Plan drifts further from reality over time No re-baselining cadence; master data frozen

What an MES adds to capacity planning

Capacity question Without MES data With SYMESTIC MES data
What is the real cycle time per part? Master data, rarely updated Measured distribution per machine/product
How much capacity does downtime consume? Estimate, mostly by shift report Per event, per cause, per machine
Where is the real bottleneck? Opinion, often wrong Queue-based, data-driven, per time bucket
How much capacity do changeovers consume? Aggregated, not per changeover type Per changeover, benchmarked across shifts
What is demonstrated capacity this month? Post-hoc calculation, monthly Rolling, live, exportable to ERP/APS
Does the plan match execution? Only by end-of-month variance report Plan vs. actual per order, per hour

The point is not that the MES becomes the planning system. The point is that the planning system, whatever it is, finally has reliable input data. The Meleghy rollout (6 months to 6 plants, bidirectional SAP integration with cycle mapping and schedule feedback) is a representative example: the capacity figures in SAP were reconciled against real machine cycles, and the planning quality improved as a direct consequence — not because the algorithm changed, but because the inputs finally matched reality.

FAQ

What is the difference between capacity planning and production scheduling?
Capacity planning asks "can we do it, and when?" — it compares aggregate demand against aggregate supply over a horizon. Production scheduling asks "in what order, on which machine, with which operator?" — it turns feasible capacity into an executable sequence. Capacity planning operates at weeks or months; scheduling operates at hours or minutes. They are related but not interchangeable, and a plant can be competent at one while being poor at the other. The common failure is to treat the ERP capacity plan as a schedule — it is not granular enough, and forcing it to act as one produces friction that both planners and operators learn to work around.

How does capacity planning relate to OEE?
OEE is the mathematical link between design capacity and effective capacity. Effective capacity equals design capacity multiplied by availability, performance and quality — which is exactly the OEE calculation. A plant that claims to plan at "85 % utilisation" without knowing its OEE is planning against an unknown. In practice, effective capacity for a line running at 60 % OEE is 60 % of design capacity — not 85 %, not 75 %, but 60 %. This is the reconciliation that most ERP systems never receive, and it is the single biggest reason capacity plans miss their numbers. Any serious capacity planning discussion starts with the real OEE of the bottleneck resources and works from there.

Is finite-capacity scheduling worth the complexity?
It depends on how variable the process is. For stable, high-volume, low-mix operations — classical series production with predictable cycle times — finite scheduling delivers modest gains over good infinite-capacity MRP with proper lead-time buffers. For high-mix, medium-volume operations with complex changeover matrices, shared bottleneck resources, and tight due dates, finite scheduling can deliver step-change improvements in on-time delivery and utilisation. The honest criterion is not "are we complex enough for APS?" but "can our current planning approach commit to dates we actually deliver?" If not, either the capacity data is wrong (fix that first) or the scheduling logic is wrong (finite scheduling may help). Skipping the data step and jumping straight to APS usually produces an expensive, finite-capacity plan that is wrong in a more sophisticated way.

How often should capacity master data be updated?
More often than most plants do it. The answer depends on how volatile the process is, but typical recommendations: cycle times re-baselined against measured data every 3–6 months; setup times every 3–6 months; OEE-based capacity factors every month. In practice, many plants review this data every 2–3 years, driven by an ERP project or an audit. That is far too infrequent for data that changes continuously on the shopfloor. The ideal architecture is an automated loop: MES measures, MES aggregates, MES writes back to ERP master data on a defined cadence — with human review, not fully automated overwrite. This closes the gap without creating new risks.

What is "capacity creep" and why does it matter?
Capacity creep is the gradual erosion of demonstrated capacity over time, driven by factors that individually are too small to notice: slightly slower cycle times as tools wear, slightly more frequent micro-stops as sensors drift, slightly longer changeovers as informal workarounds accumulate. Each of these might cost 0.5–2 % of capacity per year. Over three or four years, a plant can lose 5–10 % of its real throughput without any single event being the cause. Because it never shows up in a single monthly report — only in the accumulated gap between plan and actual — it is often explained away as "a bad quarter" or "a difficult product mix." The only defence is continuous measurement against a fixed baseline, which again is what an MES provides. Without that baseline, capacity creep is invisible until the plant can no longer hit its commitments.


Related: OEE · Lead Time · Cycle Time · Machine Downtime · SMED · Production Costs · Production Planning · MES

About the author
Mark Kobbert
Mark Kobbert
CTO of SYMESTIC GmbH. Architect of the cloud-native MES platform since 2014. B.Sc. Business Informatics. Responsible for the microservice architecture on Microsoft Azure, IoT gateway integration and real-time data processing across 15,000+ connected machines in 18 countries. Writes about the technical layers behind a modern MES: cloud architecture, OPC UA, digital I/O gateways, ISA-95 integration and the IT/OT boundary. · LinkedIn
Start working with SYMESTIC today to boost your productivity, efficiency, and quality!
Contact us
Symestic Ninja
Deutsch
English