Learn to Read Causal Loop Diagrams

Posted by

Most of our posts include causal loop diagrams because some things are better expressed with a visual model than in words alone. Systems thinking takes on complex, dynamic systems and how they behave over time, which calls for a different sort of language. This quick tutorial will teach you the basics about reading causal loop diagrams through a Population model.

There are 3 key reasons why causal loop diagrams are helpful:

1. They help us clarify our own mental models and make our thinking clearer
2. They help us identify common archetypes that drive systems’ behavior
3. They help us share our mental models and modify them with others, which potentially opens a rich dialogue

Causal loop diagrams consist of variables (things, actions or feelings) connected by causal links (arrows) with polarities (+ and – signs) and delays (||). Together, these create positive and negative feedback loops that describe the circles of cause and effect that take on a life of their own. Let’s hop into our example to make this more concrete.

Population Model

The two things that cause the Population to change are Births and Deaths, so we use arrows to represent these causal links. We know that more Births lead to a greater Population, and fewer Births will lead to a lower Population, all else equal. We would say this relationship has a positive polarity, meaning that the two variables move in the same direction: more leads to more, or less leads to less. We indicate that a causal relationship has a positive polarity by placing a + sign next to the arrow head.

We also know that more deaths lead to a lower Population, and fewer deaths lead to a greater population. The variables move in the opposite direction, more leads to less, or less leads to more, so we would say that this relationship has a negative polarity. We represent this by labeling the arrow head with a – sign.

These causal links are true independently, and they are also both true at the same time. On their own, they don’t tell us what’s actually happening to the population. The direction of change in population is determined by whichever of these two relationships is dominant. As long as births exceed deaths population will grow, and whenever deaths exceed births, the population will shrink.

Now let’s introduce some Feedback into the model. While more Births lead to a greater Population, a greater Population also leads to more Births since more people make more babies, given a birth rate stays constant (this is why we say “all else equal”, because we only consider the two variables that we are linking when we think about polarity). Therefore, we draw a positive causal link from Population back to Births.

This link forms our first feedback loop, shown on the left side of the image above. A feedback loop is what we call a set of relationships where one variable leads to a change in another variable that eventually leads to a change in the original variable. To read a feedback loop, you pick a variable to start with and arbitrarily pick a direction – either More or Less.

So let’s read this one starting with Population and More. More population leads to more births which leads to more population. This is called a Reinforcing Feedback Loop (marked with an R) because more births today lead to more births in the future – births reinforce births. Similarly, less Births would lead to a lower Population which would lead to less births in the future; the reinforcing process works in the opposite direction too. If this were the only Feedback Loop in the Population system and people did not die, then we would see exponential growth in the number of people.

We see a different type of Feedback Loop when we examine Deaths. More Deaths today leads to fewer Deaths in the future. This is because more deaths today will cause the population to fall, which means less people will be around to die later. These types of loops are called Balancing Feedback Loops (marked with a B) since more leads to less or less leads to more – the original change is balanced by a change in the opposite direction.

Feedback loops take on a life of their own. We see a set of relationships that are always happening over and over again generating behavior that unfold over time. These two feedback loops can cause a few different behaviors based on the the birth rate and life expectancy – we will observe Population growing and growing ever faster as long as the reinforcing Births loop dominates, and leveling off if the Deaths balancing loop is dominant.

Notice in the image above that there are two hash marks, || ,  on the causal links between Population and Births and between Population and Deaths. Hash marks represent a Delay, a situations where it takes time before the effect plays out. It takes time for an individual to be of-age to have a child which is why there is a delay between Population and Births. This delay is longer in some countries like New Zealand where the average woman has children at age 29, wherease it’s less than 20 years of age in certain developing countries.

The delay in deaths is one where we see huge differences across various countries. In Japan, the life expectancy is over 80 years of age, while it’s only 49 years in Afghanistan. Delays have important implications, so whenever you run into one, think to your self, “how long is this delay?” If delays are relatively long, that could lead to a lag in responsiveness or inability to adapt (i.e. you simply can’t change the population instantly), whereas if delays are very short or non-existent, the system might be more sporadic.

The delay it takes for people to change their opinions is very short in a young child, and very long in adults (some adults never change their worldviews after a certain age).

A Resource-Constrained Poor Country

Now let’s take a look at a model that captures a resource-constrained, poor country below. Can you trace the two new Balancing and Reinforcing Loops and make sense of them? Let’s give it a try!

We’ll begin with the new balancing loop on the bottom right. As Population increases, the number of Resources per Person falls, and when this happens, the average Life Expectancy will also fall since fewer resources means less food, a weaker economy, fewer doctors, and fewer jobs. As Life Expectancy falls, the rate of Deaths increases, which causes the Population to fall. This balancing loop makes sense, but it will only come into play given that resource constraints are a serious issue.

