Issue #12 · July 27, 2026
Finance meets Supply Chain

Safety stock doesn't fail loudly.
It drifts.

H1 actuals are in. Somewhere in them is the proof that the variance behind your safety stock parameters no longer exists. The mid-year review will look at stock levels anyway.

Fabio Luraschi
In most planning systems, safety stock looks like a setting. You size it, you load it, you review it once a year, and you trust it in between. It is not a setting. It is a bet on how wrong the future can be, sized entirely with data from the past. And right now, with half a year of fresh actuals sitting in your system, most companies are about to renew that bet without reading the verdict on the last one.

Strip away the formula and safety stock answers one question: how much protection do I need against the ways reality deviates from plan? Every method, from the basic z-score model to the most sophisticated approaches, takes variability as its primary input. Demand variability, supply variability, or both. The moment you write the parameter into the system, you freeze an assumption about how the world behaves.

The world does not hold still for twelve months. A promotional calendar changes demand variance. A product launch changes it. A supplier consolidation, a shifted customer mix, a rerouted lane, a season that arrives three weeks early. Geopolitical shocks, weather patterns, and demand behavior now move the variance underneath your parameters at a speed the annual review cycle was never designed to catch. The cycle assumes a world that changes once a year. That world is gone.

Here is what makes this dangerous: a stale parameter never announces itself. On the predictable side of your portfolio, where variance has quietly fallen, excess cover accumulates unit by unit. On the volatile side, where variance has quietly risen, protection thins order by order. The two errors grow in opposite directions, which means they partially cancel in the aggregate. Total inventory looks stable. The average looks fine. And because the organization runs on averages, the average acts as an anesthetic: as long as the headline number holds, nobody goes looking underneath it. This is not a niche pathology. PwC's Working Capital Study 24/25 described the same trajectory at market scale: post-pandemic inventory buffers that have drifted from "just in case" to "just because," protection that has quietly outlived its own justification.

A correct formula fed with a twelve-month-old variance is not a calculation. It is a guess with better formatting.

So the question most teams ask about safety stock is the wrong one. Not "how much do we need?" The formula answers that, and it answers it well. The question that actually determines whether the formula protects you is: when did we last check the inputs? The bet you placed twelve months ago is still running. The only open question is whether anyone has read it since.

Two product families. Same parameter age. Opposite drifts.

exposure zone < 10d cover 0 10 20 30 40 Days of cover Jul '25 Oct Jan '26 Apr Jun parameter: 20d cover · set Jul 2025 · never reviewed excess cover cover lost Family A · predictable · realized variance fell Family B · volatile · realized variance rose
+14 days
Excess cover accumulated on Family A.
Variance fell. The parameter did not.
−11 days
Cover lost on Family B, now inside the exposure zone.
Variance rose. The parameter did not.

Illustrative. Aggregate inventory across the two families moved less than 4% over the same period. The average hides both drifts.

The scale of the problem is documented. The Hackett Group's 2025 European Working Capital Survey found Days Inventory Outstanding (DIO), the number of days capital sits in stock before converting to sales, at 68.9 days across Europe's largest companies in 2024: the highest level in a decade, driven by buffers built against supply chain and geopolitical risk. The same survey puts €1.4 trillion of working capital trapped on the balance sheets of Europe's top 1,000 companies. How much of that buffer is still sized against a variance that exists, nobody can say from the outside. Which is precisely the point: neither can most of the companies holding it.

Take a worked example. The numbers are invented; the mechanism is not. A business carrying €40M of average inventory, with roughly 25% of it held as safety stock: €10M of working capital whose entire job is to absorb variability. Assume that a third of that buffer, around €3.3M, sits on parameters sized against a variance that realized demand no longer matches. Twelve months is more than enough for that to happen in any business that runs promotions, launches products, or buys across more than one region.

The overstocked side first. Say €2M of that exposed buffer is excess cover on predictable families. At a carrying cost assumption of 18% per year, covering capital, warehousing, and obsolescence risk, that is roughly €360K a year paying for protection against a volatility that no longer exists. It also quietly inflates DIO on exactly the families where nobody is worried.

The understocked side costs more, because it surfaces at the worst possible moment. Thinning cover on volatile families does not hurt in the quiet months; it hurts at peak, when the deviation the parameter was supposed to absorb finally shows up. The cascade runs the usual course: stockout on high-velocity items, expedited replenishment by air at three to five times ocean cost as a rule of thumb, and whatever cannot be expedited in time becomes lost sales in season. What lands late becomes markdown after it. Put an illustrative €400-500K on that side between freight premium and unrecovered demand, and the total drag approaches €800K a year on a €40M book.

And here is the part that matters for how this survives: none of it appears as a line item. The carrying cost looks like normal cost of holding stock. The airfreight looks like market volatility. The markdown looks like a commercial decision. The drift is invisible in the inventory report because the errors cancel in the average, and invisible in the P&L because the costs disperse across accounts that each look defensible on their own. A bet you cannot see yourself losing is the most expensive kind.

In my experience, the discovery almost never comes from planning. It comes when the drift becomes too big to ignore: inventory in a family starts climbing, or availability starts cracking, fast enough that someone finally asks why. By then the bet has been lost for months. There is no alert for "assumption expired." No system flags a parameter for being old. The parameter sits there, formally correct, doing damage with a date nobody checks.

Two things keep it that way, and they compound. The first is ownership: planning sets the parameter, finance sees the consequence, and nobody owns the date on the assumption in between. The second runs deeper. Organizations run on averages, and the average is an anesthetic. As long as the aggregate holds, the organization reads stability. Meanwhile the variables that actually drive variance, geopolitics, weather, demand behavior, move on a clock that has nothing to do with the annual review. We keep managing on the number that changes slowest and calling it control.

I have watched the quality of a review change with one question: this buffer is sized on which variance, measured when? Stock levels invite opinion; everyone in the room has a theory about whether inventory is too high. A calibration date does not invite opinion. It makes the inefficiency visible to every actor at the table at the same moment, planning, finance, commercial, because a date is not a position anyone can argue with. The conversation stops being about the level and starts being about the input that produced it.

Which is why my position is that recalibration should not live on the calendar at all. It should live in the buying process. Before every buy, the parameters that order will be built on get checked: is the variance still current, is the service target still right for this family, is seasonality reflected. The depth of the check varies by product; order cyclicality and seasonality dictate how much work each one deserves. But the trigger is the order, because the order is the moment the bet gets renewed. Renewing it without looking is the literal definition of guesswork, performed on a schedule.

The honest limit: recalibration has a cost of its own. Parameters that move every week chase noise instead of signal, and a planning team forced to re-derive every number at every cycle will burn hours first and trust shortly after. That risk is real. It is also exactly why anchoring the check to the buy works better than tightening the calendar: order cyclicality gives recalibration a natural frequency that a fixed review date never can. A light check at every order. A deep recalibration only when the divergence is structural.

Possible action plan · 5 moves
1
Run a Parameter Age Audit This Week
Export your safety stock parameters with their last-review dates. If the system does not store a review date, that absence is itself the finding: you are running working capital decisions on assumptions with no timestamp. Start the log now, even in a spreadsheet.
2
Compare Assumed vs Realized Variance on H1 Actuals
The half-year just closed. For each major product family, compute the demand variance realized over the last 6-12 months and set it against the variance implied by the current parameter. The gap between those two numbers is the size of your open bet.
3
Rank Exposure, Not Just Divergence
Divergence alone is not priority. Weight it by inventory value and by stockout consequence per family. A 40% variance gap on a marginal family matters less than a 15% gap on the family that carries your peak season. Produce a top-10 exposure list.
4
Anchor Recalibration to the Buy, Not the Calendar
Add a parameter check as a formal step in the pre-order process: variance current, service target right, seasonality reflected. Depth proportional to the product's cycle and seasonality. The order is the moment the bet is renewed; that is when the inputs deserve a look.
5
Give the Parameter an Owner, and Give the Date a KPI
Planning owns the math; someone must own the calendar. Assign explicit ownership of parameter currency and report "parameter age" alongside stock levels in your monthly review or Sales & Operations Planning (S&OP) cycle. What gets a date on a slide gets reviewed.

The audit described above almost never happens, and the reason is not conviction. It is friction. Comparing assumed variance against realized variance means joining parameter exports with demand history across systems that were never designed to talk to each other, per family, per period. That is a day of manual work nobody schedules, which is precisely why parameters age in peace. This is the gap AI closes: not the judgment, the joining.

Step one: feed it the safety stock parameter export and 24 months of demand history at family level. Ask for realized demand variance per family on a rolling basis, set against the variance implied by each current parameter. Output: a divergence table, one row per family, assumed versus realized.

Step two: add inventory value and stockout consequence per family. Ask it to rank families by divergence weighted by value, and to classify each as over-covered or under-covered. Output: the top-10 exposure list from move 3, built in minutes instead of a day.

Step three: bring in the upcoming buy calendar. For each exposed family due to be ordered in the next cycle, ask for a one-page recalibration brief: current parameter, recommended parameter, working capital delta, service risk delta. Output: the pre-buy check from move 4, ready before the order meeting. Realistic total effort: two to three hours of preparation, not a week of analysis.

The failure mode is specific: the model sees divergence, but it cannot tell a structural shift from a one-off. A promotion, a weather event, a single customer that bulk-ordered once will all read as "variance rose." Recalibrate on a one-off and you bake noise permanently into the parameter, which is the exact failure that makes planners distrust the whole exercise. The divergence table is the machine's. The filter between signal and episode is yours.

If this landed, forward it to one person who needs it.

Chain Reaction is a weekly read for supply chain professionals who need to act on what is happening, not just understand it.

Subscribe → fabioluraschi.com · Privacy