Skip to content
Thinking in Diagrams

Stocks Inside Feedback

Stock & flow diagramsPart III · Accumulation · Chapter 7 of 12 · the second of two chapters on stock & flow diagrams

Where do things wait on their way through a system? In stocks, between the flows that fill and drain them. A stock & flow diagram with loops shows which loops pass through each stock, where material waits along a chain of stocks, and which delays hold material and which hold news of it.

Print this chapter, with a sheet for each exercise and the answers at the back, from its PDF.

A new strain of flu reaches a region of a million people, none of whom has had it. Each day people who are ill meet people who have never had it, and some of those catch it. Each person who falls ill is ill for about a week, then recovers and doesn’t catch this strain again that season.

Reported cases reach the news a week after people fall ill. As the reports rise, people stay home and keep apart, and fewer fall ill.

The number of people ill rises for weeks, peaks and falls away. When the season ends, some people have never caught it.

Stock & flow diagram: people susceptible; people ill; people recovered Stocks: people susceptible (people); people ill (people); people recovered (people). Auxiliaries: infectious contacts; reported cases; caution. Flows: falling ill, from people susceptible to people ill (people per day); recovering, from people ill to people recovered (people per day). Signals: people susceptible to infectious contacts, +; people ill to infectious contacts, +; infectious contacts to falling ill, +; people ill to recovering, +; people ill to reported cases, +, with a delay; reported cases to caution, +; caution to infectious contacts, −. Loop R1 contagion, reinforcing: people ill, infectious contacts, falling ill, which fills people ill. Loop B1 depletion, balancing: people susceptible, infectious contacts, falling ill, which drains people susceptible. Loop B2 caution, balancing: people ill, reported cases, caution, infectious contacts, falling ill, which fills people ill. falling ill recovering + + + + + + − peoplepeople susceptible peoplepeople ill peoplepeople recovered infectious contacts reported cases caution R1contagion B1depletion B2caution

A loop through a stock is a loop whose path runs along one of the stock’s flows: a signal from the stock reaches the flow’s valve, directly or through auxiliaries, and the flow changes the stock. The parity rule counts the flow as one step: + from the flow into the stock it fills, − from the flow out of the stock it drains.

Infectious contacts are meetings between someone ill and someone susceptible, so they rise with both stocks. Three loops run through falling ill:

  • R1, contagion: people ill → infectious contacts → falling ill, which fills people ill. No − step: reinforcing.
  • B1, depletion: people susceptible → infectious contacts → falling ill, which drains people susceptible. One − step: balancing.
  • B2, caution: people ill → reported cases → caution → infectious contacts (−) → falling ill, which fills people ill. One − step: balancing.

Falling ill counts + in R1 and − in B1, since it fills one stock and drains the other.

Loop dominance shifts as stocks fill and empty. Early in the season nearly everyone is susceptible, R1 dominates, and people ill grows exponentially. As people susceptible empties, each person ill meets fewer people who can catch flu; B1 dominates, falling ill drops below recovering, and people ill falls.

Stock & flow diagram: people susceptible; people ill; people recovered Stocks: people susceptible (people); people ill (people); people recovered (people). Auxiliaries: infectious contacts; reported cases; caution. Flows: falling ill, from people susceptible to people ill (people per day); recovering, from people ill to people recovered (people per day). Signals: people susceptible to infectious contacts, +; people ill to infectious contacts, +; infectious contacts to falling ill, +; people ill to recovering, +; people ill to reported cases, +, with a delay; reported cases to caution, +; caution to infectious contacts, −. Loop R1 contagion, reinforcing: people ill, infectious contacts, falling ill, which fills people ill. Loop B1 depletion, balancing: people susceptible, infectious contacts, falling ill, which drains people susceptible. Loop B2 caution, balancing: people ill, reported cases, caution, infectious contacts, falling ill, which fills people ill. Behavior-over-time graph of people ill: overshoots and collapses. falling ill recovering + + + + + + − peoplepeople susceptible peoplepeople ill peoplepeople recovered infectious contacts reported cases caution R1contagion B1depletion B2caution people ill (people)time

Falling ill and recovering are transfers, and the diagram has no cloud, so everyone who leaves one stock arrives in the next. The three stock equations,

change in people susceptible = − falling ill

change in people ill = falling ill − recovering

change in people recovered = recovering

add up to zero: the three stocks always total the region’s million people.

Births, deaths and moves are left out. Drawn in, each would run from a source or to a sink, and people would cross the region’s boundary only along those flows. An external driver reaches a stock through a signal to an auxiliary or a valve, never to the stock: if school holidays cut contacts, ‹school holidays› → infectious contacts is −.

Evidence coding marks signals only. A flow is never dashed: that people move from susceptible to ill isn’t in question, only how fast, which the signals into its valve set.

An aging chain is a row of stocks joined by transfers, through which material passes in order: people susceptible, then ill, then recovered.

The time material spends in a stock is a delay. Someone who falls ill on a Monday is counted in people ill until about the next Monday, so a rise in falling ill shows in recovering about a week later, on average. People ill → recovering is +: with each person ill for about a week, about a seventh of those ill recover each day. Recovering carries no delay: the stock holds the week, and a delay on the flow would count it twice.

