Use this when you need to understand why something keeps growing, shrinking, or stubbornly refusing to change — and your spreadsheet shows you the snapshots but not the plumbing. Stock and flow diagrams force you to distinguish between accumulations (the stuff that piles up) and the rates that fill or drain them, revealing the dynamic structure that drives every system you care about.
Section 1
What This Tool Does
Your SaaS dashboard says you have 14,000 customers. That number went up by 800 this quarter. Good news? Depends entirely on questions the dashboard doesn't answer. How many new customers signed up? How many churned? Is the 800 net figure the result of 1,200 in and 400 out, or 3,000 in and 2,200 out? Those two scenarios describe radically different businesses — one healthy, one hemorrhaging — yet they produce the identical headline number. The stock is the same. The flows are not.
This is the central confusion that stock and flow diagrams exist to resolve. Jay Forrester, an MIT electrical engineer turned management theorist, developed the notation in the early 1960s as part of his system dynamics work. He'd been modelling industrial supply chains and urban systems, and he kept encountering the same pattern: smart people — executives, policymakers, engineers — made catastrophically wrong decisions because they confused levels with rates. They'd see inventory rising and cut production, not realising that the rise was caused by a temporary dip in shipping that was about to reverse. They'd see a city's population growing and build housing, not realising that the growth rate was already declining and the housing would sit empty. The errors weren't random. They were systematic, and they stemmed from a single cognitive failure: the inability to intuitively track accumulations over time.
Forrester's insight was that every dynamic system can be decomposed into just two types of elements.
Stocks are accumulations — things that pile up and can be measured at a point in time. Cash in the bank. Employees on the payroll. Carbon in the atmosphere.
Reputation in the market.
Flows are rates — things that change stocks over time. Revenue per month. Hires per quarter. Emissions per year. Positive press mentions per week. A stock is a bathtub. Flows are the faucet and the drain. The water level at any moment is the stock. The rate of water coming in minus the rate going out determines whether the level rises, falls, or holds steady. That's the whole model.
The reason this matters — the reason it's worth formalising something that sounds obvious — is that human intuition is reliably terrible at tracking accumulations. Decades of research by John Sterman at MIT have demonstrated that even highly educated professionals fail basic stock-and-flow reasoning tasks. Show people a graph of inflows and outflows and ask them to sketch the resulting stock level, and the majority get it wrong. They confuse the flow with the stock. They assume that when inflow drops, the stock drops — when in fact the stock keeps rising as long as inflow exceeds outflow, just more slowly. This isn't a minor cognitive wrinkle. It's a fundamental bug in human reasoning about dynamic systems, and it explains why companies overshoot on hiring, why governments undershoot on infrastructure, and why individuals consistently misjudge how long it takes to build — or destroy — anything that accumulates.
The diagram itself is the intervention. Drawing the stocks as rectangles, the flows as pipes with valves, and the connections between them as arrows forces you to make the structure explicit. Once it's on paper, the bathtub logic becomes obvious. You can see that customer count is a stock fed by acquisition and drained by churn. You can see that brand equity accumulates slowly through consistent delivery and drains quickly through scandal. You can see that technical debt is a stock that grows with every shortcut and shrinks only through deliberate refactoring. The diagram doesn't tell you what to do. It tells you what's actually happening — which turns out to be the harder problem.