SPSS command: SPSS MULTIPLE CORRESPONDENCE

Multiple correspondence analysis of survey categories

Multiple correspondence analysis (homogeneity analysis) places the categories of several nominal variables in one low-dimensional space, so categories chosen by the same respondents land close together.

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

What it tells you

Crosstabs runs the SPSS MULTIPLE CORRESPONDENCE (HOMALS) procedure in your browser, with passive or listwise missing values and four normalizations.

  • How much of the variation in the categorical data each dimension captures, with its eigenvalue and Cronbach's alpha.
  • Which variables drive each dimension (discrimination measures) and which barely matter.
  • Where every category sits, its frequency, mass and how well it is represented.
  • A score for every respondent on each dimension, ready to download for segmentation or further modelling.

When to use it

Use it when

  • Three or more nominal variables — plan type, channel, region, usage band — whose joint pattern you want to see.
  • Exploring a survey before clustering: object scores give each respondent continuous coordinates.
  • Some answers are missing and you want respondents to keep contributing through the questions they did answer (passive missing values).

Use something else when

  • Exactly two variables: simple correspondence analysis gives the classic row-and-column map and a chi-square test.
  • Ordinal or numeric variables whose order should be respected: use categorical principal components (CATPCA).
  • Variables with dozens of rare categories: merge sparse categories first, or they dominate the solution (the panel lists variables with 2–30 categories).

How to run it in Crosstabs

  1. 01

    Open your data

    Open a .sav, CSV or Excel file in the workspace and switch to Statistics mode. The file is read in your browser.

  2. 02

    Choose Multiple correspondence analysis

    In the Dimension reduction group, pick Multiple correspondence analysis (MULTIPLE CORRESPONDENCE).

  3. 03

    Tick the analysis variables

    Under Analysis variables (nominal), tick at least two variables; every one is treated as nominal.

  4. 04

    Set dimensions, normalization and missing values

    Choose Dimensions in solution (default 2), a Normalization method (Variable principal, Object principal, Symmetrical or Independent) and Missing values: Passive (exclude from that variable) or Exclude cases listwise.

  5. 05

    Run and explore the joint plot

    Click Run multiple correspondence analysis. Tick Show object points to overlay respondents on the Joint Plot of Category Points.

  6. 06

    Export scores

    Use Download all object scores to save every respondent's dimension scores as CSV; the on-screen table shows the first 25 cases.

Worked example

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

Data

150 synthetic subscribers described by four nominal variables: plan, purchase channel, tenure and region. Three hidden segments drive plan, channel and tenure (a Basic–Store–new segment, a Plus–Web–mid segment and a Premium–App–long-tenure segment); region is pure noise. A fixed seed makes the file identical on every build.

Model Summary
DimensionCronbach's AlphaTotal (Eigenvalue)Inertia% of Variance
10.6431.9330.48348.32
20.5401.6800.42042.00
Total3.6130.903
Mean0.5951.8070.45245.16

Mean Cronbach's Alpha is based on the mean eigenvalue.

Discrimination Measures
VariableDimension 1Dimension 2Mean
plan0.6320.4580.545
channel0.5380.6420.590
tenure0.5350.4800.507
region0.2280.1010.165
Active Total1.9331.6801.807
Category Points: plan
CategoryFrequencyCoordinate 1Coordinate 2
Basic49−0.891−0.740
Plus491.056−0.191
Premium52−0.1550.878

Variable principal normalization: category points are centroids of the object scores.

How to read it

Dimension 1 explains 48.3% of the variance (eigenvalue 1.933, Cronbach's α 0.643) and dimension 2 a further 42.0%. Plan has the largest discrimination measure on dimension 1 (0.632), so it separates the segments best, while region has the smallest mean discrimination (0.165): the analysis correctly treats it as unrelated to the others. The plan category points show where each plan sits on the map; categories close together are chosen by the same subscribers.

Output tables explained

Case Processing Summary
Valid active cases, weighted valid cases when a weight is on, and excluded cases, with a note on how missing values were handled.
Model Summary
Cronbach's alpha, total (eigenvalue), inertia and % of variance per dimension, plus the total and the mean across dimensions.
Discrimination Measures
The variance of each variable's category quantifications on each dimension; a large value means the variable separates respondents along that dimension.
Category Points: {variable}
One table per variable with each category's frequency, mass, inertia, coordinates and contributions in both directions.
Joint Plot of Category Points
All categories on dimensions 1 and 2; categories close together tend to be chosen by the same respondents.
Object Scores
Each case's score per dimension with its mass and inertia; the CSV download contains every case.

Assumptions and notes

  • Every analysis variable is nominal and has at least two observed categories.
  • Categories with very few cases receive extreme coordinates; merge or drop them before interpreting the map.
  • A weight is used as a replication weight for the category frequencies and quantifications.

How the results are validated

Reference values come from correspondence analysis of the indicator matrix in numpy, checked against R FactoMineR::MCA (agreement to about 1e-14), and, for passive missing values, from a direct implementation of the SPSS alternating-least-squares iteration. Tests on complete, frequency-weighted and passive-missing datasets require eigenvalues, Cronbach's alpha and discrimination measures to agree within 1e-10, and object scores, category coordinates and contributions within 1e-10 (1e-9 with passive missing values); object principal scores match FactoMineR within 1e-9. Validation evidence

Questions

What does a discrimination measure tell me?

It is the variance of a variable's category quantifications on a dimension — equivalently the squared correlation ratio (η²) of the object scores across that variable's categories. Values near 0 mean the variable plays no part in that dimension; the dimension's eigenvalue is the sum over variables.

Passive or listwise missing values?

Passive is the SPSS default: a respondent with one missing answer still contributes through the other variables, which keeps sample size. Listwise uses only complete cases and makes every variable rest on the same respondents.

Why are the percentages of variance so low?

With nominal indicator data the explained share per dimension is naturally modest. Judge the solution by whether the discrimination measures and category positions make substantive sense, not by a high percentage.

Which normalization should I use?

Variable principal (the default) places category points at the centroids of their respondents and is best for comparing categories. Object principal is best for comparing respondents; symmetrical and independent are compromises for a joint display.

Can I use the object scores in a cluster analysis?

Yes. Download all object scores as CSV, add them to your data and cluster on the dimensions — a common way to segment respondents described only by categorical answers.

Run Multiple Correspondence 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.