What Is a Stock and Flow Diagram and How It Works

A stock and flow diagram is a visual model that shows how quantities accumulate and move through a system over time. It’s the core tool of system dynamics, a modeling approach developed by Jay Forrester at MIT in the 1960s. If you’ve ever thought about how water fills a bathtub, how money moves through a bank account, or how a disease spreads through a population, you’ve already been thinking in stocks and flows.

Stocks and Flows, Explained Simply

A stock is anything that accumulates. Think of it as a snapshot of “how much” exists at a specific moment: the water in a bathtub, the money in a savings account, the number of people infected with a virus, the inventory in a warehouse. Stocks can only change through flows.

A flow is the rate at which a stock increases or decreases over time. It answers “how fast” rather than “how much.” Water entering the bathtub at 4 gallons per minute is an inflow. Water draining out at 2 gallons per minute is an outflow. The net result: the stock of water in the tub rises by 2 gallons every minute. That relationship between inflows, outflows, and the accumulation they produce is the entire foundation of the diagram.

The key insight is that a stock’s current level equals all its past inflows minus all its past outflows. You can’t change a stock instantly. You can only change it by adjusting the flows feeding into or out of it. This is why your bank balance doesn’t jump overnight (unless a large flow hits it), and why a pandemic doesn’t end the moment transmission slows. Stocks have memory. Flows don’t.

The Standard Visual Symbols

Stock and flow diagrams use a consistent set of symbols across most modeling tools:

  • Stocks are drawn as rectangles, representing containers or accumulations.
  • Flows are drawn as pipes with small valve symbols, showing the movement of material into or out of stocks. An arrow on the pipe indicates direction.
  • Sources and sinks are drawn as small clouds. They represent stocks that lie outside the boundary of your model. A cloud on the inflow side means the material is coming from somewhere you’re not tracking. A cloud on the outflow side means it’s leaving the system entirely.
  • Converters are additional variables (often drawn as circles) that influence flow rates but aren’t stocks themselves. A tax rate, an interest rate, or a contact rate between people would be converters.
  • Connectors are thin arrows linking converters, stocks, or flows to show which variables influence which. They carry information, not material.

Together, these six elements can represent surprisingly complex systems. The rectangles tell you what’s accumulating. The pipes and valves tell you what’s moving. The clouds mark where your model’s boundaries are. And the connectors show what information drives the rates of change.

How Feedback Loops Drive Behavior

What makes stock and flow diagrams more than simple plumbing charts is feedback. In most real systems, the current level of a stock influences its own flows. Your bank balance (stock) earns interest (inflow), which increases the balance, which earns more interest. That’s a reinforcing feedback loop, and it produces exponential growth.

A balancing feedback loop works in the opposite direction. A thermostat senses room temperature (stock), compares it to a target, and adjusts heating (flow) to close the gap. The closer the temperature gets to the target, the less the heater runs. The system settles toward equilibrium.

Every decision in a stock and flow model occurs within at least one feedback loop. The decision controls an action, the action changes a stock, and the new stock level feeds back into the next decision. Complex systems are essentially assemblies of interacting feedback loops, some reinforcing and some balancing, often producing behavior that’s counterintuitive when you try to reason about it without a model.

A Real Example: Modeling Disease Spread

One of the most widely taught stock and flow models is the SIR model used in epidemiology. It tracks an infectious disease using three stocks: Susceptible people (S), Infected people (I), and Recovered people (R).

The flow from S to I is the infection rate. It depends on how many susceptible and infected people are in contact with each other, scaled by a transmission constant. The flow from I to R is the recovery rate, driven by how quickly infected people recover. There’s no flow back into S in the basic model, meaning recovery grants immunity.

What makes this powerful is that the diagram replaces three differential equations with a picture you can read intuitively. The stock of susceptible people shrinks as the infection rate pulls people out of it. The stock of infected people grows from new infections but shrinks as people recover. The stock of recovered people only grows. Each stock, paired with its inflows and outflows, visually represents one equation in the system. During the COVID-19 pandemic, system dynamics modelers used exactly this structure (with added complexity) to simulate outbreak scenarios.

The feedback here is important: as more people get infected and then recover, the pool of susceptible people shrinks, which slows the infection rate, which eventually causes the epidemic to peak and decline. That’s a balancing loop built right into the structure of the diagram.

The Math Under the Surface

You don’t need to understand calculus to read or build a stock and flow diagram, but it helps to know what’s happening underneath. Every stock is defined by an integral: its current value equals its starting value plus the total of all inflows minus all outflows accumulated over time. Every flow is a rate of change, measured in units per time period (gallons per minute, people per day, dollars per month).

When you connect stocks and flows in a diagram, you’re implicitly writing a system of differential equations. The software solves these equations for you, stepping forward through time in small increments and recalculating each stock’s value based on its flows. This is why stock and flow diagrams are so useful for simulation: they let you describe the logic of a system visually, and the math runs automatically in the background.

Where Stock and Flow Diagrams Are Used

System dynamics modeling shows up across a wide range of fields. Forrester originally applied it to industrial management, modeling how supply chains, workforce levels, and inventory interact. His later work scaled up to urban dynamics and even global resource limits, famously producing a computer model he simply called “World” during a marathon July 4th coding session.

Today, stock and flow diagrams are used in public health (epidemic modeling), environmental science (tracking carbon flows or water cycles), business strategy (market growth, customer churn), project management (workforce and task backlogs), and education. Any situation where things accumulate and deplete over time, influenced by rates you can identify, is a candidate for this kind of model.

Building Your First Diagram

Several software tools support stock and flow modeling. Dedicated system dynamics platforms like Stella, Vensim, and iThink are built specifically for this purpose and handle simulation natively. General-purpose tools like Visio and Visual Paradigm let you draw the diagrams without built-in simulation. Some of these tools integrate with Microsoft Office applications for easier sharing.

To start building a diagram, identify what’s accumulating in your system. Those are your stocks. Then ask what causes each stock to increase or decrease. Those are your flows. Next, figure out what determines each flow’s rate. Some of those factors will be constants, and some will depend on the current levels of stocks, creating the feedback loops that give the system its behavior. Place clouds at any boundary where material enters from outside your model or exits it entirely. Connect the pieces, set starting values for your stocks and rates for your flows, and run the simulation forward to see how the system behaves over time.