Background decoration Background decoration

GenLots and DD-MRP: the order plan protects service and cost, the buffer protects service

Demand Driven MRP (DD-MRP) is a planning method that places stock buffers at chosen points in a supply chain so that production can be planned on confirmed customer orders instead of a forecast. GenLots is an order planning platform that decides when to order and how much for every purchased or transferred material, by pricing every possible order plan on total cost and keeping the cheapest one that never breaks the safety floor (see how GenLots computes an order plan across a network for the mechanics). The two meet at exactly one point, the replenishment rule on a buffered node: DD-MRP decides where stock sits and and how large each buffer is, GenLots decides how to keep each buffer covered at the lowest total cost, with the buffer’s own safety zone as a hard floor.

What does DD-MRP do?

DD-MRP starts from one goal: trigger replenishment on what customers have actually ordered, not on what a forecast says they might [1]. To make that possible, it places buffers at chosen points in the supply chain, the decoupling points, or buffered nodes, and plans differently on each side of them: between the last buffer and the customer, production runs on confirmed orders; at each buffer, a reorder rule keeps it filled; below a buffer, planning only sees the buffer’s replenishments.

Decoupled lead time is the time DD-MRP counts to replenish an item. To make a finished product, you need its components; to make those, their components; and so on down the bill of materials, each step adding its production or supplier time. With no buffers, DD-MRP counts the whole chain along its longest branch. When a buffer is placed on an intermediate item, DD-MRP treats that item as available and stops counting there: only the steps above the buffer remain in the finished product’s decoupled lead time. The steps below still exist and still take their time; they are simply covered by stock.

A concrete case: a product needs 15 days to procure its raw materials, 5 days to make a semi-finished item, and 2 days to finish it. With no buffers, its decoupled lead time is 22 days. With the raw materials buffered, 7. With the semi-finished item buffered, 2.

DD-MRP places buffers until the finished product’s decoupled lead time falls below the customer tolerance time, the delay customers accept between order and delivery. The decoupled lead time of each buffered item is also what its buffer is sized on, as the next section shows. The cost is inventory: each buffer is stock held permanently at that point, more than a forecast-driven plan would keep there.

How does a DD-MRP buffer work?

DD-MRP merit is of the following nature: it reduces dependence on forecast, and it gives planners a colour instead of a spreadsheet.

Each buffer has three zones and one rule [2]:

  • Red zone: safety, the part of the buffer that is never meant to be consumed in normal conditions.
  • Yellow zone: the demand expected over the decoupled lead time, calculated as average daily usage times decoupled lead time.
  • Green zone: the order size, set as the larger of the minimum order quantity, average daily usage times decoupled lead time times a lead-time factor, or a desired order cycle.
  • Replenishment rule: when on-hand plus on-order minus qualified actual orders (the net flow position) drops below the top of yellow, order up to the top of green.

Average daily usage (ADU) is the demand rate every zone is built onexp: the yellow zone is ADU times decoupled lead time, the green and red zones are multiples of it, and the threshold that turns a large order into a qualified demand spike is set relative to it. It is computed on a trailing window, on a forward view from the forecast, or a blend of both, and recalculated regularly; adjusting it is how DD-MRP makes buffers grow or shrink with seasonality.

Now from GenLots viewpoint

  • On non-buffered nodes, nothing changes. Their demand comes from buffer replenishments, and GenLots plans their orders as it does anywhere else. GenLots plans their orders as it does anywhere else, including cascades where one plant manufactures what another plant needs.
  • On buffered nodes, see below:

What does GenLots do on a buffered node?

Three things stay exactly as DD-MRP set them: the decoupling point, the red zone, and the demand signal (qualified orders plus ADU projected forward). GenLots reads them as inputs. The red zone becomes a hard floor in the order plan, a line the projected stock is never allowed to cross, so service is a constraint, not a variable traded against cost.

One thing changes: how the buffer is refilled. Instead of the top-of-yellow trigger and the green-zone quantity, GenLots writes an order plan chosen on total cost among every plan that respects the floor. Planners see the same three-colour dashboard and the same alerts, because those only read on-hand stock against the zones; underneath, the purchase requisitions feeding the buffer are placed on cost rather than on a formula. Since the extra inventory DD-MRP accepts sits precisely in those buffers, filling them at the lowest cost is where the money is.

Criterion by criterion, on a buffered node

Criterion DD-MRP replenishment rule GenLots order plan
Service protection ✔ Red zone ✔ Red zone kept as a hard floor
Order quantity ✘ Fixed rule: largest of MOQ, ADU × decoupled lead time × factor, or an order cycle ✔ Chosen on total cost among all candidate plans
Order timing ✘ Trigger when net flow position drops below top of yellow ✔ Latest date that keeps stock above the red zone, earlier only when cheaper
Price scales and volume discounts ✘ Not considered ✔ Weighed per order
Cost per delivery (freight, inspection, administration) ✘ Not considered ✔ Weighed per order
Holding cost ✘ Implicit in zone sizes ✔ Explicit yearly rate on stock value
Shelf life and scrap risk ✘ Not considered ✔ Constraint and cost term
Surplus held at another site ✘ Not checked ✔ Checked before any purchase
Demand signal ✔ Qualified orders plus ADU ✔ The same, used as input
Where the buffer sits ✔ Decoupling points chosen by the client ✔ Unchanged

