Skip to content
Mental Models

Feedback Loops & Systems Thinking

Stocks & Flows: The Bathtub Model

Before you can read a loop you have to read the thing it loops around. Stocks are what accumulates; flows are the rates that fill and drain them — and confusing the two is the most common systems error there is.

11 min Updated Jun 27, 2026

Picture a bathtub. The faucet is open, water pours in, and there’s a drain at the bottom that may or may not be plugged. Stare at it for a second and you’ve already met every concept this lesson teaches. The water sitting in the tub is a stock — a quantity that has piled up. The faucet and the drain are flows — the rates at which that quantity rises and falls. That’s the whole model. It’s almost insultingly simple, and it is also the single most-confused distinction in all of systems thinking — the one that lets perfectly smart people misread climate, debt, weight, and half the headlines they read.

The last course taught you to ask “and then what?” — to follow a decision into the world’s reaction. But you may have noticed a nagging question: why does a consequence so often build up over time instead of just happening once? The answer is that the world is full of bathtubs. Effects don’t vanish after they happen; they accumulate in stocks. Before we can talk about loops — which is the whole point of this course — we have to be fluent in the thing every loop loops around. So: stocks and flows. Let’s fill the tub.

Before you read — take a guess

A factory dumps pollution into a lake. This year it cuts its dumping rate in half. What happens to the total amount of pollution sitting in the lake?

The bathtub: stock vs. flow

Here’s the distinction in one breath. A stock is a thing that has accumulated — a quantity you could, in principle, freeze time and count. A flow is a rate — an amount per unit of time that adds to a stock or subtracts from it. The faucet doesn’t have water; it delivers water at, say, ten liters a minute. The tub has water — forty liters, right now, this instant.

The tell that separates them is units. A stock is measured in a plain amount: liters, dollars, people, tons, degrees, “trust.” A flow is always measured in amount per time: liters per minute, dollars per month, births per year, tons per day. If you can’t say it without sneaking a “per [time]” into the unit, you’re looking at a flow. If you can name it at a single frozen instant, it’s a stock.

The same model maps onto almost anything that piles up:

Stock (the accumulation, at an instant)Inflow (fills it)Outflow (drains it)
Water in a bathtub (liters)Faucet (L/min)Drain (L/min)
Money in a bank account ($)Deposits, interest ($/month)Spending, fees ($/month)
People in a country (persons)Births, immigration (persons/yr)Deaths, emigration (persons/yr)
CO2 in the atmosphere (gigatons)Emissions (Gt/yr)Natural absorption (Gt/yr)
Inventory in a warehouse (units)Production, deliveries (units/day)Sales, spoilage (units/day)
Trust in a relationship (vibes)Kept promises (vibes/week)Broken promises (vibes/week)

Notice that “trust” is on that list with a straight face. Stocks and flows aren’t only for things you can pour into a bucket. Reputation, skill, goodwill, debt, anger — anything that builds up gradually and drains gradually is a stock, fed and depleted by flows. That’s why the model is so powerful: it’s the same machine whether you’re modeling a reservoir or a marriage.

Tip:

The two-second test

Ask: “Could I count this at a single frozen instant?” If yes — liters, dollars, people right now — it’s a stock. If you can only express it as an amount per unit of time — liters per minute, dollars per month — it’s a flow. Stocks are nouns you can photograph; flows are verbs you can only film.

When to use it

Reach for the bathtub model the moment a problem involves something that builds up over time — savings, emissions, headcount, backlog, body fat, technical debt, reader trust. The first move is always the same: separate the level (the stock) from the rates (the flows) before you say a single word about what to do. Half of all “obvious” fixes are obvious only because someone skipped this step.

Sort the vocabulary.

Pick the right option for each blank, then check.

A quantity you could count at a single frozen instant — like the balance in your account — is a . A rate measured in amount-per-time — like $500 of savings per month — is a . The giveaway is the : if it needs a 'per [time]' it's the rate, not the level.

Stocks change only through flows

