| Vose Software

Industry: Manufacturing
Product: ModelRisk
Application: Lean Manufacturing — sizing pull-system kanban and JIT buffers under variability


A JIT Line That Was 95% Lean and 100% Late: Sizing Kanban with ModelRisk

A Tier-1 automotive components plant had been running a single-piece-flow cell for eighteen months, with kanban loops sized by the textbook formula K = (D × LT × (1 + α)) / C, where D was the average daily demand, LT the supplier lead time in days, α a safety-stock multiplier of 10 %, and C the container size. On paper, the cell was a model of lean discipline. In practice, 34 % of customer release-windows missed their delivery slot in Q3, and the line was running two paid weekend recovery shifts a month at $42,000 each. The lean dashboard said the system was 95 % efficient. The customer-service dashboard said it was 66 % on time.

The two dashboards were both right. They were measuring different moments of the same distribution. The kanban formula collapsed demand, lead time and yield to their averages, ignored the correlation between demand spikes and supplier delays during quarterly automotive build-outs, and used a flat 10 % safety factor that had no probabilistic meaning. The team rebuilt the JIT model in ModelRisk as a stochastic pull-system simulator — one that prices the cost of stockouts against the cost of inventory and returns a kanban count that actually hits the contracted service level.

Stockout probability vs kanban count — 50,000-day pull-system simulation

The curve above is the whole argument in one picture. The lean formula's K = 91 cards leaves a 40 % stockout probability per replenishment cycle — directly consistent with the 34 % missed-window rate seen in production once partial substitutions are netted out. The kanban count that actually delivers the contracted 98 % service level is K = 236 cards, more than double what the deterministic formula prescribed. Sizing kanban for the average of demand and lead time, rather than their joint distribution, is what put the line two recovery shifts a month behind.

Where the textbook lean formula breaks

The kanban formula assumes everything in the equation is a constant. Three of the four inputs are random variables, and one of them is correlated with another.

Daily demand. Customer pull from the OEM final-assembly line was being modelled as Normal(1,000 ± 150). Fifteen months of order data fitted instead to a LogNormal(μ_log = 6.85, σ_log = 0.28) — mean 982 units/day, but with a P95 of 1,496 and rare quarter-end spikes above 2,000. A Normal fit understates the upper tail of demand, which is exactly the tail kanban must absorb.

Supplier lead time. Contract lead time was 4 days; realised lead time fitted to Gamma(shape = 4.5, scale = 1.1 days) — mean 5.0 days, P90 of 8.1 days, occasional 10-day deliveries during port congestion. Using contract lead time hides the right half of this distribution.

Yield at the upstream feeder cell. Per-batch yield was being treated as a constant 96 %. Real yield was Beta(α = 38, β = 2) — mean 95 %, P5 of 87 % on bad-material days. Using mean yield over-states usable arrivals.

Demand–lead-time correlation. End-of-quarter automotive build-outs simultaneously raised demand and extended supplier lead times (because every plant in the supply base was simultaneously pulling). Modelled via a Gaussian copula with rank correlation ρ = 0.42 between demand and lead time. Treating these as independent under-prices the worst weeks of the year.

What the deterministic plan said vs what the simulation found

For a Class-A part with D = 982 units/day, LT = 5 days, C = 60 units/container, α = 10 %, the textbook formula returned K = 91 cards. The Monte Carlo simulation, with the four corrected assumptions, said the kanban count that delivers the contracted 98 % service level was K = 236 cards — more than double what the lean formula prescribed.

At K = 91, the simulation gave a stockout probability of 40 % per replenishment cycle — directly consistent with the 34 % missed-window rate seen in production once you account for partial substitutions. At K = 128 stockout probability is still 20 %, at K = 144 it is 14 %, and only at K = 236 does it reach the 2 % target. The curve is steep through 130 cards and flattens out only in the 200s: the lean-purist instinct to drive kanban down was, in this geometry, costing far more in weekend recovery than it saved in WIP.

Three production scenarios, three pull-system curves

The same simulation was rerun under three macro scenarios.

Cumulative annual cost — three quarterly demand scenarios

Holding the kanban at the K = 236 needed for 98 % service, the three scenarios price out very differently in the tail. Under the baseline quarter, expected annual cost (holding + stockout penalty) per part is $45k/yr, with a P99 of $782k driven by the rare deep-stockout cycle. Under the build-out quarter (correlated demand spike + lead-time extension), expected cost jumps to $203k/yr and the P99 to $4.4M. Under a smooth-pull scenario (OEM levels its take to a stable rate), expected cost falls to $26k/yr with no material stockout tail — a P99 of $21k, the bare holding floor. The curves overlap below the 95th percentile and fan apart in the right tail: it is the build-out tail that determines kanban sizing, and averaging across the year is what produced the failing K = 91.

What actually drives stockout cost

Tornado: drivers of annual stockout cost at K = 236

The demand/lead-time copula correlation ρ ranks second behind only the lead-time scale parameter. Two operational moves followed from this ranking: (1) the procurement team negotiated a lead-time cap of 6 days on the dominant supplier with an over-stock penalty above that, compressing the lead-time tail directly; (2) the OEM customer-collaboration team obtained a two-week firm forecast window at quarter-end, which decoupled demand from the supplier-side congestion shock and effectively halved the copula ρ from 0.42 to ~0.20.

What the model changed

  • Kanban count raised from 91 to 236 cards on the Class-A part, eliminating the 34 % missed-window rate and removing the $42k/weekend recovery shifts (mean savings $420k/yr, P10 savings $280k/yr).
  • Lean-target dashboards were re-anchored around a P10/P50/P90 stockout-cost band, rather than a single-point inventory turn metric — the customer-service team and the lean team now read the same chart.
  • Supplier lead-time cap clause added to the dominant contract; the simulation justified the cost of the cap clause against the avoided P90 cost.
  • Quarter-end firm-forecast window negotiated with the OEM, cutting copula ρ from 0.42 to ~0.20 and lowering the build-out scenario's P90 cost by $320k.

ModelRisk Functionality Used

  • LogNormal demand fitting on 15 months of pull-signal data, replacing a Normal fit whose P95 understated true peak demand by ~20 %.
  • Gamma lead-time fitting on actual supplier delivery dates, capturing the holiday and port-congestion right tail.
  • Beta yield distribution on the upstream feeder cell, with bounds enforced on (0, 1) — the previous Normal yield occasionally drew above 100 %.
  • Gaussian copula linking demand and lead time with ρ = 0.42 during build-out quarters, pricing the joint shock the lean formula assumed away.
  • Sweep over kanban count K from 60 to 280 with 50,000 simulated production days per point, producing the stockout-probability curve and the holding-vs-stockout cost frontier.
  • Tornado on annual stockout cost that promoted the demand/lead-time copula above five other drivers, redirecting the next round of supplier-development effort.

Lean is the right philosophy, not the right formula. K = (D × LT × (1 + α)) / C is a deterministic answer to a stochastic question; ModelRisk turned a 95 %-efficient, 34 %-late line into a 98 %-on-time line by sizing the kanban for the distribution of demand and lead time rather than for their averages.