Skip to content
Thinking in Diagrams

Delays, External Drivers, and Competing Loops

Causal loopsPart II · Feedback · Chapter 5 of 12 · the second of two chapters on causal loops

Why does the obvious fix make things worse? A fix can set off loops that pull back against it, some of them after a delay. A causal loop diagram shows what those loops are, what drives them from outside, and which of them leads when.

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

A town’s main road jams every morning, so the council widens it from two lanes to four. For a year the drive across town takes twelve minutes instead of twenty-five.

Then the road fills. People who had taken the bus, driven at other hours or stayed home drive at rush hour. Developers build estates on the outskirts, sold on the short drive into town, and their residents drive the main road too. Meanwhile the region’s population grows, as it did before the widening. By the fifth year the drive takes twenty-five minutes again, with twice as many cars, and the council proposes six lanes.

Causal-loop diagram: B1 relief by widening; B2 induced traffic; B3 building on the outskirts Variables: lanes on the main road; travel time; car trips; homes on the outskirts; regional population (external driver). Effects: travel time to lanes on the main road (+, same direction); lanes on the main road to travel time (−, opposite direction, viewpoint: Commuters); travel time to car trips (−, opposite direction); car trips to travel time (+, same direction, nonlinear); travel time to homes on the outskirts (−, opposite direction, with a delay, hypothesis, viewpoint: Council); homes on the outskirts to car trips (+, same direction, viewpoint: Residents); regional population to car trips (+, same direction). Loop B1 relief by widening, balancing: travel time, lanes on the main road, and back to travel time. Loop B2 induced traffic, balancing: travel time, car trips, and back to travel time. Loop B3 building on the outskirts, balancing: travel time, homes on the outskirts, car trips, and back to travel time. Boundary the town's road network contains: lanes on the main road; travel time; car trips; homes on the outskirts. Outside every boundary: regional population. Behavior note: Travel time falls, then returns: B1 leads in the first year, B2 and B3 over the next few.. the town's road network + −Commuters − + −Council +Residents + lanes on the main road travel time car trips homes on the outskirts ‹regional population› B1relief by widening B2induced traffic B3building on the outskirts Travel time falls, thenreturns: B1 leads in thefirst year, B2 and B3 overthe next few. Evidencemore supportedless supportedViewpointsCommutersCouncilResidents

A boundary, a named outline with a tab, marks what the model explains. The road diagram’s boundary is the town’s road network, around the lanes, travel time, car trips and homes on the outskirts.

An external driver is a variable outside every boundary that affects something inside and isn’t affected back. Its name is drawn in angle brackets: ‹regional population›. People move to the region for its jobs and housing, and nothing in the town’s road network changes how many come, so regional population sits outside the boundary with one effect leaving it, into car trips.

An external entity also sits outside a boundary, but it is a party, not a quantity, and exchanges run to it as well as from it; it is drawn only in system context maps, which have no variables, so the two never share a diagram.

Check your understandingIn the road diagram, shorter travel times bring more homes on the outskirts, and more homes bring more car trips. Should homes on the outskirts be drawn as an external driver?

Not quite. Where a thing sits on a map doesn't decide it. The boundary marks what the model explains, and the model explains these homes: travel time changes them.

Yes. An external driver affects the inside and isn't affected back. An effect runs from travel time into homes on the outskirts, so they're part of what the model explains, and of loop B3.

Not quite. Who decides doesn't settle it. What settles it is whether anything inside the boundary changes the variable, and travel time does.

Not quite. Size doesn't make a variable external. One homeowner or ten thousand, an effect into it from inside the boundary keeps it inside.

A nonlinear effect is weak over part of its range and sudden over another, or strong, then flat. It’s drawn with a small S beside the effect’s middle.

On a half-empty road, more car trips barely change travel time; near the road’s capacity, each extra car adds minutes. The point where an effect turns from weak to sudden is its threshold: here, the road’s capacity. Widening raised the threshold, so for a while more trips cost almost no time, and that drew the trips back.

In a diagram with a dashed effect, solid marks an effect its author judges more supported, and dashed marks one less supported, a hypothesis; a diagram with no dashed effect carries no coding (chapter 1). In the road diagram, travel time → car trips is solid: induced traffic has been counted across American cities. Travel time → homes on the outskirts is dashed: the estates may have come for the short drive or for cheap land.

A viewpoint tag is a small labeled box beside an effect, naming a stakeholder who stresses that effect. The tag marks emphasis, not a different structure.

