The Bullwhip Effect (Beer Game), Explained

After reading this you will be able to trace how a small, permanent bump in customer demand turns into wild factory swings, compute the bullwhip ratio yourself, and pick an ordering policy that damps the whip instead of feeding it.

What the Beer Game shows

Picture a supply chain with four links: a retailer sells to customers, a wholesaler supplies the retailer, a distributor supplies the wholesaler, and a factory brews the beer. Orders flow up the chain and cases of beer flow down it. Every link takes two weeks to ship, and every order takes time to register. Nobody is dishonest and nobody is stupid. Each tier just tries to keep its shelves stocked.

Now change one thing. In week 5, weekly customer demand steps from 4 cases to 8 cases and stays there forever. That is the whole shock: a one-time doubling, then a flat line. You might expect each tier to settle on ordering 8 cases a week after a short adjustment.

It does not happen. The retailer overshoots, the wholesaler overshoots more, and by the time the disturbance reaches the factory, weekly orders can swing from near zero to 30 or 40 cases before slowly settling. The signal barely moved. The response exploded. That growth in oscillation as you move up the chain is the bullwhip effect, and it is the single most reproduced result in supply-chain teaching.

The name comes from the shape of a cracked whip: a gentle motion of the hand (customer demand) becomes a violent snap at the tip (factory orders). The MIT Sloan School has run this as a board game since the 1960s. Human teams reliably produce the whip even when told in advance that it will happen.

When this model is useful, and when it is not

The Beer Game is a teaching model, not a forecasting tool for your business. Use it to build intuition about three things: why delays force over-ordering, why local rationality creates global chaos, and why sharing demand information helps more than adding inventory.

Do not use it to predict a specific supply chain. Real chains have many suppliers per tier, price promotions, capacity limits, minimum order quantities, and lead times that vary. The simulator fixes the structure to four tiers with equal delays so the amplification is clean and visible. That is a feature for learning and a limitation for planning.

If your interest is the general lesson (small local rules producing large emergent behavior), this sits alongside other systems where feedback and delay drive instability. The Predator–Prey Simulator shows the same over-correction as a continuous cycle, and the Traffic Jam Simulator shows a delayed reaction rippling backward through cars.

The mechanics, tier by tier

Track each tier every week with a few state variables. Let I_t be inventory on hand, B_t be backlog (unfilled orders owed to the tier below), and O_t be the order this tier places upward. Incoming demand D_t is the order received from below (for the retailer, it is customer demand).

Each week runs in the same sequence:

I_{t} = I_{t-1} + R_t - S_t

Here R_t is the shipment that arrives this week (what was shipped two weeks ago) and S_t is what this tier ships downward. A tier ships the smaller of what it owes and what it has:

S_t = \min(I_{t-1} + R_t, \; D_t + B_{t-1})

Anything owed but not shipped becomes backlog:

B_t = B_{t-1} + D_t - S_t

The ordering decision is where policy lives. A naive pass-through orders exactly what it just received, O_t = D_t. A smarter rule targets an inventory position (on-hand plus in-transit minus backlog) equal to a base-stock level S^\ast:

O_t = \max\!\left(0, \; \hat{D}_t + \tfrac{1}{L}\left(S^\ast - IP_t\right)\right)

where \hat{D}_t is a demand forecast, IP_t is the current inventory position, and L is the lead time you spread the correction over. The exponential-smoothing forecast updates as

\hat{D}_t = \alpha D_t + (1-\alpha)\hat{D}_{t-1}

with a reaction speed \alpha between 0 and 1. A large \alpha chases every blip; a small \alpha smooths. The whole whip lives in that one number and in the two-week delays.

Measuring the whip: the bullwhip ratio

The standard measure of amplification is the ratio of order variance to demand variance. For a single tier facing demand D and placing orders O:

\text{BWR} = \frac{\operatorname{Var}(O)}{\operatorname{Var}(D)}

A ratio of 1 means the tier passes demand through without adding variance. A ratio of 4 means the tier quadruples the variance of what it received. Because each tier feeds the next, the ratios multiply. If every one of the four tiers has a local ratio of about 2, the factory sees roughly 2 \times 2 \times 2 = 8 times the variance of true customer demand.

The simulator reports the customer-to-factory ratio directly, so you watch a single number rise as you make policies more aggressive.

Variance amplification, not level, is the point. Every tier eventually orders about 8 cases a week on average. The damage is in the swings around that average, and swings are what variance measures.

Reproducing the demo: naive pass-through with a step

Run the defaults: four tiers, two-week shipping delay, one-week order delay, naive pass-through, and the customer step from 4 to 8 in week 5. Every tier starts balanced at 4 cases a week with 12 cases on hand. Watch the retailer for the first several weeks.

  1. Weeks 1 to 4: customer demand is 4. The retailer ships 4, receives 4, orders 4. Everything is flat.
  2. Week 5: demand jumps to 8. The retailer can still ship 8 from its 12 on hand, but its inventory drops to 8. Under pass-through it now orders 8.
  3. Week 6: demand stays 8. The order placed in week 5 has not arrived yet (two-week delay). Inventory keeps falling. The retailer sees the gap and orders more than 8 to cover it.
  4. Weeks 7 to 9: the delayed orders finally arrive in a lump. Inventory overshoots upward, so the retailer cuts orders below 8, sometimes to zero.
  5. Each tier above repeats this with the amplified signal it received, so the wholesaler swings wider than the retailer, and the factory widest of all.

