Steering a supply chain with four numbers / Pack · Bulk · API

A repeating pattern is something you can promise against. Same plant, same demand: one way of planning ships a customer order the same day on 93% of days, the other on 45.

Same plant, two ways to plan it

Rather listen? The whole argument, narrated
narrated walkthrough
Press play for the narrated walkthrough.

Let a machine set them

The four are coupled, so the answer is never any one of them. This searches 888 combinations and moves all four at once. Two seconds, no planner.

Same-day shipment
days nothing was owed
 
Order beat
seen by supplier
 
Unit cost
per unit shipped
 
Disruptions
could not produce
 
Stock tied up
at finished goods
 
Written off
parameters never revisited
 
Customer delay
average wait
 
Material flows left to right. Demand comes from the customer on the right and travels upstream.

the chain runs wider than this screen · swipe sideways to follow it →

UPSTREAMwhat is left after two filters

PRODUCTIONfilter 2: the pattern wheel

Wheel turns every
Time buffer
D runs every

FINISHED GOODSfilter 1: the stock buffer

Target service level
Demand variabilitythe world, not a setting
Read the chain: where the variability actually went
What you are looking at
What you are looking at: a pharmaceutical supply chain, running the three classic stages. API, the Active Pharmaceutical Ingredient, is made by chemical synthesis in reactors: very large batches, long lead times, and campaign production. Bulk turns that ingredient into the actual dosage form. Pack puts it into market-specific presentations, where a handful of bulk products explode into dozens of country SKUs. Four of those presentations stand in for that portfolio here. A, B and C carry the volume. D is the one every real portfolio has: small, cheap, and not obviously worth a slot of its own. None of this flows continuously. It is batch production throughout. Vessels have a minimum fill you cannot go below. Every product change means cleaning and re-qualifying the line, so a changeover costs real hours and real money. That is precisely why the order you run things in, and how often, decides your economics.
Why this is an end to end question
Nobody owns predictability, so it goes firstThe supplier sees a swing of 25 percent under the wheel and 61 percent under reactive replanning, and orders arrive every six to eight days against anywhere from four to twelve. This is the only advantage here that does not depend on how the plant is set up: open the capacity right up, make changeovers nearly free, and the service and cost gaps close while this one does not. It is also the only one no department is measured on.
Two buffers, but not two independent dialsThe tempting version of this idea is substitution: open the time buffer and hold less stock. The model does not support it. Opening the band from zero to forty percent takes stock from 9.1 to 14.8 days, because the replenishment level is sized on the longest turn you permit. Both buffers cost stock. What separates them is the second bill, capital on one side and the rhythm your supplier plans against on the other. And closing both at a wild market leaves something owed on 62 percent of days while the supplier still sees 2.4 times the market swing, so refusing to fund either is not a third option.
Local logic, global damageRunning the small article rarely is the right call on every number the plant is measured on: fewer changeovers, lower cost, no loss of service elsewhere. When its market moves, up to 84 percent of that article is written off, and because it is five percent of volume the loss never shows as more than three and a half percent of the total. Everyone behaved correctly, the aggregate looks fine, and the money is gone anyway.
Where this is worth doing, and where it is notRun the line at 84 percent and the wheel serves 98 percent of order lines against 83. Give it enough capacity that it runs at 36 percent and the same comparison is 99.7 against 99.1. Charge five hundred a changeover day and the wheel is 20 percent cheaper; make changeovers nearly free and that falls to 7. So this is an argument for batch process industry with expensive changeovers and a tight line. It is not a general claim, and anyone who presents it as one deserves the pushback.

None of this is an argument against planning systems, and it is worth being exact about what is being compared. The alternative shown here is reactive replanning: re-sort by urgency, reorder on a reorder point, no master plan and no frozen horizon. A properly parameterised planning system does not behave like that, and could be made to run the wheel instead. So the contest is not concept against tool. It is a designed replenishment policy against an undesigned one, and the tool executes whichever you hand it. Decide the concept first and the system carries it. Decide the tool first and it hardens whatever logic you happened to have into software, where it is expensive and slow to undo.

