Two categorical columns, and a table of counts. The interesting part is not building the table but choosing the right test for it — chi-square when expected counts are healthy, an exact test when they are not — and then finding out which cells drive the association.
A contingency table crosses two categorical variables and counts the observations in each cell. Pearson's chi-square tests whether the row and column variables are independent. When the expected counts are small, that test's p-value is unreliable, so the app offers the alternatives: Fisher's exact test for 2×2 tables, the Fisher–Freeman–Halton exact test (Monte Carlo) for larger tables, and the likelihood-ratio G-test. It warns you when expected counts fall below 5 rather than quietly reporting a chi-square anyway.
A significant test says there is an association but not where. For that, Magic Stat reports post-hoc work by cell: adjusted standardized residuals (with a multiple-comparison correction), each cell's chi-square contribution, and Freeman–Tukey deviates. A table with a significant chi-square and no cell analysis is half an answer.
Effect size matters as much as the p-value, because with a large N a trivial association can be significant. Cramér's V, the phi coefficient (2×2) and the contingency coefficient are reported alongside, so the size of the association is visible and not left to the p-value to imply.
Tests run: Pearson chi-square · likelihood ratio (G) · Fisher exact (2×2) · Fisher–Freeman–Halton Monte Carlo (r×c) · Mantel–Haenszel linear-by-linear.
Yates' correction: on or off, for 2×2 tables only (on by default).
Post-hoc correction: Bonferroni · Holm–Bonferroni · Benjamini–Hochberg FDR · Benjamini–Yekutieli FDR · None.
Display: row %, column % and expected counts, each toggleable.
Use chi-square when the expected counts are all reasonably large (roughly ≥ 5). When they are not, its p-value is approximate and Fisher's exact — or, for tables larger than 2×2, the Fisher–Freeman–Halton Monte Carlo exact test — is the right choice. The app flags the assumption so you can make that call.
It tests the same independence hypothesis with a different statistic. The two usually agree; they can diverge with small counts, and having both lets you see whether the conclusion depends on the specific test.
Look at the adjusted standardized residuals and the cell contributions on the post-hoc tabs. A cell with a large adjusted residual departs from independence more than chance would explain, after the correction you selected.
Because the chi-square grows with sample size. A significant test with a small Cramér's V means the association is real but weak — report the effect size, not only the p-value.
The r×c exact test is estimated by Monte Carlo simulation with fixed margins, so the p-value is an estimate rather than an exact enumeration. It is the standard approach for tables where exact enumeration is infeasible, and it is reported as a Monte Carlo result.
Goodness-of-fit test → Log-linear models → Multinomial logistic regression →