6  Frequency Cutoff

Once the calibrated cases have been located in the truth table, we must decide how much empirical representation a configuration needs before it can be treated as sufficient for the outcome and, thus, enter the minimization process. This decision is governed by the frequency cutoff, n.cut. A configuration with a case count equal to or greater than the cutoff is eligible for an empirical outcome assignment; conversely, a configuration below the cutoff is treated as a logical remainder, even when it contains cases.

In a fuzzy-set truth table, the frequency count deserves a little unpacking. Although it is displayed as 0/1 for ease of interpretation, the cases’ fuzzy membership scores are still used to calculate the configuration’s consistency of sufficiency and PRI; so they are not converted into crisp scores for the set-relation calculations. Each case is associated with the Boolean configuration defined by whether its membership in each condition falls above or below the 0.5 crossover. It is then counted in the usual n column, which reports the number of cases associated with that configuration.

Thus, n.cut governs how many cases represent a configuration, whereas incl.cut and, when supplied, pri.cut govern whether an adequately represented configuration is treated as sufficient for the outcome. The order matters because QCA::truthTable() first compares the configuration’s case count in n with n.cut and, if the count falls below the frequency cutoff, that configuration will be displayed as OUT = ?. But, if the count reaches the cutoff, the applicable incl.cut consistency requirements determine its outcome assignment.

Raising n.cut can therefore turn a sparsely represented empirical configuration into a logical remainder without changing either its case count or its consistency of sufficiency. Conversely, lowering n.cut can return that configuration to the empirically observed portion of the truth table.

Well, ncut.test() examines whether those reclassifications alter a selected QCA solution. Beginning from the frequency cutoff used in the reference analysis, it constructs an independent lower and upper search path for every monitored solution type. At each tested integer, the function rebuilds the truth table, repeats the requested minimization, and compares the newly selected solution formula with its baseline counterpart. The calibrated memberships, cases, outcome, conditions, inclusion cutoff, and remaining QCA settings stay fixed throughout the diagnostic.

6.2 Reading the First Boundary

vdem_ncut_con
#> <ncut_test>
#> Outcome test: n.cut robustness
#> Solution: conservative
#> Monitored solutions: conservative
#> which_M: 1
#> Starting n.cut: 2
#> Step size: 1
#> Max steps: 10
#> Upper limit: 66
#> 
#> Result
#>  direction start last_safe first_failing steps total_delta                reason
#>      lower     2         1            NA     1          -1 search_boundary_lower
#>      upper     2         2             3     0           0   CON:formula_changed
#> 
#> Summary
#>  Stable interval: [1, 2]
#>  Total width: 1

The header reports an upper limit of 66, corresponding to the number of cases in vdem_calib and hence to the largest frequency cutoff the function would consider for this diagnostic. The two records in the printed table correspond to the lower and upper searches from the reference cutoff of 2. As in the preceding chapter, last_safe is the furthest tested cutoff that preserves the baseline formula. When an admissible cutoff is tested and the selected formula changes or can no longer be compared with its baseline counterpart, first_failing records that cutoff. If the path stops before another admissible cutoff can be tested, first_failing remains NA. In either situation, reason identifies what stopped the search.

In the lower direction, n.cut = 1 preserves the conservative formula. The only configurational reclassification concerns ~FREEXP*~PARTY*~GENCL*JUCON, represented by Laos in the truth table. With a frequency cutoff of 2, this singleton configuration is treated as a logical remainder.

subset(
  vdem_tt$tt,
  FREEXP == 0 & PARTY == 0 & GENCL == 0 & JUCON == 1
)
#>   FREEXP PARTY GENCL JUCON OUT n              incl               PRI cases
#> 2      0     0     0     1   ? 1 0.764432009878504 0.225916716247882  Laos

Lowering the cutoff to 1 makes it eligible for an empirical outcome assignment, but its consistency of sufficiency is approximately 0.764, below the fixed inclusion cutoff of 0.8. The configuration consequently receives OUT = 0 rather than joining the empirical configurations treated as sufficient for CIVSOC.