A delay in a stock & flow diagram, the two strokes of chapter 4’s delays, sits on a flow or on a signal. A material delay, on a flow, holds material in transit, in neither stock: grain at sea between a port and a mill. A signal delay, on a signal, holds news: the people are already ill, and the reading of how many arrives late. People ill → reported cases carries a signal delay of a week.

Caution is set by reported cases, a reading of people ill a week old, so after people ill peaks, reported cases and caution go on rising for about a week, and caution is highest once fewer people are ill.

Check your understandingAn office orders printer paper by the box. A box arrives five days after it is ordered, and the office manager counts the boxes in the cupboard only on Fridays, then orders from that count. Which of these is a signal delay?

Not quite. That is a material delay: for those five days the box is in transit, in neither the supplier's stock nor the cupboard. It is marked on the flow of deliveries.

Yes. The box has already left the cupboard; only the count of it is late. The delay is marked on the signal from the boxes in the cupboard to orders.

Not quite. That is the time spent in a stock. The cupboard holds the box for that time, so no delay is drawn for it.

A stock’s capacity is the most it can hold. As the stock nears it, the flow into it slows sharply: a nonlinear effect on a signal from the stock to its own inflow, its threshold an amount the stock holds. If the flu filled the region’s hospital beds, people in hospital → admissions would be − and nonlinear: weak while beds are free, strong as the last ones fill.

What’s wrong with this diagram of a town library’s books, lent from the shelves, returned to a trolley and reshelved?

Stock & flow diagram: books on the shelves; books on loan; books in the returns trolley Stocks: books on the shelves (books); books on loan (books); books in the returns trolley (books). Flows: lending, from books on the shelves to a cloud (books per week); borrowing, from a cloud to books on loan (books per week); returning, from books on loan to a cloud (books per week); dropping off, from a cloud to books in the returns trolley (books per week). lending borrowing returning dropping off booksbooks on the shelves booksbooks on loan booksbooks in the returns trolley

The books on the shelves, on loan and in the returns trolley are three stocks, but lending runs from the shelves to a cloud, borrowing from a cloud into the books on loan, returning to a cloud and dropping off from a cloud. Between each stage and the next the same books leave the model and come back into it, so the three stocks’ total can rise or fall with no book bought or lost. The lab’s check for at least three transfers reports:

No transfers. Brief: at least 3. A transfer runs from one stock straight into another, with no cloud between them.

Corrected, lending, returning and reshelving are transfers around the three stocks; purchases arrive from a source and lost books leave to a sink, so each book is counted in one stock from the day it is bought until it is lost.

Bad diagram
Stock & flow diagram: books on the shelves; books on loan; books in the returns trolley Stocks: books on the shelves (books); books on loan (books); books in the returns trolley (books). Flows: lending, from books on the shelves to a cloud (books per week); borrowing, from a cloud to books on loan (books per week); returning, from books on loan to a cloud (books per week); dropping off, from a cloud to books in the returns trolley (books per week). lending borrowing returning dropping off booksbooks on the shelves booksbooks on loan booksbooks in the returns trolley
Corrected diagram
Stock & flow diagram: books on the shelves; books on loan; books in the returns trolley Stocks: books on the shelves (books); books on loan (books); books in the returns trolley (books). Flows: lending, from books on the shelves to books on loan (books per week); returning, from books on loan to books in the returns trolley (books per week); reshelving, from books in the returns trolley to books on the shelves (books per week); purchases, from a cloud to books on the shelves (books per week); books lost, from books on loan to a cloud (books per week). lending returning reshelving purchases books lost booksbooks on the shelves booksbooks on loan booksbooks in the returns trolley

Labels unchanged. Flows: 3 added, 2 removed, lending now ends at books on loan instead of a cloud, returning now ends at books in the returns trolley instead of a cloud.

Notation moveWhenWhat it showsExample
Declare a loop through a flowA signal from a stock reaches the valve of one of its own flowsWhich loops change the stock, and through which flowR1 contagion, through falling ill
Stock & flow diagram: people susceptible; people ill Stocks: people susceptible (people); people ill (people). Flows: falling ill, from people susceptible to people ill (people per day). Signals: people ill to falling ill, +. Loop R1 contagion, reinforcing: people ill, falling ill, which fills people ill. falling ill + peoplepeople susceptible peoplepeople ill R1contagion
Chain stocks with transfersMaterial passes through stages in orderWhere it waits, with none lost between stagespeople susceptible → people ill → people recovered
Stock & flow diagram: people susceptible; people ill; people recovered Stocks: people susceptible (people); people ill (people); people recovered (people). Flows: falling ill, from people susceptible to people ill (people per day); recovering, from people ill to people recovered (people per day). falling ill recovering peoplepeople susceptible peoplepeople ill peoplepeople recovered
Mark a signal delayA reading arrives well after what it readsNews running behind a stockpeople ill → reported cases
Stock & flow diagram: people ill Stocks: people ill (people). Auxiliaries: reported cases. Signals: people ill to reported cases, +, with a delay. + peoplepeople ill reported cases
Mark a material delayMaterial is in transit between stocksMaterial in neither stockgrain shipped to a mill
Stock & flow diagram: grain at the port; grain at the mill Stocks: grain at the port (tons); grain at the mill (tons). Flows: grain shipped, from grain at the port to grain at the mill (tons per week, with a delay). grain shipped tonsgrain at the port tonsgrain at the mill
Mark a nonlinear signal from a stock to its inflowA stock nears the most it can holdWhere the capacity liespeople in hospital → admissions
Stock & flow diagram: people in hospital Stocks: people in hospital (people). Flows: admissions, from a cloud to people in hospital (people per day). Signals: people in hospital to admissions, −, nonlinear. admissions − peoplepeople in hospital
Graph a stock in a loopThe shape the shifts in dominance producepeople ill, overshoot and collapse
Stock & flow diagram: people ill Stocks: people ill (people). Time unit: day. Behavior-over-time graph of people ill: overshoots and collapses. peoplepeople ill people ill (people)time

