How to Report Fisher's Exact Test in APA 7

In short

Fisher's exact test is reported with no test statistic: there is no χ² to copy and no degrees of freedom to put anywhere, only the name of the test and its exact p. The full template is “8 of 22 (36.4%) versus 2 of 23 (8.7%), Fisher's exact test, p = .035, OR = 6.00, 95% CI [1.11, 32.54]”. It replaces the chi-square when the expected frequencies fall short (none below 1, no more than 20% below 5, per Cochran, 1954), not when the sample looks small to you. On that same table the uncorrected chi-square gives χ²(1, N = 45) = 4.98, p = .026, and Yates's correction pushes it to p = .061: three answers for one dataset, and the exact one is the only one that does not lean on an approximation. The effect size is not optional, and you have to say where it came from, because R returns OR = 5.77, 95% CI [0.95, 63.64] and SPSS returns OR = 6.00, 95% CI [1.11, 32.54] on that same table of 45 people.

You have a 2×2 table with few cases — a pilot trial, a rare clinical event, a subgroup that never reached fifty participants — and the software has printed its usual note under the table: “1 cells (25.0%) have expected count less than 5. The minimum expected count is 4.89.” Right below the chi-square sits a row with no statistic column and no degrees of freedom, just two p values. That row is Fisher's exact test, and what throws almost everybody is precisely that it is empty on the left: there is no number to copy because there is no statistic to report. Here is what goes in its place, when that row outranks the chi-square row, and which effect size has to sit beside it. If your table meets the assumptions and the exact test is not needed, start at how to report a chi-square in APA 7.

Which numbers go in

Four things, and none of them is a test statistic: the name of the test, its exact p, the cell counts with their percentages, and an effect size. The full template reads like this: “Remission was more frequent in the intervention group, 8 of 22 (36.4%), than on the waiting list, 2 of 23 (8.7%), Fisher's exact test, p = .035, OR = 6.00, 95% CI [1.11, 32.54]”. Naming the test stops being a courtesy here and becomes compulsory: with no symbol in front of it, a bare p tells the reader nothing about where it came from.

The missing statistic is not an oversight in the output, it is what the test does. A chi-square measures the distance between what you observed and what you expected, turns it into a number, and looks that number up in a reference distribution. Fisher's test measures no distance at all: it fixes the row and column totals, enumerates every table compatible with those margins, and adds up the probability of the ones that are no more probable than yours. That sum is the p. There is no intermediate step, so there is no intermediate number to report.

The p value follows the usual rules: italic, no leading zero, two or three decimals, p = .035. And there is one temptation worth resisting, which is writing p < .05 when you are holding the exact value. The test is called exact precisely because it hands you the number rather than a threshold; you only truncate it as p < .001 when it is genuinely smaller than that. For the decimals and the edge cases, see how to report p values in APA 7.

Counts go in raw and with a percentage, never as a percentage alone: 36.4% can be 8 of 22 or 4 of 11, and at these sample sizes that difference is the whole story. On italics, OR is a statistical symbol written in Latin letters, so it is italicized; “95% CI” stays roman and takes square brackets; χ² and φ are Greek and stay roman if you end up citing them. A 2×2 table fits in one sentence and needs no display table; from 3×2 upwards, it does.

When it replaces the chi-square

The criterion is the expected frequencies, not the observed ones and not the sample size. Cochran's (1954) convention is the one the textbooks quote: no cell with an expected count below 1, and no more than 20% of cells below 5. A 2×2 table has four cells, so a single cell below 5 is already 25% and the rule breaks. In the example above, with 10 remissions spread over 45 people, the expected count for the intervention × remission cell is 22 × 10 / 45 = 4.89. It fails by eleven hundredths, and that is enough.

A small sample is not the criterion, even though the two usually travel together. You can have N = 300 and fail the rule when an outcome is rare enough that the whole database holds four cases, and you can have N = 40 with all four expected counts above 5 and no need for the exact test at all. A cell's expected count is (its row total × its column total) / N, and any package will print it if you ask. That is the number that decides, and it is the one to look at before you run anything.