Commuters stress lanes on the main road → travel time, the drive the widening shortened. Residents along the main road stress homes on the outskirts → car trips, the traffic past their doors. The council stresses travel time → homes on the outskirts, the new estates and their taxes.

The legend is a box listing a diagram’s codings; any diagram with a dashed effect or a viewpoint tag must have one. Its evidence entry shows a solid line for more supported and a dashed line for less supported. Its viewpoints entry lists every viewpoint tag the diagram uses.

Loop dominance is which loop drives behavior at a given time. It is a reading of the structure, not a mark; the road diagram’s behavior note names which loop leads first and which later.

In the first year B1, relief by widening, dominates: four lanes cut travel time. B2, induced traffic, changes travel time within months, as shorter drives draw trips back. B3, building on the outskirts, changes it over years, through the delay on new homes. By the fifth year B2 and B3 dominate.

All three loops are balancing, toward different levels: B1 moves travel time toward what the council will accept, B2 and B3 toward what motorists will put up with. A fix that a system’s own loops pull back is policy resistance. Six lanes would set off B2 and B3 again.

What’s wrong with this diagram of the widened road?

Causal-loop diagram: B1 relief by widening; B2 induced traffic; B3 building on the outskirts Variables: lanes on the main road; travel time; car trips; homes on the outskirts; regional population (external driver). Effects: travel time to lanes on the main road (+, same direction); lanes on the main road to travel time (−, opposite direction); travel time to car trips (−, opposite direction); car trips to travel time (+, same direction); travel time to homes on the outskirts (−, opposite direction); homes on the outskirts to regional population (+, same direction); regional population to car trips (+, same direction). Loop B1 relief by widening, balancing: travel time, lanes on the main road, and back to travel time. Loop B2 induced traffic, balancing: travel time, car trips, and back to travel time. Loop B3 building on the outskirts, balancing: travel time, homes on the outskirts, regional population, car trips, and back to travel time. Boundary the town's road network contains: lanes on the main road; travel time; car trips; homes on the outskirts; regional population. the town's road network + − − + − + + lanes on the main road travel time car trips homes on the outskirts ‹regional population› B1relief by widening B2induced traffic B3building on the outskirts

Regional population, marked external, sits inside the boundary with an effect running into it from homes on the outskirts, since new homes house new people, and B3 runs through it. The lab’s check reports:

An external driver affects the system from outside and is not affected back, but 1 effect runs into one: homes on the outskirts → regional population. Remove that effect, or bring the variable inside the system by unmarking it as an external driver.

Corrected, homes on the outskirts run straight into car trips, and regional population sits outside the boundary, with its one effect leaving it.

Bad diagram
Causal-loop diagram: B1 relief by widening; B2 induced traffic; B3 building on the outskirts Variables: lanes on the main road; travel time; car trips; homes on the outskirts; regional population (external driver). Effects: travel time to lanes on the main road (+, same direction); lanes on the main road to travel time (−, opposite direction); travel time to car trips (−, opposite direction); car trips to travel time (+, same direction); travel time to homes on the outskirts (−, opposite direction); homes on the outskirts to regional population (+, same direction); regional population to car trips (+, same direction). Loop B1 relief by widening, balancing: travel time, lanes on the main road, and back to travel time. Loop B2 induced traffic, balancing: travel time, car trips, and back to travel time. Loop B3 building on the outskirts, balancing: travel time, homes on the outskirts, regional population, car trips, and back to travel time. Boundary the town's road network contains: lanes on the main road; travel time; car trips; homes on the outskirts; regional population. the town's road network + − − + − + + lanes on the main road travel time car trips homes on the outskirts ‹regional population› B1relief by widening B2induced traffic B3building on the outskirts
Corrected diagram
Causal-loop diagram: B1 relief by widening; B2 induced traffic; B3 building on the outskirts Variables: lanes on the main road; travel time; car trips; homes on the outskirts; regional population (external driver). Effects: travel time to lanes on the main road (+, same direction); lanes on the main road to travel time (−, opposite direction); travel time to car trips (−, opposite direction); car trips to travel time (+, same direction); travel time to homes on the outskirts (−, opposite direction); homes on the outskirts to car trips (+, same direction); regional population to car trips (+, same direction). Loop B1 relief by widening, balancing: travel time, lanes on the main road, and back to travel time. Loop B2 induced traffic, balancing: travel time, car trips, and back to travel time. Loop B3 building on the outskirts, balancing: travel time, homes on the outskirts, car trips, and back to travel time. Boundary the town's road network contains: lanes on the main road; travel time; car trips; homes on the outskirts. Outside every boundary: regional population. the town's road network + − − + − + + lanes on the main road travel time car trips homes on the outskirts ‹regional population› B1relief by widening B2induced traffic B3building on the outskirts

