What is oscillation?
Repeating swings of a quantity above and below a central level, usually caused by a balancing loop that reacts to old information.
Oscillation diagram example
Oscillation is a pattern in which a quantity rises and falls repeatedly around a target or average. In systems it usually comes from a corrective action that is delayed, so each fix arrives too late and overshoots. It matters because cycles in stock, hiring, prices, and queues are costly, and they often come from the way decisions are made, not from outside shocks.
How it works
The structure is a balancing loop with a delay. When the stock is below the goal, the decision maker orders more. Because the order takes time to arrive, the decision maker keeps ordering while earlier orders are still on the way, then the stock overshoots the goal. Now the decision maker cuts orders, again with a lag, and the stock falls too far. The longer the delay compared with the speed of the response, the larger the swings.
Oscillation can be damped, where swings shrink over time, sustained, where they stay the same, or growing, where they get worse. To reduce swings, shorten the delay, react less aggressively to gaps, or count what is already on order when deciding. The bullwhip effect in supply chains is a well-known example. Compare it with goal-seeking behavior, which approaches the target smoothly.
Example
Say a store wants 500 units in stock and has 300. It orders the whole 200-unit gap each week, but orders arrive after 3 weeks. By then it has ordered 600 units while stock is still 300. When the orders land, stock jumps to about 900, so it stops ordering, and then runs short again. Stock swings between roughly 200 and 900 about every 10 weeks. This is an illustration with round numbers.
How to model it in Machinations
Use a Pool for stock and a Pool or Delay for orders in transit. A Source adds orders to the pipeline based on a Register for the gap, and a Drain removes stock through sales. Connect them with state connections. Play and chart the stock Pool, then use a Lever on the order response or delay to turn smooth settling into swings.
See oscillation 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.