A Guide to qcaERT
Robustness Diagnostics in QCA
Preface
Conducting a Qualitative Comparative Analysis (QCA) requires us to make decisions from the formulation of the research design through the interpretation of the solution. Some of these decisions establish the scope of the analysis, including which cases belong to the reference population and which conditions express the theoretical argument being made. Others determine how empirical information becomes set membership, how the truth table separates sufficient from insufficient configurations, and how logical remainders enter—or do not enter—the minimization.
These decisions act on different QCA objects throughout different analytical moments, and should never be bundled into one vague notion of “researcher discretion.” Calibration anchors determine the cases’ memberships in the condition and outcome sets. The frequency cutoff determines which truth-table configurations have enough empirical instances to be treated as observed for minimization, whereas the inclusion cutoff helps determine which of those configurations should be treated as sufficient for the outcome. The treatment of logical remainders then determines which counterfactual configurations may be used as simplifying assumptions. Case and condition selection reach further still, as they define the empirical scope and configurational space within which the truth table is constructed. Even when all of these choices are theoretically and empirically defensible, robustness appraisal seeks to respond what happens when another plausible choice is made (Skaaning 2011; Schneider and Wagemann 2012; Wagemann and Schneider 2015).
qcaERT version 0.1.2 addresses this question through several related, malleable, systematic, and highly auditable diagnostics. calib.test(), incl.test(), and ncut.test() move one analytical boundary at a time, whereas altset.test() samples combinations of calibration anchors and truth-table cutoffs. loo.test() and subsample.test() reconstruct the analysis after changing the composition of the cases. The remaining diagnostics organize structured comparisons: cluster.test() evaluates the selected sufficient expressions within substantively meaningful groups, while theory.test() compares solutions obtained from alternative condition sets.
Importantly, these functions are not a catch-all solution to QCA’s methodological choices—just convenient tools for appraising and presenting the robustness of choices made throughout the analytical process. As we will soon learn, the evidence stored by each reflects the comparison it actually performs.
This guide develops those diagnostics as parts of a replicable research workflow. Also, it presupposes familiarity with the basic mechanics of QCA, its terminology, and the epistemological context that guides the method. In other words, this is a “how can I strengthen my robustness appraisal?” book for readers who already know how to perform a QCA.
Why qcaERT?
qcaERT extends analyses conducted with the QCA package (Duşa 2019). Rather than leaving researchers to reconstruct, rerun, and document every alternative analysis by hand, its diagnostics organize recurring robustness tasks around a shared set of controls and returned objects. Depending on the question being asked, the stored evidence may include formula-preservation boundaries, sampled alternative specifications, deleted or retained cases, solution consistency, proportional reduction in inconsistency (PRI), coverage, parameters of fit calculated within clusters, pairwise comparisons among condition-set specifications, and explicit records of analyses that could not produce the requested comparison.
This emphasis differs from, but does not displace, the robustness tools provided by SetMethods (Oana and Schneider 2018, 2024). SetMethods offers the more explicitly set-theoretic protocol when the central task is to interpret relations among an initial solution, alternative test solutions, and their cases. qcaERT emphasizes operational control and transparency over how robustness tests are constructed, executed, compared, diagnosed, stored, and presented across a common workflow. They are siblings with different styles, and the useful choice between them depends on the question being asked and how much granular control you want from the robustness appraisal.
The use of qcaERT, therefore, rests on practicality and systematicity: it turns a claim about robustness into a visible record of what was varied, what was held fixed, what changed, and what could not be evaluated. Theoretical judgments and relevant decisions remain with the researcher, but now with a fuller basis for making and reporting them.
How to Cite This Book
Marisguia, B. A. H. (2026). A Guide to qcaERT: Robustness Diagnostics in QCA (Version 1.0). Zenodo. https://doi.org/10.5281/zenodo.21685193