🐍 Bullwhip Effect

A gentle wobble in customer demand becomes a violent swing by the time it reaches the factory. Each tier orders a little extra to rebuild its own buffer, and those over-reactions stack up the chain. Nudge the customer demand below and watch the whip crack.

Customer demand

Std. dev. of each period's demand, % of base

How each tier plans

Periods each tier averages to forecast. Shorter = jumpier = more whip.
Longer lead time forces bigger buffer corrections

Customer demand — its own scale, zoomed in so the pattern is visible

Every tier's orders — one shared scale, so you see how far the whip amplifies

Customer demand Retailer Wholesaler Distributor Factory
Period
0
Whip — Retailer
Whip — Wholesaler
Whip — Distributor
Whip — Factory
“Whip” = how many times more variable that tier's orders are than customer demand (variance ratio).

What you're seeing

Every tier forecasts demand by averaging what it recently received, then orders enough to cover that forecast plus restock the extra pipeline the lead time needs. So when demand ticks up, a tier orders the increase and a bit more to refill its buffer — and that inflated order is the demand the next tier sees. Repeat four times and a ripple becomes a wave.

Whip per tier ≈ 1 + 2L⁄p + 2L²⁄p² =  L = lead time, p = forecast window. Across the whole chain the tiers' ratios multiply.

Try this: set the pattern to One permanent step up — the customer rises once and stays there, yet each tier overshoots then corrects, ringing louder upstream. Now shorten the forecast window to 2: reacting to every wiggle makes the whip far worse. Lengthening it, or cutting lead time, calms the chain — the two real-world levers against bullwhip.