Labels unchanged. 1 variable moved outside the boundary. Effects: 1 added, 1 removed. Loops: 1 changed.

B3 now closes inside the town’s road network. If the estates do draw people to the region, regional population belongs inside the boundary, unmarked.

Notation moveWhenWhat it showsExample
Mark an external driverA variable affects the inside and nothing inside affects itA change the model doesn’t explain‹regional population› → car trips
Causal-loop diagram Variables: regional population (external driver); car trips. Effects: regional population to car trips (+, same direction). + ‹regional population› car trips
Mark a nonlinear effectAn effect is weak over part of its range and sudden over anotherWhere a threshold liescar trips → travel time, at the road’s capacity
Causal-loop diagram Variables: car trips; travel time. Effects: car trips to travel time (+, same direction, nonlinear). + car trips travel time
Tag a viewpointStakeholders stress different effectsWho stresses which effect, on one structureCommuters on lanes on the main road → travel time
Causal-loop diagram Variables: lanes on the main road; travel time. Effects: lanes on the main road to travel time (−, opposite direction, viewpoint: Commuters). −Commuters lanes on the main road travel time
Add a legendAn effect is dashed or taggedThe codings in useEvidence, Viewpoints
Causal-loop diagram Variables: travel time; homes on the outskirts. Effects: travel time to homes on the outskirts (−, opposite direction, hypothesis, viewpoint: Council). −Council travel time homes on the outskirts Evidencemore supportedless supportedViewpointsCouncil
Name loop dominance in a behavior noteLoops lead at different timesWhich loop leads first and which laterB1 leads in the first year, B2 and B3 over the next few
Causal-loop diagram Variables: travel time. Behavior note: B1 leads in the first year, B2 and B3 over the next few. travel time B1 leads in the first year,B2 and B3 over the next few

Read one way, policy resistance means no fix works. The road diagram shows which loops pull widening back, and so where a fix could act on them: a charge for driving at rush hour weakens B2, so shorter drives draw fewer trips back.

Read the other way, a causal loop diagram is a set of separate effects, each judged alone. Lanes on the main road → travel time is true, and alone it means a shorter drive; the drive lengthens again through the loops it sits in.

A causal loop diagram doesn’t show accumulation. Homes on the outskirts pile up while drives are short and stay when drives lengthen, but a − effect from travel time can’t show that, so a reader can’t work out from the diagram which loop dominates when (Richardson, 1986). In experiments, business school students misjudge how the water in a bathtub changes as it flows in and drains out (Booth Sweeney and Sterman, 2000).

A behavior note is a prediction, not a derivation; stock & flow diagrams, from chapter 6, show accumulation and give numbers. Without them, the loop diagram still shows which loops exist and which way each moves travel time: widening sets off two loops against it.

Check your understandingFive years after the widening, travel time is back where it was. Suppose the regional population hadn't grown at all. Which reading of the road diagram fits?

Not quite. Travel time fell in the first year, so B1 led then; other loops took over later.

Yes. That's the shift in loop dominance the behavior note names. B2 changes travel time within months and B3, through its delay, over years; both pull travel time back toward the level motorists will put up with.

Not quite. Every loop in the diagram is balancing: each has one − effect. Travel time returning to a level, rather than growing without end, is what balancing loops produce.

Not quite. With the regional population flat, nothing outside the boundary changed: the town's own loops brought travel time back.

The Munro Review’s loops of compliance, redrawn

