Classify a causal loop by multiplying its link signs: an even number of negative links is reinforcing (R), while an odd number is balancing (B). In the fictional maintenance model below, R1 contains two negative links, so (-1) × (-1) × (+1) = +1 and the loop is reinforcing. B1 contains one negative link, so (+1) × (+1) × (-1) = -1 and the loop is balancing. A negative link is not automatically a balancing loop.
Scope and terminology first
A causal loop diagram is a qualitative statement about hypothesized causal structure. Variables are connected by directed links, and every link carries a polarity. The MIT ESD.00 Lecture 2 notes summarize the notation: arrows are causal links, signs describe how one variable affects another, and loop identifiers mark reinforcing or balancing feedback.
For a link X -> Y : +, increasing X makes Y higher than it otherwise would have been, all else equal; decreasing X makes Y lower. For X -> Y : -, the directions are opposite. The sign does not mean good or bad, desirable or undesirable, correlated or uncorrelated.
A closed path is reinforcing when a change returns in the same direction and amplifies itself. It is balancing when the returning change opposes the initial move. MIT's ESD.36 project-dynamics notes give the same parity test used here: zero or an even number of negative causal links means reinforcing; an odd number means balancing.
The delay mark means the assumed effect takes meaningful time to appear. It warns the reader about timing but contributes no minus sign. This diagram does not specify delay length, link strength, stocks, flows, equations, initial conditions, or units, so it cannot simulate backlog over time.
Inputs: six explicit hypotheses
Assume a fictional, non-safety-critical maintenance team. All six links below are author-created teaching assumptions, not findings about a real facility. Each must eventually be supported, rejected, or refined with work-order data, interviews, a facilitated modeling process, or other documented evidence.
| Link | Sign | Ceteris-paribus statement used in this example | Provenance |
|---|---|---|---|
| Maintenance backlog → preventive work completion rate | − | More backlog crowds out scheduled preventive completion under fixed resources. | Fictional assumption |
| Preventive work completion rate → unplanned failures | − | More completed preventive work is assumed to reduce later unplanned failures. | Fictional assumption; delayed |
| Unplanned failures → maintenance backlog | + | More unplanned failures add corrective work to the backlog. | Fictional assumption |
| Maintenance backlog → temporary staffing | + | More backlog triggers more temporary staff allocation. | Fictional assumption |
| Temporary staffing → corrective work completion rate | + | More temporary staffing raises corrective completion after onboarding and coordination. | Fictional assumption; delayed |
| Corrective work completion rate → maintenance backlog | − | More completed corrective work removes items from the backlog. | Fictional assumption |
This source ledger is part of the example, not optional decoration. Jalali and Beaulieu's 2023 System Dynamics Review study evaluated 72 published articles and found recurring gaps in clear development methods and traceable sources for individual CLD links. They recommend stating whether links came from literature, interviews, group model building, author assumptions, or a combination. Here the provenance is deliberately simple: every link is an assumption created for arithmetic practice.
Work R1: two negatives make reinforcement
Start by perturbing Maintenance backlog upward and trace one complete trip around R1:
Maintenance backlog ↑
--(−)--> Preventive work completion rate ↓
--(−)--> Unplanned failures ↑
--(+)--> Maintenance backlog ↑
The change returns as backlog ↑, the same direction in which it started. The sign product agrees:
R1 = (−1) × (−1) × (+1)
= (+1) × (+1)
= +1 → reinforcing
The two negative links do not “cancel the problem.” They reverse direction twice, so the original movement is restored. The reverse perturbation is a useful invariant: backlog ↓ implies preventive completion ↑, then unplanned failures ↓, then backlog ↓ again. R1 can reinforce decline as well as growth; R does not mean that a variable must increase forever.
Work B1: one negative makes balance
Now trace the second loop from the same starting variable:
Maintenance backlog ↑
--(+)--> Temporary staffing ↑
--(+)--> Corrective work completion rate ↑ (after a delay)
--(−)--> Maintenance backlog ↓
The returning effect is backlog ↓, opposite to the original perturbation. Its product is
B1 = (+1) × (+1) × (−1)
= -1 → balancing
This classification does not prove B1 will dominate R1, clear the backlog, or remain stable. A slow response, weak gain, capacity limit, inaccurate trigger, or stronger reinforcing loop can still produce overshoot or persistent backlog. Loop polarity describes direction around one closed path, not magnitude or observed behavior of the whole system.
Reproducible Schematex source
causalloop "Maintenance backlog feedback"
layout: circle
"Maintenance backlog" -> "Preventive work completion rate" : -
"Preventive work completion rate" -> "Unplanned failures" : - delay
"Unplanned failures" -> "Maintenance backlog" : +
"Maintenance backlog" -> "Temporary staffing" : +
"Temporary staffing" -> "Corrective work completion rate" : + delay
"Corrective work completion rate" -> "Maintenance backlog" : -
loop R1 "Prevention erosion"
loop B1 "Backlog recovery"
Schematex 1.0.13 strictly parsed and rendered this source with no diagnostics on August 25, 2026. Its causal-loop engine assembled five variables and six signed links, enumerated two elementary cycles, counted two negative links in R1 and one in B1, and returned exactly one reinforcing and one balancing loop. The current Causal Loop Diagram syntax reference documents mandatory link signs, delay marks, loop naming, deterministic cycle enumeration, and R/B classification. That owned page establishes renderer behavior; Sterman and the MIT notes establish the notation and polarity rule.
Checks and invariants
- Closed path: every claimed loop returns to its starting variable without repeating an intermediate variable. An open chain is not a feedback loop.
- Unambiguous variable direction: each noun phrase can sensibly rise or fall. Replace vague labels such as
better maintenancewith a measurable direction such aspreventive work completion rate. - One mechanism per link: if backlog both helps and harms one outcome through different mechanisms, split the pathways instead of assigning one ambiguous sign.
- Local sign check: read each link while holding other modeled conditions constant. Polarity is not a simple historical correlation.
- Parity and product agree:
R1has two negatives and product+1;B1has one negative and product-1. - Trace test agrees: an upward or downward perturbation returns in the direction predicted by the sign product.
- Delay neutrality: each delay changes timing only. Removing a delay mark must not change R/B classification.
- Source visibility: every link has a stated evidence source or is explicitly marked as an assumption.
- Analysis boundary: loop polarity is qualitative. No backlog quantity, completion forecast, staffing level, or failure frequency can be calculated from this CLD.
For a negative test, change the first R1 link from - to +. The loop then contains one negative link, its product becomes -1, and it must be classified as balancing. Separately, delete any link polarity: strict parsing should reject the source rather than guess the missing sign.
Failure modes, limitations, and review boundary
Common mistakes are calling every negative link “balancing,” treating R as good or B as bad, using labels that cannot move up or down, hiding two mechanisms behind one arrow, adding a delay without defining what is delayed, inferring causation from correlation, and reading a qualitative map as a time-series forecast. Large diagrams create another trap: overlapping elementary loops may exist even when the author names only the most obvious ones.
Paste the source into the Schematex playground, reproduce R1 and B1, then flip exactly one sign in each loop and confirm that both classifications reverse. For real work, replace the six fictional assumptions with a link-by-link evidence ledger and only then decide whether the qualitative structure should be translated into a stock-and-flow simulation.