I ended last week’s episode with causal loop diagrams. They can help improve our conceptual understanding of a system and the feedback loops that drive behavior. But what if we want to predict or simulate what goes on in a system? For that, we need a more quantitative approach.
One way to get there is to upgrade the causal loop diagram to a stock & flow diagram. In order to apply this method, we must add a fundamental distinction to the variables that we plot on our diagrams. We need to classify every variable as either a stock or a flow. Understanding the difference is key to understanding the dynamics of a system.
A bathtub analogy is the easiest way to distinguish between stocks and flows. A stock describes the state of the system at a given point in time: the amount of water that has gathered in the bathtub. We measure this amount in a unit like liters. Some other examples of stock variables are inventory, cash, and population.
A flow, on the other hand, describes the change over a period of time: the amount of water entering or leaving the system. In our bathtub example, we use the same measure of volume (liters), but we include the rate at which they enter or leave the system, e.g., liters per minute.
Over time, stocks accumulate or deplete based on flows. This allows us to represent the rate of movement into and out of the system. Some examples of flow variables include cash flow (a flow affecting the stock variable of cash), layoffs (affecting employees), net income (affecting retained earnings), etc.
A stock and flow diagram is a more formal representation of the causal loop diagram (and a necessary step for any attempt at computing the system dynamics). In the example below, I have created a simple diagram that keeps track of a company’s headcount:
But does it beat a spreadsheet? In simple processes, perhaps not. When things get more complex, the stock and flow diagram does have significant advantages. For one, you can extend a stock and flow diagram without losing sight of the system. Most business processes are not stand-alone formulas. We end up with a better model by articulating the interactions and feedback loops.
There are myriad ways to add to the simple model above. You could double-click on the factors that impact the headcount stock, for example, by adding more detail to the attrition outflow (retirements, promotions, involuntary exits, regretted leavers,…). You could also zoom out and map the impact of employee headcount on financial stocks and flows.
Of course, spreadsheets can also be endlessly extended, but they don’t force their users to think about the interaction between stocks and flows. As the systems thinking episode made clear, there is more leverage in identifying patterns and trends than there is in managing components. Spreadsheet managers may miss:
Delays: A stock and flow diagram can show the time lag between different flows in the system, such as the delay between hiring new employees and those employees becoming fully productive.
Cyclical patterns: A stock and flow diagram can reveal cyclical patterns in the system over time, such as seasonal fluctuations in hiring or resignation rates.
Threshold effects: A small change in one element can lead to a significant change in another element. For example, a sudden increase in leavers that post unfavorable Glassdoor reviews might lead to a sharp decrease in the number of applications, which could have a cascading effect on the overall headcount of the company.
In summary, by including the stock & flow dimension, we gain an understanding of how the interactions influence the system's behavior over time. By modeling the rate of change and any time delays between interactions, we can play around with different scenarios and reason about the evolution of the system over time.
Once a model becomes a program, we can bring the full force of information technology to bear on this representation of reality. That may seem trivial, but the ability to simulate how a system responds to different inputs and conditions is a superpower. I’ll zoom in on this in next week’s episode.
Further reading
This episode, as well as the last, builds heavily on two sources:
“Systems Mapping: How to build and use causal models of systems”: a very practical and open access book written by complexity scientists Alexandra S. Penn and Pete Barbrook-Johnson
“Business Dynamics: Systems Thinking and Modeling for a Complex World”: the classic book on system dynamics by John Sterman