In short
A mixed ANOVA takes three lines of F, not one: the within-subjects effect (time), the between-subjects effect (group) and the time × group interaction, which in a pre-post design with a control group is the real hypothesis. The sphericity correction touches only two of the three, because the time effect and the interaction share the same error term: F(1.74, 135.72) = 13.21, p < .001, η²p = .14 with Greenhouse-Geisser (ε = .87). The between-subjects effect runs off the between-subjects error and stays uncorrected, with whole-number degrees of freedom: F(1, 78) = 3.14, p = .080, η²p = .04. The interaction is the one that answers “did the intervention work?”: F(1.74, 135.72) = 8.93, p < .001, η²p = .10. With only two time points there is nothing to correct — a single difference cannot violate sphericity, ε = 1 — and once the interaction is significant, the simple effects go underneath.
You have forty people in a mindfulness program and forty on a waiting list, you measured perceived stress before, after and three months later, and the mixed ANOVA has produced three tables: a within-subjects table with four correction rows, a between-subjects table with a single line, and Mauchly's test in between that nobody told you where to fit. The usual move is to report whichever line came out significant and leave the rest in the output, and that is exactly where a methods reviewer starts. Here is which number comes out of which table, which effects the sphericity correction applies to, and why the time × group interaction is the only one of the three that answers your question. If your design has no between-subjects factor and you simply measured the same people repeatedly, start at how to report a repeated measures ANOVA in APA 7.
Which numbers go in
Three lines of F, each with both degrees of freedom, its p value and its effect size. The full template for a 2 (group) × 3 (time) design runs like this: the within-subjects effect, F(1.74, 135.72) = 13.21, p < .001, η²p = .14; the between-subjects effect, F(1, 78) = 3.14, p = .080, η²p = .04; and the time × group interaction, F(1.74, 135.72) = 8.93, p < .001, η²p = .10. A mixed ANOVA reported with one of the three is not reported: the other two are still in the output, and your reviewer knows they are.
The denominator degrees of freedom change from line to line because there are two error terms, not one. The between-subjects effect is tested against the variability between people within each group, and there the degrees of freedom are N − k = 78. The time effect and the interaction are tested against the subject × time interaction, which with 78 subject df and 2 time df gives 156 before any correction. If all three lines in your table carry the same denominator, something has gone wrong: either you copied the wrong row, or the software handed you a univariate table for something else.
Descriptives come before the tests, cell by cell. The worked example has 80 participants split into two groups of 40, with the Perceived Stress Scale (PSS-10) measured at three time points. Intervention group: pre M = 24.30, SD = 5.12; post M = 19.85, SD = 5.44; follow-up M = 20.90, SD = 5.30. Waiting list: pre M = 23.84, SD = 5.08; post M = 23.50, SD = 5.60; follow-up M = 23.28, SD = 5.51. Six cells with a mean and a standard deviation each are a table, not a paragraph.
The order in the Results follows the logic of the design rather than the order of the output: assumptions first (normality, homogeneity of variance, sphericity), descriptives next, and the tests last, in the order within, between, interaction. If your hypothesis is the interaction — and in a pre-post design with a control group it almost always is — the interaction closes that paragraph and opens the next one, which is where the simple effects live.
Sphericity only touches two of the three effects
Sphericity is an assumption about the differences between repeated measures: it asks that the variance of pre − post, of post − follow-up and of pre − follow-up be equal in the population. Only two effects in your table depend on that, and they are precisely the two that share the within-subjects error term: the time effect and the time × group interaction. The group effect touches no within-subject difference at all — it is computed on each person's average across time — and it cannot violate an assumption it never uses.
Mauchly's test is what settles it, and in the example it comes out significant: Mauchly's W = .89, χ²(2, N = 80) = 8.85, p = .012. The W is a Latin letter and is italicized; χ² is Greek and stays upright, carrying the N inside the brackets, which is APA's one exception for chi-square. What you use next is not Mauchly's p but epsilon: Greenhouse-Geisser ε = .87, Huynh-Feldt ε = .91. The usual convention (Girden, 1992) is Greenhouse-Geisser when ε < .75 and Huynh-Feldt when it clears that bar; the example reports Greenhouse-Geisser because it is the conservative one and the conclusion does not change. Either is fine as long as you say which you used.
The correction changes neither the F nor the effect size: it multiplies both degrees of freedom by ε and recomputes p against a stricter distribution. That is why F(2, 156) = 13.21 and F(1.74, 135.72) = 13.21 carry the same 13.21 and the same η²p = .14. Corrected degrees of freedom are decimals and are written with two decimal places exactly as they come; rounding them to 2 and 136 erases the only visible sign that you corrected anything. And you name the correction, in the text or in the table note (“a Greenhouse-Geisser correction was applied, ε = .87”). The full detail is in how to report Mauchly's test of sphericity in APA 7.
With two time points — a bare pre-post with no follow-up — there is nothing to correct and no row to hunt for. A single difference cannot have unequal variances with itself: sphericity holds by definition, ε = 1, and the software leaves Mauchly's row blank or prints a full stop. That design is reported uncorrected and with whole numbers: time × group interaction, F(1, 78) = 14.62, p < .001, η²p = .16. If you see decimal degrees of freedom in a two-time-point design, somebody has corrected a problem that was never there.
The between-subjects effect: what it answers and what it does not
The group effect, F(1, 78) = 3.14, p = .080, η²p = .04, compares the two group means averaged across all three time points. In the example that is 21.68 against 23.54: an average that mixes the before with the after. In a randomized design with an intervention that works, that average lands halfway, because it drags along a baseline at which the groups were equal by construction. Which means the between-subjects effect can come out non-significant for an intervention that worked beautifully, and significant for one that did nothing at all if the groups started apart.
Its error term is the variability between people within each group, and its assumption is homogeneity of variance, checked at each time point separately rather than once for the whole design. Here Levene's test was non-significant at all three, the largest being F(1, 78) = 0.32, p = .573. With equal group sizes the ANOVA tolerates a fair amount of heterogeneity; with unequal groups it tolerates much less, and there it is worth looking properly before going on.
What this effect never carries is a sphericity correction, and that is the slip that gives away a mixed ANOVA copied out of the output without looking: a group effect with decimal degrees of freedom, F(1.74, 135.72) = 3.14. No such thing exists. The between-subjects effect always carries whole numbers — here k − 1 = 1 and N − k = 78 — and it comes from a different table, the between-subjects one, which sits further down the output and which Mauchly's test has no bearing on.
In a two-time-point pre-post, plenty of methodologists prefer an ANCOVA on the post score with the baseline as a covariate over the mixed ANOVA: it answers the same question and usually has more power when allocation was randomized. Both options are defensible and both report cleanly. What is not defensible is running both and keeping the one that came in under .05, because at that point the choice was made by the output rather than by your hypothesis.
The interaction is the hypothesis
“Did the intervention work?” is neither the time effect nor the group effect: it is the interaction. The time effect says everybody changed, waiting list included. The group effect says one group scores higher on average. The interaction says that change over time differed by group, which is exactly the sentence you want to be able to write in the discussion. In the example, F(1.74, 135.72) = 8.93, p < .001, η²p = .10.
A p value says nothing about the shape of the difference, so the interaction is read off the means and described in words. Here the intervention group drops 4.45 points from pre to post and is still 3.40 below its own baseline three months later, while the waiting list stays where it was. That description belongs next to the test, in one sentence: without it, “the interaction was significant” is equally consistent with the control group improving more than yours.
The η²p = .10 for the interaction is read against Cohen's (1988) convention — .01 small, .06 medium, .14 large — and as a convention, not a law. It stays upright and drops its leading zero, because it is a Greek letter and cannot exceed 1; the full rules are in how to report partial eta squared in APA 7. Watch one trap it has in mixed designs: the partial eta squared of a within-subjects effect is computed against a different error term from that of a between-subjects effect, so the .10 and the .04 in the same table are not comparable with each other. If your journal wants a metric that is, the one recommended for these designs is generalized eta squared (Olejnik & Algina, 2003; Bakeman, 2005).
If the interaction does not come out, you have not shown that the intervention fails: you have failed to detect a difference in slopes, usually the least powerful of the three tests. The honest write-up says so and gives the effect size with its confidence interval rather than turning p = .21 into equivalence. And once the interaction is significant, the main effects are read with care: a time effect averaged over two groups that did different things describes a participant who does not exist.
How to break the interaction down
A significant interaction is broken down into simple effects, and there are two possible families. The first splits time within each group: did the intervention change, did the control change? The second splits group within each time point: were they different at baseline, and at post? You do not run both and report whichever came out: you choose the family that answers your hypothesis before you look at the output, and you say which one you chose.
In a pre-post design with a control group, the family that answers is usually the first, with one test from the second at baseline to show that randomization did its job. In the example: within the intervention group, t(39) = 6.32, p < .001, dz = 1.00; within the waiting list, t(39) = 0.48, p = .634, dz = 0.08. At baseline the groups were indistinguishable, t(78) = 0.40, p = .690, d = 0.09, and at post they were not, t(78) = 2.96, p = .004, d = 0.66.
Simple effects get corrected. The family here is three contrasts — the two within-group changes and the group difference at post — because the baseline comparison is a randomization check and sits outside it. With three, Bonferroni puts the bar at α = .017, and against that bar the 6.32 survives, the 2.96 survives and the 0.48 is nowhere near. The method matters less than the disclosure — Bonferroni, Holm, Tukey for the comparisons across time points — as long as you name it and say how many contrasts went into the family. That count is the part people leave out: a Bonferroni correction with no stated number of comparisons is a correction nobody can check.
The d for within-subjects simple effects is not the same quantity as the d for between-subjects ones: the first is standardized on the standard deviation of the differences (dz) and the second on the pooled standard deviation, and the first comes out larger whenever the correlation between time points clears .50, which it normally does. Say so in the table note, or convert them to a common metric with the effect size calculator. One design warning too: a mixed ANOVA deletes the whole case when a single time point is missing, so with attrition at follow-up you are analyzing a different sample from the one you recruited; there the route is a mixed model instead of a repeated measures ANOVA.
The whole thing, written out
“Normality of residuals was checked within each cell and homogeneity of variance at each time point (Levene's test: all p > .57). Mauchly's test of sphericity was significant, W = .89, χ²(2, N = 80) = 8.85, p = .012, so the within-subjects effects were tested with the Greenhouse-Geisser correction (ε = .87).”
“A 2 (group: intervention, waiting list) × 3 (time: pre, post, three-month follow-up) mixed ANOVA was run on perceived stress. The main effect of time was significant, F(1.74, 135.72) = 13.21, p < .001, η²p = .14. The main effect of group was not, F(1, 78) = 3.14, p = .080, η²p = .04. The time × group interaction was significant, F(1.74, 135.72) = 8.93, p < .001, η²p = .10.”
“Simple effects, Bonferroni-corrected over three contrasts (α = .017), showed a reduction in stress in the intervention group between pre (M = 24.30, SD = 5.12) and post (M = 19.85, SD = 5.44), t(39) = 6.32, p < .001, dz = 1.00, maintained at follow-up (M = 20.90, SD = 5.30), and no change in the waiting list, t(39) = 0.48, p = .634, dz = 0.08. The groups did not differ at baseline, t(78) = 0.40, p = .690, d = 0.09, but did at post, t(78) = 2.96, p = .004, d = 0.66.” Three effects, a named correction, simple effects with their family counted, and not one figure a reviewer has to go looking for.
Frequently asked questions
How do you report a mixed ANOVA in APA 7?
With three lines of F, not one. The within-subjects effect, F(1.74, 135.72) = 13.21, p < .001, η²p = .14; the between-subjects effect, F(1, 78) = 3.14, p = .080, η²p = .04; and the time × group interaction, F(1.74, 135.72) = 8.93, p < .001, η²p = .10. The first two carry different denominators because there are two error terms, and only the within-subjects effect and the interaction take the sphericity correction. Underneath go the simple effects with their correction named.
What does the time × group interaction mean, and why does it matter so much?
It means that change over time differed by group, which is what “the intervention worked” amounts to in a pre-post design with a control group. The time effect only says everybody changed, control group included; the group effect compares means averaged across before and after, so it drags along a baseline at which the groups were equal by construction. The interaction is the only one of the three that separates those, which is why it is the hypothesis you preregister.
Do I need to correct the between-subjects effect for sphericity?
No, never. Sphericity is an assumption about the differences between repeated measures, and the group effect uses none of them: it is computed on each person's average across time, against the between-subjects error. Its degrees of freedom are always whole numbers — k − 1 and N − k, here 1 and 78 — and it comes from the between-subjects table, which is a separate table in the output. A group effect written as F(1.74, 135.72) is a slip you can spot from across the room.
Do I need a sphericity correction with only two time points?
No. With two time points there is a single difference, and one difference cannot have unequal variances with itself: sphericity holds by definition, ε = 1, and the correction would not move a decimal. The software leaves Mauchly's row empty or prints a full stop, and that is not a fault in the output. The interaction is reported with whole numbers, F(1, 78) = 14.62, p < .001, η²p = .16, and one sentence in the Method noting that the assumption is trivial with two levels is enough.
What if the interaction is significant but the main effects are not?
Report all three anyway and build your argument on the interaction, which was your hypothesis. A non-significant group effect alongside a significant interaction is the expected result of a well-randomized trial: the groups started equal, so averaging across the three time points pulls them together. What you cannot do is interpret the time effect as if it described everybody, because it averages two groups that did different things. After the interaction come the simple effects, not the main effects.
Which effect size do I report for a mixed ANOVA?
Partial eta squared for each of the three effects, upright and with no leading zero: η²p = .14, .04 and .10. It is read against Cohen's (1988) convention — .01 small, .06 medium, .14 large — and it does not change with the sphericity correction, because ε multiplies both degrees of freedom and the ratio stays put. The trap is that the η²p of a within-subjects effect and that of a between-subjects effect use different error terms and are not comparable with each other; if your journal wants a metric that is, it will ask for generalized eta squared (Olejnik & Algina, 2003).
Is your between-subjects effect carrying sphericity-corrected degrees of freedom?
It is the fastest giveaway that a mixed ANOVA was copied out of the output without being read, and it takes two seconds to spot.
Run your paper through Previum →With the three lines of F, the correction applied only where it belongs, an effect size on each one and the simple effects underneath, your mixed ANOVA is reported the way APA 7 asks. When the design gets harder — three groups instead of two, attrition that empties your cells at follow-up, a baseline covariate, or an assumption that will not hold — that is what my statistical consulting is for.