Here is the rule that makes the whole model tick, and it sounds almost too obvious until you watch it fool people: a stock can change in only one way — through its flows. Water doesn’t teleport into the tub; it arrives through the faucet. Your bank balance doesn’t jump on its own; money flows in or out. The stock is, precisely, the running total of every flow that has ever happened to it — the accumulation, the sum, what a mathematician would call the integral of the flows over time. Don’t panic at “integral”; it just means add up all the in-minus-out, minute after minute, and the result is the level.

Which gives us the only equation you need for the entire course:

Change in the stock = total inflow − total outflow (over some span of time).

If inflow beats outflow, the stock rises. If outflow beats inflow, it falls. If they’re equal, the stock sits perfectly still even though water is roaring through it — a state called dynamic equilibrium, and a great trap, because a stock can be rock-steady while enormous flows rush in and out, exactly canceling. A calm lake fed by a river and drained by a river is not a still lake; it’s a violently busy one that happens to balance.

Let’s make it concrete. A tank starts with 100 liters. The faucet runs at 10 L/min; the drain lets out 6 L/min. Net flow is therefore 106=410 - 6 = 4 liters added every minute. Trace it:

MinuteInflow (L)Outflow (L)Net (L)Level at end (L)
Start100
1106+4104
2106+4108
3106+4112
4106+4116
5106+4120

Look at what just happened. Both flows held perfectly constant the whole time — nobody touched the taps — and yet the stock climbed every single minute. The level is not the flow. The level is the accumulation of the net flow. After five minutes you’ve added 4×5=204 \times 5 = 20 liters, landing at 120, exactly as the equation promised.

Now flip it. Suppose at minute 5 someone cranks the drain wide open to 15 L/min while the faucet holds at 10. Net flow becomes 1015=510 - 15 = -5 L/min, and the tank starts losing 5 liters a minute. But here’s the part people miss: it doesn’t empty instantly. From 120 liters, draining 5 a minute, it takes a full 24 minutes to hit zero. The stock has history; it remembers every liter that ever went in, and it has to give them all back one minute’s worth at a time.

Warning:

A constant flow does NOT mean a constant stock

The commonest arithmetic slip in this whole subject: assuming that if the flows aren’t changing, the stock isn’t either. Wrong. If inflow exceeds outflow by even a trickle, the stock rises forever, steadily, with nobody touching a single tap. Steady flows produce a changing stock; only equal flows produce a steady stock.

When to use it

Pull out the accumulation rule whenever someone reports a rate and you actually care about a level. “Emissions fell 3% this year.” “We’re hiring slower.” “I cut my spending.” Every one of those is a statement about a flow, and none of them tells you what happened to the stock until you ask: was the inflow still bigger than the outflow? If yes, the stock grew, full stop — slower growth is still growth.

A reservoir holds 200 million liters. Rain and rivers add 30 million L/day; the city draws out 30 million L/day. After a week of this, the reservoir is...?

The cardinal error: confusing a stock with a flow

Everything so far has been a warm-up for this section, because this is the mistake — the one error that, once you can spot it, makes you measurably smarter than most pundits, politicians, and your own gut. It is the habit of treating a flow as if it were a stock, or a stock as if it were a flow. It hides inside ordinary language, and it has real consequences.

Take the headline case: carbon dioxide in the atmosphere. The amount of CO2 up there right now is a stock (measured in gigatons, or as a concentration in parts per million). Annual emissions are an inflow (gigatons per year). Natural processes — oceans and plants soaking carbon back up — are the outflow. Now here’s the trap that fools entire newsrooms: people hear “emissions have leveled off” or “emissions stopped rising” and conclude the problem is solved. It is not. Leveling off the inflow does nothing to the stock as long as inflow still exceeds outflow. The CO2 in the air keeps climbing — at a steady rate instead of an accelerating one, which is genuinely better, but it is still climbing. The tub is still filling; we just stopped opening the faucet wider.

To actually shrink the atmospheric stock, emissions (inflow) must drop below what the planet absorbs (outflow). That’s a vastly higher bar than “stop emitting more than last year,” and the gap between those two ideas — flat inflow versus shrinking stock — is the entire reason climate communication is so confusing. It’s not a physics problem. It’s a stock-flow problem.

