February 17, 2016

How to make Theory of Change diagrams with Theorymaker

Basic use

Each line in the text box is one variable in the graph. A variable is any element in your theory of change - something which is one way but could be another. Something close to you which you can control, or something far away which you want to happen, or anything in between.

A variable
Another variable!

Allowed characters

You can use ( ) ! ? . , in the names of your variables. Don’t use " = ; or '. If you are using to=, remove anything except letters and numbers from the name of the target.

Additionally, these charachters can be used in the names if you use an alias

{ | } ~ & `+` 

That isn’t much fun. We want to draw edges between the variables, usually with arrows to show which change contributes to what.

Arrows can be specified in four different ways for convenience. Just paste any of these examples into the text box to try them out and adjust them.

Using spaces to create edges (arrows) between variables.

You can just use spaces before the variables, like this:

 child a
  grandchild a
  grandchild b
 child b
  grandchild c
  grandchild d

Spaces are good for when you think about the effects of something.

Supermarkets charge for plastic bags
 Far fewer plastic bags purchased
  Much less plastic waste
 Somewhat more hemp bags purchased
  Somewhat more hemp waste
  Shoppers more conscious of waste

Using dots to create edges (arrows) between variables.

Or you can use dots, which reverses the order.

.result a
..subresult a
..subresult b
.result b
..subresult c
..subresult d

This way you can build up nice tidy hierarchies, but you can also have ragged ones too:

.result a
..subresult a
...sub-sub result x
...sub-sub result y
..subresult b
.result b
..subresult c

Don’t let your planning tools force you to be regimented if you don’t want to be!


Grouping boxes are specified using an initial -. What comes after will be printed as the label of the box. If you want boxes inside boxes, use more dashes.

Variables following a box definition are shown inside the box. (If a variable appears more than once in the text, the last appearance determines which box it will be shown in.)

The edges between variables are not affected by boxes, though the layout may change a little.


Teacher;to=Motivation Learning


Really, for quick sketches, that is all you need. But there is a lot more you can do with Theorymaker, so read on if you want more control.

The last diagram was pretty nice but we’d like to point out that one of these effects is small and negative, another is large and positive.

Supermarkets charge for plastic bags
 Far fewer plastic bags purchased; edgecolor=black
 Somewhat more hemp bags purchased;  edgecolor=red



Previous post
Advanced tips and tricks If you looked at the basic skills page, we got this far: I can
Next post
Inventory & analysis of small conservation grants, C&W Africa - Powell & Mesbach! Lots of charts! Here it is at last This was an interesting job. We visited three countries, did a lot of interesting interviews, and a lot of data analysis. This

This blog by Steve Powell is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, syndicated on r-bloggers and powered by Blot.
Privacy Policy