# A numerical take on DDMRP

DDMRP stands for *Demand Driven Material Requirements Planning*. In the last few years, the popularity of DDMRP has been growing in certain industries; occupying the niche that *lean manufacturing* or *six sigma* used to occupy. Yet, what can really be expected from DDMRP and how much novelty does it bring to the table as far as supply chain optimization is concerned?

In order to address this question, let’s review DDMRP from a *numerical* perspective, i.e. looking at DDMRP as a set of *numerical recipes*^{1} to deliver a measurable performance optimization of a given supply chain. Indeed, as all the benefits put forward by the authors of DDMRP are all *quantified* targets (ex: achieve 97-100% on time fill rate performance^{2}), it seems fair to adopt a numerical stance to assess the merits of this approach.

The authors behind DDMRP state that this approach brings four key innovations to supply chain optimization, namely:

- decoupling the lead times
^{3} - the net flow equation
^{4} - the decoupled explosions
^{5} - the relative priority
^{6}

Jumping to conclusions, the careful review of each of those points - done in greater details in the following - indicates that there is very little substance to the bold claims of DDMRP. The numerical recipes proposed by DDMRP would not even have been considered state-of-the-art by the end of 1950’s as the nascent field of operations research had already uncovered arguably more sophisticated and better numerical optimization strategies at the time.

The improvements claimed to be achieved by DDMRP start with a wrong baseline: MRPs - just like ERP - are typically not delivering *any* numerical optimization capabilities^{7}. Their underlying relational database systems are simply unsuitable to carrying any sizeable data crunching workload, even when considering modern computing hardware. Thus, despite the discourse of many enterprise software vendors - operating in the *transactional* side of the problem - it is incorrect to take MRPs as a baseline as far as supply chain optimization is concerned.

## Decoupling the lead times

MRPs being based on relational (SQL) databases and being firmly anchored in the realm of *asset management* software, have little or no data crunching capabilities. As a consequence, it comes as no surprise that lead time analytics are not the *forte* of those solutions. Considering the graph of requirements generated by Bills of Materials, many MRP would only offer two dramatically simplistic lead time analyses, namely :

*manufacturing lead time*, which is overly optimistic and assumes that inventory is always available everywhere, hence vastly under-estimating lead times.*cumulative lead times*, which is overly pessimistic and assumes that inventory will always be missing everywhere, hence vastly over-estimating lead times.

DDMRP proposes to remedy this situation by using a binary graph coloring scheme where certain nodes of the graph - each node associated to a product or a part - are promoted as *decoupling points*. These nodes are then assumed to always hold serviceable inventory; and the methodology of DDMRP ensures that it is indeed the case.

Once the decoupling points are chosen, a choice which is manually performed by the supply chain practitioner, the lead time calculations can be performed with a method that alternates between the two calculation methods listed above depending on the *color* of each node. With a careful selection of the decoupling points, lead time values can be vastly reduced.

There are three main criticisms of this approach.

- the reduction of the lead times is primarily an artifact of calculations caused by a revised definition. The supply chain system - as a whole - still has a similar inertia in the context of an ever changing market. Indeed, instead of having system inertia directly reflected by the lead time, the system inertia is now hidden through the buffers kept at the decoupling points. Lead times may have been lowered, but system inertia has not.
- relying on human inputs to tune a numerical optimization process is not a reasonable proposition considering the price point of modern computing resources. Meta-parameters tuning might be acceptable, but not fine-grained intervention at every node of the graph. In particular, my own casual observation of modern supply chains is that the need for human inputs is one of the biggest factors behind whole-system inertia. Adding another layer of manual tuning - the choice of decoupling points - isn’t an improvement in this regard.
- while arguably, the lead time estimates of DDMRP might be
*better*than the raw numbers provided by the MRP, the baseline is outrageously naive. Even basic Monte Carlo methods - introduced by Nicholas Metropolis in 1947 - are outperforming all those methods as far as lead time estimation goes, DDMRP included.

In conclusion, decoupled lead times hardly qualify as innovative, and give a false sense of lead time compression while burying the inertia of the supply chain system under a graph coloring scheme.

## The Net Flow Equation

In order to tackle the problem of supply order generation, DDMRP introduced a pivotal *net flow* concept. The net flow equation is introduced in DDMRP as the following:

On-Hand + On-Order – Qualified Sales Order Demand = Net Flow Position.

This quantity can be interpreted as the quantity of stock that is available to address the *uncertain* part of the demand. Through *net flows*, DDMRP emphasizes that only the uncertain portion of the demand actually requires any kind of statistical analysis. Dealing with the future demand that is already known is a pure matter of adherence to a deterministic execution plan.

The net flow calculation is a simple combination of three non-trivial but widely used SKU variables. Most of the actual complexity is hidden in those variables, which can be less innocuous than they seem:

- the stock on hand is subject to inventory inaccuracies
- the stock on order is subject to varying lead times
- many shades of grey while pinpointing
*qualified*sales orders vs*unqualified*ones

In any case, it is difficult to claim much novelty while introducing what is arguably a trivial combination of widely used variables within supply chain systems. Moreover, DDMRP is not uncovering any hidden / unseen / nonobvious properties of the *net flow* expression either.

Sophisticated algorithms to forecast under partially known dependencies have been known for multiple decades, with publications dating back to the early 1990s^{8}; with a degree of refinement which goes far beyond the numerical recipes presented in DDMRP.

## Decoupled Explosion

The term “decoupled explosion” coined by the authors of DDMRP is the direct consequence of the binary graph coloring scheme introduced in the first section above: Bills of Materials (BOMs) are not recursively enumerated beyond any node colored as a “decoupling point”. Considering the treatment applied to both lead times and BOMs, we see that DDMRP leverages “decoupling points” as partitioning boundaries of the greater supply chain graph.