When does GenLots run in a DD-MRP setup, and what does it read?

The trigger is the same as anywhere else: a scheduled job, every night or whenever the ERP signals a change. What changes is the input. On a buffered node there is no MRP run; the ERP recalculates the net flow position each day (on-hand plus open supply minus qualified orders) and the DD-MRP rule creates a requisition when it drops below the top of yellow. GenLots takes over at that point. On the same cycle it reads, per buffered node:

  • on-hand stock and open supply, as anywhere else;
  • the qualified customer orders, at their dates; every known order counts, so no spike logic is needed;
  • the ADU, projected forward as the daily consumption over the horizon;
  • the red zone, as the safety floor;
  • the decoupled lead time, which for a purchased item is the supplier lead time.

It does not read the yellow and green zones, which belong to the rule it replaces. From these inputs it projects stock over the horizon, computes the cheapest order plan that stays above the red zone, and writes the requisitions.

A worked example on one buffered node

Take one purchased material with these figures:

  • Consumption: 10 units a day, so 300 a month.
  • Supplier lead time: 10 days.
  • Price: CHF 100 a unit, or CHF 97 from 300 units per order (a 3% price break).
  • Cost of each delivery (transport, receiving, quality control): CHF 200.
  • Holding cost: 20% of the stock value per year.

DD-MRP sizes the buffer at 75 units of red zone, 100 units of yellow zone (10 units a day over 10 days of lead time) and 150 units of green zone, because the planner chose to order about every 15 days. When the net flow position falls below the top of yellow, 175 units, the rule orders 150 units. They arrive just as stock reaches 75, so stock moves between 75 and 225 units, 150 on average.

GenLots keeps the same red zone of 75 units as its floor, uses the same consumption, and prices every possible plan. The cheapest is 300 units every 30 days, dated to arrive just as stock reaches 75. Stock moves between 75 and 375 units, 225 on average.

Cost per month DD-MRP rule: 150 units every 15 days GenLots: 300 units every 30 days
Purchases 300 × CHF 100 = CHF 30,000 300 × CHF 97 = CHF 29,100
Deliveries 2 × CHF 200 = CHF 400 1 × CHF 200 = CHF 200
Holding 150 units on average: CHF 250 225 units on average: CHF 364
Total CHF 30,650 CHF 29,664

GenLots saves about CHF 1,000 a month on this one material, around CHF 12,000 a year. Both plans keep stock above 75 units at all times, so the protection is the same. With half as many deliveries, there are also half as many waits for a delivery during which stock could run short.

Why exactly 300? Below 300 units per order, the discount is lost: the best plan without it costs about CHF 30,570 a month. Above 300, the saving on deliveries no longer covers the extra holding cost. The cheapest plan sits exactly on the price break.

A planner could reach the same result by setting the green zone to 300 for this material, provided they know the price break exists and remember to change the setting when volumes or prices move. GenLots finds it for every material, on every run. And if the material expired three weeks after delivery, part of each 300-unit order would be thrown away: GenLots would then keep smaller orders and pass on the discount.

Frequently asked questions

Does optimizing orders on a DD-MRP buffer put service at risk?

No. The buffer secures service through its red zone. GenLots keeps that red zone as a hard floor the projected stock never crosses, so service is unchanged, and it adds cost savings on top: a green zone sized on a desired order cycle leaves money on the table in delivery frequency and quantity discounts. Same protection, cheaper way to fill it.

Does GenLots plan on forecast, which DD-MRP says not to do beyond the decoupled lead time?

GenLots plans over a horizon, but with whatever demand signal the client trusts. On a buffered node that signal is DD-MRP’s own, qualified orders plus ADU projected forward, not the MRP forecast.

We chose DD-MRP to simplify. Does adding GenLots add complexity for planners?

No. Planners see the same buffer dashboard and the same execution alerts. GenLots writes the purchase requisitions underneath it.

Who decides where the decoupling points are?

The client, as before. GenLots has no opinion on where buffers sit, and does not need one.

Can GenLots and DD-MRP run in the same ERP?

Yes. DD-MRP defines the buffers and the demand signal; GenLots reads them and writes purchase requisitions through the standard ERP interfaces, as it does on any other node.

Summary

  • DD-MRP decides where the buffers sit, sizes them, and defines the demand signal.
  • GenLots keeps all of that and replaces one thing: the reorder rule, with an order plan chosen on total cost that never crosses the red zone.
  • It runs on the same scheduled job as anywhere else, reading the net flow inputs instead of an MRP net requirement.
  • Same floor, same service, lower cost: in the worked example, CHF 71 a month instead of CHF 1,200.
  • Non-buffered nodes are planned by GenLots as anywhere else.
  • No overlap, one handover.

References

[1] Ptak, C. and Smith, C., Demand Driven Material Requirements Planning (DDMRP), Industrial Press, 2016.

[2] Demand Driven Institute, DDMRP buffer zones and net flow equation, demanddriveninstitute.com.

Resources

Share