Reading a stock’s graph as the shape of its inflow, the stock highest when the inflow is fastest, is the correlation heuristic (Cronin, Gonzalez and Sterman, 2009). Falling ill peaks first. At its peak more people still fall ill each day than recover, so people ill goes on rising; it peaks later, on the day falling ill has dropped to equal recovering.

Shown graphs of people entering and leaving a department store each minute, 96 percent of 173 graduate students in a business simulation course at MIT found the minute the most people entered, and 44 percent the minute the most people were in the store; 29 percent chose the minute of the largest net flow into the store.

Without equations and simulation, a stock & flow diagram is a causal loop diagram with boxes: when loops trade dominance, and how far a stock overshoots, depend on numbers the diagram doesn’t hold. Homer and Oliva (2001), answering Coyle (2000), argue that simulation lets a modeler draw behavioral inferences reliably “in a way that is rarely possible with maps alone”.

A behavior-over-time graph drawn from the structure is a hypothesis until the model is simulated or the system measured: the graph of people ill shows an overshoot and collapse, not how high it peaks or in which week.

Units and conservation are checked on the drawing, before any number. The lab’s checks catch a transfer between stocks in different units, books that vanish between the shelves and the loans, and a signal drawn into a stock; a causal loop diagram has no mark they could catch.

Check your understandingSkiers join the queue for a chairlift at 10 a minute at 8:30, at 60 a minute at 9:30, and at 10 a minute again by 11:00. The lift carries 30 skiers a minute all morning. When is the queue longest?

Not quite. That reads the queue's graph as the shape of its inflow. At 9:30, 60 skiers join a minute and 30 leave, so the queue is still growing by 30 a minute.

Yes. The queue grows while more skiers join than the lift carries, and shrinks once fewer do, so it is longest when joining equals the lift's 30 a minute.

Not quite. By 11:00, 10 skiers join a minute and 30 leave, so the queue has been shrinking since joining fell below 30 a minute.

Stock & flow diagram: patients at first contact; patients at the ECG; patients at the fax; patients awaiting transfer; patients held at first contact; patients held at the ECG; patients held at the fax; patients held awaiting transfer Stocks: patients at first contact (patients); patients at the ECG (patients); patients at the fax (patients); patients awaiting transfer (patients); patients held at first contact (patients); patients held at the ECG (patients); patients held at the fax (patients); patients held awaiting transfer (patients). Flows: door in, from a cloud to patients at first contact (patients per minute); to ECG, from patients at first contact to patients at the ECG (patients per minute); to fax, from patients at the ECG to patients at the fax (patients per minute); to transfer, from patients at the fax to patients awaiting transfer (patients per minute); door out, from patients awaiting transfer to a cloud (patients per minute); retaining, from patients at first contact to patients held at first contact (patients per minute); returning, from patients held at first contact to patients at first contact (patients per minute); retaining, from patients at the ECG to patients held at the ECG (patients per minute); returning, from patients held at the ECG to patients at the ECG (patients per minute); retaining, from patients at the fax to patients held at the fax (patients per minute); returning, from patients held at the fax to patients at the fax (patients per minute); retaining, from patients awaiting transfer to patients held awaiting transfer (patients per minute); returning, from patients held awaiting transfer to patients awaiting transfer (patients per minute). Signals: patients at first contact to to ECG, +; patients at the ECG to to fax, +; patients at the fax to to transfer, +; patients awaiting transfer to door out, +. Loop B1 moving on, balancing: patients at first contact, to ECG, which drains patients at first contact. Loop B2 moving on, balancing: patients at the ECG, to fax, which drains patients at the ECG. Loop B3 moving on, balancing: patients at the fax, to transfer, which drains patients at the fax. Loop B4 moving on, balancing: patients awaiting transfer, door out, which drains patients awaiting transfer. door in to ECG to fax to transfer door out retaining returning retaining returning retaining returning retaining returning + + + + patientspatients at first contact patientspatients at the ECG patientspatients at the fax patientspatients awaiting transfer patientspatients held at first contact patientspatients held at the ECG patientspatients held at the fax patientspatients held awaiting transfer B1moving on B2moving on B3moving on B4moving on