Another interesting thing plays out as related to Life Expectancy in the new reinforcing loop on the bottom left. When Life Expectancy falls and infant mortality rates increases, people may desire to have larger families. This ultimately leads to more children in each household, which increases the Population size, exacerbates resource constraints and decreases Life Expectancy further.  This reinforcing loop represents a vicious cycle where people essentially get what they want in the present at the expense of the future. Does this mechanism make sense? It certainly wouldn’t apply in every context, but in some situations, you could imagine how a mother, expecting several of her children to die before they reach a ripe old age, would want to have more children in anticipation of early deaths. The model is true in the context of a prevailing set of factors (resource constraints matter) and beliefs (having many children is the best way to ensure that you have family in the future).

Context Is Key

Keep in mind that this is just one simplified population model of a hypothetical population. It may represent some countries more than others. For example, some would argue that the link between Resources and Life Expectancy is a weak one as long as technological progress and innovations allow us to support our consumption habits without extracting resources at too high of a rate. But others argue that technology can only do so much, and that even the U.S. will eventually reach its limits.  Some believe that we are using oil as if we’re fetching water from a well – we have no idea how much is left, so we behave as if it’s bottomless.

The particular problem and context of a model should always be clear. Models are used to frame problems and answer questions. They are explicit theories of why something behaves the way it does. They should help to clarify what is being considered and what is being excluded and present opportunities to suggest correction, additions, and improvements.

Summary

So next time you see a causal loop diagram:

1. Ask what problem is this describing
2. Walk through the major feedback loops, identify what type they are, and boil them down to the process that they are capturing
3. Estimate the delays to get an idea of the timescale of each feedback loop
4. Identify which variables and loops are dominant
5. Think about what is missing

Now practice what you’ve learned in this short Causal Loop Diagram Quiz!

Practice Reading More Causal Loop Diagrams (or see full list of essays with CLDs):

Learn the Foundations:

With what we know from here, we’d be able to communicate our worldview with these diagrams. Presumably, we could then test our understanding of the system and refine our worldview as necessary.
How would you add more complex interactions in the model? Say, what if the polarity of an interaction switches based on other interactions in the system or if the delay in an interaction was also modulated?
In addition, how can a user extract a quantitative prediction from a model? A policy maker would need precise predictions to decide which set of policies would be most effective.

1. Andrew Frangos says:

Hi Sam, I’m glad you found this helpful! that is exactly the idea: these diagrams should provide us with a language for articulating and sharing our views of dynamic problems.

Often when we observe a more complex interaction that doesn’t seem to be captured by a simple polarity, that means there are two different causal pathways between the linked variables, and some other relationship in the model can alter which of those pathways is dominant and observed. Each causal link can potentially contain an entire subsystem that leads to the behavior we observe, so if we suspect that the complexity is not well captured in an important link, we should drill down to make that relationship more explicit. There is a tradeoff here between making the model understandable and therefore useful versus capturing complete complexity. For this reason, we should go for the simplest set of relationships that captures the problem at hand.

There are also cases where the system structure truly does change and unfortunately, this would render a model no longer useful. If we expect significant structural changes in the time frame we are considering, our model is only as good as our ability to imagine these changes and what would drive them.

Causal loop diagrams are great for capturing feedback relationships, but are hardly useful for developing our quantitative or predictive abilities. In stock flow diagrams, which we will write about in an upcoming post, we begin to capture the structural and operational aspects of the system. We are explicit about which variables are rates and which are integrals or accumulations, which can give us a better sense for how the model behaves. Once we put equations to these relationships, we can test the model in a wider variety of ways and use it to build foresight about how policies will affect behavior.

2. Nigel M HAUPT says:

I think that this article had been so useful in terms of my understanding of Closed Loop Diagrams. Thank you!
59 year old EMBA student

2. After looking at a handful of the blog articles on your website,
I seriously appreciate your way of blogging. I saved as a favorite it to
my bookmark website list and will be checking back soon. Take a look at my web site as well

3. Sam Fok says:

Just curious, what do you use to draw these systems diagrams? They’re really nice and I was wondering about how I could draw my own.

4. We use a software called vensim. It has a free version 🙂

1. sbfok says:

Thanks!

5. M says:

Are you sure the ‘+’ and ‘-‘ are right in diagram “Population Model with Resource Constraints”?

1. M says:

In balancing loop on the bottom right.

6. that’s so useful for who has an assignment of lecture which is related to these topics.So I could acknowledge read and seek this site,make some delighted feel.

7. Jacob Kvilvang says:

In the population model with resource constraint, shouldn’t the bottom right balacing loop be anti-clockwise and bottom left Reinforcing loop be clockwise?

8. Emalron says:

Thanks for your posting! How I can translate the diagram into equations?

1. Andrew Frangos says:

You would first want to convert the causal loop diagram to a stock flow diagram, which differentiates variables as rates of change (flows), their accumulations (stocks), and auxiliary variables. Then, in a program like Vensim or Stella, you could define equations for each and simulate. This more formal process is called system dynamics modeling

We will be posting articles explaining stocks and flows in a couple weeks!

9. Форум Одесса как можно курить шишку