Contexts and Assumptions

Every Theory is true in some particular context. We look a little more at what that means. We also look at how Theorymaker native speakers think about assumptions.

A Context for a Statement S is any Theorymaker Statement C such that S is true given C. So as a Statement may contain (see xx) a set of relevant Variables possibly linked into some Theory. Some of the Variables may be fixed to specific Levels.

In this case, we know that without soundproofing, I notice the children playing downstairs if they are loud. But specifying a context doesn’t tell us anything about what would have happened outside the context, so we don’t know how this would work out if we did have soundproofing.

-Context: Soundproofing *no--yes* 

Whether I notice the children downstairs ((no,yes))

 How loudly the children are playing ((lo-hi))

Context as a reduction in possibilities, in which certain Variables are set to certain Levels

“A Theory T is true in the context where Y=x” just means that there is a larger Theory containing T, in which the Variable Y is fixed to Level x, in which T is true.

More generally, the context may consist of a Variable being fixed to one of a subset or disjunction of Levels; and it may consist of a set or conjunction of several Variables being fixed to single Levels and/or to disjunctions of Levels; and it might consist of a conditional constraint, e.g. “the Levels of Variable A and Variable B combined must not add up to more than 10”.

Let’s look again at the example from xx. We can start from a larger Theory in which the Variable “quality of the soundproofing” is explicitly shown.

C: Whether I notice the children downstairs((no,yes)) Rule: C increases as A increases   and/or as B decreases,   but beyond a certain level of B,   A no longer has any influence on C

 A: How loudly the children are playing ((lo-hi))

 B: Quality of the soundproofing ((lo-hi))

We can also write that as two almost separate Theories24:

-Context: Soundproofing *yes--no*

C-yes::Whether I notice the children downstairs ((no,yes))

A-yes::How loudly the children are playing ((lo-hi))

-Context: Soundproofing *no--yes*

C-no::Whether I notice the children downstairs ((no,yes))

 A-no::How loudly the children are playing ((lo-hi))

And it is perfectly possible to present just one of the contexts, as in the example at the start of the Chapter.

As usual it is not compulsory to use grouping boxes. Instead, but rather more tediously, we can specify the context for every Variable which would have been in the box:

Whether I notice the children downstairs ((no,yes)), context=Soundproofing *yes--no*

 How loudly the children are playing ((lo-hi)), context=Soundproofing *yes--no*

Context as a particular set of Variables

A Theory is valid in a particular context.

You can think of “a primary school in this country” as being a context consisting of some Variables like the size of the school (varying from say 20 to 500), the age (varying from say 20 to 65) and sex of the head teacher, etc., each of which can vary independently. Other Variables which might have been relevant to other Theories (e.g. the name of the country) have been set to specific Levels.

So within this context you can have a school of 200 children with a male head aged 33, and so on. Notice that there are many possible school configurations which do not actually exist in our country. And we have already seen that the exact sets of possible Levels might be quite fuzzily defined. Perhaps, for example, the minimum age of head teacher is not actually defined in law but if we need to we can agree there is never going to be a head teacher younger than, say, 20.

You can make a context like “a primary school in this country” as simple or as complicated as you want.

Theories which apply in more general contexts apply here too. Theories which apply in contexts different to this one don’t in general apply here.

Variables which only exist within certain Contexts

We can use the same approach to present Contexts in which one Variable comes into being (see xx) because of the Level of another, such as the Variable “number of people visiting our youth centre next year” which only comes into being if our project (to build a youth centre) is approved.

Public interest in sport !Rule:incomplete ((lo-hi))

 New Sport for All Centre is built ((no, yes))

  Intervention begun ((no, yes))

There are two Variables “Effort to engage visitors” and “Number of visitors” which don’t make sense, can’t be measured, if there is no sports centre, but play a big role if it is indeed built.

(The Theorymaker text is not shown for this diagram as it is still experimental.)


Theorymaker native speakers have various different ways of dealing with what we call “assumptions”.

Assumptions, understood as equivalent to context

So, sometimes it is easier to simplify a larger Theory and just to look at what happens when certain Variables are fixed at certain Levels. (Or perhaps we don’t even know what happens when they are not fixed.) Then we can remove those Variables from the Theory itself and just note that they have been fixed.

“A Theory T is true under the assumption that Y” is just another way of saying “T is true in the context where Y”, where Y is some Theorymaker Statement.

Assumptions that the Theory is adequate

But sometimes logical frameworks and traditional Theories of Change present an “assumption that the Theory (or some fragment of it) is true or accurate”. On the one hand this is a bit strange, as we always have to assume that our Theory is accurate, otherwise why put forward the Theory at all?

By all means, this kind of statement might well draw attention to the fact that some part of the Theory is weak or too optimistic or not well based in evidence. As we shall see in xx, it is our job to always present the Best Adequate Theory. Optimism and pessimism have no place when we present our Theories; instead, when we are unusually unsure of some part of our Theory, and/or the risks of it being inaccurate are particularly high, we should note this, see chapter xx.

So Theorymaker native speakers tend to dissolve this kind of “Assumption” into a more general awareness that Theories can be wrong and need to specify what evidence backs them up and how strong that evidence is. See xx.

Improved reading ability

 (Assumption: reading practice does lead to improved reading ability)Reading practice 

