# Chi-square test calculator

> Chi-square test calculator for goodness of fit and independence in a contingency table: χ², p-value, expected counts and Cramér's V.

Interactive version: https://www.calcopenly.com/statistics/chi-square-test-calculator
Subject: Statistics and probability calculators

Pearson's chi-square test compares observed counts with the counts a hypothesis predicts: χ² = Σ(O − E)²/E. The goodness-of-fit test takes the expected counts from equal or given proportions and has k − 1 degrees of freedom, one fewer for each parameter estimated from the data. The test of independence sets E = row total × column total ÷ grand total for each cell of a contingency table and has (r − 1)(c − 1) degrees of freedom.

It answers questions such as whether a die is fair or whether a preference depends on region. The default 120 rolls (15, 22, 18, 25, 17, 23) give χ² = 3.8 on 5 df and p = 0.579, far below the 11.07 needed at α = 0.05, so the counts are consistent with a fair die.

The χ² approximation needs expected counts of about 5 or more. Cramér's V, from 0 to 1, measures how strong an association in a table is.

## Inputs

- **Test** (options: Goodness of fit, Independence)
- **Observed counts**: One count per category, e.g. how often each face of a die came up.
- **Expected distribution** (options: Equal in every category, Given ratios or counts)
- **Expected ratios or counts**: Any scale, e.g. 9 3 3 1 — rescaled so the expected counts add up to the observed total.
- **Parameters estimated from the data**: Each one removes a degree of freedom (e.g. 1 when fitting a Poisson mean).
- **Contingency table**: One row per line; separate the columns with spaces or commas.
- **Significance level α**

## Results

- p-value — main result
- Decision
- χ² statistic
- Degrees of freedom
- Critical value
- Cramér's V
- Smallest expected count

## Formula

$$
\chi^2 = \sum \frac{(O - E)^2}{E},\qquad E_{ij} = \frac{R_i\,C_j}{N},\qquad \nu = (r-1)(c-1)
$$

## Worked examples

### Is the die fair? (defaults)

- Test: Goodness of fit
- Observed counts: 15, 22, 18, 25, 17, 23
- Expected distribution: Equal in every category
- Significance level α: 0.05
- **χ² statistic: 3.8**
- **Degrees of freedom: 5**
- **p-value: 0.578555**
- **Decision: Fail to reject H₀**
- **Critical value: 11.0705**
- Checked against: χ² by hand: Σ(O − 20)²/20 = 76/20; p from the A&S 26.4.4 closed form for odd ν (pyref.chi2_sf_int); χ²₀.₉₅,₅ = 11.070 (χ² table)

### Mendel's peas vs 9:3:3:1

- Test: Goodness of fit
- Observed counts: 315 108 101 32
- Expected distribution: Given ratios or counts
- Expected ratios or counts: 9 3 3 1
- Significance level α: 0.05
- **χ² statistic: 0.470024**
- **Degrees of freedom: 3**
- **p-value: 0.925426**
- Checked against: Classic textbook example (χ² ≈ 0.47, p ≈ 0.93); exact χ² with Python fractions, p from A&S 26.4.4

### 2×2 table

- Test: Independence
- Contingency table: 20 30 / 30 20
- Significance level α: 0.05
- **χ² statistic: 4**
- **Degrees of freedom: 1**
- **p-value: 0.0455**
- **Cramér's V: 0.2**
- Checked against: All E = 25, χ² = 4·25/25 = 4; p = erfc(√2) = 0.0455003 (Python math.erfc); V = √(4/100)

### 2×3 table (defaults)

- Test: Independence
- Contingency table: 42 33 25 / 28 37 35
- Significance level α: 0.05
- **χ² statistic: 4.695238**
- **Degrees of freedom: 2**
- **p-value: 0.095597**
- Checked against: Expected counts R·C/N and χ² with Python fractions; p = e^(−χ²/2) for ν = 2 (A&S 26.4.5)

### Edge case: perfect fit

- Test: Goodness of fit
- Observed counts: 10 10 10 10
- Expected distribution: Equal in every category
- Significance level α: 0.05
- **χ² statistic: 0**
- **p-value: 1**
- **Decision: Fail to reject H₀**
- Checked against: O = E in every category gives χ² = 0 and an upper-tail probability of 1

## Questions

### What does the chi-square p-value mean?

It is the probability of a χ² statistic at least as large as the one observed if the null hypothesis holds, such as a fair die or independent rows and columns. For the default rolls p = 0.579: a fair die would give counts at least this uneven in about 58% of 120-roll experiments. A large p-value does not prove the die fair, since small samples can miss a real bias.

### What is the minimum expected count for a chi-square test?

Cochran's (1954) rule asks that no expected count be below 1 and no more than 20% of cells be below 5. When it fails, merge sparse categories or, for a 2×2 table, use Fisher's exact test. The rule is about expected counts, not observed ones: an observed 0 is fine when its expected count is 5 or more. The warning here appears whenever any expected count is below 5.

### How do you find the degrees of freedom for a chi-square test?

For goodness of fit, df = k − 1 − m, where k is the number of categories and m the number of parameters estimated from the data, so a six-sided die gives 5. For independence, df = (rows − 1) × (columns − 1): 2 for a 2×3 table and 1 for a 2×2 table. The 5% critical values for 1, 2 and 5 df are 3.841, 5.991 and 11.070.

### What is Cramér's V?

Cramér's V = √(χ² / (N × (min(r, c) − 1))) rescales χ² to a 0-to-1 strength of association that does not grow with the sample size. The 2×2 worked example, χ² = 4 with N = 100, gives V = 0.2. Cohen (1988) treats 0.1, 0.3 and 0.5 as small, medium and large for a 2×2 table; tables with more rows and columns have lower thresholds.

### Can I use percentages instead of counts?

No. χ² grows in proportion to the sample size, so the same percentages from 1,000 observations give 10 times the χ² of 100 observations. Entering percentages treats the sample as exactly 100 and gives the wrong p-value for any other sample size. Expected ratios, by contrast, can be on any scale: 9 3 3 1 is rescaled to the observed total.

### How accurate is the chi-square test calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 5 worked examples whose answers come from independent sources; for example, “Is the die fair? (defaults)” is checked against χ² by hand: Σ(O − 20)²/20 = 76/20; p from the A&S 26.4.4 closed form for odd ν (pyref.chi2_sf_int); χ²₀.₉₅,₅ = 11.070 (χ² table).

### Where does the method come from?

NIST/SEMATECH e-Handbook of Statistical Methods, §1.3.5.15 Chi-square goodness-of-fit test; NIST/SEMATECH e-Handbook, §7.4.5 contingency tables / test of independence; Abramowitz & Stegun, Handbook of Mathematical Functions, §26.4 (χ² probability function).

## Sources

- [NIST/SEMATECH e-Handbook of Statistical Methods, §1.3.5.15 Chi-square goodness-of-fit test](https://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm)
- [NIST/SEMATECH e-Handbook, §7.4.5 contingency tables / test of independence](https://www.itl.nist.gov/div898/handbook/prc/section4/prc45.htm)
- Abramowitz & Stegun, Handbook of Mathematical Functions, §26.4 (χ² probability function)
