Guide

How to Read a Crosstab

Cross-tabulation is the foundation of survey analysis. This guide walks through every element of a crosstab — from cell counts to statistical tests — so you can read any table with confidence.

Try it now — drop your data file

CSV or Excel. Get a fully annotated crosstab in seconds.

Drop your spreadsheet here

CSV or Excel · up to 50 MB

What is a cross-tabulation?

A cross-tabulation (or crosstab) is a two-dimensional table that shows how two categorical variables relate to each other. Each cell contains the count — and usually the percentage — of respondents who fall into both categories simultaneously. If you want to know how product preference breaks down by gender, or how health outcomes vary by treatment group, a crosstab is where you start.

Crosstabs are the workhorse of market research, academic surveys, clinical studies, and policy analysis. They are simple to produce and universally understood, yet they pack in a great deal of information: counts, percentages, statistical tests, and effect sizes all in one view.

Anatomy of a crosstab

Row variable

The variable displayed along the left-hand side. Conventionally the dependent variable (outcome) or the one you're profiling by.

Column variable (banner)

The variable displayed across the top — usually the independent variable or grouping factor (e.g., age group, region, segment).

Cell count

The number of respondents in that row-column combination. The raw count is the foundation of all other values.

Column percentage

Cell count divided by the column total. This is what you almost always want when comparing groups — it tells you what proportion of each group gave a particular answer.

Row percentage

Cell count divided by the row total. Useful when the row variable is the grouping factor, or when you want to show how a total breaks down by column.

Total (marginal)

Row totals and column totals show the distribution of each variable independently, without regard to the other variable.

Row vs column percentages — which to use?

The most common mistake in crosstab analysis is reading the wrong percentage. The rule of thumb: percentages should run in the direction of the grouping variable. If age is the column variable (your groups), use column percentages. That way you compare “among 18–24 year-olds, 45% prefer X” versus “among 55+ year-olds, 22% prefer X.”

Row percentages make sense when the row is the grouping variable, or when you want to describe the composition of a total. Never present both without making it crystal clear which you're showing — and never compare row percentages against column percentages in the same sentence.

The statistics in a crosstab

Chi-square (χ²)

Tests whether the distribution of responses differs significantly across groups. Gives a p-value. Doesn't tell you where the difference is or how large it is.

Chi-square calculator

Fisher's exact test

The preferred test when cell counts are small (expected count < 5). Gives an exact p-value directly from the hypergeometric distribution.

Fisher's exact test calculator

Cramér's V

Effect size — how strong is the association? Ranges 0 to 1. Always report alongside the p-value so readers know if a significant result is also meaningful.

Cramér's V calculator

Odds ratio

For 2×2 tables, the odds ratio with its 95% confidence interval quantifies the direction and magnitude of the association between exposure and outcome.

Odds ratio calculator

Adjusted standardised residuals

The chi-square test tells you the overall table is significant, but not which cells are driving the result. Adjusted standardised residuals (ASRs) answer that question. Each cell gets a residual that roughly follows a standard normal distribution: values beyond ±1.96 indicate that the cell is significantly over- or under-represented at α = 0.05.

Crosstabs highlights significant cells automatically. A positive ASR means more people fell into that cell than you'd expect by chance; a negative ASR means fewer. This is the fastest way to identify where in the table the story lives.

Key formulas at a glance

Column %

cell count / column total × 100

Expected frequency

E = (row total × column total) / grand total

Chi-square

χ² = ∑ (O − E)² / E

Cramér's V

V = √( χ² / (n × (min(r,c) − 1)) )

Related calculators