SPSS command: SPSS FACTOR

Exploratory factor analysis and PCA in your browser

Factor analysis looks for a small number of underlying dimensions that explain the correlations among many variables.

Free · No account · Files stay on your device · Updated 18 October 2026

What it tells you

Crosstabs runs SPSS FACTOR in your browser with principal components, principal axis factoring and maximum likelihood extraction, KMO and Bartlett's test, a scree plot, and varimax, quartimax, equamax, direct oblimin or promax rotation.

  • Whether the variables are correlated enough to factor (KMO and Bartlett's test of sphericity).
  • How many factors or components are worth keeping, from the eigenvalues and the scree plot.
  • Which variables belong together, from the rotated loadings or the pattern and structure matrices.
  • How much of each variable's variance the factors explain (communalities), and whether a maximum-likelihood model fits (chi-square goodness-of-fit test).

When to use it

Use it when

  • Checking that a questionnaire's items group into the subscales they were written for.
  • Reducing many correlated attitude or rating variables to a few components for segmentation or regression.
  • Exploring the dimensions behind a new item pool before a confirmatory study.

Use something else when

  • Testing a specific, pre-specified factor model: that needs confirmatory factor analysis (structural equation modelling), which this panel does not do.
  • Nominal or ordinal categories with few levels: use categorical PCA or multiple correspondence analysis.
  • Fewer than about five cases per variable: loadings will be unstable.

How to run it in Crosstabs

  1. 01

    Load the variables

    Open the file and switch to Statistics mode; use numeric items with at least two distinct values.

  2. 02

    Choose Factor analysis

    In the Scale group, pick Factor analysis (FACTOR) and tick three or more Variables.

  3. 03

    Set extraction

    Choose the Extraction method (Principal components, Principal axis factoring or Maximum likelihood), Analyze the correlation or covariance matrix, and Extract by Eigenvalues greater than a value or a Fixed number of factors.

  4. 04

    Choose a rotation

    Pick Varimax (default), Quartimax, Equamax, Direct Oblimin (set delta) or Promax (set kappa), or None.

  5. 05

    Choose what to display

    Under Display, KMO and Bartlett's test, Scree plot and Sort loadings by size are on by default; add Anti-image matrices or the Correlation matrix, and Suppress small loadings for readability. Results update as you change options.

  6. 06

    Save factor scores

    Under Factor scores, pick the Score method (Regression, Bartlett or Anderson–Rubin) and, if you like, Display factor score coefficient matrix. After Run, Save factor scores adds FAC1_1, FAC2_1 and so on to the dataset as a recorded step in Data › Transform.

Worked example

Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.

Try with example data

Data

150 synthetic respondents rating six attitude statements. p1–p3 are driven by price sensitivity and t1–t3 by brand trust, two unrelated traits, plus item-specific noise. Generated with a fixed seed.

KMO and Bartlett's Test
ItemValue
Kaiser-Meyer-Olkin Measure of Sampling Adequacy0.686
Bartlett's Test of Sphericity: Approx. Chi-Square311.600
df15
Sig.<.001
Total Variance Explained
ComponentInitial Eigenvalues: Total% of VarianceCumulative %Rotation Sums of Squared Loadings: Total% of Variance
12.34239.03539.0352.31938.654
22.00933.49072.5262.03233.872
30.5599.32081.846
40.4507.50889.353
50.3646.06095.414
60.2754.586100.000

Extraction Method: Principal Component Analysis. Rotation Method: Varimax with Kaiser Normalization.

Rotated Component Matrix
Item12
p10.895−0.009
p20.867−0.028
p30.866−0.015
t1−0.0770.849
t20.0830.830
t3−0.0540.788

Rotation converged in 2 iterations.

Component Score Coefficient Matrix
Item12
p10.3860.012
p20.3740.002
p30.3740.008
t1−0.0180.417
t20.0510.411
t3−0.0090.387

Regression method (FACTOR /SAVE REG). Scores are the standardised items times these coefficients.

How to read it

KMO = 0.686 and Bartlett's test (χ² = 311.6, df = 15, p < .001) say the correlations are worth factoring. 2 components have eigenvalues above 1 and together explain 72.5% of the variance. After varimax rotation the price items and the trust items load on separate components, recovering the two traits that generated the data. Save factor scores adds the regression scores to the data as FAC1_1 and FAC2_1, computed from the coefficients in the last table.

Output tables explained

KMO and Bartlett's Test
The Kaiser-Meyer-Olkin measure of sampling adequacy and Bartlett's test of sphericity; KMO above about 0.6 and a small p mean factoring is worthwhile.
Communalities
Initial and extraction communalities: the share of each variable's variance reproduced by the retained factors.
Total Variance Explained
Initial eigenvalues with % of variance and cumulative %, then extraction and rotation sums of squared loadings for the retained factors.
Scree Plot
Eigenvalues against component number; keep the factors above the elbow.
Component Matrix / Factor Matrix
Unrotated loadings of each variable on each retained component or factor.
Rotated Component Matrix / Pattern and Structure Matrix
Loadings after an orthogonal rotation, with the transformation matrix; oblique rotations give pattern and structure matrices and the factor correlation matrix.
Goodness-of-fit Test
For maximum likelihood only: a chi-square test of whether the chosen number of factors reproduces the correlations.
Component / Factor Score Coefficient Matrix
The weights that turn standardised items into factor scores for the chosen method; saved scores (FAC1_1, …) use exactly these coefficients.

Assumptions and notes

  • Relationships among variables are roughly linear and the variables are measured on interval-like scales.
  • Cases are complete on all variables (listwise deletion); principal axis and maximum likelihood need a positive-definite correlation matrix.
  • Bartlett's test and the ML goodness-of-fit test assume multivariate normality and are withheld under a sampling weight.

How the results are validated

KMO, MSA, anti-image matrices and Bartlett's test match factor_analyzer 0.5.1 (within 1e-12, chi-square 1e-9); principal components match NumPy eigenvectors within 1e-10; SPSS-style principal axis iteration and varimax, quartimax, equamax and promax rotations match independent NumPy implementations within 1e-10; converged principal axis and oblimin agree with R psych 2.6.9 and GPArotation within 1e-6, and maximum likelihood within 1e-4. Saved factor scores match R psych::factor.scores (regression, Bartlett and Anderson–Rubin) within 1e-8 for principal components, 1e-5 for converged principal axis factoring and 1e-3 for maximum likelihood. Validation evidence

Questions

Principal components or factor analysis?

Principal components summarises all the variance and suits data reduction. Principal axis factoring and maximum likelihood model only the shared variance and suit finding latent constructs; maximum likelihood also gives a goodness-of-fit test.

How many factors should I keep?

Eigenvalues above 1 is the default rule, but check the scree plot and whether each factor is interpretable. You can switch Extract to a Fixed number of factors to compare solutions.

Orthogonal or oblique rotation?

If the underlying traits are likely to be correlated, as most attitudes are, use direct oblimin or promax and read the pattern matrix. Varimax keeps factors uncorrelated and is easier to report when that assumption is reasonable.

What does a Heywood case warning mean?

A communality estimate exceeded 1 during iteration, so the solution is improper. Extract fewer factors, drop a near-duplicate variable or switch to principal components.

Can I save factor scores as variables?

Yes. Choose the Score method and press Save factor scores after the run. The scores become FAC1_1, FAC2_1 and so on, appear in every table and procedure, are recorded in Data › Transform (where they can be undone) and recompute when the project is replayed on new data. In SPSS syntax, FACTOR … /SAVE REG(ALL) does the same.

Does the analysis run locally?

Yes. The correlation matrix, extraction and rotation are all computed in your browser.

Run Factor Analysis on your own data

Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.

Open the workspace

SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.