Redrawn from Luciano de Andrade, Catherine Lynch, Elias Carvalho, Clarissa Garcia Rodrigues, João Ricardo Nickenig Vissoci, Guttenberg Ferreira Passos, Ricardo Pietrobon, Oscar Kenji Nihei and Maria Dalva de Barros Carvalho, “System Dynamics Modeling in the Evaluation of Delays of Care in ST-Segment Elevation Myocardial Infarction Patients within a Tiered Health System”, PLOS ONE 9(7): e103577 (2014), Figure 4. CC BY 4.0.

Its four stages, first medical contact (FMC), ECG and diagnosis (ECG), the ECG sent by fax to the PCI center, where the blocked artery is opened, and its reply (TXF), and the wait for transfer there (TWT), named for the patients at each; each Retained stock named for the patients held there, and its retain and back flows renamed retaining and returning; each output named for where its patients go, the last door out; its auxiliaries and their signals left out; its B1 to B4, each labeled inside a stage’s path of retaining and returning, which carries no signal, each drawn as the loop through the signal from its stage’s patients to their outflow, which it draws, and named moving on; the chain drawn downward.

Question 1 of 3A patient reaches the first hospital at two o’clock and leaves for the PCI center at four. Where in the diagram are those two hours spent?

Not quite. A flow is a rate, patients a minute, and holds no one at an instant. Every patient counted at an instant is in one of the eight stocks.

Not quite. A loop is a closed path, here a signal and a flow: it sets how fast patients leave a stage, and holds no one. Patients wait only in stocks.

Yes. A stock is where material waits between the flows that fill and drain it. The four stages are an aging chain, passed through in order, and a stay in a held stock adds to the time at its stage until returning brings the patient back.

Question 2 of 3B2 runs from patients at the ECG to the valve of to fax, the flow that drains them. What does B2 do to patients at the ECG?

Yes. The signal is +, and to fax counts − from the flow into the stock it drains: one − step, so B2 is balancing. The stock settles where its outflows run as fast as its inflows.

Not quite. No target is drawn: no variable holds a chosen time, and nothing compares one with the wait. B2 drains the stock faster the fuller it is, and no more.

Not quite. More patients sent on is a faster outflow from patients at the ECG, which lowers it. The rise is in patients at the fax, the next stock along.

Question 3 of 3At the fax stage, 76% of the patients the authors followed waited longer than the optimal time. Where does a patient’s wait at that stage appear in the diagram?

Not quite. A material delay holds material in neither stock, as grain at sea is. These patients wait at the fax stage, counted in its stocks; moving on to transfer takes no time of its own.

Yes. The time material spends in a stock is a delay already, so a delay drawn on to transfer would count the wait twice. A patient held adds the time in the held stock.

Not quite. A signal delay holds news of a quantity. The reply is what the patients wait for, and the patients themselves sit in the stock, counted there until they move on.

Passing the checks means meeting the brief, not being right.

SF 06Players of an online game

Stocks embedded in feedback

  • Reasoning3 of 5
  • Polish4 of 5

Players around the world join an online puzzle game only by invitation: each day about one player in fifty invites a friend, who joins. Matches run on a fixed number of servers, so the more players there are, the longer each waits for a match, and the longer the wait, the more players quit each day. Count the stock in players, and time in days.

The brief

  1. Draw two flows: players joining, and players quitting. checked by the lab
  2. Declare one reinforcing loop. checked by the lab
  3. Declare one balancing loop. checked by the lab
  4. Run each loop through a flow, so that it passes through the stock. checked by the lab
  5. Each loop is named for what goes around it, such as word of mouth or queue frustration. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram Auxiliaries: tap opening. tap opening
    auxiliary
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening. Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub tap opening
    signal
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening; drain blockage. Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Signals: tap opening to filling, +; drain blockage to draining, −. filling draining + − literswater in tub tap opening drain blockage
    polarity
  • Stock & flow diagram: dirty dishes; clean dishes Stocks: dirty dishes (dishes); clean dishes (dishes). Flows: washing up, from dirty dishes to clean dishes (dishes per day). Signals: clean dishes to washing up, −. Loop B1 cupboard full, balancing: clean dishes, washing up, which fills clean dishes. washing up − dishesdirty dishes dishesclean dishes B1cupboard full
    loop
  • Stock & flow diagram: rabbits in warren Stocks: rabbits in warren (rabbits). Flows: births, from a cloud to rabbits in warren (rabbits per month). Signals: rabbits in warren to births, +. Loop R1 breeding, reinforcing: rabbits in warren, births, which fills rabbits in warren. births + rabbitsrabbits in warren R1breeding
    reinforcing loop
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). Signals: water in tub to draining, +. Loop B1 draining down, balancing: water in tub, draining, which drains water in tub. draining + literswater in tub B1draining down
    balancing loop

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, a flow's name or a loop's label or name to edit its words in place, or select it and use Rename or the fields under the canvas.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, an auxiliary, a flow, a signal, a cloud or a loop label on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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.
Loop L
declare a loop by selecting its signals and flows in order, then label and name it.

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 11 checks passed; 11 pending.

  1. Draw two flows: players joining, and players quitting. (Not started)No flows yet. Brief: exactly 2.
  2. Declare one reinforcing loop. (Not started)No loop declared yet. Brief: exactly 1 reinforcing loop.
  3. Declare one balancing loop. (Not started)No loop declared yet. Brief: exactly 1 balancing loop.
  4. Run each loop through a flow, so that it passes through the stock. (Not started)No loop declared yet. Brief: every loop through a stock.

