Loading...
Loading...
Exact test for 2×2 contingency tables. Works with any sample size - no minimum cell count required.
| Outcome + | Outcome − | |
|---|---|---|
| Group 1 | ||
| Group 2 |
Enter your 2×2 table and click Run Test.
Exact test - works with any sample size, no minimum required
Use Fisher's when any expected cell count < 5 or total n < 20. Chi-square is an approximation that works well only with large samples. Fisher's exact test is always valid but slower for large n. Many statisticians recommend always using Fisher's for 2×2 tables.
OR = 1 means no association. OR > 1 means the outcome is more likely in Group 1. OR < 1 means it's less likely. OR = 3 means the odds of the outcome are 3× higher in Group 1 vs Group 2.
The standard Fisher's test is for 2×2 tables. For larger tables, use the Freeman-Halton extension (scipy.stats.fisher_exact only handles 2×2). For rxc tables, use chi-square or Monte Carlo simulation.
RR = P(outcome|group1) / P(outcome|group2) is more intuitive. OR = (a×d)/(b×c) approximates RR when the outcome is rare (<10%). OR is always further from 1 than RR and is the natural measure for case-control studies.
Both are available. Two-tailed tests if the association could go either direction. One-tailed if you predict which group has higher rates. scipy defaults to two-tailed. Always specify which you're using.