In short
Confirmatory factor analysis tests a factor structure you defined in advance: which items load on which latent factor, and whether that hypothesis reproduces the observed data. Run it in five stages: specify the model, choose the estimator (WLSMV for ordinal Likert items, not the default ML), check convergence, judge fit through several indices together rather than one, then report the loadings, factor correlations and reliability in APA 7.
You have the scale, you have the data, and you have a theoretical structure in mind. Now a reviewer, your supervisor or the committee wants you to show that the structure holds. That is where confirmatory factor analysis comes in, and that is where many people get stuck: between estimators, fit indices that contradict each other, and models that will not converge. This guide organizes the whole process, with the exact criteria the person reviewing your work expects to see.
What confirmatory factor analysis is
Confirmatory factor analysis (CFA) is a technique from the structural equation modeling family that tests a factor structure defined in advance. Instead of letting the data suggest how many dimensions there are, you specify which items measure which factor and the model tells you whether that hypothesis fits the data. In other words, you do not explore: you confirm or refute a specific measurement theory.
Each factor is a latent variable (something not observed directly, such as anxiety or burnout) that shows up through several observed items. CFA estimates how strongly each item loads on its factor, how much the factors correlate with each other and, above all, whether the model reproduces the observed covariance matrix well.
CFA versus EFA: when to use each
The most common mistake is using one when the other is called for. The rule is simple and depends on whether you have a prior hypothesis about the structure:
- Exploratory factor analysis (EFA): when you do not know how many factors there are or which items belong to each. It is for discovering the structure. If you are at this stage, start with the exploratory factor analysis guide.
- Confirmatory factor analysis (CFA): when you already have a hypothesized structure (from theory or from a prior EFA in another sample) and you want to test it.
The underlying error is usually conceptual: many people confuse CFA with principal component analysis (PCA), which is not a latent measurement model. If you are unsure, the difference is explained in CFA versus PCA. One critical note: running an EFA and a CFA on the same sample and presenting it as cross-validation is a mistake any reviewer with psychometric training spots immediately. If you are going to confirm, do it in an independent sample.
The CFA workflow
Every well-run CFA goes through the same five stages, in this order:
- Specify the model: declare which items load on which factor and which factors correlate.
- Choose the estimator: the decision most people skip and the one that causes the most trouble (see below).
- Estimate and check convergence: that the model converges and does not produce impossible estimates (negative variances, the so-called Heywood cases).
- Assess fit: with several indices, not just one.
- Interpret and report: standardized loadings, reliability of each factor and overall fit.
The fit indices reviewers check
This is where acceptance is won or lost. The chi-square (χ²) is almost always significant with large samples, so nobody uses it alone to decide. You report several indices and judge the set. These are the reference thresholds consolidated in psychology (Hu and Bentler, 1999):
| Index | Good fit | What it measures |
|---|---|---|
| χ² / df | < 3 (ideally < 2) | Absolute fit relative to degrees of freedom |
| CFI | ≥ .95 (≥ .90 acceptable) | Incremental fit versus the null model |
| TLI | ≥ .95 | Incremental fit that penalizes complexity |
| RMSEA | ≤ .06 (≤ .08 acceptable) | Approximation error per degree of freedom |
| SRMR | ≤ .08 | Mean standardized residual |
Two nuances that separate a thesis-level report from a Q1 one: first, these thresholds are guidelines, not laws; with complex models or small samples the RMSEA inflates artificially and should be read with caution. Second, always report the confidence interval of the RMSEA, not just the point estimate. A demanding reviewer will ask for it.
Which estimator to use (and why it matters with Likert items)
This is the technical decision most people ignore and the one that causes the most rejections in psychometrics. The default estimator in almost every program is maximum likelihood (ML), which assumes your variables are continuous and normal. But the items of a 4 or 5 point Likert scale are not continuous: they are ordinal. Using ML with ordinal data biases the loadings and the fit.
- ML: valid if your indicators are genuinely continuous and approximately normal.
- MLR (robust ML): corrects for non-normality; a good option with scales of 5 or more categories that are reasonably distributed.
- WLSMV: the standard when you treat the items as ordinal (4 or fewer categories, or skewed distributions). It uses polychoric correlations. It is what a psychometrics reviewer expects to see.
Justifying the estimator in a single sentence of the methods (why WLSMV instead of ML, for example) can save you an entire round of review.
How much sample you need
There is no magic number, but there are defensible references. The old "10 cases per item" rule is outdated; what matters is model quality: high loadings and well-defined factors need less sample. As a practical guide, below N = 150 CFA becomes unstable unless loadings are very high; 200 to 300 is comfortable ground for simple models; and for complex models or WLSMV estimation you should aim higher. If you need to set the sample size before collecting data, see how to use a sample size calculator.
How to run it: R, SPSS AMOS and JASP
CFA can be run in several programs; the logic is identical, only the interface changes.
R with lavaan is the free and most flexible option. The specification is transparent:
library(lavaan)
model <- '
Anxiety =~ i1 + i2 + i3 + i4
Depression =~ i5 + i6 + i7 + i8
'
fit <- cfa(model, data = data, estimator = "WLSMV", ordered = TRUE)
summary(fit, fit.measures = TRUE, standardized = TRUE)
The full line-by-line tutorial is in CFA in R with lavaan step by step. SPSS AMOS is the graphical route: you draw the measurement model and AMOS estimates it; convenient if you do not code, but paid and less flexible with ordinal data. JASP offers a SEM module with a menu interface and lavaan syntax underneath, ideal if you want fast results without writing all the code.
The mistakes that get a CFA sent back
- Using ML with ordinal items without justifying it.
- Reporting only the χ² (which is almost always significant) or, conversely, ignoring it entirely.
- Interpreting a model that has not converged or that has negative variances as if it were valid.
- Correlating error terms to "improve fit" with no theoretical justification (a post hoc modification a reviewer smells immediately).
- Confusing CFA with PCA, or running EFA and CFA on the same sample.
- Not reporting the reliability of each factor. CFA confirms the structure; reliability (alpha or omega) is a separate step you will also be asked for.
How to report it in APA 7
A complete report includes, in this order: the estimator and why; the fit indices with the RMSEA confidence interval; the standardized factor loading table; the correlations between factors; and the reliability of each dimension. The exact paragraph and table template, ready to copy, is in how to report a CFA in APA 7.
Your CFA will not fit and you do not know why?
I am a PhD in Psychology and I specialize in instrument validation: CFA, invariance, the right estimator, defensible fit and the APA 7 report ready for the reviewer. If your model resists or the reviewer is pushing, I will get it solved. Fixed quote.
Tell me about your project →Confirmatory factor analysis, done well, is one of the strongest pieces of evidence that your instrument measures what it claims to measure. Done badly, it is one of the sections that generates the most rounds of review. The difference is almost never the software: it is the estimator, reading the set of indices together, and reporting honestly what you did.