This distinction explains why the conservative formula does not change, for at the baseline cutoff, the Laos configuration has OUT = ? and is not used as a simplifying assumption in conservative minimization. At n.cut = 1, it has OUT = 0 and is likewise absent from the empirical configurations submitted to minimization as sufficient. The lower path therefore reaches last_safe = 1 after one formula-preserving movement.

The next proposed value is n.cut = 0, which falls outside the admissible range. The function therefore stops before constructing another truth table or repeating the minimization. Because 0 is not tested, it is not recorded as a failing cutoff: first_failing remains NA, while reason = "search_boundary_lower" shows that the lower limit of the admissible search was reached.

The upper path stops for a different reason. Raising the cutoff from 2 to 3 reclassifies the three configurations represented by exactly two cases as logical remainders. Two of these configurations had OUT = 0 at the reference cutoff, so their reclassification does not remove any empirical configuration treated as sufficient. The third is FREEXP*PARTY*GENCL*~JUCON, as can be seen in the truth table, represented by Bolivia and Comoros.

subset(
  vdem_tt$tt,
  FREEXP == 1 & PARTY == 1 & GENCL == 1 & JUCON == 0
)
#>    FREEXP PARTY GENCL JUCON OUT n              incl              PRI           cases
#> 15      1     1     1     0   1 2 0.900460083796951 0.74447851675981 Bolivia,Comoros

Its consistency of sufficiency is approximately 0.900, and it therefore had OUT = 1 at n.cut = 2 and incl.cut = 0.8.

At the reference cutoff, the Bolivia-Comoros configuration can be paired with FREEXP*PARTY*GENCL*JUCON: the two sufficient paths differ only in the absence or presence of JUCON, allowing logical minimization to remove that redundancy and obtain the prime implicant FREEXP*PARTY*GENCL. Once the Bolivia-Comoros configuration is treated as a logical remainder at n.cut = 3, conservative minimization can no longer make that reduction. The remaining sufficient configurations yield only FREEXP*GENCL*JUCON, so the complete conservative solution changes from FREEXP*PARTY*GENCL + FREEXP*GENCL*JUCON to FREEXP*GENCL*JUCON.

Because the very first admissible movement above the baseline changes the formula, the upper path records last_safe = 2, first_failing = 3, and steps = 0. The zero means that no formula-preserving movement was completed before the first tested upper cutoff changed the conservative solution.

By the end, the two disturbance paths establish an observed conservative formula-preservation interval of [1, 2]. At n.cut = 1, the Boolean formula remains identical and the calibrated memberships remain fixed; membership in the prime implicants and in their union therefore remains unchanged as well. The prime-implicant and solution-level parameters of fit are consequently preserved at that cutoff.

But at n.cut = 3, the selected formula changes. In case you also want to compare the parameters of fit of the new one-term solution, it is necessary to inspect the corresponding minimization result.

6.3 Extending the Diagnostic Across Solution Types

The expanded application below examines whether the same frequency boundary holds for the conservative, parsimonious, and intermediate solutions, with each solution type being compared with its own baseline formula. The call retains the directional expectations, the C1P1 intermediate branch, and model position 1 from the reference analysis.

Importantly, it also recomputes the exclusion of contradictory simplifying assumptions for each reconstructed truth table, so parsimonious and intermediate minimization are evaluated under the same exclusion rule at every frequency cutoff.

