Stocks, Flows, Feedback Loops: How Every System Works

By Brexis Wazik 16 min read -

Turn the faucet down to a trickle and a nearly full bathtub will still overflow. That single fact trips up MIT graduate students, climate debates, and corporate boardrooms alike. It is not a trick question. It is a window into how almost every system on earth actually works.

Once you learn the four parts the machine is built from, “complicated” situations stop being mysteries. A bank account, a forest, a software team, your own habits, the global climate. They all run on the same handful of pieces.

Why this matters

Most of us reason in straight lines. We assume more effort gives more result, that cutting the cause shrinks the problem, and that a fix should work right away. Real systems break all three of these assumptions, quietly and constantly.

That gap is expensive. It is why diets stall, why projects catch fire, why companies hire and fire in waves, and why people argue past each other about climate. When you can see the machinery underneath, you stop being surprised. You start predicting behavior that looks like magic to everyone else, and you find the small, well-placed pushes that actually change things.

There are only four core pieces:

  1. Stocks are the things that pile up.
  2. Flows are the rates that fill or drain those piles.
  3. Feedback loops are how a stock loops back to change its own flows.
  4. Delays are the lags between doing something and seeing the result.

That is the whole alphabet. Everything else is grammar built on these four letters.

Stocks: the things that pile up

A stock is anything that accumulates. It builds up or drains down, and you could measure it at a single moment in time. It answers the question “how much is there right now?”

The classic picture is the water in a bathtub. At any instant you can pause, take a ruler, and read off exactly how much water is sitting there. That level is a stock.

Once you look, stocks are everywhere:

  • Money in your bank account.
  • Unread emails in your inbox.
  • Your body weight.
  • Inventory in a warehouse.
  • The trust in a friendship.
  • The carbon dioxide in the atmosphere.
  • The messy, unfinished code in a software project, often called “technical debt.”

Donella Meadows, one of the clearest voices in this field, called a stock “the present memory of the history of changing flows.” That phrase is worth unpacking. Your bank balance today is not a fresh fact. It is the accumulated record of every deposit and withdrawal you have ever made. The stock remembers. Your weight is the memory of years of eating and moving. Trust is the memory of every promise kept and broken.

A stock is the system’s storage of its own past.

Flows: the rates that change a stock

A stock just sits there unless something changes it. Those changes are flows, and they are measured per unit of time: per second, per day, per month.

An inflow raises the stock. An outflow lowers it.

Back to the bathtub. The faucet is the inflow, water pouring in. The drain is the outflow, water leaving. The level goes up or down depending on those two flows.

Here are some everyday pairs:

Stock (the pile)Inflow (fills it)Outflow (drains it)
Bank balanceIncomeSpending
Body weightCalories eatenCalories burned
Company headcountPeople hiredPeople who quit or are fired
InventoryGoods receivedGoods sold
Atmospheric CO2EmissionsAbsorption by oceans and plants
PopulationBirthsDeaths

Now the teaching point that changes how you act in the world:

You control flows. You experience stocks.

You cannot grab the water level directly. You can only turn the faucet or open the drain. You cannot directly set your bank balance. You can only change income and spending, and then wait.

This is why “just decide to weigh less” never works, and “just decide to have more savings” never works either. Stocks are not directly adjustable. They move only when you change the rates that feed or drain them.

The bathtub trap: the most common error in systems thinking

Here is the single most common mistake in all of systems thinking. It is so reliable that researchers have shown even top graduate students get it wrong.

The error is believing that reducing the inflow automatically reduces the stock. It does not.

Imagine the bathtub is filling fast and nearly full. You turn the faucet down to a trickle. Has the level dropped? No. It is still rising, just more slowly, because even a trickle is more than the slow drain can let out. The tub will overflow.

To make the level actually fall, the inflow must drop below the outflow. Smaller is not enough.

This is exactly the climate confusion. People hear “we cut emissions this year” and assume the CO2 in the atmosphere is now going down. It is not. CO2 is a stock. Emissions are the inflow, natural absorption is the outflow, and emissions are still far higher than absorption. So the stock keeps climbing. Cutting emissions only slows the rise. The level will keep growing until emissions fall below what the planet can absorb. Same logic as the tub.

