1. What is MRP?

Material Requirements Planning (MRP) is a time-phased planning method that answers four questions for every item a company makes or buys:

  1. What do we need?

  2. How many do we need?

  3. When do we need them?

  4. When must we order or start production so they arrive on time?

MRP was formalised by Joseph Orlicky in the 1970s (Orlicky, 1975) and became practical with the spread of computers in manufacturing. Today it is the core calculation engine of virtually every ERP system (SAP, Oracle, Microsoft Dynamics, Odoo, etc.).

Dependent vs. independent demand

The key idea behind MRP is the distinction between two kinds of demand:

  • Independent demand: demand for finished products, set by the market (customer orders, forecasts, spare parts). It cannot be calculated; it must be forecast or taken from orders.

  • Dependent demand: demand for components, sub-assemblies and raw materials. It is derived from the demand for the parent item through the Bill of Materials. It can, and should, be calculated, not forecast.

Reorder-point methods treat every item as if its demand were independent and smooth. For components of assembled products demand is typically lumpy (zero for weeks, then a large batch when a production order starts), and statistical methods perform badly. MRP exploits the known structure of the product to calculate exactly what is needed, and when.


2. Inputs and outputs

MRP is a computation with three main inputs and a handful of outputs.

Inputs

Content

Master Production Schedule (MPS)

Time-phased quantities of each end item to be produced (from customer orders + forecasts, after Sales & Operations Planning).

Bill of Materials (BOM)

Hierarchical structure of the product: which components, in what quantity, at which level.

Inventory/item master records

On-hand stock, scheduled receipts (open purchase/production orders), allocated stock, lead time, lot-sizing rule, safety stock, scrap/yield factors.

Outputs

Use

Planned order releases

When to launch purchase orders (buy items) or work orders (make items).

Planned order receipts

When the goods are expected to be available.

Action (exception) messages

"Expedite", "de-expedite/postpone", "cancel", "release now".

Pegging

Link from a component requirement back to the parent orders that generate it.


3. Essential terminology

Term

Definition

Lead time (LT)

Elapsed time between placing an order (or releasing a work order) and having the item available. For purchased items: order processing + supplier production/queue + transport + receiving and inspection. For manufactured items: queue + setup + run + move + wait time. In MRP it is a planning parameter, usually fixed per item.

Cumulative lead time

Longest path through the BOM, summing lead times from raw material to end item. It is the minimum time needed to build the product from scratch, and drives how far ahead the MPS must be frozen.

Gross requirements (GR)

