One very simple way of showing the parts of a system and how they interrelate are causal loop diagrams (also referred to as influence diagrams): They show the relevant parts of a system using textual identifiers, the links between the parts are drawn using arrows pointing in the direction of influence. Small + or − signs are used to show whether the influence is positive or negative (also referred to as positive or negative link polarity).
A note on notation
Sometimes an alternative notation using an s (short for same) and o (short for opposite) is used instead of the + and −. In his paper “Problems with causal loop diagrams” published in the System Dynamics Review in 1986, George Richardson discusses both notations and comes to the conclusion that it is better not to use s and o.
Simple Causal Loop Diagram of an Everyday Situation
A simple example from everyday life is to examine the dynamics of getting a set of open tasks done by a specific deadline. Creating a causal loop diagram of a given system is conceptually quite simple, even though it mostly leads to very animated discussions in practice: you start with the parts of the system you already know and just keep asking “what influences this part” until you reach parts that are at the systems boundary or parts that will not change over time. Then you go in the other direction and keep asking “What other parts does this part influence”. If that part is already there, you connect them. Otherwise, you create a new part.
The causal loop diagram displayed above shows some important aspects of what is involved in getting tasks done, we will discuss this diagram in detail to show the thinking behind it.
Let us start with the deadline: What influences the deadline? For this simple model, we assume the deadline is set from the outside and does not change. Therefore, the deadline is constant and does not have any influencing factors – it is the system's boundary.
Now we ask the question: what parts of the system does the deadline influence?
Well, try and think yourself into the situation: the first question you have to answer when it comes to getting something done by a deadline is: how much time have I got left? This can easily be modeled by adding a new factor “Remaining time”. The further away the deadline is, the more time remains. As discussed above, we speak of positive influence or positive polarity in this case, and we show this by placing a small plus sign next to the connector.
What other parts affect the remaining time? A little thought shows that the remaining time not only depends on the deadline but also on the current date. As the current date moves on, the remaining time gets smaller and smaller, so we add a minus sign to the connector.
Up until now, we have ignored the open tasks: What we are actually interested in here is not the work itself, but in how quickly we can do the work. One way to capture this information is to capture the completion rate. The higher the completion rate is, the faster the set of open tasks will get smaller, so we place a small minus sign on the connector.
What does the completion rate depend on? Well, we know how much time remains (measured in days, let us say). But we have not said anything about the number of hours per day we can invest in getting our tasks done. We capture this information in a new part I shall call “overtime”, i.e. your workday. Clearly, the more hours you put in, the higher the completion rate is going to be, we capture this information with a small plus sign placed next to the connector.
What else does the completion rate depend on? Well, next to the number of hours you work on your tasks, there is also the question of how productively you use your hours. Do you spend every minute of every hour working on the tasks at hand, or do you use some of your time daydreamings, surfing the internet, or chatting to colleagues? Let us capture this aspect of working in a new building block and name that “productivity”. The higher the productivity is, the higher the completion rate will be, so we add a positive polarity.
Let us quickly review our diagram: We have captured our understanding of how tasks are affected by productivity and workday. But how does the remaining time come into this?
Well, if you are like me, then your productivity is not always the same, and neither are the hours you work: The lesser the time remaining until the deadline, the more productive you become and the longer the hours are that you work. We could directly connect the remaining time to both productivity and workday, but there is a term we typically use to describe this: schedule pressure. The less time that remains, the higher the schedule pressure gets. So we add a building block “schedule pressure” to capture this.
The higher the schedule pressure gets, the higher my productivity becomes; unfortunately, the same is mostly true for our workday, i.e. overtime. So we place plus signs on both these connectors.
Now, have we captured all aspects of schedule pressure? What other factors affect schedule pressure next to the time remaining?
Well, clearly if we have completed all tasks and nothing remains to be done, the schedule pressure drops down to zero! So the schedule pressure will also be affected by the number of open tasks. If the number of open tasks goes up, so does the schedule pressure. Therefore, we place a small plus sign next to the connector.
What other parts of the system does the schedule pressure affect? One thing we might do when the schedule pressure is high is to add further resources to the project. Schedule pressure may also have an effect on the quality of our work. Both of these aspects are important and worth investigating, but we will not consider these here, for now, to keep the example simple.
All in all, our causal loop diagram is actually looking quite good: we have captured the essential aspects of what it takes to get a set of open tasks done by a particular deadline. All parts of the system are connected, and there are no loose ends.
We have ended up with two closed loops that feedback on themselves. This observation is important because closed-loops mean that the situation we are analyzing is a feedback system: Feedback systems have a closed-loop structure that brings results from past action of the system back to control future action – so feedback systems are influenced by their own past behavior. In this case, it means that if you spend too much of your time initially procrastinating, you will be hit by very high schedule pressure the closer the deadline comes. If you invest your time wisely from the beginning, the schedule pressure will not become too bad later. I am sure this is something you have experienced yourself.
Watch a video
of how to build this causal loop diagram using the ®iThink modelling environment.
Actively looking for feedback loops (“closed-loop thinking”) is an important activity in systems thinking, because feedback loops are what causes a system to change its behavior over time (and very often in unexpected ways). We differentiate between two kinds of feedback loops: balancing (or negative) feedback loops and reinforcing (or positive) feedback loops.
The diagram above shows that if schedule pressure is high, then productivity is increased, which also increases the completion rate. This reduces the number of open tasks, which reduces the schedule pressure. In this case, the feedback loop is balancing: it acts to ensure that the system reaches its desired state (zero open tasks) and then ensures that it remains thereby counteracting any disturbances that move the state of the system away from the desired state. Balancing loops are frequently denoted by placing a (B) in the center of the loop.
In contrast, reenforcing loops generate growth and amplify any deviation in the systems state. Reenforcing loops are denoted by placing an (R) or (+) in the center of the loop. The above diagram does not contain a positive feedback loop.
Whether a loop is balancing (B) or reenforcing (+) is easily determined by following the link polarity around the loop and observing the following rules:
Once you get back to your starting point you are either left with a + or a −. In the former case, you have found a reinforcing feedback loop, in the latter case a balancing feedback loop.
All in all, our quick analysis of getting tasks done is actually quite exciting because the feedback system we have analyzed here is fundamental to all project management situations – it is the motor that drives projects to completion.
As observers, causal loop diagrams are very useful in many modeling situations: they are well suited to represent interdependencies and feedback processes. They are used effectively at the start of a modeling project to capture the mental model of all those involved. They are also useful to communicate the results of a completed modeling effort.
Some examples of feedback loops you may have encountered in business are:
The cost of supplies will depend on the number of supplies bought. The cost of supplies is a determinant of the price of the product sold. The price influences the perceived value of the product, and, therefore, the quantities of products sold. The higher the quantity sold, the more supplies need to be bought.
The unique knowledge of a consulting company has influenced the type of customer it can serve. The type of customer a consulting company serves influences the capital a company can raise, which again influences the kinds of talent a consulting company can attract. This again influences the knowledge a consulting company has.
The more service suppliers a full-service provider has, the more customers he will attract. The more customers a full-service provider has, the easier it is to find service suppliers who are willing to subcontract due to this market presence.
Until now, our analysis has been qualitative – we have identified the main aspects of the situation and how they influence each other, but we have not said anything about how strong these connections are or how many tasks we are dealing with. We will do that in Stock And Flow Diagrams
, where we discuss how to build a quantitative simulation model using stock and flow models.