This graph partitioning scheme is somewhat similar to what is commonly known as a divide-and-conquer algorithm dating back from John von Neumann work’s in 1945. However the numerical recipes of DDMRP are lacking the second part of the algorithmic divide-and-conquer approaches, which is the recombination of the sub-solutions into a more efficient solution for the problem as a whole. DDMRP partitions the supply chain graph, solving each subgraph with “classic” MRP methods, and stops there. There is no further system-wide numerical optimization taking place beyond the local optimization performed in each subgraph.

Thus, the main criticism of these decoupled explosions is that, by design, they complete the partitioning of the supply chain graphs into independent subgraphs, and by this very process put a hard limit on the optimization that can be achieved for the supply chain system as a whole; precisely because no coupling of any kind can happen between the elements of the partition.

This aspect might seem counterintuitive to a non-specialist, but from a numerical optimization perspective, a static partition of a system is simply a reduction of the degrees of freedom available to the optimization process, and hence a reduction of the optimization process’ capacity to actually find a *better* solution.

## Relative priority

The key assumption beyond decoupled points in DDMRP is that stock is always available for those SKUs. Yet, as random fluctuations of the demand or the lead time do happen, the supply chain system under DDMRP might deviate from this assumption. Hence, DDMRP states that supply chain decisions (eg. purchasing orders or manufacturing orders) must be prioritized according to their relative capacity to bring the system back to a state where the original assumptions are held.

There are two main criticisms of the prioritization scheme proposed by DDMRP. First the prioritization is looking *inward* within the supply chain system instead of looking *outward*. Second, the prioritization is one dimensional, and thus unable to address most non-trivial scenarios beyond the uniform *forward* case.

The supply chain system exists to serve *external* (exogenous) interests. Putting it more bluntly, the company maximizes *dollars* of returns that are generated through its interaction with the economy at large; yet DDMRP optimizes *percents of error* against arguably arbitrary targets. Indeed, the prioritization as defined by DDMRP is looking inward: it is steering the supply chain system toward a state that is consistent with the assumptions underlying the DDMRP model itself - aka stock availability at the decoupling points. However, there is no guarantee that this state is aligned with the financial interests of the company. This state might even go against the company’s financial interests. For example, when considering a brand producing many low-margin products that are close substitutes to one another, maintaining high service levels for a given SKU might not be a profitable option if competing SKUs (quasi-substitutes) already have an excess of inventory.

Then, the prioritization scheme proposed by DDMRP is fundamentally *one dimensional*: the adherence to its own stock targets (the *buffer*). However, real supply chain decisions are nearly always many-dimensional problems. For example after producing a batch of 1000 units, a manufacturer might usually put those 1000 units in a container for sea freight; yet if a stock-out is imminent down the supply chain, it might be profitable to have 100 units (out of the 1000) shipped by aircraft to mitigate the pending stock-out ahead of time. Here the choice of transportation mode is an extra dimension to the supply chain prioritization challenge. In order to address this challenge, the prioritization method requires the capacity to integrate the economic drivers associated with the diverse options being available to the company.

Other dimensions that need to be considered as part of the prioritization may include:

- pricing adjustments, to increase or reduce demand (possibly secondary sales channels)
- build or buy, when substitutes can be found on the market (typically at a premium)
- stock expiration dates (requiring in-depth insights on the stock composition)
- return risks (when distribution partners have the option to return unsold goods)

Thus, while DDMRP is correct in stating that prioritization is a more flexible approach compared to binary all-or-nothing approaches as implemented by “classic” MRPs, the prioritization scheme proposed by DDMRP itself is rather weak. Again, MRPs should not be used as a baseline to assess the merit of a numeric supply chain optimization recipe.

## Conclusions

The four key innovations of DDMRP, identified as such by the authors of DDMRP, turn out to be both weak as far as numerical optimization goes and outdated by several decades considering the history of numerical optimization and operations research.

Many conclusions are incorrectly drawn on the false premise that MRPs are a relevant baseline for supply chain optimization purposes; i.e. improving upon MRP is an improvement in supply chain optimization. However, MRPs, like all software systems centrally engineered around relational databases, are simply unsuited for numerical optimization challenges.

Manufacturers stuck with the limitations of their MRP should not seek incremental improvements upon the MRP itself as numerical optimization is fundamentally at odds with the design of the MRP, but rather take advantage of all the software tools and technologies that have actually been engineered for numerical performance in the first place.

## References

- The term
*recipe*isn’t pejorative. We are using this term as in Numerical Recipes: The Art of Scientific Computing by William H. Press , Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery^{[return]} - As of March 2019, the benefits put forward to promote DDMRP are (sic): Users consistently achieve 97-100% on time fill rate performance, Lead time reductions in excess of 80% have been achieved in several industry segments, Typical inventory reductions of 30-45% are achieved while improving customer service.
^{[return]} - Decoupled Lead Time, The DDMRP Innovation Series: Part #1, by Chad Smith, January 2018
^{[return]} - The Net Flow Equation, The DDMRP Innovation Series: Part #2, by Chad Smith, February 2018
^{[return]} - Decoupled Explosion, The DDMRP Innovation Series: Part #3, by Chad Smith, February 2018
^{[return]} - Relative Priority, The DDMRP Innovation Series: Part #4, by Chad Smith, February 2018
^{[return]} - Despite their names, and frequently despite vendor’s claims, neither ERPs nor MRPs have anything to do with
*planning*. The whole point of these systems is to*manage*and*track*assets; not take any kind of decisions to optimize anything. For more details Management vs Optimization.^{[return]} - Forecasting using partially known demands, by Sunder Kekre, Thomas E. Morton, Timothy Smunt, February 1990
^{[return]}