This one confusion explains bad reasoning about debt, weight, climate, inventory backlogs, and project bug counts. Whenever someone says “we cut the inflow, so the pile must be shrinking,” remember the tub.

One bonus idea. When inflow exactly equals outflow, the stock holds steady even though water keeps moving. That is dynamic equilibrium: a balanced but living state, like a bathtub with the faucet and drain perfectly matched.

Feedback loops: the engine of behavior

Stocks and flows alone are just plumbing. The real action starts when a stock loops back to change its own flows. That is a feedback loop: a closed chain of cause and effect where output becomes input.

The everyday example is a thermostat. Room temperature controls the heater. The heater controls the room temperature. Round and round: temperature, heater, temperature. That circle is the loop.

Once you start hunting for loops, you stop seeing straight lines of cause and effect and start seeing circles. This shift, from lines to circles, is the heart of systems thinking. And there are exactly two kinds of loop.

Balancing loops: the stabilizers

A balancing loop is goal-seeking. It resists change, pushes a stock toward a target, and holds it there. Diagrammers label it B.

The word “negative” is sometimes used for these loops, but it does not mean “bad.” It means the loop opposes whatever change is happening.

Think of the thermostat. Too cold, the heater runs until it hits the target, then shuts off. Too hot, it stops. The loop always pushes back toward the goal, say 21 degrees. Filling a glass of water is the same: you slow the pour as it nears full. Your body sweating to cool down is a balancing loop holding your temperature steady.

Balancing loops are the reason most things in your life do not fly off to infinity. They are nature’s and society’s thermostats. They hold blood sugar steady, hold prices around a sensible level, and bring a crash diet’s weight loss to a halt when the body fights to restore its old set-point.

Reinforcing loops: the amplifiers

A reinforcing loop is self-amplifying. More leads to more, or less leads to less. It does not seek a goal. It runs away, producing explosive growth or accelerating collapse. Diagrammers label it R.

Again, “positive” does not mean “good.” It means the loop reinforces the change in the same direction.

The cleanest example is compound interest. Money earns interest, which is added to the money, which then earns even more interest. More money makes more money makes more money. The pile snowballs. The same shape drives a rumor spreading, a panic bank run, and the saying “the rich get richer.”

Habits run on reinforcing loops too. You go for a run, feel good, run again, get a bit fitter, which makes running more pleasant, so you run more. A virtuous cycle. Debt runs the same loop in reverse: you borrow, interest grows the debt, payments get harder, so you borrow more. A vicious cycle. Same machinery, opposite feeling.

And here is a crucial truth: a reinforcing loop never runs forever. Something always stops it. Eventually it hits a limit, which is a balancing loop. Money compounding meets the size of the economy. A growing population meets the food supply. A rumor runs out of people who have not heard it. Whenever you see runaway growth, ask: where is the limit that will eventually catch it?

Balancing (B)Reinforcing (R)
What it doesResists change, seeks a goalAmplifies change, no goal
Behavior over timeSettles toward a targetExplodes or collapses
Everyday pictureThermostat, sweating, filling a glassCompound interest, rumor, bank run
NicknameStabilizerSnowball, vicious-or-virtuous cycle

Delays: the source of nearly every surprise

If feedback loops are the engine, delays are why the engine keeps catching us off guard. A delay is the time gap between an action and its visible effect, between cause and consequence. Delays are normal and unavoidable, and they make systems hard to steer.

The perfect example sits in your bathroom. You step into the shower and the water is cold. You turn the dial toward hot. Nothing happens, because the hot water has not traveled through the pipe yet. Impatient, you crank it further. Suddenly scalding water hits you. You yank it back toward cold, overcorrect, and freeze. Then you do it again, oscillating between too hot and too cold, never settling.

Nothing was wrong with the plumbing or with you. The problem is the delay between turning the dial and feeling the result.

