Skip to main content
v2026.11,772 entries · CC-BY 4.0

Cramér’s V: Effect Size for Categorical Association

Cramér’s V rescales the chi-square statistic so association strength can be compared across contingency tables of different sizes — something phi, which only works on 2×2 tables, can’t do. This guide covers the formula, a full worked calculation, and how to interpret the result using Cohen’s effect-size bands, which change with degrees of freedom.

Ask CASRAI · included with Regulatory Radar

Ask about Cramér’s V: Effect Size for Categorical Association

Ask CASRAI answers research-administration questions about this guide and cites the passages behind every claim — and says so when the corpus does not cover something, instead of guessing. It comes with a Regulatory Radar subscription at $29 a month, alongside the daily digest of regulatory changes and the dashboard of what changed.

150 questions a day, on this site, over the API, or inside your own tools through the CASRAI MCP server.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Written and maintained by CASRAI Editorial Board

Last updated

Cramér’s V is the chi-square statistic rescaled to a 0-to-1 range so association strength can be compared across contingency tables of different sizes — something the raw chi-square statistic cannot do, because chi-square grows with sample size and with the number of rows and columns in the table, not just with the strength of the association. V divides out both of those, leaving a number that behaves like an effect size: a 4×5 table and a 2×3 table can both report a V of, say, 0.25, and that 0.25 means comparably-strong association in both cases, even though their raw chi-square values and degrees of freedom are completely different. This page covers the exact formula, why the closely related phi coefficient can’t do this job beyond a 2×2 table, a full worked calculation on a 3×4 table, and how to read the resulting number against Cohen’s effect-size bands — which themselves depend on the table’s degrees of freedom, not a single fixed cutoff.

What Cramér’s V measures

Cramér’s V answers the question a chi-square test of independence leaves open: chi-square tells you whether two categorical variables are associated at all (via the p-value), but it does not tell you how strongly. Two studies can both return a “significant” chi-square result with very different real-world association strength, purely because one has a larger sample or a bigger table — statistical significance and effect size answer different questions, and reporting only the former is a common and avoidable gap. V is the standard way to fill that gap for two nominal (or ordinal-treated-as-nominal) categorical variables laid out in any r×c contingency table.

Named for Swedish statistician Harald Cramér, who introduced it in his 1946 Mathematical Methods of Statistics, V ranges from 0 (no association — the variables are independent) to 1 (complete association — knowing one variable’s category tells you the other’s with certainty). Unlike a correlation coefficient such as Pearson’s r, V has no negative values and no inherent direction: categorical variables with more than two levels each don’t have a single meaningful “direction” of association to sign, so V reports magnitude only.

The formula: chi-square normalized by table size

For an r×c contingency table with sample size n:

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

Two things are doing the normalizing work here. Dividing χ² by n removes the effect of sample size — double every cell count in a table and χ² doubles too, even though the underlying pattern of association hasn’t changed at all; χ²/n (sometimes written as φ², since it’s the squared phi coefficient) is stable under that kind of rescaling. Dividing further by min(r−1, c−1) — the smaller of (rows − 1) and (columns − 1), the same quantity used as the table’s degrees of freedom before multiplying by the other dimension — removes the effect of table shape: a bigger table has more ways to produce a large χ² even under weak association, so V discounts by however many “extra” degrees of freedom the table has beyond the smallest possible non-trivial table (2×2, where min(r−1, c−1) = 1).

Why phi doesn’t generalize past a 2×2 table

The phi coefficient is the same idea applied to the one case where min(r−1, c−1) is always 1 by construction: a 2×2 table, two binary variables. In that specific case, V’s formula collapses to φ = √(χ²/n) exactly — phi and V are the same number for a 2×2 table, not two competing statistics that happen to agree. The problem is that phi has no min(r−1, c−1) term to divide by once a table grows past 2×2, because for a 2×2 table it’s always dividing by 1, so nobody needed to write it in. Apply the plain √(χ²/n) formula to a larger table and the result is unbounded — it can exceed 1 and grow arbitrarily large with the number of categories, which makes it useless as an effect size for comparing across tables of different shapes. Cramér’s V is what you get when you generalize phi correctly: same numerator, but divided by the table’s actual min(r−1, c−1) instead of implicitly assuming it’s 1.

Worked example: a 3×4 table

Take an illustrative (simulated, not drawn from a real study) contingency table cross-tabulating 330 survey respondents’ highest degree held against their preferred primary data-collection method:

Surveys Interviews Observation Secondary/archival data Row total
Bachelor’s 40 25 10 15 90
Master’s 30 45 20 25 120
Doctorate 15 30 35 40 120
Column total 85 100 65 80 330

This is a 3-row × 4-column table, so min(r−1, c−1) = min(2, 3) = 2. Each expected count is (row total × column total) / n — for the Bachelor’s/Surveys cell, (90 × 85) / 330 = 23.18. Summing (observed − expected)² / expected across all 12 cells gives χ² = 39.96 on df = (3−1)(4−1) = 6 degrees of freedom (the ordinary chi-square df, used for the significance test — not the same df* used in V’s denominator). That χ² comfortably exceeds the df = 6 critical value at α = .001 (22.46), so the association is significant at p < .001.

Now compute V: φ² = χ²/n = 39.96 / 330 = 0.1211. Divide by min(r−1, c−1) = 2: 0.1211 / 2 = 0.0605. Take the square root: V = √0.0605 = 0.246. (Every figure above was computed directly from the table shown, not estimated — rerun the same arithmetic on the same counts and you’ll get the same result.)

