Analyse Systems with Causal Loop Diagrams

Vithanco got a new diagram type. The Casual Loop Diagrams.

Why using Causal Loop Diagrams (CLDs)?

Causal Loop Diagrams (CLDs) are a way to capture systems, to analyse them and to plan how to influence them. CLDs explain long-term behaviour of systems which is otherwise difficult to understand based if you only look at the current as-is snapshot.

CLDs describe systems via “stocks” (nodes) and connections (edges). Much of the day-to-day world can be accurately described as such a system. Let’s look at a simple example: A bank account and the interest earned.

Banking Account as a simple Causal Loop Diagram
  • The amount of the Bank Balance (a stock) will affect the amount of the Earned Interest (another stock), as represented by the connection, pointing from Bank Balance to Earned Interest.
  • Since an increase in Bank balance results in an increase in Earned Interest, this link is of the same kind, meaning more results in more. Interestingly, this even works for a negative amount in your bank account.
  • The Earned interest gets added to the Bank balance, also a link of the same kind, represented by the bottom connection.
  • The causal effect between these nodes forms a positive reinforcing loop, represented by the icon in the middle containing an “R” and showing the loop direction (clockwise).

This system is obviously only a part of bigger system that would include salary payments and withdrawals to live. But if left alone, the reinforcing loop points out that this system would lead to an uninterrupted growth of the two stocks involved.

A CLD is very useful to identify the loops that affect the systems’ behaviour. Especially the separation between balancing and reinforcing loops provides meaningful insights into a system’s behaviour as shown in the following table.

Loop Type Description
Balancing Balancing loops have an odd number of opposite connections (negative links).
Balancing loops are associated with reaching a plateau.
Reinforcing Reinforcing loops have an even number of opposite connections (negative links, please note that zero also is even).
Reinforcing loops are associated with exponential increases/decreases.

The example above with the bank account and the interest earned has a reinforcing loop, which based on compound interest does indeed show an exponential increase.

Loops are automatically identified by Vithanco.

Background on CLDs

Extensive research was done regarding systems (see as a starting point: Donella Meadows’ Thinking in Systems) as part of a body of knowledge called systems thinking. One interesting way of accessing systems thinking knowledge is by learning about the so-called archetypes.

Learn more about Vithanco’s implementation of CLDs here.

Changing Node Order in Vithanco

The Problem

Laying out a graph depends on node order. The nodes are created in an order and this is the first order used. By maintaining that order Vithanco ensures that the nodes are located where they are and that small changes in the input leads to only small changes in the output. That means that in most cases the leftmost node stays leftmost. The layout algorithms are stable in the sense that they produce the same outcome for the same input. And the order of nodes is part of the input.

And sometimes the original order is not the order you like. You would like the nodes presented in a different order, exchanging two nodes that are located next to each other, or similar.

The Solution

You can change the order of nodes and thus can influence the resulting diagram by using the [TAB] key. Simply select two nodes and press [TAB] and the two nodes exchange their place in the order of nodes. If you select more than 2 nodes and press [TAB] they are rotating their position in the order. Finally, press the [ALT] (or [OPTION]) key at the same time as [TAB] and the order is shuffled.

You can use [TAB] in all diagram types.

Limitations

Sometimes the algorithm will not be influenced by a change of order.  ‘Good reasons’ might keep the layout algorithm from changing the diagram if the order of nodes changes.  Examples of these ‘good reasons’ may:

  • to avoid long edges (aka connection)
  • to avoid crossing edges, or
  • to place nodes within a cluster next to each other,
  • to balance a tree based on the next layer (layered view only),

or similar. The above list is not complete and the used algorithms are quite sophisticated.

There are more ways to influence a diagram but these will be captured in another post.

An Example

The following is an example from a domain that will be released during first half of 2019: the “Causal Loop Diagram” or “CLD” in short. Causal loop diagrams are used to analyse systems and their behaviour.

CLDs aren’t layered as they are normally full of cycles (“loops”), meaning they have a lot of connections that would point from the bottom to the top. Hence CLDs use a star layout.

The example is based on the “Shifting the Burden” archetype. The first version looked like this:

The structure of this CLD archetype is not very obvious. Edges are overlapping, making the understanding unnecessarily difficult.

Using the above, select the top and the right node:

Now press [TAB] and the order of the two selected nodes is exchanged, resulting in a different positioning of these nodes in the internal order. In this example they simply exchanged their location as well.

Now the structure becomes clear. The edges are no longer overlapping and the three loops become visible.

 

Current Reality Tree (CRT) Example from “It’s not Luck”

In the book It’s not Luck Goldratt’s hero Alex Rogo is creating a medium-sized Current Reality Tree. I re-created the CRT in Vithanco. 

The CRT from “It’s not Luck”

When creating the tree from the book I realised a few things:

  • Goldratt didn’t fully define the tree in the book. I needed to make some connections up for myself. Please let me know if I went wrong. 
  • Goldratt didn’t connect UDE #11 at all. If you have read the book then you know that it was the task of Alex Rogo to connect all UDEs. 
  • This seems to me to be the obvious example CRT. However, I couldn’t find anyone who had published this example. 

Fun fact: I only recently read It’s not Luck for the first time. This is actually quite funny as I have used the TOC Thinking Processes for quite some time but I was simply not aware that they were presented in this book by Goldratt. Instead I read the Thinking with Flying Logic a manuscript that is delivered together with the really good Flying Logic software (which was a huge influence for Vithanco). Furthermore did I read Lisa Scheinkopf’s Thinking for a Change. I even read Dettmer’s executive version book

However, I am happy that I now read the book as it is a useful introduction. Clearly, the book has a message and is therefore not a true novel and some of the examples are more questionable than others, but that is besides the point. I highly recommend the book.