Always checked

  • Each loop's kind matches its − effects (Not started)No loop declared yet.
  • Loop labels are unique and match their kind (Not started)No loop declared yet.
  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer

SF 07Dogs at a rescue shelter

Capacity and nonlinear rates

  • Reasoning4 of 5
  • Polish4 of 5

A town's dog rescue shelter has 40 places. Owners and the council refer about eight dogs a week to its waiting list, and owners withdraw about one a week after finding a home elsewhere. Staff take dogs in from the list, but intake slows sharply as the places fill: about six dogs a week while 30 are in care, almost none at 38. Crowding lengthens stays: a dog waits about four weeks for adoption while the shelter is half full, seven while it is full. The manager proposes recruiting foster homes, each adding a place. Count both stocks in dogs, and time in weeks.

The brief

  1. Draw two stocks: dogs on the waiting list, and dogs in care. checked by the lab
  2. Join them with intake, a transfer. checked by the lab
  3. Mark the signal by which filling places slow intake as nonlinear. checked by the lab
  4. Mark what foster homes would add to as the one leverage point. checked by the lab
  5. The nonlinear signal reaches intake through occupancy. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram Auxiliaries: tap opening. tap opening
    auxiliary
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening. Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub tap opening
    signal
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening; drain blockage. Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Signals: tap opening to filling, +; drain blockage to draining, −. filling draining + − literswater in tub tap opening drain blockage
    polarity
  • Stock & flow diagram: goats Stocks: goats (goats). Auxiliaries: goats per hectare. Flows: goats dying, from goats to a cloud (goats per year). Signals: goats per hectare to goats dying, +, nonlinear. goats dying + goatsgoats goats per hectare
    nonlinear effect
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening (leverage point). Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub ????tap opening
    leverage point

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.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, an auxiliary, a flow, a signal or a cloud on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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
  • +− 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.

  1. Draw two stocks: dogs on the waiting list, and dogs in care. (Not started)No stocks yet. Brief: at least 2.
  2. Join them with intake, a transfer. (Not started)No flows yet. Brief: at least 1 transfer.
  3. Mark the signal by which filling places slow intake as nonlinear. (Not started)No signals yet. Brief: at least 1 nonlinear signal.
  4. Mark what foster homes would add to as the one leverage point. (Not started)No variables yet. Brief: exactly 1 leverage point.

Always checked

  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • Each transfer joins stocks in the same units (Not started)No transfer drawn yet: a flow from one stock straight into another.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer

SF 08Seedlings raised on a windowsill

Aging chain

  • Reasoning4 of 5
  • Polish4 of 5

Amira raises tomatoes and peppers from seed on her kitchen windowsill. Each spring she sows about 60 seeds in trays; about one in five fails to sprout, and the rest come up within two weeks. Seedlings grow on the sill for about five weeks, and a few die of damping off. Before going into the garden, each seedling spends exactly ten days in a cold frame, hardening off, and cold nights kill a few there. The cold frame holds 24, so seedlings wait on the sill until it has room. Count every stage in seedlings, a seed counted from the day it is sown, and time in days.

The brief

  1. Draw a stock for each stage: sown in trays, seedlings on the sill, in the cold frame, planted out. checked by the lab
  2. Chain the stages with transfers, so a seedling leaving one arrives in the next. checked by the lab
  3. Mark the ten days in the cold frame as a material delay. checked by the lab
  4. Add a behavior note. checked by the lab
  5. Where seedlings pile up, and why, is in the note. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram: beans in warehouse Stocks: beans in warehouse (kilograms). Auxiliaries: beans ordered. Flows: deliveries, from a cloud to beans in warehouse (kilograms per week, with a delay). Signals: beans ordered to deliveries, +, with a delay. deliveries + kilogramsbeans in warehouse beans ordered
    delay
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). Behavior note: full in about ten minutes. filling literswater in tub full in about ten minutes
    behavior note

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. Drag a behavior note to move it. Double-click or double-tap a stock's name or units, a flow's name or a behavior note to edit its words in place, or select it and use Rename or the fields under the canvas.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, a flow, a cloud or a behavior note on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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.
Note N
place a behavior note (press where it goes).

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.

  1. Draw a stock for each stage: sown in trays, seedlings on the sill, in the cold frame, planted out. (Not started)No stocks yet. Brief: at least 4.
  2. Chain the stages with transfers, so a seedling leaving one arrives in the next. (Not started)No transfer yet. Brief: at least 4 stocks in the longest chain.
  3. Mark the ten days in the cold frame as a material delay. (Not started)No flows yet. Brief: exactly 1 material delay.
  4. Add a behavior note. (Not started)No flow drawn yet. Once one is, add a behavior note naming how the stocks change over time.

Always checked

  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer

SF 09A city's bike-share fleet

Multiple stocks, a boundary and evidence

  • Reasoning5 of 5
  • Polish5 of 5