What changes in the same data is not cosmetic. The example table gives p = .026 with the uncorrected Pearson chi-square, p = .035 with the exact test, and p = .061 with Yates's continuity correction. Three answers, two of which cross .05 in opposite directions. Yates's correction was invented to pull the chi-square toward the exact answer, and in practice it overshoots: it corrects too much and leaves the test conservative. Choosing which one to report after seeing which one came out significant is fishing; the decision is made by looking at the expected counts, before you look at any p.

There are two places where Fisher's test is not the answer even when the expected counts are small. If your two variables are repeated measurements on the same people (before and after, two raters scoring the same cases), the observations are not independent and what you want is McNemar's test, which has an exact version of its own. And if your categories are ordered (mild, moderate, severe), a general test of association throws the ordering away: a linear-by-linear trend test belongs there instead, and it has more power.

Where that p comes from, and why it is conservative

With the margins fixed, your table has far less freedom than it looks. If one group holds 22 people, the other holds 23, and there are 10 remissions in total, knowing how many remissions landed in the first group is enough to rebuild all four cells — and that number can only run from 0 to 10, so eleven tables exist and not one more. The hypergeometric distribution gives the probability of each. Yours has probability .025, and the two-sided p is the sum of every table that is no more probable than it: .035.

That way of counting has a consequence almost nobody sees coming. Because only eleven tables exist, only eleven p values are attainable, and they arrive in jumps: in the direction of your result, 8 remissions give .035 and 7 give .165. Nothing exists between them. The p is a staircase rather than a ramp, and it cannot land near .05 however much it would like to. Hence the reputation for conservatism: in a design of 30 and 30 with a 10% base rate and no real effect at all, the exact test rejects 0.9% of the time against a nominal 5%. You are paying for exactness in power. And that same staircase explains why sometimes there is nothing to be done: with 24 participants split 12 and 12, if only four of them show the event, the most extreme table imaginable (all four in one group) gives p = .093, and no possible arrangement gets below .05. If your design sits in that zone, the problem is not which test you pick: there is not enough information in the data for the comparison, and that belongs in the limitations rather than in a hunt for an analysis that does cross the line.

Two live alternatives deserve a sentence rather than a silence. The mid-p subtracts half the probability of your own table and undoes part of that conservatism: here it moves .035 to .022. And Barnard's unconditional test refuses to fix both margins, on the grounds that in a trial nobody fixed the column totals — they came out that way — and Lydersen, Fagerland and Laake (2009) recommend it ahead of Fisher's exact test for exactly that reason. Neither is yet what a reviewer expects by default: if you use one, name it and say why.

One last detail from the output. SPSS prints “Exact Sig. (2-sided)” and “Exact Sig. (1-sided)”, and the habit of reporting the one-sided value because it is smaller is visible from a mile away. Report the two-sided value unless you had a directional hypothesis on record before seeing the data. And mind the arithmetic: the two-sided value is not twice the one-sided one. Here the one-sided p is .029 and the two-sided is .035, not .058, because the second tail is added by probability rather than by doubling the first.

The effect size: an odds ratio with its interval

An exact p on its own says that something is going on and says nothing about how much. In a 2×2 table the standard companion is the odds ratio with its confidence interval: OR = 6.00, 95% CI [1.11, 32.54]. It reads as the odds of remission in the intervention group being six times the odds in the control group. Be careful about turning that into “six times more likely”, which is the risk ratio and not the odds ratio; with common outcomes the two drift apart, and the detail is in odds ratio versus relative risk.

Now the part that costs people an afternoon: the OR depends on the software. R's fisher.test() returns the conditional maximum likelihood estimate, OR = 5.77, with the exact interval 95% CI [0.95, 63.64]. The Risk Estimate table in SPSS returns the sample odds ratio, 8 × 21 / (14 × 2) = 6.00, with Woolf's logit interval, 95% CI [1.11, 32.54]. Same table, same 45 participants, and one of those intervals contains 1 while the p reads .035.

