Systems thinking 101: interactions and dynamics
System dynamics is the branch of systems engineering which seeks to understand the properties of complex systems that emerge over time from interactions between key characteristics of that system. A causal loop diagram is one of the most effective ways of doing that, and can be used to get insight on the dynamic properties of systems that, in the absence of such analyses, may seem counter-intuitive.
Our traditional view of the world is event-oriented - we see problems in the context in which they occur, and see sequences of actions that lead to decisions, and ultimately, to results. We often also often observe side-effects, as if these were somehow 'outside' of this situation. We want to think about interactions (when we deal with them at all) as simple flow-charts that only move staticly, in one direction. This is generally due to not adequately understanding the feedbacks inherent in the system under study, and the realities that defects inject into these systems. That's where causal loop diagrams can help. But you can't understand causal loop diagrams without understanding this notion of feedback in some depth:
Let's use a simple example to explain how these diagrams work to understand the role of feedback in a system. On the left side of the diagram at the top of this article, you can see arrows that show a cyclic relationship between chickens and eggs. There is a plus or minus sign along each arrow. Arrows are intended to depict the relationship between two quantities. The way to read a plus sign is, "when x changes, y changes in the same direction". This doesn't mean that they change at the same rate, or at the same time, but just that more chickens lead to more eggs (assuming one of the chickens is a rooster), and more eggs will in turn lead to more chickens. It also means the complement is true - less chickens means less eggs, and less eggs means less chickens. The 'R" in the loop shown in the middle is an annotation to indicate that this is a positive feedback loop (which means that these trends will tend to be self-reinforcing over time, since the effect is positively related to the cause).
Now consider the right hand side of the diagram. It contains a negative polarity ('-') link. This indicates a self-correcting feedback, typically depicted with a 'B' (for 'balancing') loop. This means, "when x changes, y moves in the opposite direction." As the cluck population grows, various negative loops (this being only one, but you can imagine others - available food, for example) will act to balance the size of the chicken population. The more chickens, the more risky road crossings they will attempt, which then will bring down the chicken population (and thus balance the trend of more chickens, more eggs).
Can you imagine sketching the dynamics of this population over time? The specific population forecasts would depend upon factors such as the gestation rate of chickens, frequency of traffic on the road, wisdom of the chickens (as someone who grew up on a farm, I'd urge you to not expect much), etc. That's how causal loop diagrams can be used - they can't really describe a particular chicken's fate at a particular point in time, or forecasting what might happen over time (simulations built from statistical distributions are a more relevant tool for that, though they must be calibrated to be trusted). But causal loop diagrams can be quite good for developing an understanding of how various factors might interact to produce potential trends over time under different scenarios.