Total demand for an item in a period, before considering stock (from the MPS for end items; from parents' planned order releases for components).

Scheduled receipts (SR)

Quantities already on order (open POs or work orders) with a known due date.

Projected on-hand (POH)

Expected inventory at the end of each period.

Net requirements (NR)

Quantity that must be covered by new orders: GR minus available stock and scheduled receipts, plus safety stock.

Planned order receipt / release

Quantity of the new order and the date it should arrive (receipt) or be placed (release = receipt shifted back by the lead time).

Safety stock (SS)

Buffer inventory held to absorb uncertainty in demand, supply and lead time.

Reorder point (ROP)

Inventory level at which a replenishment order is triggered in a continuous-review system.

Lot-sizing rule

Policy converting net requirements into order quantities (lot-for-lot, fixed quantity, EOQ, etc.).

Low-level code (LLC)

The lowest level at which an item appears in any BOM. MRP processes items level by level, so an item is calculated only once all of its parents have been calculated.

Planning horizon / time fences

The length of the plan (must be at least the cumulative lead time) and the periods in which changes to the MPS are frozen or restricted.

Time bucket

Period of the plan (typically one week; daily for fast environments).


4. The Bill of Materials and requirements explosion

4.1 The BOM structure

A multilevel BOM is a tree. The end item is at level 0; its direct components are at level 1; their components at level 2, and so on.

A  (level 0)  - end item
├── 2 × B  (level 1)  - sub-assembly
│    └── 3 × D  (level 2)  - purchased part
└── 1 × C  (level 1)  - purchased part

The number next to each item is the quantity per parent (usage factor). Note: if the same component appears in several places in the tree, its low-level code is the deepest level. For example, if D is also used directly in A, it still has LLC = 2, so MRP will calculate D only after both A and B are done and can sum all the demand for D in a single pass.

4.2 The explosion logic

"BOM explosion" means translating the requirements of a parent into requirements for its components. For each component i of parent p:

Gross requirement of i in period t = Σ over all parents p [ planned order release of p in t × quantity-per of i in p ] + independent demand for i (e.g. spare parts)

Two details are essential:

  • The explosion uses the parent's planned order releases (not its receipts), because components must be available when the parent's order starts.

  • Adjust for yield/scrap: if a process has 95% yield, the quantity-per is divided by 0.95.

Phantom items (transient sub-assemblies that are never stocked) are "blown through": their components are treated as direct components of the parent, with zero lead time.

4.3 The processing order

  1. Start at level 0: net the MPS against inventory, determine planned order releases for end items.

  2. Explode the releases to level 1 gross requirements.

  3. Net level 1 items, size lots, offset by lead time, obtain their releases.

  4. Repeat down to the lowest level.

  5. Purchased items (leaves of the tree) generate purchase requisitions; manufactured items generate work orders.


5. The MRP record: netting, lot sizing, offsetting

For each item and each period t the system builds a grid.

Step 1: Netting

POH(t) before ordering = POH(t−1) + SR(t) − GR(t)

NR(t) = max(0, SS − POH(t) before ordering)

If projected on-hand would fall below the safety stock (SS), a net requirement is created for the shortfall.

Step 2: Lot sizing. The planned order receipt is set by the lot-sizing rule (section 8), and POH is updated:

POH(t) = POH(t) before ordering + Planned receipt(t)

Step 3: Lead time offsetting

Planned order release(t − LT) = Planned order receipt(t)

If the release date falls before today, the order is past due: the plan cannot be met without expediting, reducing lead time, or reallocating stock. These are the cases that exception messages highlight.


6. Worked example (with BOM explosion)

Product structure (from section 4.1): A = 2 B + 1 C; B = 3 D. We trace A → B → D (C is analogous).

Item

Type

LT

On hand

Safety stock

Lot-sizing rule

A

Manufactured, end item

1 week

20

0

Lot-for-lot

B

Manufactured

2 weeks

50

10

Lot-for-lot

D

Purchased

1 week

200

0

Fixed lot of 250

No scheduled receipts exist. The MPS requires A: week 3 = 40, week 5 = 50, week 6 = 30.

Item A (level 0)

Week

1

2

3

4

5

6

Gross requirements

0

0

40

0

50

30

Projected on-hand (after)

20

20

0

0

0

0

Net requirements

0

0

20

0

50

30

Planned order receipt

0

0

20

0

50

30

Planned order release

0

20

0

50

30

0

Check week 3: 20 on hand − 40 demand = −20, so net requirement = 20. With LT = 1 week, the order is released in week 2.

Item B (level 1): explosion of A's releases × 2

Week

1

2

3

4

5

6

Gross requirements (2 × A releases)

0

40

0

100

60

0

Projected on-hand (after)

50

10

10

10

10

10

Net requirements (incl. SS = 10)

0

0

0

100

60

0

Planned order receipt

0

0

0

100

60

0

Planned order release

0

100

60

0

0

0

Check week 4: POH carried in = 10 (equal to the safety stock). Demand of 100 would give −90, and restoring the safety stock requires another 10, so net requirement = 100. Lead time of 2 weeks means release in week 2.

Item D (level 2, purchased): explosion of B's releases × 3

Week

1

2

3

4

5

6

Gross requirements (3 × B releases)

0

300

180

0

0

0

Projected on-hand (after)

200

150

220

220

220

220

Net requirements

0

100

30

0

0

0

Planned order receipt (lot 250)

0

250

250

0

0

0

Planned order release (PO to supplier)

250

250

0

0

0

0

Check week 2: 200 − 300 = −100, so net = 100; the fixed lot of 250 covers it and leaves 150. In week 3, 150 − 180 = −30, so another lot is needed, leaving 220.

What the purchasing manager reads from this

  • Place a PO for 250 units of D now (week 1) and another for 250 units in week 2, each with a 1-week supplier lead time.

  • If the supplier's real lead time were 2 weeks, the week-2 receipt could not be met: the system would flag a past-due release and trigger an expedite request.

  • Because the plan is a function of the MPS, any change to the sales plan (e.g. 50 → 80 units of A in week 5) propagates automatically down to the purchase orders.


7. Safety stock, reorder point, and how they relate to MRP

7.1 Reorder point (continuous review)

For an item with roughly stable independent demand:

ROP = d̄ × L + SS

where d̄ is average demand per period and L the replenishment lead time. An order is placed when inventory position (on-hand + on-order − backorders) drops to ROP.

7.2 Safety stock

Under normal-demand assumptions and a target cycle service level:

SS = z × σ_LT, with σ_LT = √( L·σ_d² + d̄²·σ_L² )

  • z = standard normal quantile of the target service level (e.g. z ≈ 1.28 for 90%, 1.65 for 95%, 2.33 for 99%).

  • σ_d = standard deviation of demand per period; σ_L = standard deviation of lead time.

Note how lead time variability enters quadratically with demand: unreliable suppliers are expensive to buffer. For a purchasing manager, reducing σ_L (supplier agreements, consignment, shorter transport) is often cheaper than holding more stock.

7.3 When to use which

Reorder point

MRP

Demand type

Independent, fairly continuous

Dependent, lumpy

Information used

Past consumption

BOM + MPS + current inventory

Orders triggered by

Stock falling below a level

Time-phased net requirements

Typical items

Finished goods / spares, MRO, C-class consumables, low-value bulk items

Components, sub-assemblies, raw materials for assembled products

Inventory carried

Average includes cycle stock + SS at all times

Stock tends to be needed only when a parent order starts

7.4 Using safety stock correctly within MRP

  • Safety stock in MRP is entered as an item parameter and is netted as shown in section 5. It should be used sparingly: the more levels hold buffers, the more inventory accumulates and the more distortion appears at the lower levels.

  • Preferred placement: on end items (demand uncertainty), on purchased parts with unreliable suppliers, and on common parts with many parents. Avoid buffering every intermediate level.

  • For dependent demand, safety lead time (ordering earlier than needed) is an alternative that protects against timing uncertainty instead of quantity uncertainty.

  • Do not double-count: if an item's demand comes from MRP explosion, do not also compute SS from a historical demand variance of that item. The variance of its demand reflects the lot-sizing of its parents, not customer uncertainty.

Hybrid approach: many companies run MRP for A-class and structured items and a reorder-point or min/max (Kanban) system for cheap, high-volume C-class parts (screws, packaging), which MRP would otherwise burden with planning effort.


8. Lot-sizing rules

Netting gives the requirement; lot sizing decides how to group requirements into orders. The trade-off is between ordering/setup cost S and holding cost h per unit per period.

Rule

Logic

Typical use

Lot-for-lot (L4L)

Order exactly the net requirement in each period.

Expensive items, low setup cost, JIT environments.

Fixed order quantity (FOQ)

Always order a fixed size (supplier pack, container, MOQ, truckload).

When imposed by supplier or process.

Economic Order Quantity (EOQ)

Q* = √(2DS / h), where D is demand per period. Derived for constant demand.

Stable demand; approximate under MRP.

Period Order Quantity (POQ)

Cover the requirements of a fixed number of periods; number ≈ EOQ / average demand.

Lumpy demand, simple to use.

Silver-Meal / Least Unit Cost / Part-Period Balancing

Heuristics that extend the order until the average cost per period stops decreasing.

Lumpy demand.

Wagner-Whitin

Dynamic programming; gives the optimal solution for a known demand profile and a finite horizon.

Benchmark; used where the cost structure justifies it.

Important: lot sizing at a parent level enlarges and bundles the demand seen by its components (the lot-size amplification effect), so rules should be consistent through the structure. Also consider supplier minimum order quantities, price breaks and packaging multiples: these are the constraints purchasing managers deal with every day.


9. Using MRP for effective procurement

9.1 From plan to purchase order

  1. Run MRP (regenerative, or net-change for daily updates).

  2. Review the output: planned orders (not yet firm), exception messages, past-due items.

  3. Convert planned orders into purchase requisitions and then into purchase orders within the buyer's lead-time window ("firming").

  4. Communicate the forecast beyond the firm horizon to key suppliers: planned order releases are the best available view of future demand and enable suppliers to prepare capacity and material.

  5. Close the loop: receipts update inventory; supplier confirmations update scheduled receipts; the next run reflects reality.

9.2 Working with action messages

Message

Meaning

Typical buyer response

Release order

Planned order has reached its release date.

Convert to PO.

Expedite / reschedule in

An open order arrives after it is needed.

Call supplier, split shipment, air freight, or find an alternative.

Postpone / reschedule out

An open order arrives too early.

Postpone delivery to cut inventory.

Cancel

An open order is no longer needed.

Cancel before the supplier incurs costs.

9.3 Procurement levers that interact with MRP

  • Lead time management: MRP is extremely sensitive to the accuracy of lead times. Review them regularly against actual receipt data; do not inflate them "for safety" (see 10.3).

  • Supplier contracts: frame/blanket agreements and call-offs (the MRP plan generates the call-offs); vendor-managed inventory (VMI) and consignment for high-volume items.

  • Make-or-buy and multi-sourcing: split planned orders between suppliers using quota arrangements.

  • Consolidation: combine planned orders for the same supplier within a time window to cut transport and ordering costs, accepting the trade-off in holding costs.

  • Long-lead-time items: identify items whose lead time defines the cumulative lead time and manage them proactively (forecast-based pre-buying, strategic stock).

9.4 KPIs

On-time delivery by supplier (against confirmed date), actual vs. planned lead time, inventory turns, stockout/line-stop incidents, number of past-due and expedited orders, percentage of POs raised inside the lead-time window, forecast/MPS stability, and inventory record accuracy and BOM accuracy.


10. Common pitfalls

  1. Data accuracy ("garbage in, garbage out"). MRP assumes the BOM, inventory records and lead times are right. Practitioners' guidelines commonly target roughly 98% BOM accuracy and 95% or higher inventory record accuracy (cycle counting is the usual tool; see Ptak & Smith, 2011).

  2. Infinite capacity assumption. Basic MRP does not check whether machines or suppliers can deliver the plan. Closed-loop MRP and MRP II add capacity requirements planning (CRP/RCCP) to verify feasibility (Wight, 1984).

  3. Lead time inflation. If planners add buffer to each lead time, longer lead times lead to earlier orders, more work-in-process, longer queues, and still longer actual lead times: a vicious circle documented in the "Factory Physics" literature (Hopp & Spearman, 2008).

  4. System nervousness. Small changes in the MPS cause large changes in lower-level planned orders. Countermeasures: time fences, frozen windows, firm planned orders, and lot-sizing choices that dampen reaction.

  5. Fixed, static parameters. Lot sizes, safety stocks and lead times must be reviewed periodically, not set once at implementation.

  6. Ignoring the human side. Planners must understand why the system proposes an order (use pegging) and be able to override intelligently and record why.


11. Beyond classic MRP

  • Closed-loop MRP: adds feedback from shop floor and suppliers and capacity checks.

  • MRP II (Manufacturing Resource Planning): integrates MRP with finance, sales planning, and capacity planning (Wight, 1984).

  • ERP: extends integration across the enterprise; MRP remains the planning engine.

  • APS (Advanced Planning & Scheduling): finite-capacity, constraint-based optimisation.

  • DDMRP (Demand Driven MRP): places decoupled, dynamically sized buffers at strategic points of the BOM to reduce the nervousness and bullwhip effects (Ptak & Smith, 2016).


12. Practice exercises (for students)

  1. Extend the worked example by adding C (1 per A, LT 2 weeks, on hand 30, L4L). When must the first PO for C be released?

  2. Change the lot size of D to lot-for-lot and compare total orders placed and average inventory with the fixed-lot case.

  3. A supplier has mean lead time 4 weeks, σ_L = 1 week; weekly demand averages 100 units, σ_d = 20. Compute safety stock for a 95% service level and the ROP. How much does SS fall if σ_L is reduced to 0.5 weeks?

  4. Explain, with an example, why the same component appearing at two BOM levels needs a low-level code.

  5. Discuss when you would manage a bolt (cost €0.02) with Kanban rather than MRP.