Section titled “The Munro Review’s loops of compliance, redrawn”
Causal-loop diagram: B1 comply; B2 but it’s going wrong; R1 we followed procedures Variables: variety of children’s circumstances (external driver); quality of help to children; mistakes; reflection on the prescriptive approach; perceived effectiveness of prescription; target level of prescription; compliance enforcement; room for professional judgment; compliance with prescriptions; availability of the rules defense; ability to acknowledge mistakes. Effects: variety of children’s circumstances to quality of help to children (−, opposite direction); room for professional judgment to quality of help to children (+, same direction); quality of help to children to mistakes (−, opposite direction); mistakes to reflection on the prescriptive approach (+, same direction); reflection on the prescriptive approach to perceived effectiveness of prescription (−, opposite direction); perceived effectiveness of prescription to target level of prescription (+, same direction); target level of prescription to compliance enforcement (+, same direction); compliance enforcement to room for professional judgment (−, opposite direction); room for professional judgment to compliance with prescriptions (−, opposite direction); compliance with prescriptions to compliance enforcement (−, opposite direction); compliance with prescriptions to availability of the rules defense (+, same direction); availability of the rules defense to ability to acknowledge mistakes (−, opposite direction); ability to acknowledge mistakes to perceived effectiveness of prescription (−, opposite direction). Loop B1 comply, balancing: room for professional judgment, compliance with prescriptions, compliance enforcement, and back to room for professional judgment. Loop B2 but it’s going wrong, balancing: room for professional judgment, quality of help to children, mistakes, reflection on the prescriptive approach, perceived effectiveness of prescription, target level of prescription, compliance enforcement, and back to room for professional judgment. Loop R1 we followed procedures, reinforcing: compliance with prescriptions, availability of the rules defense, ability to acknowledge mistakes, perceived effectiveness of prescription, target level of prescription, compliance enforcement, room for professional judgment, and back to compliance with prescriptions. − + − + − + + − − − + − − ‹variety of children’s circumstances› quality of help to children mistakes reflection on the prescriptive approach perceived effectiveness of prescription target level of prescription compliance enforcement room for professional judgment compliance with prescriptions availability of the rules defense ability to acknowledge mistakes B1comply B2but it’s going wrong R1we followed procedures

Redrawn from Eileen Munro, The Munro Review of Child Protection, Part One: A Systems Analysis (Department for Education, 2010), Appendix 2, the diagram on p. 52. Contains public sector information licensed under the Open Government Licence v3.0.

Its S (same direction) and O (opposite direction) drawn as + and −; its R labeled R1, and each loop’s name lowercased, its exclamation mark dropped; nine names shortened or reworded; variety of children’s circumstances marked as an external driver; its four-variable tail, from sense of satisfaction derived from work to public status of child protection workers, left out.

Question 1 of 3Which variable is drawn as an external driver, in angle brackets, and why?

Yes. Children’s circumstances vary for reasons no rule or target reaches, so no effect runs into it. Its one effect leaves it: the wider the variety, the less help a fixed procedure gives.

Not quite. Perceived effectiveness of prescription changes the target through a + effect, so the target sits inside B2 and R1. An external driver has no effect running into it.

Not quite. Quality of help changes mistakes through a − effect, and mistakes change reflection on the prescriptive approach: mistakes sit inside B2.

Question 2 of 3In the review’s account, R1, we followed procedures, keeps B2, but it’s going wrong, from bringing the target level of prescription down. Where do the two loops compete?

Not quite. B2 and R1 both reach enforcement the same way, from the target. They pull apart earlier, at perceived effectiveness of prescription, which each changes through its own − effect.

Not quite. R1 doesn’t run through mistakes. It changes whether mistakes are acknowledged, and so meets B2 at perceived effectiveness of prescription.

Yes. Two − effects end there. Through B2, more mistakes bring more reflection and lower it; through R1, more compliance makes the rules defense more available, mistakes harder to acknowledge, and raises it. While R1 dominates, the target stays high whatever the mistakes.

Question 3 of 3No effect in the figure carries a delay. On which effect would a delay belong?

Not quite. An enforced rule narrows what a social worker may do from the day it applies: the change in room follows the change in enforcement with no delay to mark.

Yes. A mistake in the help given is found when harm to a child comes to light, often months or years later: the change in mistakes comes long after the change in quality of help. With that delay, B2 corrects slowly, and R1 has time to dominate.

Not quite. Compliance is, in the review’s words, “the proximal effect” of a cut in that room: the change in compliance follows the change in room with no delay to mark.

Passing the checks means meeting the brief, not being right. The answer to CL 08, a parent who finishes the homework, has the structure of shifting the burden, an archetype in chapter 10.

CL 06A food bank in a downturn

Multiple loops and a boundary

  • Reasoning3 of 5
  • Polish4 of 5

Layoffs at local employers reach a volunteer food bank months later, as families' savings run out. The food bank recruits volunteers, but the regulars give up shifts to train them, so more need goes unmet until trained volunteers take shifts weeks later. Keep layoffs outside the food bank's boundary.