A city's bike-share scheme has docks on a hilltop and by the river. Riders seldom pedal uphill, so rides between the two run downhill and bikes collect at the riverside docks; on rainy days about a third fewer bikes are ridden. Vans collect bikes from the riverside docks and bring them to the scheme's workshop, where mechanics check and repair them; the vans then deliver them to the hilltop docks. Bikes beyond repair are scrapped. Staff record rides, collections and deliveries each day. They believe the vans deliver more bikes the lower the hilltop docks run, but nobody has checked. Rain, and scrapped bikes once they leave, lie outside the scheme. Count every stock in bikes, and time in days.

The brief

  1. Draw a stock for each place bikes wait: the hilltop docks, the riverside docks, the workshop. checked by the lab
  2. Join the stocks with transfers, so no bike appears or vanishes between them. checked by the lab
  3. Declare a balancing loop through the vans' deliveries. checked by the lab
  4. Draw the scheme's boundary, with rain outside it as an external driver. checked by the lab
  5. Code the signal you judge less supported as a hypothesis. checked by the lab
  6. Rain's signal rests on ride counts and is solid; the vans' response, a belief, is the hypothesis, and the legend shows the coding. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram Auxiliaries: tap opening. tap opening
    auxiliary
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening. Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub tap opening
    signal
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening; drain blockage. Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Signals: tap opening to filling, +; drain blockage to draining, −. filling draining + − literswater in tub tap opening drain blockage
    polarity
  • Stock & flow diagram: dirty dishes; clean dishes Stocks: dirty dishes (dishes); clean dishes (dishes). Flows: washing up, from dirty dishes to clean dishes (dishes per day). Signals: clean dishes to washing up, −. Loop B1 cupboard full, balancing: clean dishes, washing up, which fills clean dishes. washing up − dishesdirty dishes dishesclean dishes B1cupboard full
    loop
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). Signals: water in tub to draining, +. Loop B1 draining down, balancing: water in tub, draining, which drains water in tub. draining + literswater in tub B1draining down
    balancing loop
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). Boundary bathroom contains: water in tub. bathroom filling literswater in tub
    boundary
  • Stock & flow diagram: water in barrel Stocks: water in barrel (liters). Auxiliaries: rainfall (external driver). Flows: collecting, from a cloud to water in barrel (liters per day). Signals: rainfall to collecting, +. collecting + literswater in barrel ‹rainfall›
    external driver
  • Stock & flow diagram: members Stocks: members (people). Auxiliaries: posters up. Flows: joining, from a cloud to members (people per month). Signals: posters up to joining, +, hypothesis. joining + peoplemembers posters up
    evidence coding

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. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a stock's name or units, an auxiliary, a flow's name, a loop's label or name or a boundary's name to edit its words in place, or select it and use Rename or the fields under the canvas.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, an auxiliary, a flow, a signal, a cloud, a loop label or a boundary on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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.
Loop L
declare a loop by selecting its signals and flows in order, then label and name it.
Boundary B
drag out a boundary around the system, and name it.

Keys

  • G legend on or off
  • 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 17 checks passed; 17 pending.

  1. Draw a stock for each place bikes wait: the hilltop docks, the riverside docks, the workshop. (Not started)No stocks yet. Brief: at least 3.
  2. Join the stocks with transfers, so no bike appears or vanishes between them. (Not started)No flows yet. Brief: at least 3 transfers.
  3. Declare a balancing loop through the vans' deliveries. (Not started)No loop declared yet. Brief: at least 1 balancing loop.
  4. Draw the scheme's boundary, with rain outside it as an external driver. (Not started)No boundary drawn yet. Draw one and name the system it holds. Brief: at least 1 external driver outside it.
  5. Code the signal you judge less supported as a hypothesis. (Not started)No signals yet.

Always checked

  • Each loop's kind matches its − effects (Not started)No loop declared yet.
  • Loop labels are unique and match their kind (Not started)No loop declared yet.
  • No effect runs into an external driver (Not started)No variable is marked as an external driver yet.
  • External drivers sit outside every boundary (Not started)No variable is marked as an external driver yet.
  • The legend is on when effects are coded or tagged (Not started)No signal is coded as a hypothesis yet, so the legend has nothing to declare.
  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • Each transfer joins stocks in the same units (Not started)No transfer drawn yet: a flow from one stock straight into another.
  • Clouds sit outside every boundary (Not started)No cloud drawn yet.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer

SF 10Teachers in a country's schools

A complete model

  • Reasoning5 of 5
  • Polish5 of 5

Student teachers take a one-year course; about one in ten drops out. Newly qualified teachers count as experienced after three years, and about one in eight leaves each year before then; about one experienced teacher in fourteen leaves each year. Pupil numbers are rising, and the fewer experienced teachers there are, the heavier each one's workload. In exit surveys, teachers name workload as their main reason for leaving, and resignations rise a year or two after workload does. Head teachers believe that mentoring by experienced teachers keeps new teachers from leaving, but nobody has measured it. The education ministry proposes funding more training places; whether they would fill is untested. Pupil numbers lie outside the schools. Count every stage in teachers, student teachers included, and time in years.

