Vithanco

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

Edge types — a loop with an even number of opposite links (including zero) is reinforcing (growth or decline); an odd number makes it balancing (towards equilibrium).

  • 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;
}