Neither package is wrong, and it is worth understanding before a reviewer asks. The exact interval is built by inverting two one-sided tests at 2.5% each, whereas the two-sided p adds the second tail by probability; they are different rules, and at the margin they disagree. What you cannot do is pair one package's OR with the other's interval, or present the interval as though it “confirmed” the p. Say which one you used — “sample odds ratio with Woolf's interval”, for instance — and let the reader see the disagreement if there is one. The site's odds ratio calculator computes both.

The width of the interval is the message, not the nuisance. [1.11, 32.54] is compatible with a trivial effect and with an enormous one at the same time, and that is what 45 people and 10 events buy you. Reporting it is the only thing standing between “significant” and “established”. If you would rather have an index that reads like a correlation, φ = .33 does the job, written roman and without a leading zero; used descriptively rather than as a test, it does not inherit the approximation problem of the chi-square it is derived from. And in a clinical context the difference in percentage points is often the most useful number of all: 36.4% against 8.7%, a difference of 27.7 points, 95% CI [3.1, 49.3].

The zero cell

Change the example: 6 of 20 participants on the active arm report an adverse event (30.0%) and 0 of 20 on control. The exact test answers without blinking, p = .020, because enumerating tables does not require any cell to be occupied. The sample odds ratio, though, is 6 × 20 / (14 × 0), and it has nowhere to go. Your software will hand you Inf, a dash, or a zero depending on which one it is, and none of the three gets copied into a manuscript as it stands.

Three honest ways out, and it is worth choosing knowingly. The first is the exact conditional interval, which takes infinity in its stride: OR unbounded, 95% CI [1.38, ∞). It is ugly to read and it is true. The second is the Haldane-Anscombe correction, adding 0.5 to all four cells, which leaves you OR = 18.38, 95% CI [0.96, 352.57]. Look at what you just bought and what you paid: a finite number in exchange for precision, to the point where that interval contains 1 while the p reads .020. If you use it, say so in the text; a silent correction changes the result without leaving a trace.

The third way out is to stop forcing the odds ratio and report the difference in percentage points: 30.0 points, 95% CI [7.7, 51.9] by Newcombe's method. With a zero cell it is usually the most informative metric and by far the easiest for a clinical reader to interpret. It is worth pairing with what you actually know about the event-free group: zero cases in 20 people does not mean zero risk, it means that by the rule of three (3 divided by n) the true rate could run as high as 15% and you would not have seen it (Hanley & Lippman-Hand, 1983).

What never happens: writing OR = 0.00 or OR = ∞ with no explanation, collapsing categories after seeing the result so the zero disappears, or dropping the group from the analysis. All three get caught in review, and all three cost more than the two-line sentence you were trying to avoid.

The whole thing, written out

Here is the pilot trial with everything it needs and nothing else: “Expected frequencies did not meet the usual criterion (one of the four cells below 5, expected = 4.89), so the association was tested with Fisher's exact test. Remission at the end of treatment was more frequent in the intervention group, 8 of 22 (36.4%), than on the waiting list, 2 of 23 (8.7%), Fisher's exact test (two-sided), p = .035. The sample odds ratio was OR = 6.00, 95% CI [1.11, 32.54] (logit method), and the absolute difference was 27.7 percentage points, 95% CI [3.1, 49.3]. The width of both intervals, expected with N = 45 and 10 events, means the magnitude of the effect should be read as provisional.”

Notice what that paragraph does and what it declines to do. It justifies the choice of test with a number rather than with “given the sample size”. It gives the exact p and says it is two-sided. It names the method behind the interval. And it closes on precision, which in a pilot is the most important of the five sentences: an interval like that is a reason to run the trial, not a result of the trial.

If your table is bigger than 2×2, the extension is the Fisher-Freeman-Halton test, and it is reported just as empty on the left. With three groups of 12 and remissions of 7, 3 and 1, the three expected counts in the remission column are 3.67 apiece — half the table below 5: “Fisher-Freeman-Halton exact test, p = .037, Cramér's V = .45”. The chi-square on those same data would have said χ²(2, N = 36) = 7.33, p = .026, once again below the exact value.