The same confusion wears a dozen costumes. Once you learn the shape, you’ll see it everywhere:

Stock (the level)Flow (the rate)The classic confusion
National debt (total owed)Deficit (new borrowing per year)“We cut the deficit!” — but a smaller deficit is still adding to the debt; the debt only shrinks with a surplus.
Bank balance (total saved)Monthly savings (added per month)Saving more each month grows your balance faster — it doesn’t mean you have more than someone who saved longer.
Body weight (kilograms)Calorie balance (per day)“I ate less today” trims the inflow; you only lose weight when calories out exceed calories in, sustained.
Atmospheric CO2 (gigatons)Emissions (per year)“Emissions plateaued” — the stock still rises until emissions fall below absorption.

Spot the pattern? In every row, a politician or a diet ad or your own brain quietly swaps the comforting flow statement (“the deficit shrank,” “I ate less,” “emissions leveled off”) for the thing you actually care about — the stock — and the swap is wrong every time. Reducing how fast a stock grows is not the same as shrinking it. Slamming the brakes is not the same as reversing.

This is also where this lesson reaches back and shakes hands with second-order thinking. Remember how a consequence can compound instead of happening once? A stock is why. The reason a decision’s effects pile up over years rather than firing once and stopping is that they’re feeding a stock — and stocks remember. The consequence accumulates precisely because there’s a bathtub catching it.

Each phrase describes either a level that has piled up (a STOCK) or a per-time rate that changes it (a FLOW). Sort them.

Place each item in the right group.

  • Total CO2 in the atmosphere right now
  • The national debt: total dollars owed
  • The $400 you add to savings each month
  • The balance in your savings account
  • Your body weight on the scale this morning
  • Your daily calorie surplus or deficit
  • This year’s carbon emissions
  • The annual budget deficit: new borrowing per year
Warning:

The signature mistake of this whole field

A falling flow is not a falling stock. A shrinking deficit still grows the debt. Leveled-off emissions still grow atmospheric CO2. Eating a bit less still gains weight if you’re over your burn. To shrink a stock you don’t just slow the inflow — you have to drive outflow above inflow. Anytime someone celebrates a rate going down, ask the only question that matters: is the inflow now below the outflow? If not, the tub is still filling.

When to use it

Run the stock-vs-flow check on every quantitative claim about something that accumulates — money, pollution, population, weight, backlog, followers. The instant you hear a rate word (deficit, emissions, savings-per-month, growth slowed), pause and ask whether the speaker is sneakily implying something about the level. Nine times out of ten the comforting headline is about a flow, and the thing you actually care about is the stock it’s quietly failing to mention.

Because the deficit is the inflow to the debt. As long as the deficit is positive — i.e., the government spends more than it takes in — it is adding to the debt every year. A “smaller deficit” just means it’s adding less than before, like turning the faucet from a gush to a trickle. The debt (the stock) only shrinks when the government runs a surplus — when outflow (revenue) actually exceeds inflow (spending), reversing the net flow. “We cut the deficit” and “we cut the debt” are completely different sentences, and politicians count on you not noticing.

Stocks create inertia and delay

Now for the property that makes stocks so consequential — and so frustrating. Stocks give a system inertia. Because a stock is an accumulation, you can’t change it instantly; you can only change it as fast as its flows allow. A full bathtub drains at the speed of its drain, not the speed of your impatience. This is why systems don’t turn on a dime, and why so many well-intentioned fixes feel like they “aren’t working” — the flow changed immediately, but the stock, sitting on top of all its accumulated history, takes time to follow.

Crank the drain wide open and the tub still takes minutes to empty. Slash a country’s birth rate and its population keeps growing for decades, because there’s an enormous stock of already-living people moving through their lifespans (demographers call this “population momentum”). Stop deforesting tomorrow and the forest doesn’t spring back tomorrow — trees grow at tree speed. Betray someone’s trust and a single heartfelt apology doesn’t refill the stock; trust drains fast and refills slowly, one kept promise at a time. The stock is the system’s memory, and memory takes time to overwrite.

