Welcome to Think in Systems. Or welcome back if you read my first post.
In my first post, I wrote about what systems are and how the interconnections between the system elements determine their behavior. In this post, I’ll explain how systems form behavior patterns over time and how a system thinker might use those patterns to figure out whether a system is behaving well or not.
To understand a system, understand its stocks and flows
We know that some systems behave well and others badly. When systems display bad behavior, we want to change them before the bad behavior gets out of control.
But how does a system thinker go about understanding system behavior in the first place?
Breaking a system down into its individual parts doesn’t get us very far because most systems, complex ones anyway, are more than the sum of their individual parts. To understand why a system behaves a certain way, we need to be able to visualize the interdependencies and connections across the system in addition to the parts. System thinkers do this by breaking systems down into stocks and flows.
A stock is any system element that you can measure, and a flow is anything that changes the stock. We can use stock-flow diagrams to reveal how stocks and flows are related.

By understanding how stocks and flows are related and how they change over time, we can start to uncover patterns in system behavior. This can help us determine whether the system is working well or, if not, help us figure out why a system might be broken and what we can do about it.
Let’s look at a “real-world” example to demonstrate how the dynamics between stocks and flows lead to behavior patterns over time.
There’s always money in the banana stand
Imagine you own a frozen banana stand business like the Bluth family did in Arrested Development (hopefully, at least one reader is also a fan of Arrested Development).
Your business is a system comprised of your inventory, customers, employees, and more. The purpose of your business is to sell tasty treats and, hopefully, make a little money (or launder money if you’re George Bluth).
The simple stock-flow diagram below shows how the stand’s banana inventory (stock) is affected by banana deliveries and customer purchases (flows).

Whenever you get a new shipment of bananas from your distributor, the banana stock increases. Whenever you sell a frozen banana, the banana stock decreases.
You would be in trouble as the banana stand owner if you had to grow one banana for every banana you sold. Luckily, stocks throughout the banana system (and related systems like banana plantations and distribution networks) allow you to build up an inventory of bananas to manage fluctuations in customer demand.
Bananas flow through the system from a farm to the frozen banana stand and from the stand to customers, but these flows are actually independent of each other. They are only related to each other in that they are flows to or from your stand’s banana stock.
The independence of the inflows and outflows of bananas means that you don’t need to sell a banana before you increase your banana inventory and vice-versa. This dynamic can lead to challenges, however, if the inflows and outflows get out of balance. For example, your customers don’t care if your supplier has an issue with their banana crop or if you didn’t buy enough bananas to meet demand. They still want their frozen bananas, but your stock doesn’t help you fulfill demand if it’s empty.
Many of your decisions about running the banana stand will have to do with these stocks and flows. How should you price the bananas to get more outflows? How can you find reliable suppliers with fair prices to meet customer demand and maintain your margins? What happens if your freezer breaks and you can’t store the bananas?
You can see why stocks and flows are valuable tools for a system thinker. Exploring how stocks and flows are connected and how they remain consistent or change over time can give us insights into system behavior patterns, which are critical for understanding whether a system is working well or not.
But how do changes in stocks and flows occur? And why do some systems stay balanced while others change consistently away from their starting state over time?
The short answer: feedback loops!
Feedback loops: the regulators of system behaviors
Feedback loops are formed when the changes in a stock affect the inflows or outflows of that same stock. When you sell a banana from your banana stand, you know you need to replenish your inventory at some point before you run out of bananas. The decrease in inventory leads to an increase in inventory. That’s a feedback loop.
There are two types of feedback loops: negative and positive.
A negative (or stabilizing) feedback loop sounds bad, but it just means that the feedback loop stabilizes system behavior over time, returning it to a state of equilibrium. As an example, when you have an excess of bananas at the banana stand, you might sell some of the bananas at a discount to get the banana supply back to a manageable level. This feedback loop stabilizes the stock of bananas based on current levels of supply and demand.
Alternatively, some systems have positive (or reinforcing) feedback loops, which reinforce behavior patterns that lead a system away from its starting state. If you buy new bananas every day even when you don’t sell any bananas, your stock of bananas will increase. As long as the inflows outpace the outflows, this feedback loop reinforces the increase of the banana stock over time. If this feedback loop continues, you’ll eventually end up with too many bananas to fit into your stand’s little freezer. What a waste!
So, why don’t stabilizing feedback loops counteract bad system behavior every time? And why do reinforcing feedback loops allow system behavior to get out of control?
The limitations of feedback
Feedback loops aren’t always perfect, especially in human-made systems. I’ll focus on three possible reasons why here.
Design flaws: Feedback loops can be ineffective if a system or feedback mechanism is designed poorly.
Feedback delays: Feedback loops rely on one obvious thing—feedback—to work. Feedback delays can keep critical information from reaching the feedback loop, thereby delaying changes in system behavior.
Human error: Even when a system receives feedback that should trigger a feedback loop, the system doesn’t always respond as we expect or want. Humans and organizations have their own agendas and often choose whether or how to respond to feedback. When they decide not to respond, or if they react in the wrong way, the system’s behavior can stay bad or get worse.
Let’s look at some examples to show how these challenges play out.
Design flaws
For argument’s sake, let’s pretend that you reorder bananas for the banana stand every time you sell out of bananas. You sell your last banana one afternoon, place your new order, and receive your shipment of fresh bananas a few days later.
Your stock of bananas was depleted, leading to it getting refilled with a new shipment. Great, the feedback loop works! But your customers will be unhappy if they show up on the days when you’re waiting for a new shipment. You will also have lower revenue if you can’t sell frozen bananas for days at a time.
The poor design of your reordering process limits the effectiveness of the feedback loop even though it technically works. It doesn’t matter how well a feedback loop works if it keeps bad system behavior going.
Feedback delays
Even when a system and its feedback mechanisms are designed well, the feedback rarely reaches the system in real-time, as this passage from Thinking in Systems illustrates (emphasis added).
The information delivered by a feedback loop—even nonphysical feedback—can only affect future behavior; it can’t deliver a signal fast enough to correct behavior that drove the current feedback.
It would be great if you could manage your banana inventory perfectly, but feedback delays make that nearly impossible. For example, if a shipment is delayed, you find out after the shipment is delayed, which can make it difficult to find an alternate supplier in time to meet customer demands in the short term. Your banana supply will dwindle until you run out of bananas. More unhappy customers!
Feedback delays aren’t so bad when we’re talking about a frozen banana stand, but the effect of a delay can be troublesome on a bigger scale. We’re seeing this play out with surging inflation in the US today.1
Policymakers (the Fed) rely on various economic indicators to decide what monetary policies to enact. However, there’s no such thing as a real-time economic indicator (change my mind), so every decision the Fed has made regarding monetary policy over the last few years has been either preemptive or delayed.2
When the Fed lowered interest rates and started its unlimited money-printing and bond-buying spree in early 2020 to counteract the economic impact of the pandemic, it set our financial system on a course for inflation. Now, as prices rise, the Fed is planning to tighten monetary policy throughout the year to curb inflation. The feedback about inflation and the upcoming policy changes can’t change the past, however, so inflation is here to stay regardless of what the Fed does in the short term.
Eventually, there should be a stabilizing feedback loop that brings inflation down, but only time will tell how effective the Fed’s efforts will be and when.
Human error
When feedback arrives in a system with human participants (humans, organizations, governments, etc.), the feedback is just information. For feedback to trigger a feedback loop, the system’s participants have to be ready to accept the feedback and change behavior because of its signals. If they don’t act, or act incorrectly or irresponsibly, the feedback loop will not work well or as planned.
Imagine it’s Labor Day Weekend. LDW is probably a great time to sell frozen bananas. You have record sales, and you’re raking in cash. You might think, “Hey, business is really booming,” and double your banana order from your distributor as a result.
Sadly, the dark days of winter are approaching. Customers dwindle and you’re left with a bunch of bananas that will eventually spoil (and spoil your bottom line). You misinterpreted feedback and now your money stock has been depleted by banana orders and hasn’t been replenished by sales.

It’s going to be a tough winter.
Feedback is only as good as what you do with it. In human systems, good decisions can come at a premium.
All systems go
To recap, feedback loops stabilize or reinforce system behavior over time.
Stabilizing feedback loops help to balance system behavior when it deviates from an equilibrium point and reinforcing feedback loops keep a system going away from some starting state.
Feedback loops can lead to good system behavior patterns like rising cash flows and bad ones like high inflation. System design flaws, feedback delays, and other factors like human error can amplify and prolong the effects of bad system behavior.
Mapping stocks and flows helps a system thinker understand the elements and interconnections of a system and how they contribute to a system’s behavior. The dynamics of stocks and flows usually reveal critical information about a system’s behavior and what types of feedback mechanisms and loops are causing the system’s behavior to persist or change over time.
The examples we used here were relatively simple. You can probably guess how difficult it would be to map all the stocks and flows of a complex system like a global economy. It may be challenging, but the effort can dramatically improve our chances of identifying and fixing bad system behaviors before they get out of control.
All systems go (and go, and go…) because of feedback loops, but many systems need help to go in the right direction. Designing systems with effective feedback mechanisms and revisiting them occasionally to see how they’re working can encourage better behavior patterns over time, even in complex systems that are difficult or impossible to predict and control.
Thanks for reading!
Economists generally think about two broad types of inflation—demand-pull inflation and cost-push inflation. Demand-pull inflation means that demand is outpacing supply, like what’s happening now in the United States. The U.S. central bank printed a lot of money during the pandemic and gave a lot of that money to U.S. consumers. Now, as we try to spend that money, productive capacity can’t keep up to meet demand, thus high inflation. Cost-push inflation happens when costs to produce goods (e.g., labor or raw material prices) go up. These costs are passed on to consumers in the form of higher prices. This is also happening in the United States today, compounding producer woes. Double whammy!
This is an extreme oversimplification of what’s happening in the economy today, but it’s a helpful backdrop for this discussion.
This also happened with the pandemic. When we didn’t have sufficient testing or policies in place to mitigate the spread of covid-19, the stock of people who contracted covid rose exponentially. Everyone who got infected was likely to infect multiple other people, and so on. The “stock” of people with covid-19 grew and grew, and there was very little we could do. The feedback was there, telling us that Covid-19 is very dangerous, but it didn’t come fast enough to prevent the initial snowball effect of cases that took us past the point of no return.