That oscillating dance is not bad luck. It is the predictable output of a balancing loop, you trying to reach a comfortable temperature, plus a delay. Delays turn smooth steering into wild swinging.

You see the same shape in business. A company watches sales rise and hires more staff. But hiring, onboarding, and training take months. By the time the new people are productive, the sales spike has passed, and now the company is overstaffed and cutting jobs. Then sales rise again and it under-hires. The workforce oscillates, just like the shower.

It even has a famous name in supply chains: the bullwhip effect. A small bump in customer demand at the store gets passed up to the distributor, then the factory, then the raw-material supplier. Because each link reacts to delayed, secondhand information, the orders get wildly exaggerated as they travel up the chain. A tiny wiggle at the bottom becomes a giant whip-crack at the top.

Overshoot and collapse: delays inside loops

Put delays together with the two kinds of loop and you get the dramatic behavior systems are famous for.

  • Overshoot is going past a limit before the delayed “you’ve gone too far” signal finally arrives. You scald yourself in the shower because the warning came late.
  • Oscillation is the back-and-forth swinging a delay creates inside a balancing loop. Hot, cold, hot, cold.
  • Overshoot-and-collapse is when reinforcing growth charges through a limit so fast, and damages the limit itself in the process, that the system does not just stop. It crashes, and cannot recover.

Picture a deer population in a valley growing year after year, a reinforcing loop. With a delay, it blows past the amount of food the land can supply. By the time starvation kicks in, there are far too many deer, and they have stripped and damaged the vegetation. The population does not gently level off. It crashes, and because the land was overgrazed, it cannot bounce back to where it was.

This overshoot-and-collapse pattern is the central warning of Meadows’ famous study The Limits to Growth.

The lesson: smooth, gentle behavior comes from loops without much delay. Wild behavior, the swinging and overshooting and crashing, comes from delays inside loops. If a system keeps surprising you, the delay is usually hiding in plain sight.

Nonlinearity and tipping points: small causes, huge effects

So far we have mostly imagined that bigger pushes give bigger results. Real systems often do not work that way. They are nonlinear, meaning cause and effect are not proportional. A small change can produce a giant effect, or a huge effort can produce almost nothing.

Think of the straw that broke the camel’s back. The camel carried ten thousand straws with no problem. One more, identical to the rest, and it collapses. The last straw was not special. The system had reached a point where its response stopped being proportional.

Adding fertilizer to a crop works the same way. A little helps a lot. More helps a bit. Even more does nothing. Too much actually poisons the soil and kills the crop. Doubling the fertilizer does not double the harvest. Anyone who assumes “more input always means more output” will badly misjudge what to do.

Closely related is the tipping point, also called a threshold: a critical level beyond which the whole system suddenly flips into a new and different state, often one that is hard or impossible to reverse.

Heat a pot of water. At 97 degrees it is still water. At 98, still water. At 99, still water. At 100, suddenly and violently it boils into steam. Nothing dramatic happened for almost the whole journey, and then everything changed at once.

A lake does the same thing. It slowly takes in fertilizer runoff for years with no visible problem, the water staying clear. Then one season it tips. Algae explode, oxygen vanishes, fish die, and the lake turns green and lifeless seemingly overnight. The slow build-up was invisible. The flip was sudden. And getting the lake back to clear is far harder than it was to push it over the edge.

This is why both slow progress and sudden disasters surprise people who think in straight lines.

Common misconceptions

  • “We cut the inflow, so the pile is shrinking.” No. The stock keeps growing until the inflow drops below the outflow. Smaller is not the same as falling.
  • “Negative feedback is bad, positive feedback is good.” Neither word is about good or bad. Negative (balancing) loops stabilize; positive (reinforcing) loops amplify, whether the result is wonderful or catastrophic.
  • “The fix isn’t working, so we need a bigger fix.” Often the fix is working, but a delay is hiding the result. Push harder and you will overshoot. The cure is usually patience and smaller adjustments, not bigger, faster ones.
  • “Twice the effort gives twice the result.” Nonlinearity breaks this everywhere. You can push for ages with little to show, then a tiny extra push flips the whole system.
  • “Reinforcing growth will continue.” It never does. Some limit is always waiting. The only question is when it arrives, and whether it arrives gently or as a crash.