The brief

  1. Draw the food bank's boundary and name it. checked by the lab
  2. Include one external driver. checked by the lab
  3. Show two delays. checked by the lab
  4. Close two loops and name each one. checked by the lab

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram Variables: orders; deliveries. Effects: orders to deliveries (+, same direction, with a delay). + orders deliveries
    delay
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: orders; stock. Effects: orders to stock (−, opposite direction). Boundary the shop contains: orders; stock. the shop − orders stock
    boundary
  • Causal-loop diagram Variables: weather (external driver); footfall. Effects: weather to footfall (+, same direction). Boundary the café contains: footfall. Outside every boundary: weather. the café + ‹weather› footfall
    external driver

To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.

Press an empty spot to add a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label 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 variable, 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect, a loop label or a boundary on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects in order, then label and name it.
Boundary B
drag out a boundary around the system, and name it.

Keys

  • R reverse the selected effect
  • +− the selected effect'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 9 checks passed; 9 pending.

  1. Draw the food bank's boundary and name it. (Not started)No boundary drawn yet. Draw one and name the system it holds.
  2. Include one external driver. (Not started)No boundary drawn yet. Draw one and name the system it holds. Brief: at least 1 external driver outside it.
  3. Show two delays. (Not started)No effects yet. Brief: at least 2 delays.
  4. Close two loops and name each one. (Not started)No loop declared yet. Brief: exactly 2 loops.

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.
  • 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer

CL 07Antibiotics and the resistance they breed

Policy resistance

  • Reasoning4 of 5
  • Polish4 of 5

Doctors prescribe antibiotics to cure infections, and cures bring infections down. Over years, heavy use breeds resistant bacteria: treatments fail, infections spread, and prescribing rises. Drug makers might answer the failures with new antibiotics a decade later, but new antibiotics earn little, so that effect is uncertain.

The brief

  1. Draw at least three loops. checked by the lab
  2. Make the loops interact by sharing variables. checked by the lab
  3. Code at least one uncertain effect as a hypothesis. checked by the lab
  4. Code an effect as a hypothesis only where you are unsure of it. you check this
  5. Keep the evidence legend small and inside the canvas. you check this

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram Variables: orders; deliveries. Effects: orders to deliveries (+, same direction, with a delay). + orders deliveries
    delay
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: training; quality. Effects: training to quality (polarity not yet set, hypothesis). training quality
    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 a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label to change it. Double-click or double-tap a variable 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect or a loop label on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects in order, then label and name it.

Keys

  • G legend on or off
  • R reverse the selected effect
  • +− the selected effect'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 7 checks passed; 7 pending.

  1. Draw at least three loops. (Not started)No loop declared yet. Brief: at least 3 loops.
  2. Make the loops interact by sharing variables. (Not started)No loop declared yet. Brief: two loops that share a variable.
  3. Code at least one uncertain effect as a hypothesis. (Not started)No effects 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.
  • The legend is on when effects are coded or tagged (Not started)No effect is coded as a hypothesis or tagged with a viewpoint yet, so the legend has nothing to declare.
  • 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer

CL 08A parent who finishes the homework

Shifting the burden archetype

  • Reasoning4 of 5
  • Polish4 of 5

A child stuck on homework turns to a parent, who on rushed evenings finishes it. Tonight's homework gets done, but the child comes to rely on the help and tries less, and the skill that would let the child finish alone builds only over weeks.

The brief

  1. Use the shifting-the-burden structure. you check this
  2. Close two balancing loops: the quick relief and the slower fundamental response. checked by the lab
  3. Close a reinforcing loop through which the relief builds dependence. checked by the lab
  4. Show the relief crowding out the fundamental response with a − effect. you check this
  5. Name every loop by behavior, not topic. you check this
  6. Create a clear visual hierarchy: main story first, detail second. you check this

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram Variables: orders; deliveries. Effects: orders to deliveries (+, same direction, with a delay). + orders deliveries
    delay
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: reorder point (leverage point). ????reorder point
    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 a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label to change it. Double-click or double-tap a variable 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect or a loop label on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects in order, then label and name it.

Keys

  • R reverse the selected effect
  • +− the selected effect'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 5 checks passed; 5 pending.

  1. Close two balancing loops: the quick relief and the slower fundamental response. (Not started)No loop declared yet. Brief: exactly 2 balancing loops.
  2. Close a reinforcing loop through which the relief builds dependence. (Not started)No loop declared yet. Brief: at least 1 reinforcing loop.

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 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer

CL 09An old town and its visitors

Competing viewpoints and nonlinear pressure

  • Reasoning5 of 5
  • Polish5 of 5

Visitors to an old town fill holiday lets, and more lets draw more visitors; the council limits lets as crowding grows. Residents leave as lets replace homes and as crowding rises: slowly, then fast once summer visitors outnumber them. Local shops close, and more residents leave. Tag what residents, shopkeepers and the council each stress.

The brief

  1. Include two reinforcing loops: visitor growth and the loss of residents. checked by the lab
  2. Include a balancing control loop. checked by the lab
  3. Mark one threshold as a nonlinear effect. checked by the lab
  4. Tag three viewpoints without using color. checked by the lab

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: workload; mistakes. Effects: workload to mistakes (+, same direction, nonlinear). + workload mistakes
    nonlinear effect
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (−, opposite direction, viewpoint: Growth). −Growth price sales
    viewpoint tag

To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.

Press an empty spot to add a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label to change it. Double-click or double-tap a variable 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect or a loop label on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects in order, then label and name it.

Keys

  • G legend on or off
  • R reverse the selected effect
  • +− the selected effect'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.

  1. Include two reinforcing loops: visitor growth and the loss of residents. (Not started)No loop declared yet. Brief: at least 2 reinforcing loops.
  2. Include a balancing control loop. (Not started)No loop declared yet. Brief: at least 1 balancing loop.
  3. Mark one threshold as a nonlinear effect. (Not started)No effects yet. Brief: at least 1 nonlinear effect.
  4. Tag three viewpoints without using color. (Not started)No effects yet. Brief: exactly 3 viewpoints.

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.
  • The legend is on when effects are coded or tagged (Not started)No effect is coded as a hypothesis or tagged with a viewpoint yet, so the legend has nothing to declare.
  • 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer

CL 10A forest region and its fires

Publication-ready multi-loop model

  • Reasoning5 of 5
  • Polish5 of 5

Small fires once thinned a dry forest's undergrowth. Crews now put out small and severe fires alike, so dry fuel builds for decades and the fires that escape burn hotter. Drought years make severe fires likelier. Whether severe fires lead agencies to fund prescribed burns, which thin the fuel, is uncertain.

The brief

  1. Synthesize four or more named loops. checked by the lab
  2. Add drought years as an external driver, outside a named boundary. checked by the lab
  3. Use evidence coding, declared in the legend. checked by the lab
  4. Polish spacing, label placement, and reading order. you check this

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram Variables: orders; deliveries. Effects: orders to deliveries (+, same direction, with a delay). + orders deliveries
    delay
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: orders; stock. Effects: orders to stock (−, opposite direction). Boundary the shop contains: orders; stock. the shop − orders stock
    boundary
  • Causal-loop diagram Variables: weather (external driver); footfall. Effects: weather to footfall (+, same direction). Boundary the café contains: footfall. Outside every boundary: weather. the café + ‹weather› footfall
    external driver
  • Causal-loop diagram Variables: workload; mistakes. Effects: workload to mistakes (+, same direction, nonlinear). + workload mistakes
    nonlinear effect
  • Causal-loop diagram Variables: training; quality. Effects: training to quality (polarity not yet set, hypothesis). training quality
    evidence coding
  • Causal-loop diagram Variables: reorder point (leverage point). ????reorder point
    leverage point
  • Causal-loop diagram Variables: . Behavior note: oscillation. oscillation
    behavior note
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (−, opposite direction, viewpoint: Growth). −Growth price sales
    viewpoint tag

To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.

Press an empty spot to add a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label 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 variable, 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect, a loop label, a boundary or a behavior note on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects 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).

Keys

  • G legend on or off
  • R reverse the selected effect
  • +− the selected effect'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 9 checks passed; 9 pending.

  1. Synthesize four or more named loops. (Not started)No loop declared yet. Brief: at least 4 loops.
  2. Add drought years as an external driver, outside a named boundary. (Not started)No boundary drawn yet. Draw one and name the system it holds. Brief: at least 1 external driver outside it.
  3. Use evidence coding, declared in the legend. (Not started)No effects 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 effect is coded as a hypothesis or tagged with a viewpoint yet, so the legend has nothing to declare.
  • 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer

CS 05Kelsham Primary School: births, new homes and two loops