From parameters to autonomy, and what is still missing

It is worth being exact about what the search button does, because the temptation to call it something it is not is strong. It runs an exhaustive grid over four parameters, coarse first and then refined around the winner, against a deterministic simulation of one demand history. That is brute force, not learning. What it demonstrates is narrower and more useful: the decision space of a parameterised replenishment policy is small enough to search completely, in about two seconds, on a laptop.

That is the part worth arguing about. A supply chain that is steered by judgement has no such space. There is nothing to search, because the decision is remade every week by a person weighing things that were never written down. Write the same logic as parameters and three things become possible at once: the setting can be optimised rather than agreed, the optimum can be re-derived whenever the market moves, and the whole thing can run without a hand on it between derivations. Touchless planning is not a feature you buy. It is what you get once the policy is expressible as numbers.

It is also the precondition for anything stochastic or learned. A model that sits on top of reactive replanning can only make the reaction faster, which is the wrong direction. A model that sits on top of a parameterised policy can tune the parameters, which is the right one, and it has a well defined thing to tune.

What this page does not yet do

Three things stand between what is shown here and something you would run. The objective is chosen by hand. The search returns three different winners depending on whether you ask for cost, service, or the best compromise, and picking between them is a business decision this page deliberately refuses to make for you. There is no trigger. Nothing here decides when the parameters should be re-derived; the button is pressed by a human. In practice that trigger is the interesting engineering problem, because re-deriving too often destroys the very rhythm the policy exists to create. The demand is one history. Everything you see is a single simulated year from a single seed. A real parameterisation would be set against a distribution, not a sample, and would carry a confidence rather than a number.

None of those are reasons not to start. They are the shape of the work that follows once the policy is written as parameters rather than as habits.

Model, sources and where it simplifies

What the simulator computes

Four products share one line. A, B and C are the fast movers and run every turn. D is small and cheap, and how often it runs is a slider, because that is a design decision rather than a given. The sequence is fixed and repeats. At its slot each product is topped up to its Inventory Replenishment Level, so the make quantity is simply IRL minus stock position. Production is pulled rather than pushed: if what a product holds still covers it past the turn after next, nothing is made and the slot passes. The test is deliberately that conservative rather than one turn, because skipping stretches the interval to two and the buffer was sized for one. Each product's buffer is sized on its own interval, so putting D on every fourth turn multiplies its cycle stock by exactly four and raises its safety stock by 1.74. It is worth being precise about why that is not the square root of four: the exposure window is the resupply time plus the interval, so quadrupling only the interval widens the window by less than four, and the square root is taken of the window rather than of the frequency. Setting the frequency without resizing the zone would be the same class of error as sizing the IRL on the nominal cycle instead of CT(+). Both parts of every buffer are sized on demand that was measured rather than assumed. The opening quarter of the series is treated as the history a planner would have had, and its mean and standard deviation per article go into the formula. That matters more than it sounds: the market here spikes, and spikes add volume rather than move it, so the nominal rate understates what actually arrives by fifteen percent at a middling market and by a quarter at a wild one. Sizing on the nominal figure left every buffer short, and short by more the wilder the market, which made a dimensioning error read as an insight about buffers. Note also what is deliberately not done: the buffers are never re-sized after the mix shift halfway through the year. That is the point of the write-off. Cycle length is not fixed: it takes as long as the work needs, clamped into the band between CT(−) and CT(+). The IRL is sized on CT(+), not the nominal cycle, because stock has to cover the longest turn you permit. Classic MRP mode re-sorts the sequence by urgency every time and reorders on a reorder point.

Consistency with the operations research literature

