All posts

Stop firefighting stockouts

A stockout is rarely a surprise. It's a slow signal everyone was too busy to read: a SKU drifting below par, an inventory upload going stale, a run that should have been scheduled a week ago and quietly wasn't. By the time it's a fire, every option on the table is expensive — expedited freight, a weekend overtime shift, a substitution that erodes margin, or the call to a customer you really didn't want to make.

Firefighting is the absence of a system, not the presence of effort

Constant firefighting feels like work — heroic work, even, the kind that gets noticed. But a permanent state of emergency isn't the sign of a fast, capable team. It's the sign of a missing system. The operations that don't firefight aren't quicker on the draw; they read the early signals and act while the fix is still cheap, which means most of what would have been their emergencies got handled as routine scheduling decisions two or three weeks earlier, with no drama and no premium freight.

The cost asymmetry is the whole argument

Reactive and proactive inventory work cost wildly different amounts for the same service level, and the gap is large enough to reorganize your week around. Scheduling a run at the reorder point costs you nothing but a calendar slot. Catching the same SKU after it's empty can cost you, in rough order of pain: expedited freight at a multiple of normal cost; an overtime or weekend shift to squeeze in the run you missed; a changeover you wouldn't have needed if it had been sequenced in calmly; lost margin on a substitution; and — the one that doesn't show up on any invoice — a customer who now wonders whether you're reliable. The same unit, made a week late, can cost several times what it would have cost made on time. The entire game is moving the decision earlier in time, while it's still cheap and reversible. The encouraging part is that the signals you need to watch are few, knowable, and boring — which is exactly why they get ignored.

The three signals worth watching

  • Below-par coverage. On-hand won't cover demand through the time it takes to make more. This is the earliest and most actionable signal there is — and the cheapest place to intervene. Schedule the run now, at the reorder point, not at zero. It's the same reorder-point and forecasting logic covered in forecasting that survives the floor: coverage measured against the window, not against a flat threshold.
  • Data staleness. If your last inventory or sales upload is days old, every number downstream is a guess wearing a confidence suit. Coverage math on a stale on-hand figure will tell you you're fine right up until you aren't. Fresh data first, decisions second — staleness isn't a back-office nuisance, it's a leading indicator that your whole picture is drifting out of focus.
  • Runs due. Work that's planned but slipping. A run quietly sliding past its window isn't a scheduling footnote — it's tomorrow's stockout with a head start. The plan said it was handled; reality says it's late; nobody connected the two until the shelf was empty.

None of these require a crystal ball. They require looking — consistently, at the right few things, before they compound.

Set the thresholds so the signal fires early enough to matter

A signal that fires when you're already empty is just an obituary. The trigger has to sit far enough ahead of the cliff that you can still act calmly:

  • Trip below-par at the reorder point — average demand across the lead time plus safety stock — so the alert arrives a full lead time before zero, with room to schedule rather than scramble.
  • Trip staleness against each feed's real update rhythm. A daily sales file is stale at 48 hours; a weekly one isn't. Tune the threshold to the cadence, or you'll teach yourself to ignore it.
  • Trip runs due the moment a run's projected finish crosses its need-by date — not when it's already late.

The goal is lead time on your problems. An alert that lands while the fix is still a scheduling decision is worth ten that land at the fire.

Sort by exposure, not by panic

Not every potential stockout deserves the same response, and treating them equally is its own kind of firefighting. A short ABC lens helps: a top-volume, high-margin SKU drifting below par warrants an immediate run; a slow C-item can ride a thinner buffer and a looser rule. Lead-time variability matters as much as demand variability — a SKU made on a reliable line with a steady supplier can run leaner than one whose inputs show up "sometime next week." Spend your safety stock and your attention where the exposure actually is, not where the loudest alarm happens to be.

A morning triage that takes ten minutes

Make it a standing first move, before the inbox pulls you under:

  1. Scan staleness first. If a feed is old, refresh it before trusting anything below it — otherwise you'll triage a fiction.
  2. Read the below-par list, ranked by exposure. Volume × margin × how far below the line. The top of that list is your real day.
  3. Convert the top items to runs. Schedule at the reorder point, sequenced sensibly — not jammed in at a premium later.
  4. Check runs due. Anything slipping its need-by date gets re-timed or escalated now, while "now" is still early.
  5. Note the repeat offenders. A SKU that lands on this list every week has a par-level or lead-time problem, not a luck problem — fix the input, not the symptom.

Ten minutes, same time daily, beats an afternoon of expedited-freight phone calls every time.

Make the signal land before the fire

The reason teams firefight isn't that the signals are hidden. It's that nobody has the time to go hunting for them across three spreadsheets and an inbox every single morning. The fix is to make the signal come to you.

That's what CPG Scheduler's operational alerts do — stockout risk, data staleness, runs due, pending approvals — surfaced the moment the underlying numbers cross a line, ranked so the genuinely exposed SKUs rise to the top. The signal lands in front of you while it's still a scheduling decision, weeks before it would have become an emergency. And because the surface is headless and agentic, that morning triage can run on its own and simply hand you the short list that needs a human. It won't make you a faster firefighter. It'll mean you light far fewer fires.

The best stockout is the one you quietly scheduled around three weeks ago and never thought about again.

Related: forecasting that survives contact with the floor.

More from the journal