External drivers, a delay of four years and competing loops

  • Reasoning3 of 5
  • Polish3 of 5

David Brennan forecasts Kelsham Primary School's starters from the births in its villages four years before. Births fell from 22 in 2016 to 11 in 2025, so the starters go on falling until 2029, whatever the school does. The first of the 60 homes at Mill Lane will be lived in from 2027, and he forecasts 0.25 children of primary school age for each, 15 children in all, joining in any year group. Inside the school, its funding still follows its pupils a school year behind each October count, and parents still weigh mixed-age classes against small ones. Draw the loops through the roll inside the school's boundary, with births and the new homes outside it.

The brief

  1. Draw the school's boundary and name it. checked by the lab
  2. Keep births in the villages and the homes at Mill Lane outside it as external drivers. checked by the lab
  3. Mark the four years from births to starters, and the October count, as delays. checked by the lab
  4. Close one reinforcing loop through the school's funding. checked by the lab
  5. Close one balancing loop through class size. checked by the lab
  6. Let the two loops share variables, so they compete. checked by the lab
  7. Name each loop by what it does. you check this

Your palette

  • Causal-loop diagram Variables: customers. customers
    variable
  • Causal-loop diagram Variables: price; sales. Effects: price to sales (polarity not yet set). price sales
    effect
  • Causal-loop diagram Variables: price; sales; revenue. Effects: price to sales (−, opposite direction); sales to revenue (+, same direction). − + price sales revenue
    polarity
  • Causal-loop diagram Variables: orders; deliveries. Effects: orders to deliveries (+, same direction, with a delay). + orders deliveries
    delay
  • Causal-loop diagram: R1 practice habit Variables: practice; skill; enjoyment. Effects: practice to skill (+, same direction); skill to enjoyment (+, same direction); enjoyment to practice (+, same direction). Loop R1 practice habit, reinforcing: practice, skill, enjoyment, and back to practice. + + + practice skill enjoyment R1practice habit
    loop
  • Causal-loop diagram: R1 compounding Variables: savings; interest. Effects: savings to interest (+, same direction); interest to savings (+, same direction). Loop R1 compounding, reinforcing: savings, interest, and back to savings. + + savings interest R1compounding
    reinforcing loop
  • Causal-loop diagram: B1 warming up Variables: room heat; heating. Effects: room heat to heating (−, opposite direction); heating to room heat (+, same direction). Loop B1 warming up, balancing: room heat, heating, and back to room heat. − + room heat heating B1warming up
    balancing loop
  • Causal-loop diagram Variables: orders; stock. Effects: orders to stock (−, opposite direction). Boundary the shop contains: orders; stock. the shop − orders stock
    boundary
  • Causal-loop diagram Variables: weather (external driver); footfall. Effects: weather to footfall (+, same direction). Boundary the café contains: footfall. Outside every boundary: weather. the café + ‹weather› footfall
    external driver

To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.

Press an empty spot to add a variable and type its name. Drag a variable to move it. Select a variable, an effect or a loop label 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 variable, 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.

Causal-loop diagram Variables: .

Nothing selected. Select a variable, an effect, a loop label or a boundary on the canvas, and what you can change shows here.

The tools

Variables V
add a variable (press an empty spot), move one (drag it), rename one (double-click it, or Rename under the canvas), or select anything.
Effects E
draw an effect by dragging from one variable to another.
Loop L
declare a loop by selecting its effects in order, then label and name it.
Boundary B
drag out a boundary around the system, and name it.

Keys

  • R reverse the selected effect
  • +− the selected effect'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 the school's boundary and name it. (Not started)No boundary drawn yet. Draw one and name the system it holds.
  2. Keep births in the villages and the homes at Mill Lane outside it as external drivers. (Not started)No boundary drawn yet. Draw one and name the system it holds. Brief: at least 2 external drivers outside it.
  3. Mark the four years from births to starters, and the October count, as delays. (Not started)No effects yet. Brief: at least 2 delays.
  4. Close one reinforcing loop through the school's funding. (Not started)No loop declared yet. Brief: exactly 1 reinforcing loop.
  5. Close one balancing loop through class size. (Not started)No loop declared yet. Brief: exactly 1 balancing loop.
  6. Let the two loops share variables, so they compete. (Not started)No loop declared yet. Brief: two loops that share a variable.

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.
  • 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 variable in the lab above. Your attempt saves as you draw.

One defensible answer