Reading variance off the run over 40 weeks, a typical naive result gives a customer variance near 4 (it is a single step) and a factory order variance near 90 to 120, a bullwhip ratio of roughly 25 to 30. The exact figure depends on the transient, but it is always large and always grows tier by tier.

What the charts tell you

The order chart overlays all four tiers. Read three things from it. First, amplitude grows with tier height: the factory line has the biggest peaks and troughs. Second, the peaks arrive later as you go up: the delay shifts each tier's response to the right. Third, orders go negative in effect (clamped at zero) when a tier realizes it over-ordered, which is the glut phase.

Customer demand did one thing: 4 to 8 in week 5. Factory orders peak near 38 in week 12, crash to 0 by week 17, rebound, and only settle near 8 after week 30.

The inventory chart is the mirror image. When orders overshoot, inventory later floods in and swings positive; when orders were cut too hard, backlog builds and inventory goes negative. A healthy policy keeps both curves close to a flat target. A whipping policy shows expanding sine-like waves.

With naive pass-through (reaction speed 1.0) the factory order variance runs roughly 25 to 30 times customer variance. Lowering the smoothing factor to about 0.3 cuts the factory peak from near 38 cases to near 16 and drops the bullwhip ratio below 5. Setting it near 0.1 damps the whip almost completely but leaves the chain slower to reach the new demand level.

Common mistakes that make the whip worse

The instructive part of the Beer Game is that every mistake feels rational in the moment.

Reacting to the pipeline you cannot see
When your order has not arrived yet, inventory keeps falling, so you order again. You are double-counting the same shortage. This is the largest single driver of the whip. Track inventory position (on-hand plus on-order) rather than on-hand alone.
Chasing every demand blip
Setting the reaction speed \alpha near 1 means one noisy week rewrites your whole order. Dropping \alpha from 1.0 to 0.3 in the simulator typically cuts the bullwhip ratio from the mid-20s to under 5.
Panic ordering after a stockout
A backlog frightens people into ordering far more than the shortfall. That surplus arrives weeks later as a glut, forcing the next cut. The overshoot and the undershoot feed each other.
Treating a step as a trend
The customer demand here is flat after week 5. Extrapolating the jump as if demand will keep rising builds phantom growth into every order.

Adding safety stock helps only up to a point. Piling on inventory to feel safe raises average holding cost without removing the oscillation, because the oscillation comes from the delay and the reaction speed, not from the stock level. Fix the policy first, then size the buffer.

The real lesson: information beats inventory

The most effective change is not a cleverer order formula. It is letting every tier see the actual point-of-sale demand instead of only the order from the tier below. When the factory can see that customers are buying a steady 8 cases, it stops treating the wholesaler's panic orders as new information and its variance collapses toward the customer's.

This is why modern retailers share sales data with suppliers. The delay does not go away, but the guessing does. In simulation terms, every tier forecasts from the same clean demand signal, so the multiplicative amplification across tiers falls from a product of large ratios to a product near 1.

The same theme (local information shaping global outcomes) drives several other models here. See how selfishly rational choices wreck a shared resource in the Tragedy of the Commons, how added capacity can backfire in Braess's Paradox, and how a whole small economy responds to policy shocks in the Economy Sandbox.

Frequently asked questions

Why does a one-time demand step cause lasting oscillation?

Because the two-week delay means each tier acts on stale information and corrects after the fact. A correction placed today lands two weeks later, by which time it is either too much or too little, forcing the opposite correction. That back-and-forth is a damped oscillation whose amplitude grows as it passes up the chain.

What bullwhip ratio counts as bad?

Anything well above 1 means a tier is adding variance. Naive pass-through in the default run reaches a customer-to-factory ratio around 25 to 30. A well-tuned smoothing policy can bring it under 3. A ratio of 1 (no amplification) is only reachable with shared demand information.

Why do human players make it worse than the naive rule?

People overreact to backlogs and stockouts emotionally, order more than the shortfall to feel safe, and forget the orders already in the pipeline. That combination is more aggressive than a steady pass-through, so human teams often produce larger swings than the simplest automatic rule.

Does more safety stock fix the whip?

No. Safety stock cushions the level so you stock out less often, but it does not remove the oscillation, which comes from delay and reaction speed. In the simulator you can raise safety stock and watch the bullwhip ratio barely move while holding costs climb.

Is the four-tier structure realistic?

It is a simplification. Real chains have more players per tier, variable lead times, and capacity limits. The four equal tiers exist to make the amplification easy to see and measure, not to match any specific company.