FSSmartFSQCAManual · fuzzy-set QCA ← Back to the tool Open SmartFSQCA
◇ User manual

Fuzzy-set QCA, from raw data to solutions

Everything you need to run and report a fuzzy-set Qualitative Comparative Analysis in SmartFSQCA — the core ideas, how to calibrate, how to read the truth table and the three solutions, and how to write it up. No software to install; everything runs in your browser.

What is fsQCA?

Fuzzy-set Qualitative Comparative Analysis (fsQCA) is a set-theoretic method for finding which combinations of conditions are sufficient or necessary for an outcome. Instead of estimating the average effect of each variable holding others constant, it asks: which recipes of conditions reliably produce the result?

Developed by Charles Ragin, fsQCA sits between qualitative case study and quantitative analysis. It treats cases as configurations of set memberships and uses Boolean logic to reduce many observed combinations to a small number of causal paths. It is well suited to small- and medium-N designs, and increasingly used with larger samples in management, HRM, political science, information systems, education and health.

In one sentence. fsQCA models causal complexity — conjunction (conditions work in combination), equifinality (several paths reach the same outcome), and asymmetry (the causes of an outcome's absence are not the mirror image of its presence).

Core concepts

Sets and membership

Every condition is a set (e.g. "high wealth"). Each case has a membership score in that set between 0 and 1. In crisp sets a case is fully in (1) or fully out (0); in fuzzy sets membership is graded (0.2, 0.7, …). A score of exactly 0.5 is the point of maximum ambiguity and is avoided.

Necessity and sufficiency

These are the two set relations at the heart of the method:

  • Sufficient condition (or recipe) X ⇒ Y: whenever X is present, Y is present. As sets, X ⊆ Y — the cases with X are a subset of the cases with Y.
  • Necessary condition X ⇐ Y: Y occurs only when X is present. As sets, Y ⊆ X — the outcome is a subset of the condition.

fsQCA analyses these separately, because a condition can be necessary without being sufficient, and vice versa.

Consistency and coverage

Fit is judged with two set-theoretic measures — not p-values or R².

Consistency = Σ min(Xi, Yi) / Σ Xi   ·   Coverage = Σ min(Xi, Yi) / Σ Yi
  • Consistency — how closely the cases obey the subset relation (how reliably the recipe leads to the outcome). Conventionally sufficiency needs consistency ≥ 0.80; necessity ≥ 0.90.
  • Coverage — how much of the outcome the recipe empirically accounts for (its relevance). Raw coverage counts all cases a recipe covers; unique coverage counts those it alone covers.
  • PRI (Proportional Reduction in Inconsistency) guards against a configuration being sufficient for both the outcome and its negation.

Configurations, equifinality, asymmetry

A configuration is a combination of present/absent conditions (a recipe), combined with logical AND. Equifinality means several different configurations can each be sufficient for the same outcome. Causal asymmetry means you must analyse the outcome (Y) and its absence (¬Y) separately — the recipe for ¬Y is usually not the negation of the recipe for Y.

Core vs. peripheral conditions

A condition is core when it appears in both the parsimonious and the intermediate solution (it is decisive), and peripheral when it appears only in the intermediate solution (supporting). SmartFSQCA marks these with filled/open circles in the configuration matrix.

Preparing your data

  • Use a table where the first row is the column names and each following row is one case. The first column can be a case ID (country, firm, respondent…).
  • You need at least an outcome column and 2+ condition columns. Three to seven conditions is typical; too many conditions relative to cases causes "limited diversity" (many logical remainders).
  • Columns can be raw continuous values (income, scores), already-fuzzy 0–1 values, or Likert-scale survey items (SmartFSQCA can group these into constructs — see below).
  • Accepted formats: paste CSV, or upload .csv, .tsv, .xlsx, .xls.
Privacy. SmartFSQCA runs entirely in your browser. Your dataset is never uploaded to a server; only the small numeric summary you choose to send is used when you click an AI button.

1Data & conditions

a
Load your data. Paste a CSV or click Upload CSV / Excel. Use Load example dataset to try it with 20 cases (education, wealth, urbanisation → democracy). Click Read columns.
b
Choose the outcome you want to explain, and optionally a case ID column.
c
Select the conditions (causal factors) by ticking their chips. Keep the number modest relative to your case count.

Likert items → constructs

If your data contains repeated survey items (for example JS1, JS2, JS3 for job satisfaction), SmartFSQCA detects them and shows a grouping panel. There you can:

  • Rename each construct and choose how to aggregate items (average or sum).
  • Reassign an item to a different construct, or exclude it.
  • Mark any reverse-coded item so it is flipped before aggregation.
  • Click ✨ AI: suggest groupings to have the assistant name the constructs and group the items for you (review before applying).

Clicking Apply grouping creates one new variable per construct, which then flows into calibration like any other column.

2Calibration

Calibration turns raw values into fuzzy-set membership in [0, 1]. For each variable pick a method:

MethodUse whenWhat you set
Direct (anchors)Continuous data (income, scores, construct means)Three anchors: full-out → 0.05, crossover → 0.50, full-in → 0.95
Crisp (threshold)You want a binary in/out splitOne threshold (≥ = in)
Already 0–1The column is already a fuzzy membershipNothing — passed through

SmartFSQCA auto-suggests anchors from your data's percentiles; edit them to reflect substantive/theoretical meaning, not just the sample. Click Calibrate & preview to see the calibrated table and per-variable calibration plots.

Watch the anchors. Anchors are the most consequential researcher choice in QCA. Justify them theoretically and report them. Avoid clustering many cases at exactly 0.5; the Calibration anchor plot and Diagnostics views help you check this.

3Thresholds & analysis

Set the truth-table thresholds, then run:

  • Frequency threshold — the minimum number of cases a configuration needs to be counted (often 1 for small-N, higher for large-N).
  • Consistency threshold — the minimum consistency for a configuration to be coded as leading to the outcome (commonly ≥ 0.80).
  • PRI threshold (optional) — demotes configurations with low PRI.
  • Directional expectations — for each condition, state whether its presence or absence is expected to contribute to the outcome (or "don't care"). These shape the intermediate solution.
  • Analyse — choose Outcome present (Y), Outcome absent (¬Y), or Both. Because fsQCA is asymmetric, analysing both is good practice.

Click Run fsQCA analysis. SmartFSQCA builds the truth table, applies Boolean (Quine–McCluskey) minimisation, and returns the three solutions plus every visual view.

The three solutions

SolutionCounterfactuals usedReading
ComplexNone (no logical remainders)Most conservative; only observed combinations.
ParsimoniousAll remainders allowedSimplest; reveals core conditions.
IntermediateOnly remainders matching your directional expectationsRecommended for interpretation; core + peripheral.

The analysis menu — reading each view

Results open with a left-hand menu grouped into families. Use the Outcome present / absent switch at the top to flip between Y and ¬Y. Here is how to read each view.

Solutions

ViewWhat it shows / how to read it
Core–peripheral matrixThe Ragin-style table: rows = conditions, columns = configurations. ● present, ○ absent; filled = core, small = peripheral, blank = don't care. Foot rows give raw/unique coverage and consistency.
Configuration pathway mapEach recipe as a horizontal route of condition chips → outcome. Several rows = equifinality.
Core-condition frequencyHow often each condition appears across paths, and how often as a core condition — the recurring causal ingredients.
Coverage decompositionTotal coverage split into each recipe's unique contribution plus shared overlap. Large unique slices = distinct paths.

Necessity

ViewHow to read it
Necessity tablePer condition (and its negation): consistency, RoN (relevance of necessity), coverage, whether it is in the solution, and an INUS flag. A genuine necessary condition has consistency ≥ 0.90 and high RoN.
Necessity radarThe same three metrics plotted per condition — quick visual comparison.

Set relations

ViewHow to read it
XY sufficiency plotsCondition membership (x) vs outcome membership (y). Points on/above the diagonal support sufficiency (X ⊆ Y).
Coverage–consistency bubbleEach recipe as a bubble: x = consistency, y = raw coverage, size = unique coverage. Top-right recipes are both reliable and important.
Venn / Euler diagramSolution paths as overlapping case-sets; overlaps are cases explained by more than one recipe (equifinality).
UpSet overlapCleaner than a Venn for many conditions: coverage bars plus a dot matrix of which condition states make up each recipe.
Similarity networkRecipes as nodes (size = coverage, darker = consistency); edges link recipes that share condition states.

Truth table

ViewHow to read it
Truth tableEvery logically possible combination with case frequency, consistency, PRI and outcome code (1 / 0 / ? for remainders).
Truth-table heatmapObserved rows sorted by consistency; colour highlights strong vs weak/contradictory configurations.
Contradictions mapConfigurations that are empirically present but inconsistent, plus corners sufficient for both Y and ¬Y — resolve these before trusting the solution.

Causal asymmetry

ViewHow to read it
Mirror plot (Y vs ¬Y)Recipes for the presence and the absence of the outcome side by side — visual proof of asymmetry.
Outcome vs non-outcomeWhich condition states drive Y only, ¬Y only, or both. Little overlap = strong asymmetry.

Cases, robustness & calibration

ViewHow to read it
Case typology mapCases placed by solution membership (x) and outcome (y): typical, deviant-consistency, covered-elsewhere, irrelevant. Great for picking cases for follow-up.
Robustness heatmapThe solution re-estimated across consistency and frequency thresholds. Stable path counts and consistency = robust findings.
Calibration anchor plotRaw values mapped to membership with the three anchors — transparency for reviewers.
Causal-recipe SankeyHow condition states chain within each recipe toward the outcome; band width = coverage.
Diagnostics & bootstrapCalibration quality, contradictions, and bootstrap 95% confidence intervals on solution consistency and coverage.

AI assistance

Under the results, three buttons turn your numbers into words. They send only a compact numeric summary — never your raw data.

  • ✨ Interpret my results — a publication-ready Results-section narrative of necessity, sufficiency, coverage and one caution.
  • 🏷 Name the configurations — a short theoretical label and rationale for each recipe.
  • 🛡 Assess robustness — a verdict (robust / moderately robust / fragile) reading the robustness grid.

The free shared AI has a daily limit. To skip it, paste your own free Groq API key in the box — it stays in your browser and is sent straight to the provider. Always check AI text against the tables.

AI is an assistant, not an author. Verify every claim against the numeric output, and disclose AI assistance per your journal's policy.

Reporting checklist

Use the download buttons (truth table CSV, solutions CSV, full HTML report) and report, at minimum:

  1. Cases, conditions and outcome, and why they were chosen.
  2. Calibration method and the three anchors (or threshold) for every variable, with justification.
  3. Truth-table frequency and consistency thresholds, and how remainders were treated.
  4. Analysis of necessity for each condition and its negation (consistency, coverage, RoN).
  5. The complex, parsimonious and intermediate solutions, with per-recipe raw coverage, unique coverage and consistency, and overall solution consistency and coverage.
  6. Both the outcome and its negation (asymmetry).
  7. A robustness check across alternative thresholds/calibrations.
Good practice. Follow the standards of practice in Schneider & Wagemann (2012) and report enough that another researcher could reproduce your analysis.

Glossary

TermMeaning
CalibrationConverting raw values into fuzzy-set membership in [0, 1].
ConditionA causal factor, treated as a set.
Configuration / recipeA combination of present/absent conditions (logical AND).
ConsistencyDegree to which cases obey a subset relation (reliability of a claim).
CoverageShare of the outcome empirically explained (relevance).
EquifinalityMultiple different recipes reaching the same outcome.
INUS conditionAn Insufficient but Necessary part of an Unnecessary but Sufficient combination.
Logical remainderA logically possible configuration with no (or too few) observed cases.
Necessity / sufficiencyY ⊆ X (necessary) / X ⊆ Y (sufficient) set relations.
PRIProportional Reduction in Inconsistency — guards against simultaneous sufficiency for Y and ¬Y.
RoNRelevance of Necessity — flags trivially necessary conditions.
Truth tableAll 2ᵏ possible configurations of k conditions, with frequency and consistency.

FAQ

How many cases and conditions do I need?

fsQCA works from a dozen cases upward. Keep conditions modest relative to cases (a common rule of thumb: with N in the teens use ~3–4 conditions; with larger N you can add more). Too many conditions produce many logical remainders (limited diversity).

Why analyse the outcome's absence too?

Because causation is asymmetric. The conditions that produce ¬Y are generally not the negation of those that produce Y, so ¬Y needs its own analysis. Use the Both option and the asymmetry views.

Which solution should I interpret?

Report all three, but centre interpretation on the intermediate solution, distinguishing core from peripheral conditions.

Is my data uploaded anywhere?

No. All computation is in your browser. Only a small numeric summary is sent when you click an AI button.

Can I reproduce this in R?

Yes — the same logic underlies the R packages QCA and SetMethods. SmartFSQCA lets you explore and report quickly without installing anything; the downloadable report documents your settings.

Key references

  • Ragin, C. C. (2008). Redesigning Social Inquiry: Fuzzy Sets and Beyond. University of Chicago Press.
  • Schneider, C. Q., & Wagemann, C. (2012). Set-Theoretic Methods for the Social Sciences. Cambridge University Press.
  • Rihoux, B., & Ragin, C. C. (2009). Configurational Comparative Methods (QCA and Related Techniques). SAGE.
  • Fiss, P. C. (2011). Building better causal theories: A fuzzy set approach to typologies in organization research. Academy of Management Journal, 54(2), 393–420.
  • Greckhamer, T., Furnari, S., Fiss, P. C., & Aguilera, R. (2018). Studying configurations with QCA. Strategic Organization, 16(4), 482–495.

Ready? Open SmartFSQCA and run your analysis — free, in your browser.