VGL Guide — Causal Loop Diagram (CLD)
Estimated reading time: 1 minutes.
Causal Loop Diagram (CLD)
Systems analysis: what reinforces or balances what over time. Every element is a Stock whose amount changes according to its incoming connections.
Node types
Stock— a variable whose value changes over time (default: blue)
Edge types — a loop with an even number of opposite links (including zero) is reinforcing; an odd number makes it balancing.
same— Stock → Stock, a positive causal link: both change in the same direction (solid, marked "+")opposite— Stock → Stock, a negative causal link: they change in opposite directions (dashed, marked "−")
A systems analysis diagram modelling population dynamics with reinforcing and balancing feedback loops:
vgraph populationCLD: CLD "Population Dynamics" {
node births: Stock "Births";
node population: Stock "Population";
node deaths: Stock "Deaths";
node foodSupply: Stock "Food Supply";
node crowding: Stock "Crowding";
// Reinforcing loop: more births increase population, larger population increases births
edge births -> population: same;
edge population -> births: same;
// Balancing loop: population increases deaths, deaths decrease population
edge population -> deaths: same;
edge deaths -> population: opposite;
// Balancing loop: population reduces food supply, less food reduces births
edge population -> foodSupply: opposite;
edge foodSupply -> births: same;
// Crowding effects
edge population -> crowding: same;
edge crowding -> deaths: same;
}
Note: CLD graphs model feedback loops in systems. Loops with an even number of "opposite" links (including zero) are reinforcing loops that produce exponential growth or decline. Loops with an odd number of "opposite" links are balancing loops that reach equilibrium. In this example, the births-population loop is reinforcing, while the population-deaths loop and population-food supply-births loop are balancing.
Home