The core policy matches Federgruen and Katalan, The Stochastic Economic Lot Scheduling Problem: Cyclical Base-Stock Policies, Management Science 42(6), 1996: items produced in a fixed rotation cycle, each run continuing until a target inventory level is reached, with idle time inserted when nothing is needed. The skip rule here is that idle time.

Sizing safety stock specifically for a cyclic schedule follows Rappold and Yoho, Setting safety stocks for stable rotation cycle schedules, IJPE 156, 2014, and the dynamic variant in Operations Management Research, 2019. Using capacity slack deliberately as a buffer against random demand, which is what the time buffer does here, is the subject of Bourland and Yano, The strategic use of capacity slack in the economic lot scheduling problem with random demand, Management Science 40(12), 1994. The comparison between a fixed cycle and reactive sequencing follows Cyclical schedules versus dynamic sequencing: replenishment dynamics and inventory efficiency, IJPE 107(2).

Consistency with the LEAN SCM material

The rule production quantity equals IRL minus current inventory, and the claim that an optimised repeating sequence yields the lowest changeover time, are as described by Camelot in CHEManager, 2014. Dynamic cycle times within boundaries, and the requirement that cycle time and stock targets are configured jointly rather than in isolation, follow Francas and Packowski in Business Chemistry. The quantity rule with a minimum and maximum make quantity mirrors the Pattern Wheel designer specification from the same source.

This is not a thought experiment

Variants of this logic, considerably more elaborate than the version modelled here, run in production at large process and pharmaceutical manufacturers. The designer specification behind much of the parameter logic was written as an IT requirements document in 2010, not as a concept paper, and a patent exists for the high-mix variant of the wheel. The approach is documented in Packowski’s LEAN Supply Chain Planning, which carries published endorsements from planning leaders at Novartis, AstraZeneca and BASF.

That is worth stating plainly, because the conversation today tends to begin and end with the tool: Kinaxis, o9, SAP IBP, and the rest. A planning system only executes the logic you hand it. Run reactive, forecast-driven replanning on the fastest engine on the market and you will reproduce exactly the upstream scatter shown when this simulator is switched to classic MRP. The method decides the outcome. The tool decides how quickly you get there. Both matter, but only one of them is usually on the agenda.

What is actually being compared, and how far it generalises

The alternative mode is labelled classic MRP and it is worth being precise about what it does: it re-sorts the sequence by urgency whenever stock dips and reorders on a reorder point. There is no master production schedule, no frozen horizon, no forecast and no lot sizing rule. Real planning systems have all of those, and can be parameterised to run a cyclic policy. So what this page demonstrates is a designed replenishment policy against an undesigned one, not a wheel against any particular piece of software. Read the gap as the value of having a policy at all.

Two things decide how much of that gap survives outside a batch plant, and both were measured by changing them. Capacity. At 84 percent line occupancy the wheel serves 98 percent of order lines against 83. Widen capacity until the line runs at 36 percent and the same comparison is 99.7 against 99.1: the service advantage is a scarcity effect, not a property of the concept. Changeover cost. At the weights used here the wheel is 20 percent cheaper per unit; make changeovers nearly free and that falls to 7 percent, because the cost advantage was a changeover discipline advantage all along.

What does not move is the signal handed upstream. Even at 36 percent occupancy the supplier sees 19 percent variability under the wheel against 37 under replanning, and the wheel's order beat holds at zero deviation while the alternative runs at 37. That is the claim this page can make without conditions, and it is the one nobody in the organisation is measured on.

Where this model simplifies

It runs one production stage, four products and a single finished goods buffer. Bulk and API are computed but not drawn. No factoring rule is implemented at all. When the work does not fit inside the cycle the time is clamped and the run simply overruns into the following days, rather than the quantities being cut proportionally; cut-off, rolling and IRL factoring are not modelled either. High-mix wheels are not modelled, and only one article carries a frequency. Capacity matters here and is worth stating precisely: producing the volume takes between 66 and 85 percent of the available days depending on the settings, and once changeovers are counted the line is occupied between 72 and 96 percent of the time. That is a tight line, and it is why the time buffer cannot absorb everything.