But if we were going to do this, we would have to do it for every single Mechanism. Every Theory of Change implicitly assumes that its Theory is correct.

More generally, there might be more than one such Variable even for a single simple Theory. For example, perhaps both B and C need to be “yes”.

X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes and C is yes)

 (Assumption = B is yes, C is yes)A: an influence Variable

Every step of a Theory may have Assumptions:


 (Assumptions relevant to influence of Y on X)Y

  (Assumptions relevant to influence of Z on Y)Z

We often see assumptions put in a single box at the level of the whole Theory, i.e. not specifically assigned to any part of it. Inside the box you might see some items which really belong to specific Variables or Rules, whereas others apply more or less to everything.

As we saw above, Assumptions can be transferred to the whole Theory, but doing so is weaker and less informative.

-Context: Assumptions relevant to the influence of Y on X and Z on Y




Assumptions that the Mechanism will not be manipulated from outside

Later we will see that the biggest challenge to any Mechanism is not unpredictable noise from noise Variables but the Mechanism being changed unpredictably from outside the system. Correlational approaches in social science have ignored such eventualities because they cannot be covered within them.

But there are absolutely ways in which Mechanisms can be more resilient to completely unknown outside influence, see xx.

Different ways to show Assumptions/Context in a diagram

… As additional Variables

X: A consequence Variable !Rule:(in particular, the Rule tells us what happens when B is yes)

 A: an influence Variable

 B: another influence Variable, can be seen as an assumption *yes--no* ((no, yes))

This kind of presentation can take up a lot of space and might make the assumptions more central than they really are. Here are some other ways to write the same thing.

… Using a grouping box

-Context: B is yes

X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes)

 A: an influence Variable

Note that this context might only be relevant to some particular Variables and might not apply to others.

Y: Some downstream consequence Variable

-Context: B is yes

 X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes)

  A: an influence Variable

Strictly, if the above diagram is true, so is the one below. Sometimes we see Assumptions attached to individual steps of a plan or logical framework, but they can also be attached to the whole framework; but mostly this is less informative.

-Context: B is yes

Y: Some downstream consequence Variable

 X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes)

  A: an influence Variable

The Variable about which we make an Assumption might or might not combine linearly with other Variables.

Children are able to resist peer pressure ((lo-hi)) !Rule: interaction between the two contributing Variables

 Quality of our peer-pressure-resisting workshops ((lo-hi))

 Level of parental support ((lo-hi)) - NOT under our control 

If the parental support isn’t high, our workshops won’t do much good. Can we assume the support is high?

… Labelling the arrow

Adding assumptions as extra Variables does make our diagram a bit more crowded, so often they are added just as a label on an arrow. In Theorymaker this is achieved by putting the label in brackets before the influence Variable. This attaches the assumption to one arrow so it is especially useful if the assumption is particularly relevant to the influence of one particular Variable.

Peace is maintained

 (Assumptions: Government does not fall, people come to the workshops, etc)People complete our peacebuilding workshops 
X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes)

 (Assumption: B is yes)A: an influence Variable

… Using a Feature

Alternatively, we can present the assumption as a Feature of the consequence Variable.

X: A consequence Variable !Rule: (Only need to mention the part of the Rule which applies when B is yes), Assumption = B is yes

 A: an influence Variable

Specific and general Theories and Mechanisms

When in everyday life we talk about a Theory, and especially when talking about science, we tend to mean quite a general idea. So we might say the Theory of gravitation applies across the whole universe for almost the whole of time. The way we use the word “Mechanism” and “Theory” in this book and indeed in project monitoring and evaluation in general is a bit different because here we are much less interested in ideas which are generally true - except perhaps as a source of knowledge which we can apply - and much more interested in specific contexts. See chapter xx.

Variables (and Theories) can be more or less general or specific with reference to context and in particular with reference to time. In particular they can be valid for just one time-point or set of time-points, or more generally for relative time (if you do X in this school year, you will probably get result Y in the next school year ….).

The difference between general and specific Theories is only one of degree; also between “laws of social science” and specific instances of their application. Every Theory applies in some more or less general context. Theories which apply to some more general (more vague) context can be adapted also to some more specific context, i.e. a context in which more Variables (and their Levels) are specified.

Combining contexts

-Application in one context

Good party

 Good music

 The right people

 Enough to drink

-Knowledge from a different context

The right people Note=This Variable appears in both contexts

 Timely invitations

 Invite key people

Here we will look at some examples where we want to combine single-step Theories from two different and incompatible contexts.

((to be completed))

Logical independence of Variables within a Context

We normally assume that the Variables which define a Context, for example the Variables included in some Theory of Change, are logically independent.

Logical independence means, roughly speaking, that there is no logical reason why the Variables in the context cannot take any combination of Levels. Knowing the Level of one Variable tells you nothing about the Levels of any of the other Variables. In practice it might be quite tricky, when outlining a context for further study, to ensure that all the Variables are really logically independent. For example, the size of the school and its location (urban/rural) - these are certainly going to be empirically connected, but perhaps they aren’t logically independent either … would you really call it a village school if it had 1000 pupils? In practice we are going to have to have ways to deal with contexts of study defined in terms of Variables which might be logically dependent.

  1. In the diagram below, The prefixes “C-yes” etc are necessary to distinguish between the two versions of each Variable; otherwise the Variables in the two Context boxes would be exactly the same Variable, which doesn’t make sense