Skip to content

System Dynamics Simulation

Simulation model — instantiates Conserved Reservoir-Flux Balancing

Turns a stock-and-flow structure into equations and runs it forward in time, so you can watch reservoirs fill, drain, and oscillate under a policy before trying it for real.

The System Dynamics Simulation is the runnable, time-stepped model: it takes a stock-and-flow structure, attaches a rate equation to every flow, and integrates the whole thing forward so the reservoirs' levels trace out over time. What makes it this mechanism is its output — behaviour, not structure and not a snapshot. Where the Stock-and-Flow Diagram says which loops exist, the simulation shows what those loops actually do once delays and feedback compound: oscillation, overshoot, tipping, collapse — the counterintuitive dynamics that no static picture and no single-period ledger can reveal. It is the mechanism that lets you test an intervention against a model and watch the consequences unfold before spending anything in the real network.

Example

An operations team suspects its supply chain is amplifying demand swings, and builds a simulation of a retailer → distributor → factory chain. Each stage is a stock of inventory with flows of orders and shipments; each places replenishment orders using its own local rule, responding to perceived demand across a shipping delay. They give end-customer demand a single one-off 10% step-up and run the model.

The trajectory shows the classic pathology in motion: orders upstream oscillate with growing amplitude, the factory swinging by roughly ±40% even though real demand moved 10% once, because each stage over-corrects across the delay and passes a distorted signal upstream. Watching the curves makes the mechanism legible — delay plus feedback plus local ordering logic — and lets the team test a fix in the same model: share point-of-sale demand directly and smooth the ordering rule, and the oscillation visibly damps. This is the well-studied bullwhip effect, the same dynamic the MIT Beer Distribution Game was built to make people feel.[1]

How it works

  • Equip the structure with equations. Take the stock-and-flow diagram and write a rate law for each flow — what sets how fast it runs.
  • Add residence times and delays. Specify how long the quantity dwells in each stock and the lags between cause and effect; these delays are where the interesting dynamics come from.
  • Couple the quantities. Where one stock's level drives another's flows, wire the cross-dependencies together so the reservoirs evolve jointly.
  • Integrate and compare scenarios. Step the model over time and run alternative policies side by side — its distinctive product is behaviour over time, not a single balance.

Tuning parameters

  • Time step (dt) — small steps are accurate but slow; too large and the numerical integration invents oscillations that aren't real.
  • Time horizon — how far forward to run; short horizons miss slow loops, long ones accumulate assumption error.
  • Rate and residence-time parameters — the single biggest lever on behaviour, and usually the softest, least-measured inputs.
  • Coupling detail — how many cross-quantity dependencies to include; richer coupling is more faithful and far harder to trust.
  • Scenario set — which policies and shocks to compare; the model only answers questions you think to run.

When it helps, and when it misleads

Its strength is exposing delay- and feedback-driven behaviour — oscillation, overshoot, collapse — that intuition and static diagrams miss, inside a sandbox where a policy can be tried without real-world cost.

Its failure modes are those of any model, sharpened by rich output. A simulation is only as good as its structure and parameters: wrong loops or guessed rates produce confident nonsense, and animated curves invite far more belief than the inputs deserve. The signature misuse is tuning the soft parameters until the model reproduces a wanted conclusion — running it backwards to justify a decision already taken. The discipline is to validate against known history, run sensitivity on the parameters you had to guess, and hold onto the aphorism that all models are wrong but some are useful[2] — treating the output as an argument to stress-test, not a forecast to trust.

How it implements the components

The System Dynamics Simulation realises the archetype's dynamic-behaviour core — the components a runnable model computes:

  • scenario_simulation_model — the model is the time-stepped simulation, and running alternative policies through it is its central act.
  • residence_time_or_turnover_model — the per-stock dwell and turnover times, with their delays, are what it integrates to get behaviour.
  • multi_quantity_coupling_matrix — the cross-dependencies between stocks, computed jointly, are what let feedback across the network actually play out.

It does NOT define the structure it runs — the Stock-and-Flow Diagram supplies that — nor reconcile a past period's books — that's the Mass-Balance Table — nor visualise magnitudes — that's the Sankey Flow Map.

References

[1] The bullwhip effect — demand variability amplifying as orders travel upstream through a supply chain — was demonstrated in Jay Forrester's early industrial-dynamics work and is dramatised by the MIT Sloan Beer Distribution Game. It is a canonical example of feedback plus delay producing behaviour no participant intends.

[2] The statistician George Box's much-quoted line, "all models are wrong, but some are useful," is the standing caution for any simulation: its value is in the insight it structures, not in the false precision of its curves.