What is bullwhip effect?

The amplification of small changes in customer demand into larger and larger swings as orders move up a supply chain.

Bullwhip effect diagram example

Public diagram from the Machinations Community. Open it on its own page

The bullwhip effect is the tendency of order swings to grow larger at each step up a supply chain, from retailer to wholesaler to factory to raw material supplier. A small wobble in customer demand becomes a large wave of over-ordering and under-ordering upstream. It causes excess stock, shortages and wasted capacity, and it is a classic example of a feedback system with delays.

How it works

Each stage in the chain places orders based on the demand it sees, and it adds a buffer in case demand goes up. When it sees a rise, it orders more than the rise, to restock and to cover the expected further growth. The next stage up reads that larger order as a bigger signal and does the same. Delays make it worse, because orders take weeks to arrive and the stage keeps ordering while earlier orders are still in transit, then ends up with too much.

The usual remedies attack the causes: sharing real sales data along the chain, shortening lead times, ordering smaller batches more often and avoiding promotions that distort demand.

Example

Say customers raise their weekly demand for a product from 100 to 110 units, a 10% rise. The retailer wants stock to cover two weeks, so it raises its target from 200 to 220 and orders 110 + 20 = 130 units that week, a 30% jump. The wholesaler sees 130, applies the same rule, and orders 130 + 40 = 170 or so, then the factory sees an even larger signal. A 10% change in the shop becomes a swing of 30% or more at the factory. The numbers are an illustration.

How to model it in Machinations

Draw each stage as a Pool of stock with a Delay on the shipping link from its supplier. Add a Register at each stage that computes the order from recent demand plus a buffer, and connect it with a state connection to the Source or Drain that sets the order flow. Make the buffer size and the delay Levers. Play with a step change in customer demand and chart the stock Pools to see the swings grow upstream.

See bullwhip effect in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.