Interpreting the result: effect-size bands by degrees of freedom

A raw V of 0.246 means little without a benchmark, and the benchmark isn’t a single fixed number — it depends on df* = min(r−1, c−1), the same quantity from the formula above. Jacob Cohen’s widely used convention (from his 1988 Statistical Power Analysis for the Behavioral Sciences) sets thresholds as V×√df*, so the raw-V cutoffs get smaller as the table gets bigger:

df* = min(r−1, c−1) Small Medium Large
1 (e.g. a 2×2 table — equals phi) 0.10 0.30 0.50
2 0.07 0.21 0.35
3 0.06 0.17 0.29
4 0.05 0.15 0.25
5 0.04 0.13 0.22

For the worked example, df* = 2, so 0.246 sits between the medium threshold (0.21) and the large threshold (0.35) — a medium-to-large association between degree level and preferred data-collection method, not merely a “statistically significant” one. This is exactly the kind of comparison a raw χ² of 39.96 can’t support on its own: without normalizing for df*, there’s no way to say whether that χ² reflects a strong association in a small table or a weak one in a large table.

The bias-corrected variant

V computed the plain way is a slightly biased estimator — even under true independence, sampling noise pushes χ² (and so V) a little above zero on average, and the bias is worse in small samples and large tables. Wouter Bergsma’s 2013 correction (implemented as cramerV() with the bias-correction option in R’s rcompanion package, distinct from the uncorrected cramersV() in the lsr package) subtracts an expected-under-independence term from φ² before taking the ratio, and shrinks the effective row/column counts to match. Applied to the worked example above, the correction moves V from 0.246 to approximately 0.227 — still comfortably in the medium-to-large band for df* = 2, but a reminder that raw V trends slightly high, particularly worth checking when a table has many cells relative to n.

Computing it in SPSS, R, and Stata

  • SPSS: Analyze > Descriptive Statistics > Crosstabs, then the Statistics button and check Phi and Cramer’s V — SPSS reports both in the same output block, and for a table larger than 2×2 the phi value it prints is the unbounded √(χ²/n) form described above, not a corrected substitute for V. See the chi-square test guide‘s SPSS section for the full Crosstabs walkthrough.
  • R: vcd::assocstats() run on a table object reports V alongside χ² and the contingency coefficient in one call; rcompanion::cramerV() adds the Bergsma bias-correction option directly.
  • Stata: tabulate var1 var2, chi2 V prints Cramér’s V beneath the chi-square output in the same table — see the chi-square test in Stata guide for the full tabulate syntax.

Common mistakes

  • Reading V like a Pearson correlation. V has no sign and no “direction” for tables larger than 2×2 — it answers “how strong” but never “which way,” because with more than two categories per variable there usually isn’t a single meaningful direction to report.
  • Skipping the chi-square assumptions before trusting V. V inherits chi-square’s requirement that expected cell counts be reasonably large (conventionally, no more than 20% of cells below an expected count of 5) — a V computed on a sparse table with several near-empty cells is unstable even if the arithmetic runs without error.
  • Comparing raw V values across tables with different df*. A V of 0.30 in a 2×2 table (df* = 1, comfortably “large” per Cohen’s bands) is not the same strength of association as a V of 0.30 in a 5×6 table (df* = 4, where 0.30 sits above “large” at 0.25 but the scale itself has shifted) — always check df* before comparing V figures from different studies or different tables.
  • Treating “statistically significant” and “large effect” as synonyms. With a large enough sample, even a trivial V (0.05 or smaller) can produce a significant chi-square p-value. The p-value and the effect size are answering different questions, and reporting only the p-value — as an older generation of published research often did — hides that distinction. See the general effect size guide for how this plays out beyond the categorical case.

Frequently asked questions

Is Cramér’s V the same as phi?

Only for a 2×2 table, where they’re numerically identical. For any table larger than 2×2, phi computed the plain way (√(χ²/n)) is unbounded and can exceed 1, while V divides further by min(r−1, c−1) to stay within 0 to 1 regardless of table size — see the phi coefficient guide for the 2×2 case in full.

What counts as a “good” Cramér’s V value?

There’s no single cutoff — it depends on df* = min(r−1, c−1) for your table. Use the Cohen’s-convention table above: a V that reads as “large” in a 2×2 table (0.50) reads as merely “medium” territory in a 5×6 table (where large is 0.22), because bigger tables have more room to generate association by chance and the bands are scaled down accordingly.

Can Cramér’s V be negative?

No. V is a square root of a squared quantity by construction, so it’s always ≥ 0. This is a deliberate difference from Pearson’s r or the 2×2 phi coefficient (which can be negative in the raw 2×2 case before taking an absolute value) — V reports magnitude of association only, never direction.

How is Cramér’s V different from Cohen’s w?

They’re closely related, not different statistics: Cohen’s w is √(χ²/n) — the same φ² term used in V’s numerator — used as a general chi-square effect size independent of table shape, most often for goodness-of-fit tests against a single categorical variable. V is what w becomes once you additionally divide by min(r−1, c−1) to make it comparable specifically across two-variable contingency tables of different sizes.

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Regulatory Radar

Stop finding out after the fact

$29/month, cancel anytime. Daily digest updates from our analysis, a dashboard holding the same items, and a cited assistant for everything they raise.

  • Federal Register, Federal Register+, Grants.gov, Regulations.gov, NSF News, UKRI, plus CASRAI’s own published content.
  • 44,322 indexed passages, and every answer cites the ones it drew on.