Comparative analysis is an important methodological tool in the social sciences, a via media between qualitative and the quantitative research designs. It extends classical qualitative analysis through a systematic method of comparing cases, and complements quantitative data analyses through a novel approach involving a mathematical algorithm that employs Boolean algebra. When it is difficult to apply statistics due to a very small number of cases, comparative analysis can still uncover important causal patterns. Unlike regression-based techniques that rely on symmetric correlations, qualitative comparative analysis presents an alternative way to analyse social science data using set theory, by comparing all possible pairs of cases to determine which causal conditions are redundant (not associated with the outcome of interest) and which configurations of surviving causal conditions are minimally sufficient for the outcome. This methodology allows researchers to identify causal relevance from even a small number of cases, combining Boolean algebra with philosophical concepts such as sufficiency and necessity, as well as counterfactual analysis. Specific to Boolean algebra and Qualitative Comparative Analysis is a feature called equifinality, identifying multiple causal paths that lead to the same outcome.