Core QCA engines

PyQCA provides first-class engines for the three core QCA families. Each engine validates the condition representation expected by that method while sharing truth-table, necessity, sufficiency, minimization, and result-building infrastructure.

csQCA

qca.CSQCA requires binary crisp-set conditions.

from qca import CSQCA

model = CSQCA(
    data=data,
    outcome="Y",
    conditions=["A", "B", "C"],
    case_id="case",
)
result = model.fit(consistency_cutoff=0.8)

mvQCA

qca.MVQCA accepts categorical or ordinal multi-value conditions.

from qca import MVQCA

model = MVQCA(
    data=data,
    outcome="Y",
    conditions=["institution", "strategy"],
    case_id="case",
)
result = model.fit(consistency_cutoff=0.8)

fsQCA

qca.FSQCA accepts calibrated memberships in the closed interval [0, 1]. Crisp conditions can be included in an fsQCA model by declaring their condition type.

from qca import FSQCA

model = FSQCA(
    data=data,
    outcome="Y",
    conditions=["capacity", "support"],
    condition_types={"capacity": "fuzzy", "support": "crisp"},
    case_id="case",
)
result = model.fit(
    consistency_cutoff=0.8,
    outcome_threshold=0.5,
)

Common analysis methods

All core engines expose methods for: