Factor Analysis vs PCA: The Difference Explained Simply (With Examples)

The core difference between factor analysis and PCA is their goal: PCA reduces many variables into a smaller set of components that capture maximum variance, while factor analysis uncovers hidden (latent) variables that explain the correlations between your observed variables. If you're staring at a scree plot in a stats textbook wondering why two methods that look identical give different results, you're not alone — the confusion is so common that even published papers mislabel one as the other.

Key Takeaways

  • PCA (Principal Component Analysis) is a data-reduction technique: it compresses correlated variables into fewer components with no assumption about underlying causes.
  • Factor Analysis (specifically Exploratory Factor Analysis, or EFA) is a modeling technique: it assumes latent factors cause the correlations you observe and separates shared variance from error.
  • Use PCA when your goal is dimension reduction or feature compression; use factor analysis when you want to identify and measure underlying constructs (like "anxiety" or "job satisfaction").
  • PCA analyzes total variance; factor analysis analyzes only shared (common) variance, leaving out unique/error variance.
  • For questionnaire and scale validation in psychology and social science, factor analysis is almost always the correct choice, not PCA.

What is PCA in plain language?

Principal Component Analysis (PCA) is a technique that takes many correlated variables and combines them into a smaller number of uncorrelated "components" that retain as much of the original information as possible. Think of it as compression: if you measured height, weight, and shoe size, all three are correlated, so PCA might squeeze them into one component you could loosely call "body size."

PCA makes no claim about why variables are correlated. It's purely mathematical — it finds the directions in your data with the most variance and calls those the principal components. The first component captures the most variance, the second captures the next most (and is uncorrelated with the first), and so on. Nothing is treated as "error"; every bit of variance in your variables gets absorbed somewhere.

What is factor analysis in plain language?

Factor analysis assumes there are hidden variables you can't directly measure — called latent factors — that cause the patterns of correlation among the variables you can measure. If ten survey questions about mood, sleep, and appetite all correlate, factor analysis says: "There's probably one underlying thing — depression — driving those answers."

The critical distinction is that factor analysis explicitly separates two sources of variance in each observed variable: common variance (shared with other variables, attributable to the latent factor) and unique variance (specific to that variable plus measurement error). Factor analysis models only the common variance. This is why it's the right tool for validating a psychological scale — you want to know the construct behind the items, not just compress the data.

Factor analysis vs PCA: what's the actual difference?

The two methods often produce similar-looking output, which is exactly why they get confused. Here's the honest breakdown:

Feature PCA Factor Analysis (EFA)
Goal Reduce data into fewer components Identify hidden latent variables
Variance analyzed Total variance Common (shared) variance only
Underlying model No causal assumption Latent factors cause observed variables
Error term None (all variance kept) Explicitly modeled as unique variance
Direction of relationship Variables → components Factors → variables
Best for Feature reduction, preprocessing Scale validation, construct measurement
Diagonal of correlation matrix 1s (full variance) Communalities (shared variance estimates)

The technical crux: PCA puts 1.0 on the diagonal of the correlation matrix (using all the variance of each variable), while factor analysis replaces those 1s with communalities — estimates of how much of each variable's variance is shared. That single difference is what separates "summarizing data" from "modeling latent constructs."

A worked example with real numbers

Suppose you're a graduate student validating a 6-item wellbeing questionnaire on 180 participants. You run both methods.

With PCA, you extract components and find the first component has an eigenvalue of 3.42, explaining 57% of the total variance. Every item loads onto it. PCA tells you the six items can be compressed into roughly one dimension — useful if you just need a single composite score.

With factor analysis (EFA using principal axis factoring), you extract one factor with communalities ranging from .38 to .71. The factor explains 49% of the common variance — a lower figure than PCA's 57%, because factor analysis excludes each item's unique variance and error. Your factor loadings might look like:

  • Item 1: .78
  • Item 2: .71
  • Item 3: .69
  • Item 4: .62
  • Item 5: .55
  • Item 6: .41 (borderline — you might drop it)

You'd report this in APA 7 style as: An exploratory factor analysis using principal axis factoring with a single-factor solution accounted for 49% of the common variance. The Kaiser–Meyer–Olkin measure verified sampling adequacy (KMO = .84), and Bartlett's test of sphericity was significant, χ²(15) = 512.30, p < .001.

Notice the numbers differ (57% vs 49%) even on identical data — because the methods answer different questions. PCA asks "how much total variance can one component capture?" Factor analysis asks "how much shared variance points to a common underlying construct?"

When should I use factor analysis instead of PCA?

Use factor analysis when your research question is about an underlying construct you can't measure directly — like intelligence, anxiety, brand loyalty, or job satisfaction. If you're building or validating a survey, questionnaire, or psychometric scale, factor analysis is the defensible choice because it models measurement error and tells you which items genuinely tap the latent trait.

Use PCA when you simply need fewer variables — for example, reducing 40 gene-expression measures before running a regression, compressing image data, or removing multicollinearity before a predictive model. PCA doesn't care whether a "real" construct exists; it just gives you efficient, uncorrelated components.

A useful rule of thumb: if you plan to name your components after a theoretical concept and interpret them as real things, you probably want factor analysis. If your components are just a mathematical convenience for the next step of your analysis, PCA is fine.

Do PCA and factor analysis ever give the same answer?

Yes — when your variables are highly correlated and communalities are close to 1.0, PCA and factor analysis produce nearly identical results. With strong, clean data, the diagonal of 1s (PCA) and the communalities (FA) barely differ, so the loadings converge. This is partly why the methods get conflated. But with weaker correlations or noisier data, they diverge meaningfully, and using PCA where factor analysis is required can overstate how much variance your "factor" explains.

The safest approach: pick the method based on your research goal before you look at the data, not based on which output looks nicer.

Running this in StatRyx

Choosing between PCA and factor analysis — and then getting the rotation, extraction method, and KMO diagnostics right — is exactly where non-statisticians get stuck. StatRyx picks the appropriate method for your goal, runs the analysis, checks assumptions like sampling adequacy automatically, and hands you an APA 7-formatted write-up with your KMO, Bartlett's test, communalities, and loadings ready to paste into your thesis. Instead of decoding SPSS's Factor dialog box (and its confusingly labeled "principal components" default that isn't true factor analysis), you describe what you're trying to measure and StatRyx handles

Stop calculating this by hand. Upload your dataset and StatRyx's AI runs the correct test and returns copy-paste-ready APA 7 output in seconds — no SPSS license, no syntax.

Run your data through StatRyx free →
← All posts