How to read any system in four questions

When a situation feels tangled, slow down and ask these in order. They turn a confusing mess into a readable machine.

  1. What is the stock? What is piling up or draining down? Name the thing you could measure at a single moment.
  2. What are the flows? What feeds the stock, and what drains it? Remember you can only act on flows, never on the stock directly.
  3. Is there a loop? Does the stock circle back to change its own flows? If so, is it a stabilizer (balancing, B) or an amplifier (reinforcing, R)?
  4. Where are the delays? Find the lag between action and effect. That is where oscillation, overshoot, and nasty surprises hide.

Try it on technical debt in a software team, though the same shape fits a messy house or a neglected garden. The stock is messy, fragile code. The inflow is every rushed shortcut. The outflow is time spent cleaning it up. The reinforcing loop: the messier the code, the slower and buggier new work becomes, so the team rushes more, which adds more mess. The delay: the pain of today’s shortcut does not show up for weeks, so it feels free at the time. The tipping point: eventually the codebase gets so tangled that one small feature triggers a cascade of bugs, and the project flips from “manageable” to “everything is on fire.”

Notice that nobody on the team is lazy or stupid. Each shortcut was reasonable under pressure. The trouble lives in the structure, not the people. That is the deep lesson: structure drives behavior.

A first taste of diagramming

You do not need full diagrams yet, but two symbols make all of this precise. Picture variables connected by arrows, each arrow with a label.

  • A + arrow means the two variables move in the same direction. More of A causes more of B.
  • A - arrow means they move in opposite directions. More of A causes less of B.

The signs have nothing to do with good or bad. “More crime leads to more police” is a + link even though crime is bad. Keep direction and desirability completely separate.

One elegant trick: to tell whether a whole loop is reinforcing or balancing, count the minus signs around it. An even number, including zero, makes the loop reinforcing (R). An odd number makes it balancing (B). And delays are marked with a small double-slash on the arrow, because they are the key to predicting oscillation.

Conclusion

Here is the one thing to carry with you: stocks pile up, flows change them, feedback loops let stocks steer their own flows, and delays make that steering go wild. Master those four, and runaway growth, stubborn stability, oscillation, and sudden collapse stop being mysteries. They become predictable machinery you can read.

But reading a system is only half the prize. The same four pieces tend to fall into a small set of recurring traps, the patterns that snare smart people again and again, like “fixes that backfire” and “the tragedy of the commons.” Learn to recognize those patterns, and you can spot the high-leverage point where a small, well-placed push changes everything. That is where we go next.

Frequently asked questions

What is the difference between a stock and a flow?

A stock is something that piles up and that you could measure at a single moment, like the water in a bathtub or money in your account. A flow is the rate at which that stock fills or drains, like the faucet pouring in or the drain letting out.

What are the two types of feedback loops?

Balancing loops resist change and pull a stock toward a goal, like a thermostat holding a room at one temperature. Reinforcing loops amplify change so more leads to more, like compound interest snowballing.

Why does reducing emissions not lower CO2 right away?

CO2 in the atmosphere is a stock, and emissions are only the inflow. The stock keeps rising as long as emissions stay above what oceans and plants absorb. Cutting emissions slows the rise, but the level only falls once the inflow drops below the outflow.

Why do systems oscillate or overshoot?

Delays. When there is a lag between an action and its visible effect, you tend to overcorrect, then correct back, then overcorrect again, like fighting a slow shower dial. Delays inside feedback loops turn smooth steering into wild swinging.

What is a tipping point?

A tipping point is a threshold beyond which a system suddenly flips into a new and often irreversible state, like water boiling at 100 degrees or a clear lake turning green and lifeless. Little seems to change until everything changes at once.

Can a reinforcing loop grow forever?

No. A reinforcing loop always runs into a limit, which is a balancing loop. Money compounding meets the size of the economy, a growing population meets the food supply, and a spreading rumor runs out of new people to tell.

Further reading

Continue reading

Related topics