The theory behind theories of change

This essay will look at the theory behind theories of change. First of all it is a quick introduction to my forthcoming book provisionally entitled A Vocabulary for Evaluation. Secondly it explains the motivation behind the kind of graphics produced by an accompanying web app called Theorymaker - a web app for making Theory of Change diagrams.

While this essay can serve as a resource for someone using Theorymaker, it should make sense even to readers who are not interested in the web app. All the diagrams in this essay were produced with Theorymaker.

Theorymaker is a simple, free web app for making diagrams of theories of change, logframes, etc. It is open source so you can even install it on your own computer for free if you want. Its special feature is that users can also create boxes to group the variables, for example to mark off different phases, regions or stakeholders. There is more info about the app itself and how to use it on my blog and there are some examples included in the app itself. Comments, suggestions, bug reports are welcome here.

The basic building block of theories of change

Theory of Change diagrams are a kind of directed graph. The basic unit looks like this:

The state of the child variable is influenced, if not completely determined, by the states of one or more parent variables. Mathematicians would say that the state of the child variable is some function of the states of the parent variable(s). But here we mean function” in a very general and possibly vague way. There is no reason to expect that the variables are numerical (though they might be) or that the function is exact. All we mean is that there is some kind of rule which tells us how the child variable is influenced by the parent variables. The rule can take any imaginable form - for example:

  • all the variables are true/false variables and the child variable is only true if all the parent variables are true …
  • … or value of the child variable stays very low until the value of the parent variable reaches a certain tipping point, beyond which the value of the child variable soars …
  • and so on.

In particular, there is no reason at all to expect that the child variable is influenced by the parent variable(s) in any kind of linear way. While linear relationships are convenient for mathematicians, they are the exception rather than the rule in the natural and social world.

So if you look at this basic model and think:

Gosh, that looks very mechanistic!

… I can assure that it is only mechanistic in the loosest of all possible senses, loose enough to cover just about any kind of idea about how things in the world influence other things.

For example, anyone can see that the following model is probably true, even before we worry about exactly what kind of variables these are, if they can be expressed in terms of numbers, or what shape the function might have. It might well be that the link between parent and child variables is complex, or chaotic, or emergent, or even worse … but if the states of the parent variables give us sometimes, potentially, some information about the state of the child variables, our thinking can still be expressed in terms of this basic model.

Many have argued that this kind of simple model drives the way we understand, predict, explain and try to control the world around us.

In particular, and this is absolutely central to project and programme evaluators, within this basic model we can get a good understanding of the contribution which one parent variable makes - in the context of any other parent variables - to a child variable. Contribution is the defining question of evaluation: how much does our project intervention contribute to changes we desire?

If we can understand contribution in the context of one simple building block, and then we can show how to build up more complex theories using these blocks, we should be able to understand contribution within these more complex theories too.

There are many other interesting templates for building up explanations of how the world changes and how we can intervene, from system dynamics to chaos theory. But I believe any theory expressed with any of these alternative models can also be expressed using the kind of basic building block we deal with here: a single-step functional model linking parent and child variables. I discuss this claim in more detail in my book.

Building a theory of change

From the point of view of someone designing, managing or evaluating a project, this basic building block is quite familiar, and we see it everywhere in project plans such as logical frameworks. Its benefits are obvious: we can show what needs to happen in order to achieve a certain outcome. By linking these units up, we can continue back up the chain: in order to achieve that, this needs to happen … and so on, back to something we can actually control. We end up with a composite theory of how some desired change can come about.

Showing the joins

Theorymaker (like many other tools) helps us to draw these kinds of theories. In particular, Theorymaker gives you a place called a join where arrows join up to variables where you can indicate the function: how exactly the parent variables influence the child variable. You probably won’t want to describe the function in detail in that little box, but at least you can indicate that it needs discussing.

Restricted rules

But with typical planning toolkits like the Logical Framework Approach, it is not the case that anything goes. Instead, they usually have various ways of restricting the kind of model you can build.

Traditional hierarchical models may look something like this.

These kinds of models have a long list of restrictions. We will list these restrictions here and later we will see what happens when we break them…

There is a strict set of levels” defined by the number of steps away from the beginning and end of the tree.

  • Each level has a special name like Results” or Outcomes”.
  • Each variable:
    • belongs to exactly one layer,
    • has two or more parents (occasionally, just one parent) which are all in the preceding layer (apart from the first layer, e.g. inputs”).
    • and has exactly one child in the following layer (apart from the last layer, e.g. goal”).
  • There is only one variable in the final layer, e.g. goal”.

None of these restrictions are necessary to validly explain how change might come about. No-one really knows why they are so pervasive. Perhaps they are administratively convenient. But every time you have to twist your actual understanding of how change comes about to fit one of these patterns, you are turning a (hopefully) correct theory into an incorrect one.

Paul Duggan discusses similar issues on his blog.

Nevertheless, Theorymaker makes it easy to construct these kinds of patterns - look at the first few examples on Theorymaker.info, perhaps using the kind of decimal point notation (A, A.1, A.1.1 etc) common in these restricted designs.

Boxes - why we need them

To be continued!

Up next The grammar of Theory Maker This is a quick summary. There are more details and examples here. Every line is either blank or defines a variable or a box. Just type characters: Causal diagrams and Theory Maker: left-to-right? bottom-up? top-down? There is an interesting discussion going on at LinkedIn about Theory Maker. One commenter asked why Theorymaker presents things left-to-right. This
Latest posts Making notes on PDFs without computer or paper Publications causal-map Causal Map intro Causal Mapping - an earlier guide The walk to school in Sarajevo Glitches Draft blog post for AEA365 Theory Maker! Inventory & analysis of small conservation grants, C&W Africa - Powell & Mesbach! Lots of charts! Answering the “why” question: piecing together multiple pieces of causal information rbind.fill for 1-dimensional tables in r yED graph editor Examples of trivial graph format Using attr labels for ggplot An evaluation puzzle: “Talent show” An evaluation puzzle: “Mobile first” An evaluation puzzle: “Many hands” An evaluation puzzle: Loaves and fishes An evaluation puzzle: “Freak weather” An evaluation puzzle: “Billionaire” Using Dropbox for syncing Shiny app data on Amazon EC2 Progress on the Causal Map app Articles and presentations related to Causal Maps and Theorymaker Better ways to present country-level data on a world map: equal-area cartograms A starter kit for reproducible research with R A reproducible workflow for evaluation reports Welcome to the Wiggle Room Realtime comments on a Theory of Change Responses to open questions shown as tooltips in a chart A panel on visualising Theories of Change for EES 2018?