The brief

  1. Draw a stock for each stage: student teachers, newly qualified teachers, experienced teachers. checked by the lab
  2. Join the stages with transfers. checked by the lab
  3. Declare two or more loops. checked by the lab
  4. Run every loop through a stock. checked by the lab
  5. Code each signal you judge less supported as a hypothesis. checked by the lab
  6. Mark what the ministry proposes to change as the one leverage point. checked by the lab
  7. Mark the year or two between heavier workload and more resignations as a signal delay. checked by the lab
  8. The leverage point's signal is a hypothesis, as mentoring's is; the legend shows the coding, and every other signal is solid. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram Auxiliaries: tap opening. tap opening
    auxiliary
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening. Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub tap opening
    signal
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Stock equation: change in water in tub = filling − draining. filling draining literswater in tub change in water in tub = filling − draining
    stock equation
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening; drain blockage. Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Signals: tap opening to filling, +; drain blockage to draining, −. filling draining + − literswater in tub tap opening drain blockage
    polarity
  • Stock & flow diagram: beans in warehouse Stocks: beans in warehouse (kilograms). Auxiliaries: beans ordered. Flows: deliveries, from a cloud to beans in warehouse (kilograms per week, with a delay). Signals: beans ordered to deliveries, +, with a delay. deliveries + kilogramsbeans in warehouse beans ordered
    delay
  • Stock & flow diagram: dirty dishes; clean dishes Stocks: dirty dishes (dishes); clean dishes (dishes). Flows: washing up, from dirty dishes to clean dishes (dishes per day). Signals: clean dishes to washing up, −. Loop B1 cupboard full, balancing: clean dishes, washing up, which fills clean dishes. washing up − dishesdirty dishes dishesclean dishes B1cupboard full
    loop
  • Stock & flow diagram: rabbits in warren Stocks: rabbits in warren (rabbits). Flows: births, from a cloud to rabbits in warren (rabbits per month). Signals: rabbits in warren to births, +. Loop R1 breeding, reinforcing: rabbits in warren, births, which fills rabbits in warren. births + rabbitsrabbits in warren R1breeding
    reinforcing loop
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). Signals: water in tub to draining, +. Loop B1 draining down, balancing: water in tub, draining, which drains water in tub. draining + literswater in tub B1draining down
    balancing loop
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). Boundary bathroom contains: water in tub. bathroom filling literswater in tub
    boundary
  • Stock & flow diagram: water in barrel Stocks: water in barrel (liters). Auxiliaries: rainfall (external driver). Flows: collecting, from a cloud to water in barrel (liters per day). Signals: rainfall to collecting, +. collecting + literswater in barrel ‹rainfall›
    external driver
  • Stock & flow diagram: goats Stocks: goats (goats). Auxiliaries: goats per hectare. Flows: goats dying, from goats to a cloud (goats per year). Signals: goats per hectare to goats dying, +, nonlinear. goats dying + goatsgoats goats per hectare
    nonlinear effect
  • Stock & flow diagram: members Stocks: members (people). Auxiliaries: posters up. Flows: joining, from a cloud to members (people per month). Signals: posters up to joining, +, hypothesis. joining + peoplemembers posters up
    evidence coding
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening (leverage point). Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub ????tap opening
    leverage point
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). Behavior note: full in about ten minutes. filling literswater in tub full in about ten minutes
    behavior note
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Behavior-over-time graph of water in tub: rises toward a value and flattens. literswater in tub water in tub (liters)time
    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. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Drag a behavior note to move it. Double-click or double-tap a stock's name or units, an auxiliary, a flow's name, a loop's label or name, a boundary's name or a behavior note to edit its words in place, or select it and use Rename or the fields under the canvas.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, an auxiliary, a flow, a signal, a cloud, a behavior-over-time graph, a loop label, a boundary or a behavior note on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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.
Loop L
declare a loop by selecting its signals and flows in order, then label and name it.
Boundary B
drag out a boundary around the system, and name it.
Note N
place a behavior note (press where it goes).
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

  • G legend on or off
  • 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 19 checks passed; 19 pending.

  1. Draw a stock for each stage: student teachers, newly qualified teachers, experienced teachers. (Not started)No stocks yet. Brief: at least 3.
  2. Join the stages with transfers. (Not started)No flows yet. Brief: at least 2 transfers.
  3. Declare two or more loops. (Not started)No loop declared yet. Brief: at least 2 loops.
  4. Run every loop through a stock. (Not started)No loop declared yet. Brief: every loop through a stock.
  5. Code each signal you judge less supported as a hypothesis. (Not started)No signals yet.
  6. Mark what the ministry proposes to change as the one leverage point. (Not started)No variables yet. Brief: exactly 1 leverage point.
  7. Mark the year or two between heavier workload and more resignations as a signal delay. (Not started)No signals yet. Brief: at least 1 signal delay.

Always checked

  • Each loop's kind matches its − effects (Not started)No loop declared yet.
  • Loop labels are unique and match their kind (Not started)No loop declared yet.
  • No effect runs into an external driver (Not started)No variable is marked as an external driver yet.
  • External drivers sit outside every boundary (Not started)No variable is marked as an external driver yet.
  • The legend is on when effects are coded or tagged (Not started)No signal is coded as a hypothesis yet, so the legend has nothing to declare.
  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • Each transfer joins stocks in the same units (Not started)No transfer drawn yet: a flow from one stock straight into another.
  • Clouds sit outside every boundary (Not started)No cloud drawn yet.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer

CS 07Kelsham Primary School: four classes in a chain

A chain of stocks, and a loop through the flow that fills it

  • Reasoning4 of 5
  • Polish4 of 5

Since 2023 Kelsham Primary School has taught four classes: Reception, Years 1 and 2, Years 3 and 4, and Years 5 and 6. Children start in Reception each September; each September after that every pupil moves up a year, those finishing Reception, Year 2 and Year 4 into the next class, and Year 6 leaves for secondary school. Each October's count of every pupil sets the school's funding for the school year after it, at £4,800 a pupil. With less funding, Years 3 and 4 were taught as one class, and Priya Shah and other parents weigh mixed-age classes when they choose a school for a child about to start. Leave out pupils who move school during a school year. Count every class in pupils, and time in years.

The brief

  1. Draw a stock for each class: Reception, Years 1 and 2, Years 3 and 4, Years 5 and 6. checked by the lab
  2. Join the classes with transfers, as pupils move up each September. checked by the lab
  3. Close one reinforcing loop from the classes through the school's funding to the flow of children starting. checked by the lab
  4. Run the loop through a stock. checked by the lab
  5. Mark the school year between the October count and the funding it sets as a signal delay. checked by the lab
  6. The October count reads every class, not only Reception: the funding follows every pupil on roll. you check this

Your palette

  • Stock & flow diagram: water in tub Stocks: water in tub (liters). literswater in tub
    stock
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: filling, from a cloud to water in tub (liters per minute). filling literswater in tub
    flow
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Flows: draining, from water in tub to a cloud (liters per minute). draining literswater in tub
    cloud
  • Stock & flow diagram Auxiliaries: tap opening. tap opening
    auxiliary
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening. Flows: filling, from a cloud to water in tub (liters per minute). Signals: tap opening to filling, +. filling + literswater in tub tap opening
    signal
  • Stock & flow diagram: water in tub Stocks: water in tub (liters). Auxiliaries: tap opening; drain blockage. Flows: filling, from a cloud to water in tub (liters per minute); draining, from water in tub to a cloud (liters per minute). Signals: tap opening to filling, +; drain blockage to draining, −. filling draining + − literswater in tub tap opening drain blockage
    polarity
  • Stock & flow diagram: beans in warehouse Stocks: beans in warehouse (kilograms). Auxiliaries: beans ordered. Flows: deliveries, from a cloud to beans in warehouse (kilograms per week, with a delay). Signals: beans ordered to deliveries, +, with a delay. deliveries + kilogramsbeans in warehouse beans ordered
    delay
  • Stock & flow diagram: dirty dishes; clean dishes Stocks: dirty dishes (dishes); clean dishes (dishes). Flows: washing up, from dirty dishes to clean dishes (dishes per day). Signals: clean dishes to washing up, −. Loop B1 cupboard full, balancing: clean dishes, washing up, which fills clean dishes. washing up − dishesdirty dishes dishesclean dishes B1cupboard full
    loop
  • Stock & flow diagram: rabbits in warren Stocks: rabbits in warren (rabbits). Flows: births, from a cloud to rabbits in warren (rabbits per month). Signals: rabbits in warren to births, +. Loop R1 breeding, reinforcing: rabbits in warren, births, which fills rabbits in warren. births + rabbitsrabbits in warren R1breeding
    reinforcing loop

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, a flow's name or a loop's label or name to edit its words in place, or select it and use Rename or the fields under the canvas.

Stock & flow diagram Nothing drawn yet.

Nothing selected. Select a stock, an auxiliary, a flow, a signal, a cloud or a loop label on the canvas, and what you can change shows here.

Each flow is counted in its stock's units per this unit of time.

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.
Loop L
declare a loop by selecting its signals and flows in order, then label and name it.

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 13 checks passed; 13 pending.

  1. Draw a stock for each class: Reception, Years 1 and 2, Years 3 and 4, Years 5 and 6. (Not started)No stocks yet. Brief: at least 4.
  2. Join the classes with transfers, as pupils move up each September. (Not started)No flows yet. Brief: at least 3 transfers.
  3. Close one reinforcing loop from the classes through the school's funding to the flow of children starting. (Not started)No loop declared yet. Brief: exactly 1 reinforcing loop.
  4. Run the loop through a stock. (Not started)No loop declared yet. Brief: every loop through a stock.
  5. Mark the school year between the October count and the funding it sets as a signal delay. (Not started)No signals yet. Brief: at least 1 signal delay.

Always checked

  • Each loop's kind matches its − effects (Not started)No loop declared yet.
  • Loop labels are unique and match their kind (Not started)No loop declared yet.
  • Every stock has units (Not started)No stock drawn yet.
  • The time unit is given (Not started)No flow drawn yet.
  • Every stock has a flow in or out (Not started)No stock drawn yet.
  • Every flow has a name (Not started)No flow drawn yet.
  • Each transfer joins stocks in the same units (Not started)No transfer drawn yet: a flow from one stock straight into another.
  • No variable's name breaks the more test's three rules (Not started)No variable drawn yet.
Written feedback
Export

One defensible answer

It opens here once you've drawn at least one stock in the lab above. Your attempt saves as you draw.

One defensible answer