System dynamics
Track totals that build up or drain over time, and model feedback between those totals and their rates of change.
System dynamics tracks totals rather than individuals. A customer model, for example, might track potential customers, active customers, and churn without representing each person.
A stock is an accumulation: inventory, population, cash, installed capacity, or another quantity carried through time. Inflows and outflows are rates that change the stock. The stock rises whenever total inflow exceeds total outflow, falls when outflow exceeds inflow, and stays level when the rates balance.
The stock changes by the difference between its incoming and outgoing rates.
d(stock) / dt = inflow − outflow = +3 / min
Feedback occurs when a system's current state influences changes that later alter that same state. Reinforcing loops amplify change; balancing loops resist it. Delays can make apparently sensible policies overshoot, oscillate, or respond too late.
A stock has units such as people, tonnes, or dollars. A flow must use that stock unit per unit time, such as people per day. Adding quantities with incompatible dimensions is a modeling error even when the equation produces a number.
Dimensional checks catch common mistakes such as adding a percentage directly to a population or using an annual rate as if it were a monthly amount.
Set important inflows, outflows, delays, or feedback gains to simple extremes and predict what the stocks should do. A zero inflow should not increase a stock unless another inflow remains; a closed system should conserve the quantity it claims to conserve.
These tests make sign errors and accidental feedback loops easier to find than tuning a full model until its graph looks plausible.
Use system dynamics for long-term questions about feedback, policy, growth, depletion, or interacting rates. Use another method when individual paths or queues matter to the answer.