What Accumulates
Stock & flow diagramsPart III · Accumulation · Chapter 6 of 12 · the first of two chapters on stock & flow diagrams
What would still be there if everything stopped? A stock & flow diagram shows what accumulates, which flows fill and drain it, and which readings set how fast each flow runs.
Print this chapter, with a sheet for each exercise and the answers at the back, from its PDF.
Signals you need this diagram
Section titled “Signals you need this diagram”- Something builds up or runs down: savings, a backlog, a population.
- A cut in what comes in hasn’t stopped the total rising.
- Something leaves one place and has to turn up in another.
- Amounts have units, and the units have to agree.
A bathtub filling and draining
Section titled “A bathtub filling and draining”With the plug in and the tap on, the water in a bathtub rises by the same amount every minute.
With the plug out, it rises more slowly as it deepens, since deeper water drains faster, until it drains as fast as it fills and holds one depth.
Turn off the tap and put the plug in: filling and draining stop, and the water is still there.
What the notation expresses
Section titled “What the notation expresses”Stocks
Section titled “Stocks”A stock is a quantity that accumulates: what would still be there if every flow stopped. The water in the tub can be measured at an instant; filling and draining exist only over time. A stock changes only through its flows.
It is drawn as a box around its name, its units beneath in smaller type. The world’s population is drawn the same way, filled by births and drained by deaths.
A flow moves material into or out of a stock. It is drawn as a double line, its material path, with an arrowhead where the material goes and, at its middle, a valve: a small circle crossed by an X, the flow’s name beside it.
A flow into a stock is one of its inflows, a flow out of it one of its outflows: filling is the tub’s inflow, draining its outflow. A flow’s value at an instant is its rate, such as 12 liters a minute.
A flow is named for what moves, filling or births, not for what sets it moving, such as tap.
Clouds
Section titled “Clouds”A cloud, a small unnamed scalloped outline, is where a flow’s material comes from or goes to outside the model: the flow’s source where it starts, its sink where it ends. The bathtub’s model leaves out the water main and the sewer, so filling starts at a cloud and draining ends at one.
Each cloud ends one flow; whatever you name or count is a stock instead.
Every stock has units: liters for the water in the tub, people for the world’s population.
A diagram has one time unit, the unit every rate is per: the minute for the bathtub, the year for the population. A flow’s units are its stock’s units per time unit, so filling and draining run in liters per minute.
Transfers
Section titled “Transfers”A transfer is a flow from one stock straight into another: an outflow of the first and an inflow of the second, such as pouring from water in bucket into water in tub.
Material that leaves a stock arrives somewhere, in another stock or at a cloud: conservation. So both stocks of a transfer count it in the same units, liters for the bucket and the tub.
Auxiliaries
Section titled “Auxiliaries”An auxiliary is a variable that neither accumulates nor flows, such as a setting, a capacity or a ratio, drawn as its name alone: tap setting, drain opening, or the population’s births per person, the year’s births divided by the people alive. In Stella, a modeling program, an auxiliary is a converter.
Signals
Section titled “Signals”A signal is a single thin line with an arrowhead, carrying a reading of one quantity to an auxiliary or to a flow’s valve; in the systems literature, an information link.
Tap setting → filling carries the tap’s setting, not water, and has a polarity as chapter 4’s effects do: +, since the further the tap is open, the faster the tub fills.
+ signals run from water in tub to draining and from world population to births and deaths. A signal from a stock to one of its own flows closes a loop through that stock (chapter 7).
The stock equation
Section titled “The stock equation”A stock equation, one line beneath a stock’s box, adds its inflows and subtracts its outflows:
change in water in tub = filling − draining
Its right-hand side is the stock’s net flow. With filling at 12 liters a minute and draining at 8, the net flow is 4 liters a minute. In 2023 about 132 million people were born worldwide and 62 million died: a net flow of about 70 million people a year.
Auxiliaries and signals never appear in it; they change a stock only through a flow’s rate. A stock with no flows reads change in … = 0.
Delays on flows
Section titled “Delays on flows”A delay on a flow, two short strokes across its double line, means its material arrives well after it leaves, as a change arrives late along a delayed effect. Grain shipped from a port reaches a mill weeks later: the flow from grain at the port to grain at the mill carries a delay, and the grain at sea is in neither stock.
Behavior-over-time graphs
Section titled “Behavior-over-time graphs”A behavior-over-time graph shows one stock, flow or auxiliary over time: the quantity’s name (and a stock’s units) on the vertical axis, time on the horizontal, and one line of a named shape, rising or falling. The shapes are linear, exponential, approach (flattening toward a value), oscillation (swinging around a value), S-shaped and overshoot and collapse. A graph is a prediction from the structure, made before anything is measured.
A stock’s slope at any instant is its net flow: it rises while inflows exceed outflows, falls while outflows exceed inflows, and stays flat when they are equal.
With the plug in, the net flow is filling’s steady rate, so the water rises in a straight line.
With the plug out, draining speeds up as the water deepens, the net flow shrinks, and the water approaches the depth at which draining equals filling.
Asked to draw the water in a bathtub from graphs of its inflow and outflow, many graduate students at MIT’s business school drew a path its flows couldn’t produce (Booth Sweeney and Sterman, 2000); chapter 7’s Common misreading gives a later study’s numbers.
What stays informal
Section titled “What stays informal”When nothing accumulates, or the question is only which way one quantity moves another, a sentence does: opening the drain wider empties the tub faster. With several such effects running in a circle, a causal loop diagram does. When the question is how much there is now, not how it changes, a list of amounts does.
The diagram holds no numbers: rates and amounts go in a sentence or a table beside it.
The bad diagram
Section titled “The bad diagram”What’s wrong with this diagram of a bathtub filling from the tap and emptying down the drain?
The tap, the water in the tub and the drain are three stocks in a row, joined by filling and draining. The tap is counted in liters per minute and the tub in liters, so filling’s units come out as liters per minute per minute. The tap holds no water: its setting fixes how fast filling runs, as the drain’s opening fixes draining. The lab’s check reports:
2 transfers join stocks in different units: filling, from tap (liters per minute) to water in tub (liters); draining, from water in tub (liters) to drain (liters per minute). What leaves one stock arrives in the other, so both count it in the same units.
The corrected diagram
Section titled “The corrected diagram”The tap and the drain become auxiliaries, tap setting and drain opening, each with a + signal to its flow’s valve. Filling starts at a cloud and draining ends at one, leaving water in tub, in liters, the one stock, and both flows in liters per minute.
Changed: 2 labels. Stocks: 2 turned into auxiliaries. Flows: filling now starts at a cloud instead of tap, draining now ends at a cloud instead of drain. Signals: 2 added.
Notation moves
Section titled “Notation moves”| Notation move | When | What it shows | Example |
|---|---|---|---|
| Draw a stock, with units | Something would remain if every flow stopped | What accumulates, in what units | water in tub, liters |
| Draw a flow | Material moves into or out of a stock | What moves, which way | filling |
| End a flow at a cloud | Material enters or leaves the model | Where the model stops | draining’s sink |
| Declare the time unit | What every rate is per | minute | |
| Draw a transfer | Material moves between stocks | Where it goes, in the same units | water in bucket → water in tub |
| Draw an auxiliary | A setting, target or ratio sets a rate | What a rate depends on | tap setting |
| Draw a signal to a valve | A reading changes a flow’s rate | Which reading, which way | tap setting → filling, + |
| Show the stock equation | The net flow | change in water in tub = filling − draining | |
| Mark a delay on a flow | Material arrives well after it leaves | Material in transit | grain shipped to a mill |
| Draw a behavior-over-time graph | The predicted shape | water in tub, approach | |
Check your understanding
Section titled “Check your understanding”Earth’s water, stored and moving, redrawn
Section titled “Earth’s water, stored and moving, redrawn”Redrawn from U.S. Geological Survey, “The Water Cycle” (2022), also published as Hayley R. Corson-Dosch and others, The water cycle, USGS General Information Product 221 (2023), the diagram, in English. U.S. public domain; credit: U.S. Geological Survey.
Six of its fifteen pools drawn as stocks, the ocean’s mixed zone among them and its rivers named as the water in them; ten of its fluxes drawn as flows between them, each given one stock at each end, so precipitation over land ends in soil moisture; of its five kinds of human water use, agricultural water use alone, drawn from groundwater to a cloud; units added, cubic kilometers and a time unit of a year, since it gives no amounts; its pictures and colors left out.
Exercises
Section titled “Exercises”Passing the checks means meeting the brief, not being right.
SF 01Words a language learner knows
One stock and one inflow
Lena is learning Portuguese from a box of flashcards. She knows about 300 words today and learns about forty new ones a week, a few each evening. Leave forgetting out: draw only the words she knows and the words she learns. Count what she knows in words, and time in weeks.
The brief
- Draw one stock: the words Lena knows. checked by the lab
- Fill it with one inflow. checked by the lab
- Draw one cloud, where the new words come from. checked by the lab
- Add a behavior-over-time graph of the stock, rising steadily. checked by the lab
- The stock is counted at an instant, in words; the flow per week, in words per week. you check this
Your palette
stock flow cloud behavior-over-time graph
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag a stock, a cloud or a graph to move it. Select a stock, a flow, a cloud or a graph to change it. Pressing an empty spot adds nothing. Double-click or double-tap a stock's name or units or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, a flow, a cloud or a behavior-over-time graph on the canvas, and what you can change shows here.
The tools
- Arrange V
- move a stock, a cloud or a graph (drag it), rename a stock (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
- Behavior-over-time graphs H
- select a stock, an auxiliary or a flow, then press an empty spot, to add its behavior-over-time graph there.
Keys
- R reverse the selected flow
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 9 checks passed; 9 pending.
- Draw one stock: the words Lena knows. (Not started)
- Fill it with one inflow. (Not started)
- Draw one cloud, where the new words come from. (Not started)
- Add a behavior-over-time graph of the stock, rising steadily. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
SF 02Firewood at a scout camp
Inflow and outflow
A scout patrol camps in a field for the weekend. Through Saturday afternoon the scouts gather fallen branches into a woodpile by the fire, about thirty kilograms an hour. After dark they gather about five kilograms an hour, and the campfire burns about twelve kilograms an hour. Count the wood in kilograms, and time in hours.
The brief
- Draw one inflow: the wood the scouts gather. checked by the lab
- Draw one outflow: the wood the fire burns. checked by the lab
- Put a cloud at each end, where the wood comes from and where it goes. checked by the lab
- Add a behavior-over-time graph of the stock, falling steadily. checked by the lab
- The graph covers the evening, after gathering slows. you check this
Your palette
stock flow cloud behavior-over-time graph
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag a stock, a cloud or a graph to move it. Select a stock, a flow, a cloud or a graph to change it. Pressing an empty spot adds nothing. Double-click or double-tap a stock's name or units or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, a flow, a cloud or a behavior-over-time graph on the canvas, and what you can change shows here.
The tools
- Arrange V
- move a stock, a cloud or a graph (drag it), rename a stock (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
- Behavior-over-time graphs H
- select a stock, an auxiliary or a flow, then press an empty spot, to add its behavior-over-time graph there.
Keys
- R reverse the selected flow
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 9 checks passed; 9 pending.
- Draw one inflow: the wood the scouts gather. (Not started)
- Draw one outflow: the wood the fire burns. (Not started)
- Put a cloud at each end, where the wood comes from and where it goes. (Not started)
- Add a behavior-over-time graph of the stock, falling steadily. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
SF 03Goats on a family smallholding
Net flow and equations
The Mensah family keeps goats on a smallholding: twenty at the start of the year. Each spring the herd has about one kid for every goat in it, so a bigger herd has more kids. Each year the family buys about two goats at market and sells about fifteen. Count the herd in goats, and time in years.
The brief
- Draw two inflows: kids born, and goats bought. checked by the lab
- Draw one outflow: goats sold. checked by the lab
- Add an auxiliary for the kids each goat has in a year. checked by the lab
- Draw a path of signals from the herd to kids born. checked by the lab
- Show the herd's stock equation. checked by the lab
- Kids born reads two signals: one from the herd, one from kids per goat per year. you check this
Your palette
stock flow cloud auxiliary signal stock equation polarity
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Press an empty spot to add an auxiliary and type its name. Drag a stock, an auxiliary, a cloud or a graph to move it. Select anything drawn to change it. Double-click or double-tap a stock's name or units, an auxiliary or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, an auxiliary, a flow, a signal or a cloud on the canvas, and what you can change shows here.
The tools
- Auxiliaries V
- add an auxiliary (press an empty spot), move a stock, an auxiliary, a cloud or a graph (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
- Signals E
- draw a signal by dragging from a stock, an auxiliary or a flow's valve to an auxiliary or a flow's valve.
Keys
- R reverse the selected signal or flow
- Q the selected stock's equation, on or off
- +− the selected signal's polarity
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 10 checks passed; 10 pending.
- Draw two inflows: kids born, and goats bought. (Not started)
- Draw one outflow: goats sold. (Not started)
- Add an auxiliary for the kids each goat has in a year. (Not started)
- Draw a path of signals from the herd to kids born. (Not started)
- Show the herd's stock equation. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
SF 04Diesel for an island's power station
Goal seeking with a delay
The power station on a small island burns about 40 tonnes of diesel a week. Its manager aims to keep 250 tonnes in the tanks. Each week she orders 40 tonnes plus a quarter of the gap between 250 tonnes and what the tanks hold, and a tanker delivers each order four weeks after she places it. After storms kept the tankers in port, the tanks hold 100 tonnes. Count diesel in tonnes, and time in weeks.
The brief
- Draw a path of signals from the stock to the flow that refills it. checked by the lab
- Mark the four weeks between an order and its delivery as a material delay. checked by the lab
- Add a behavior-over-time graph of the stock, overshooting and swinging around a value, with a line at the desired stock. checked by the lab
- Orders are an auxiliary and deliveries the flow; the path from the stock to deliveries passes through the gap. you check this
Your palette
stock flow cloud auxiliary signal polarity delay gapdrawn as an ordinary variable behavior-over-time graph
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Press an empty spot to add an auxiliary and type its name. Drag a stock, an auxiliary, a cloud or a graph to move it. Select anything drawn to change it. Double-click or double-tap a stock's name or units, an auxiliary or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, an auxiliary, a flow, a signal, a cloud or a behavior-over-time graph on the canvas, and what you can change shows here.
The tools
- Auxiliaries V
- add an auxiliary (press an empty spot), move a stock, an auxiliary, a cloud or a graph (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
- Signals E
- draw a signal by dragging from a stock, an auxiliary or a flow's valve to an auxiliary or a flow's valve.
- Behavior-over-time graphs H
- select a stock, an auxiliary or a flow, then press an empty spot, to add its behavior-over-time graph there.
Keys
- R reverse the selected signal or flow
- +− the selected signal's polarity
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 8 checks passed; 8 pending.
- Draw a path of signals from the stock to the flow that refills it. (Not started)
- Mark the four weeks between an order and its delivery as a material delay. (Not started)
- Add a behavior-over-time graph of the stock, overshooting and swinging around a value, with a line at the desired stock. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
SF 05Bottles in a deposit-return scheme
Connected stocks and conservation
A country runs a deposit-return scheme for drink bottles. Bottlers deliver bottles to shops, where a bottle waits about two weeks on a shelf. A shopper keeps a bottle about five weeks before taking it back to a return machine; about one bottle in ten is thrown away instead. The machines are emptied twice a week, and the bottles collected for recycling. Count every stock in bottles, and time in weeks.
The brief
- Draw three stocks, one for each place a bottle waits: on shop shelves, with shoppers, in return machines. checked by the lab
- Join the stocks with transfers, so a bottle leaving one stage arrives in the next. checked by the lab
- Mark one material delay. checked by the lab
- The three stocks sit in a row in the order bottles pass through, and the delay is on the flow out of the stage where bottles wait longest. you check this
Your palette
stock flow cloud delay
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag a stock, a cloud or a graph to move it. Select a stock, a flow, a cloud or a graph to change it. Pressing an empty spot adds nothing. Double-click or double-tap a stock's name or units or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, a flow or a cloud on the canvas, and what you can change shows here.
The tools
- Arrange V
- move a stock, a cloud or a graph (drag it), rename a stock (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
Keys
- R reverse the selected flow
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 9 checks passed; 9 pending.
- Draw three stocks, one for each place a bottle waits: on shop shelves, with shoppers, in return machines. (Not started)
- Join the stocks with transfers, so a bottle leaving one stage arrives in the next. (Not started)
- Mark one material delay. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- Each transfer joins stocks in the same units (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
CS 06Kelsham Primary School: the roll, filled and drained
One stock, its two flows and the years of the roll
Ruth Okafor counts the pupils on roll each October: 126 in October 2020, 95 in October 2025 and 88 in October 2026. Children start in Reception each September, and pupils leave, Year 6 for secondary school and others for other schools. In the year to October 2026, 9 children started and 16 pupils left; in the year to October 2020, 19 started and 20 left. In every year between, fewer started than left. Count the roll in pupils, and time in years.
The brief
- Draw one stock: the pupils on roll, counted in pupils. checked by the lab
- Fill it with one inflow: the children starting each September. checked by the lab
- Drain it with one outflow: the pupils leaving. checked by the lab
- Show the roll's stock equation. checked by the lab
- Add a behavior-over-time graph of the roll, falling steadily. checked by the lab
- The stock equation balances for the year to October 2026: 95 pupils, plus 9 starters, less 16 leavers, is 88. you check this
Your palette
stock flow cloud stock equation behavior-over-time graph
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag a stock, a cloud or a graph to move it. Select a stock, a flow, a cloud or a graph to change it. Pressing an empty spot adds nothing. Double-click or double-tap a stock's name or units or a flow's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a stock, a flow, a cloud or a behavior-over-time graph on the canvas, and what you can change shows here.
The tools
- Arrange V
- move a stock, a cloud or a graph (drag it), rename a stock (double-click it, or Rename under the canvas), or select anything.
- Stocks S
- add a stock (press an empty spot) and name it.
- Flows M
- draw a flow by dragging from a stock or an empty spot to a stock or an empty spot, and name it; clouds appear at empty ends.
- Behavior-over-time graphs H
- select a stock, an auxiliary or a flow, then press an empty spot, to add its behavior-over-time graph there.
Keys
- R reverse the selected flow
- Q the selected stock's equation, on or off
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 10 checks passed; 10 pending.
- Draw one stock: the pupils on roll, counted in pupils. (Not started)
- Fill it with one inflow: the children starting each September. (Not started)
- Drain it with one outflow: the pupils leaving. (Not started)
- Show the roll's stock equation. (Not started)
- Add a behavior-over-time graph of the roll, falling steadily. (Not started)
Always checked
- Every stock has units (Not started)
- The time unit is given (Not started)
- Every stock has a flow in or out (Not started)
- Every flow has a name (Not started)
- No variable's name breaks the more test's three rules (Not started)
Written feedback
One defensible answer
It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.
Sources
Section titled “Sources”- Donella H. Meadows, Thinking in Systems: A Primer (Chelsea Green, 2008), chapter 1, The Basics, on stocks, flows, clouds as sources and sinks, and the bathtub.
- John D. Sterman, Business Dynamics: Systems Thinking and Modeling for a Complex World (Irwin/McGraw-Hill, 2000), chapter 4, Structure and Behavior of Dynamic Systems, on the shapes behavior over time takes; chapter 6, Stocks and Flows, on the notation and on telling a stock from a flow by freezing a system in time; and chapter 7, Dynamics of Stocks and Flows, on reading a stock’s path from its net flow.
- Linda Booth Sweeney and John D. Sterman, “Bathtub Dynamics: Initial Results of a Systems Thinking Inventory”, System Dynamics Review 16, no. 4 (2000), on how well students with no training in system dynamics read stocks and flows.
- isee systems, Working with Building Blocks (Stella help), on the parts of a model in Stella, a modeling program.
- United Nations, World Population Prospects 2024, through Our World in Data, Number of births and Number of deaths, for the world’s births and deaths in 2023.