vdem_ncut_all <- ncut.test(
  data = vdem_calib,
  outcome = vdem_outcome,
  conditions = vdem_conds,

  n.cut = vdem_n_cut,
  step = 1,
  max_steps = 10,

  incl.cut = vdem_incl_cut,

  solution = "all",
  dir.exp = vdem_dir_exp,
  exclude_mode = "recompute",
  exclude_recompute = list(type = 2),
  which_M = 1,
  i_mode = "C1P1",

  result_shape = "long",
  complete = TRUE,
  sort.by = c("incl", "n")
)
vdem_ncut_all
#> <ncut_test>
#> Outcome test: n.cut robustness
#> Solution: all
#> Monitored solutions: conservative, parsimonious, intermediate
#> which_M: 1
#> i_mode: C1P1
#> Starting n.cut: 2
#> Step size: 1
#> Max steps: 10
#> Upper limit: 66
#> 
#> Result
#>  solution_type direction start last_safe first_failing steps total_delta                reason
#>   conservative     lower     2         1            NA     1          -1 search_boundary_lower
#>   conservative     upper     2         2             3     0           0   CON:formula_changed
#>   parsimonious     lower     2         1            NA     1          -1 search_boundary_lower
#>   parsimonious     upper     2         2             3     0           0   PAR:formula_changed
#>   intermediate     lower     2         1            NA     1          -1 search_boundary_lower
#>   intermediate     upper     2         2             3     0           0   INT:formula_changed
#> 
#> Summary
#> 
#> Stable intervals
#>  solution_type lower upper width
#>            CON     1     2     1
#>            PAR     1     2     1
#>            INT     1     2     1

All three lower paths preserve their respective baseline formulas at n.cut = 1 and then stop at the inadmissible proposal of 0. For the conservative solution, the reason is the one already examined: the Laos configuration becomes empirically observed but receives OUT = 0. In parsimonious and intermediate minimization, the same reclassification removes it from the pool of logical remainders, yet the configuration does not alter the simplifying assumptions used to obtain either selected baseline formula. The lower boundary is consequently the same for all three solution types.

All three upper paths also stop at the same tested cutoff. At n.cut = 3, the conservative and intermediate solutions lose FREEXP*PARTY*GENCL and retain only FREEXP*GENCL*JUCON. The parsimonious solution similarly drops FREEXP*PARTY and retains only FREEXP*JUCON.1 So things get gloomy across all three solution types, as the sufficient term containing PARTY disappears once the Bolivia-Comoros configuration no longer counts as empirically observed for minimization.

The common formula-preservation interval is therefore [1, 2] for the conservative, parsimonious, and intermediate solutions. This agreement concerns the location of the frequency-cutoff boundary, not the content of the solution formulas, as each lower and upper path compares one solution type with its own baseline formula; the diagnostic does not compare the three formulas with one another.

6.4 Interpreting and Reporting the Diagnostic

The frequency cutoff expresses a judgment about how much case-based evidence a truth-table configuration should contain before it can participate in minimization as empirically observed. A lower cutoff admits more sparsely represented configurations and reduces the portion of the truth table treated as logical remainders; a higher cutoff requires broader empirical representation but also turns more configurations into logical remainders and may increase the limited diversity confronted during minimization.

There is no universally appropriate value. The decision should be made in relation to the number of cases, the number of conditions and resulting logically possible configurations, the observed distribution of cases across those configurations, and the study’s theoretical standards for treating a configuration as empirically represented.

In other words, the diagnostic should not make that substantive decision for us, as it only shows the consequence of nearby alternatives under a controlled comparison.

In this application, lowering the frequency cutoff from 2 to 1 preserves all three selected formulas, whereas raising it to 3 changes all three because the sufficient Bolivia–Comoros configuration is no longer treated as empirically observed. A concise report should therefore state the baseline cutoff, the adjacent cutoffs tested, the fixed inclusion cutoff, the selected solution types, and the resulting formula-preservation interval. It should also identify the empirical configuration responsible for the formula change, since the interval alone does not show what evidence was removed from minimization.

The next chapter holds the frequency cutoff fixed at n.cut = 2 and examines the inclusion requirement that determines whether a truth-table configuration is consistently sufficient for the outcome.


  1. Recomputing the exclusion rule at n.cut = 3 identifies logical-remainder configurations 2, 4, 6, and 8 as contradictory simplifying assumptions. Together, these four configurations represent the combinations of PARTY and GENCL in which FREEXP is absent and JUCON is present. Their exclusion prevents the parsimonious prime implicant FREEXP*JUCON from being simplified further to JUCON. This is why the parsimonious formula reported at the upper boundary retains FREEXP.↩︎