In a table bigger than 2×2 there is no single odds ratio, so the overall effect size is Cramér's V, and the specific group comparisons go separately, each with its own odds ratio and its own p corrected for multiple comparisons. Declaring those comparisons in the analysis plan, rather than after seeing where the difference sat, is what separates a confessed exploratory analysis from a disguised one.

Already drafted it? Paste your Results section into Review one section and you get the first objection a reviewer would raise, quoting the exact sentence from your text. Free, no sign-up.

Frequently asked questions

How do you report Fisher's exact test in APA 7?

With no test statistic and no degrees of freedom: the name of the test, its exact p, the counts with their percentages, and an effect size. For example: “8 of 22 (36.4%) versus 2 of 23 (8.7%), Fisher's exact test, p = .035, OR = 6.00, 95% CI [1.11, 32.54]”. Naming the test is compulsory here: with no symbol in front of the value, a bare p tells the reader nothing about where it came from.

When do you use Fisher's exact test instead of the chi-square?

When the expected frequencies fall short, not when the sample looks small. Cochran's (1954) convention asks that no expected count drop below 1 and that no more than 20% drop below 5; a 2×2 table has four cells, so a single cell below 5 is already 25% and the rule breaks. An expected count is (row total × column total) / N, and you look at it before running the test rather than after seeing which p came out lower.

Does Fisher's exact test have a test statistic?

No, which is why that column comes out empty. A chi-square measures the distance between observed and expected counts and then looks the number up in a reference distribution; Fisher's test fixes the margins, enumerates every table compatible with them, and adds up the probability of the ones no more probable than yours. That sum is already the p. There is no intermediate number, so there is nothing to copy except the p value itself.

What effect size do you report with Fisher's exact test?

The odds ratio with its confidence interval, and you have to say how it was computed, because packages disagree: on the same table R returns the conditional estimate OR = 5.77 with the exact interval [0.95, 63.64], and SPSS returns the sample odds ratio OR = 6.00 with the logit interval [1.11, 32.54]. φ = .33 works as an alternative and reads like a correlation, as does the difference in percentage points, 27.7 points, 95% CI [3.1, 49.3], which is usually clearest in a clinical context. If a cell is 0 the sample odds ratio does not exist: use the exact interval, the Haldane-Anscombe correction with the correction declared, or the difference in proportions.

Should I report the one-sided or the two-sided p?

The two-sided one, unless you had a directional hypothesis on record before seeing the data. And do not convert one into the other: the two-sided value is not twice the one-sided one, because the second tail is added by summing probabilities rather than by doubling the first. In this article's example the one-sided p is .029 and the two-sided one is .035, not .058. State which of the two you are giving, since the output prints them side by side and a quick glance confuses them.

Can I use Fisher's exact test on a table larger than 2×2?

Yes, through the Fisher-Freeman-Halton extension, which is what SPSS, R and JASP compute when you ask for the exact test on an r×c table. It is reported the same way, with no statistic: “Fisher-Freeman-Halton exact test, p = .037”, with Cramér's V as the overall effect size. What you no longer have is a single odds ratio: pairwise group comparisons go separately, each with its own odds ratio and its own corrected p, declared in the analysis plan.

Has your Fisher's exact test got a χ² stuck next to it?

It is the fastest thing to spot in a contingency table: a test with no statistic that somebody has lent one from the chi-square sitting above it.

Run your paper through Previum →

With the name of the test, the exact two-sided p, the counts with their percentages, and an odds ratio carrying both its interval and its method, your Fisher's exact test is reported the way APA 7 asks. When the table gets harder — zero cells, ordered categories, repeated measures, or a pilot whose design cannot reach .05 whatever you do — that is what my statistical consulting is for.

Cite this guide

Ciudad-Fernández, V. (2026, September 4). How to Report Fisher's Exact Test in APA 7. Ciudad Science. https://analisisdedatospsicologia.com/en/blog/how-to-report-fishers-exact-test-apa-7

Keep reading

All blog articles