This inertia is precisely why a stock can lag far behind its flows — and that lag, that gap between cause and visible effect, is the seed of one of the strangest behaviors in all of systems thinking. When the thing you’re trying to control responds late, control gets genuinely hard, and systems start to overshoot and oscillate. We’ll meet that troublemaker head-on in Lesson 4, “Delays & Oscillation.” For now, just hold onto the intuition: stocks are slow, and slowness has consequences.

Match each systems term to its precise meaning.

Pick a term, then click its definition.

Why this matters for loops

Time to collect the payoff and point it forward. Why drill stocks and flows so hard before we’ve even properly defined a feedback loop? Because a feedback loop works by sensing a stock and adjusting a flow. That’s the mechanism, every single time.

The cleanest example is the thermostat. The temperature of the room is a stock (degrees, right now). The heater is an inflow of warmth; heat leaking out the windows is the outflow. The thermostat does exactly one thing: it reads the stock (the current temperature) and, based on that reading, adjusts a flow (turns the heater on or off). Sense the level, change the rate. That sense-and-adjust circuit — stock feeding back to control its own flow — is the feedback loop. Without the vocabulary of stocks and flows, “the thermostat keeps the room steady” is just a vague fact. With it, you can see the actual machine: a loop wrapped around a stock, working the flows.

So everything ahead is built on this floor. Reinforcing loops (Lesson 2) are what happen when a stock’s level feeds back to increase its own inflow — more begets more, and the tub fills faster the fuller it gets. Balancing loops (Lesson 3) are when the stock feeds back to throttle its flows toward a target, like the thermostat. Delays (Lesson 4) are what go wrong when the stock’s inertia makes the loop react late. And leverage points (Lesson 5) are largely about realizing that the biggest wins come from changing flows and loop structure, not from frantically bailing out the stock. Every one of those ideas is a sentence about stocks and flows. You just learned the alphabet; the rest of the course is words.

Info:

The bridge to loops

A feedback loop senses a stock and adjusts a flow. A thermostat reads the temperature (stock) and switches the heater (flow). That’s it — that’s the engine of the entire course. Which is why you had to be fluent in stocks and flows first: a loop is just a wire running from a stock back to the flows that feed it.

Recap

Big picture

Stocks & Flows: the bathtub model

  • The bathtub model
    • Stock = the level
      • A quantity you can count at a frozen instant
      • Units are plain: liters, $, people, tons, trust
      • Water in the tub, debt, CO2, bank balance, weight
    • Flow = the rate
      • Always amount-per-time: L/min, $/month, Gt/yr
      • Inflow fills (faucet); outflow drains (drain)
      • Emissions, deficit, savings/month, calories/day
    • The accumulation rule
      • Change in stock = inflow − outflow
      • Stock = running total (integral) of its flows
      • Equal flows → flat stock (dynamic equilibrium)
    • The cardinal error
      • A falling flow is NOT a falling stock
      • Smaller deficit still grows the debt
      • Leveled emissions still grow atmospheric CO2
      • To shrink a stock: drive outflow above inflow
    • Why it matters
      • Stocks have inertia → systems are slow → delays (L4)
      • A loop senses a stock & adjusts a flow (L2, L3)

Check yourself on stocks & flows

Question 1 of 40 correct

A tank holds 80 liters. The faucet runs at 12 L/min and the drain at 12 L/min for ten minutes. What's the level after ten minutes?

Check your answer to continue.

Where this goes next

You now own the vocabulary the entire rest of the course is built on: stocks (what accumulates), flows (the rates that fill and drain them), the accumulation rule (stock = inflow − outflow, piled up over time), and the cardinal error (a falling flow is not a falling stock). You can already out-read most headlines about debt, climate, and your own bathroom scale.

But so far our flows have been dumb — a faucet someone set and walked away from. The magic starts when a flow stops being fixed and begins listening to the very stock it’s filling. When the level of the tub reaches back and turns its own faucet, you get a loop — and the tub either runs away and overflows or settles calmly at a target, depending on which way the wire is wired. In Lesson 2, “Reinforcing Loops,” we wire the first one: the loop where more begets more, where a full tub fills itself faster, where compound interest, viral growth, and bank runs all come from. The bathtub is about to come alive.

Mark lesson as complete