To learn more about `Coincidence Analysis (CNA)`

, I looked through the
article by Baumgartner and Epple on
*A Coincidence Analysis of a Causal Chain: The Swiss Minaret Vote* to
see how they apply the method of CNA, described in
Baumgartner 2009 (*Inferring Causal Complexity* ). Since I was trying
to reproduce the calculations in R, I decided to share my efforts. As always,
comments are most welcome.

## Data

I re-created the raw data-set to explain the 2009 Swiss Minaret vote from the truth table set in Table 1 in the article.

The abbreviations stand for:
<ul>
<li>
**M** the vote of Swiss cantons to ban minarets
</li>
<li>
**A** high rate of old xenophobia
</li>
<li>
**T** traditional economic structure
</li>
<li>
**L** strong left parties
</li>
<li>
**S** high share of native Serbian, Croatian, Albanian speakers
</li>
<li>
**X** high rate of new xenophobia
</li>
</ul>

Here’s the reproduced truth table, created with the cna-Package:

## CNA

First, `A`

and `T`

are labeled as exogenous factors. Thus, only factors `L`

, `S`

, `X`

, `M`

are endogenous and could be considered as effects in the CNA. Further, because of temporal ordering, `M`

cannot cause `L`

, `S`

, and `X`

.

In sum, the authors propose the following causal order of factors:

`A, T < L, S < X < M`

### Sufficient Conditions

The authors look for sufficient conditions for `L`

first. As discussed above, only `A`

, `T`

, and `S`

are considered as candidates for sufficient conditions of `L`

.

Next, look at sufficient conditions for `S`

. Only `A`

, `T`

, and `L`

are allowed:

Next, look at sufficient conditions for `X`

. All factors despite `M`

are allowed:

Next, look at sufficient conditions for `M`

:

### Atomic solution formulas

Next, the authors combine the minimally sufficient conditions to produce atomic solution formulas. In order to reproduce the formulas on page 292, the cna function needs to be adjusted to allow lower coverage values.

Here, the `asf`

function already returns the reduced version of equation (3), i.e. equation (5) on page 293.

Again, the function already produces the reduced version.

The authors argue that, due to the weak coverage values, the atomic solution formulas for `L`

and `S`

cannot be meaningfully interpreted and that this is probably a sign of omitted variable bias. Both factors are thus considered to be exogenous. `X`

and `M`

are to be explained.

Next, the authors analyze which parts of the solution formulas are redundant, i.e. add little to the explanation of either `M`

or `X`

:

Thus, in combination, the paper proposes the following solution formula:

`(l*t + S -> X) * (T + X -> M)`

This can also be reproduced by setting the cna coverage threshold to 0.947.

Following the exclusion criteria above, solutions `1:6`

need to be excluded because X > M. The explanatory parts for `M`

in solutions `8`

and `9`

have been excluded above. Thus, solution formula `7`

is accepted.

## QCA

In a next step, the authors try to reproduce the results from the CNA, especially the chained nature of causality with new xenophobia as an intermediary, with QCA. Here, I try to reproduce the results with the qca package.

### Sufficient conditions

As also discussed in the text, without the inclusion of logical remainders in the minimization, QCA lists a large amount of partial explanations (see equation 14):

The same can be done for `X`

only (see equation 15 in the paper):

With logical remainders, the number of solutions in reduced:

Here, the QCA mechanism identifies the same causal link as the CNA, i.e. `T + X -> M`

but misses the causal chain around `X`

.

In a step-wise approach, when looking for conditions for `X`

with logical remainders, the same result is produced.

Thus, the QCA confirms the results of the CNA. Yet, it only does this by introducing the analysis of logical remainders and accepting logical contradictions due to the simplifying assumptions in the process.