Capacity Requirements
Planning (CRP)
⚙️
Validating capacity feasibility
PurposeCheck if plans are feasible within available capacity
Key inputsPlanned orders from MRP, routings, work centre data
Key outputLoad profiles per work centre
ComplementsMRP (materials side)
Part ofMRP II

Capacity Requirements Planning (CRP)

Capacity Requirements Planning (CRP) is the process within MRP II that validates whether planned production orders (from MRP) and released orders can actually be executed within the available capacity of each work centre. While MRP answers "what materials do we need?", CRP answers "can we actually make it with the resources we have?"

Contents
  1. Purpose
  2. RCCP vs detailed CRP
  3. CRP process
  4. Load profiles
  5. Overload resolution
  6. Relationship to other modules
  7. See also

Purpose

MRP in its original form assumes infinite capacity — it plans orders without checking whether there is enough machine time or labour to execute them. CRP closes this gap by loading planned orders onto work centres and comparing the required capacity against available capacity. Without CRP, the MPS may be infeasible, leading to missed due dates on the shop floor.

RCCP vs detailed CRP

Capacity planning operates at two levels:

graph TB
    SOP["S&OP"] --> RRP["Resource Requirements
Planning (RRP)
Very rough cut"] MPS["MPS"] --> RCCP["Rough-Cut Capacity
Planning (RCCP)
Key resources only"] MRP["MRP"] --> CRP["Detailed CRP
All work centres"] CRP --> SFC["Shop Floor
Control
"] style RRP fill:#d5e8f5,stroke:#333 style RCCP fill:#d5f5d5,stroke:#333 style CRP fill:#cedff2,stroke:#333
Aspect RCCP Detailed CRP
Input MPS Planned + released orders from MRP
Scope Key/bottleneck resources only All work centres
Detail Aggregate hours per resource Operation-by-operation loading
Speed Fast (quick feasibility check) Slower (full computation)
Timing Before full MRP run After MRP run

CRP process

For each planned and released order, CRP:

  1. Reads the routing — Determines which work centres are needed and how much time (setup + run) each operation requires.
  2. Loads work centres — Places the required hours into the time period when each operation is scheduled.
  3. Compares load vs. capacity — Calculates utilisation for each work centre in each period.
  4. Generates load reports — Highlights periods where required capacity exceeds available capacity.

Load profiles

CRP's primary output is a load profile (or load report) for each work centre, showing required hours vs. available hours by time period. This is typically visualised as a bar chart where bars exceeding the capacity line indicate overloads.

xychart-beta
    title "Work Centre WC-101 Load Profile"
    x-axis ["Wk 1", "Wk 2", "Wk 3", "Wk 4", "Wk 5", "Wk 6"]
    y-axis "Hours" 0 --> 60
    bar [30, 40, 55, 48, 35, 25]
    line [40, 40, 40, 40, 40, 40]
        

In this example, weeks 3 and 4 exceed the 40-hour capacity line and require corrective action.

Overload resolution

When CRP identifies an overload, planners have several options:

The key principle: resolve capacity problems before releasing orders to the shop floor, not after.

Relationship to other modules

graph TB
    MRP["MRP"] -->|"planned orders"| CRP["CRP"]
    ROUTE["Routings"] -->|"operations & times"| CRP
    WC["Work Centre Data"] -->|"available capacity"| CRP
    CRP -.->|"overload?"| MPS["MPS"]
    CRP -->|"feasible plan"| SFC["SFC"]
    SFC -.->|"actual hours"| CRP

    style CRP fill:#cedff2,stroke:#333
        

See also

Categories: MRP II | Capacity Planning | Operations Management