Two things are worth stating plainly, because they limit what the cost number can be used for. First, the cost weights are calibrated, not derived: a day of changeover is charged at five hundred and a unit-day of capital at 0.12 of the article's value, chosen so the cost minimum over the cycle time slider falls on six days. That minimum is flat and it is a mean: averaged over six different market histories the cheapest setting is six days with five within two percent of it, while any single history puts it anywhere between four and seven. Flat optima are the normal shape of a lot sizing curve, so read the slider as a region rather than a point. Change the cost ratio and the region moves with it. Second, the frequency decision here is driven mainly by volume share rather than by unit value. Stretching the interval on a high-volume article breaks service long before capital becomes the argument. Value is in the model and does push in the direction you would expect, but on these volumes it is the smaller of the two effects. One reporting choice worth naming: write-off is counted in units, not in value, so the loss on the cheap slow mover looks larger than its financial weight. Treat the numbers as directional, not as a plant model.

Two places where the sliders do not behave the way you would expect

Both of these are things you will find within a minute of dragging something, so they are better stated here than discovered as a defect. The market dial does not hurt service in a straight line. Averaged over six market histories, whole clear days run at 80% when the swing is set to five percent, rise to 90% at twenty-five, and only then fall away to 61% at seventy. Over the first third of that slider a wilder market is producing better service, which is not a property of the wheel and should not be read as one. The cause sits in the demand generator and the sizing formula together. A low setting here does not produce a calm market, it produces a nearly flat baseline punctuated by spikes, and the spikes do not shrink as fast as the standard deviation does: at a five percent swing the largest single day sits three and a half safety stocks above the mean, whereas from fifteen percent upward it sits at little more than one. Safety stock is sized from a normal distribution on a measured mean and standard deviation, and a flat series with occasional spikes is exactly the case that description fits worst. The left-hand end of that slider is therefore a statement about safety stock formulas, not about rhythm.

Unit cost does not move in one direction either, and the two sliders that touch it fail differently. Across the wheel speed it is a real U: 2.73 at a three-day turn, 2.54 at six, 2.84 at ten, an eleven percent span with the minimum in the middle. That is the ordinary shape of a lot-sizing curve and the only trap in it is the reflex that faster must be cheaper. Across the service target it is not a curve at all. The entire span from ninety to ninety-nine is one percent, while the same setting run against six different market histories spreads over six percent. The wobble you see dragging that slider is smaller than the difference between two years, so read that line as flat rather than as an optimum: raising service buys stock, and stock at these weights barely reaches the unit.

Acknowledgment and dedication

These ideas are deeply rooted in the lessons I learned during my time at Camelot Management Consultants, where I had the privilege of working with Dr. Josef Packowski for over 20 years. Our countless discussions on supply chain vulnerabilities and resilience mechanisms shaped much of my understanding of the field. Although he is no longer with us, having passed away in 2023, his wisdom and vision remain a guiding light in my work. This work is written in his honour and memory.

Acknowledging foundational principles

The principles of the Demand Driven Institute, namely decoupling, buffers, and flow-based decision-making, serve as critical foundational elements for stabilising supply chains. These concepts have significantly advanced supply chain thinking by shifting the focus from traditional MRP-driven approaches to more responsive, flow-driven models.

This work builds upon those foundations, offering additional layers of adaptability, execution feedback, and real-time synchronisation. Rather than replacing demand-driven concepts, these additional steps enhance and extend them, ensuring that supply chains are not only stable but also dynamically responsive to change.

In today’s volatile world, stabilisation alone is not enough. By combining demand-driven principles with real-time adaptability and execution synchronisation, organisations can create a resilient, self-learning supply chain that continuously evolves to meet uncertainty head-on.