F = 3.551733 with p = 0.031895 uncorrected. Mauchly’s W is 0.010017 (p = 7.66e-5), so sphericity is decisively rejected — and Greenhouse-Geisser gives ε = 0.431738 and p = 0.085420. Every correction reverses the conclusion.
8 subjects × 4 conditions
F(3, 21) = 3.551733, p = 0.031895
That p-value assumes sphericity, and Mauchly's test rejects it here (W = 0.010017, p = 7.659e-5). With the Greenhouse-Geisser correction ε = 0.431738 and p = 0.085420 — the conclusion reverses. Report the corrected value.
F
3.55173
df 3, 21
Greenhouse-Geisser ε
0.431738
below 0.75 — use it
Mauchly's W
0.010017
p = 7.66e-5
Partial η²
0.33660
ω² = 0.09083
The p-value under four sphericity assumptions
Assumption
ε
Adjusted df
p
Verdict at α = 0.05
Sphericity assumed
1.000000
3, 21
0.031895
significant
Greenhouse-Geisser
0.431738
1.2952, 9.0665
0.085420
not significant
Huynh-Feldt
0.488579
1.4657, 10.2602
0.077282
not significant
Lower bound
0.333333
1.0000, 7.0000
0.101477
not significant
The source table, with the subject variation removed from error
Source
SS
df
MS
Conditions
119.2134
3
39.7378
Subjects (removed)
577.6472
7
82.5210
Error
234.9541
21
11.1883
Total
931.8147
31
The subject row is 62.0% of the total variation, and a between-subjects design would have left all of it in the error term. That removal is what a repeated-measures design buys, and the sphericity assumption is what it costs.
ε below 0.75 means use Greenhouse-Geisser With two conditions ε is exactly 1 Mauchly’s test is itself underpowered at small n
What this tool shows
The shipped example gives F = 3.551733 and p = 0.031895 — significant — and Mauchly’s W of 0.010017 with p = 7.66×10⁻⁵. Sphericity is decisively rejected, and the Greenhouse-Geisser correction (ε = 0.431738) puts p at 0.085420. Huynh-Feldt gives 0.077282 and the lower bound 0.101477. Every correction reverses the conclusion, which is why the tool prints all four rather than one.
The repeated-measures F, with subject variation removed from the error term
Mauchly’s test of sphericity, with W, chi-square and its p-value
Greenhouse-Geisser and Huynh-Feldt epsilon, with corrected degrees of freedom
The p-value under all four sphericity assumptions, side by side
The proportion of total variation that the subject differences account for
Partial η² and the bias-corrected ω² for the condition effect
The uncorrected p-value assumes something that is usually false.
Updated 12 September 2026 · Works in any browser, no installation
A repeated-measures ANOVA compares several conditions measured on the same subjects, and its whole advantage is that each subject’s overall level is removed from the error term rather than left in it. That is what makes it far more powerful than a between-subjects ANOVA on the same number of observations — and what buys the sphericity assumption that a between-subjects design does not need.
At a glance
Formula shown
SS_total splits into SS_conditions + SS_subjects + SS_error, and F = MS_conditions / MS_error on (k−1) and (n−1)(k−1) degrees of freedom. Sphericity requires that every pairwise difference between conditions has the same variance; Greenhouse-Geisser estimates how far from that the data sits as ε = (Σ T̃ᵢᵢ)² / [(k−1)·ΣΣ T̃ᵢⱼ²] from the double-centred covariance matrix, and multiplies BOTH degrees of freedom by it.
Scenario support
Before/during/after designs, learning and practice studies, crossover trials where every patient receives every treatment, taste or product tests where each panellist rates every item, and any measurement repeated on the same units where between-subject variation would otherwise swamp the effect.
Educational estimate
Planning support from the values you enter — not professional advice.
Sphericity is about the DIFFERENCES, not the conditions
It is usually stated as “equal variances and equal covariances”, which is compound symmetry and is stronger than what is actually required. The real condition is simpler and easier to check mentally.
Every pairwise difference between conditions must have the same variance. Condition 1 minus condition 2, condition 1 minus condition 3, condition 2 minus condition 3: all of those difference scores need a common variance.
Which is why two conditions can never violate it. There is one difference score, so there is nothing for it to differ from — ε is exactly 1 by construction, and the analysis is a paired t-test wearing an F.
It fails most often when the conditions are ordered in time. Measurements taken close together correlate more than measurements far apart, so the difference between adjacent timepoints is less variable than the difference between the first and the last.
When it fails the F test is liberal, not conservative. The p-value is too small, so the error is in the direction that produces findings rather than the one that hides them — which is the reason this correction is not optional.
Epsilon measures the violation, and multiplies both degrees of freedom
Greenhouse-Geisser and Huynh-Feldt do not change F. They change the reference distribution it is compared against, by shrinking the degrees of freedom.
ε runs from 1 (perfect sphericity) down to 1/(k−1), which is the worst possible case and is the “lower bound” row in the table. Both degrees of freedom are multiplied by it.
On the shipped preset ε = 0.431738, so df go from (3, 21) to (1.2952, 9.0665). Fractional degrees of freedom are correct here, not a rounding error, and the F distribution is perfectly well defined at them.
Greenhouse-Geisser is conservative and Huynh-Feldt is not. GG underestimates ε when the true value is near 1; HF corrects that and can overshoot past 1, which is why it is capped. The common rule is GG below 0.75 and HF above.
The cost of correcting when sphericity holds is tiny. The tool’s second preset has ε = 0.960540, and correcting moves p from 1.23×10⁻⁵ to 1.74×10⁻⁵. That asymmetry — large gain when it matters, negligible cost when it does not — is the argument for always reporting the corrected value.
Mauchly’s test is not a good gate
The standard workflow is: run Mauchly, correct only if it is significant. That workflow has a problem at both ends of the sample-size range.
At small n Mauchly is underpowered. It fails to detect real violations exactly when the design is small, which is exactly when the violation does the most damage to the F test.
At large n it is oversensitive. It flags trivial departures from sphericity that would move the p-value in the fourth decimal, prompting a correction nobody needed.
It also assumes multivariate normality, so a significant Mauchly can be reporting a distributional problem rather than a sphericity one.
Which is why the modern recommendation is to skip the gate. Report the corrected p-value unconditionally; when sphericity holds the correction costs almost nothing, and when it does not the correction is the only defensible number. The tool prints Mauchly because it is asked for, and prints all four p-values so the decision is visible either way.
Removing subject variation is the entire point
The source table has a row that a between-subjects ANOVA does not: subjects. Its size is the whole argument for the design.
On the fourth preset the subject row is 99.25% of the total variation. Subject means run from about 12 to about 48 while the conditions do not differ at all.
A between-subjects design would have left all of that in the error term, where it would have buried any condition effect under variation that has nothing to do with the manipulation.
Which is why a repeated-measures design needs far fewer participants for the same power — often by a factor of several, depending on how correlated the measurements are.
The costs are order effects and dropout. Every subject experiences every condition, so practice, fatigue and carryover all become confounds unless the order is counterbalanced; and one missing measurement removes the whole subject from a complete-case analysis.
When to use something else entirely
The sphericity correction patches a model rather than replacing it, and for some designs the replacement is better.
A mixed-effects model needs no sphericity assumption at all. It models the covariance structure explicitly instead of correcting for its failure, and it handles missing data without dropping subjects.
MANOVA treats the conditions as a multivariate outcome and also avoids the assumption, at the cost of needing more subjects than conditions and usually less power when sphericity does roughly hold.
The Friedman test is the rank-based alternative, which assumes nothing about the distribution and discards the magnitudes entirely — a real trade rather than a strictly safer option.
For exactly two conditions, use a paired t-test and say so. It is the same test — F is exactly t squared, verified to 1.4×10⁻¹⁴ on the tool’s third preset — and the t is more readable.
Reporting a repeated measures ANOVA
Four things, and the second is the one most often missing.
Report the corrected degrees of freedom, not the nominal ones. “F(1.30, 9.07) = 3.55, p = 0.085” tells a reader a correction was applied and how large it was; “F(3, 21) = 3.55, p = 0.085” is internally inconsistent.
Name the correction and give epsilon. Greenhouse-Geisser and Huynh-Feldt give different p-values, and ε is the one number that says how far from sphericity the data sat.
Give an effect size. Partial eta squared is conventional here; omega squared is less biased and the tool prints both.
And say how order was handled. Counterbalanced, randomised or fixed are different designs, and a fixed order makes practice and fatigue indistinguishable from the condition effect.
Sources and methodology
References for the repeated-measures F and its sphericity corrections.
Method. Epsilon is computed from the actual covariance matrix across conditions, double-centred, rather than from a compound-symmetry shortcut — so it reflects the specific violation in your data rather than a summary of it. Mauchly’s W is computed on k−1 orthonormal contrasts with eigenvalues from a cyclic Jacobi rotation, which is why W comes out exactly 1 for two conditions rather than approximately. The two-condition identity is asserted rather than assumed: F equals the paired t squared to 1.4×10⁻¹⁴ on the third preset, and ε is exactly 1. Corrected p-values are computed by scaling BOTH degrees of freedom, which is the correction as defined rather than the common shortcut of scaling only the numerator. Ragged rows, a single subject and a single condition all return no result. That engine is verified on every change against 96 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
One-Way ANOVAThe full F table with eta and omega squared, plus every pairwise gap — because a significant F says something differs and never says which, and ten groups tested pairwise carry a 90% false-positive rate.
Two-Way ANOVAFull source table with three effect sizes per row and the interaction reported first, because a crossover gives both main effects a sum of squares of exactly zero while the interaction has F = 600.
Friedman TestRanks within each block and prints the rank matrix beside the raw values: three blocks of [1,2,3] plus one of [1000,2000,3000] give Kendall's W of exactly 1, because only the order is read.
t-testOne-sample, two-sample and paired t-tests defaulting to Welch, with Student's pooled version printed beside it — and a warning when the two disagree on the verdict.
Omega SquaredThe bias-corrected effect size from a published F and its degrees of freedom, exactly zero when F is exactly 1 — because the correction subtracts precisely what chance contributes.
Wilcoxon Signed-RankReports how many zero differences it dropped and gives the Hodges-Lehmann shift, because the classical and Pratt variants disagree on the same data and the median of the differences is not what this test estimates.
An educational tool. The uncorrected F test assumes sphericity, and when that fails the test is liberal rather than conservative — so the uncorrected p-value errs in the direction that produces findings. Mauchly’s test is not a reliable gate for deciding whether to correct, and a fixed presentation order makes practice and fatigue indistinguishable from the condition effect.
Published a within-subjects ANOVA that computes Greenhouse-Geisser and Huynh-Feldt epsilon from the actual covariance matrix, with Mauchly's W beside them.
Shipped the case the correction exists for: F = 3.551733 with an uncorrected p of 0.031895 — significant — while Mauchly's W is 0.010017 (p = 7.66e-5) and every correction reverses the conclusion. Greenhouse-Geisser gives 0.085420, Huynh-Feldt 0.077282 and the lower bound 0.101477.
Shipped the counter-case too: a spherical dataset where epsilon is 0.960540 and correcting moves p from 1.23e-5 to 1.74e-5. That asymmetry — decisive when it matters, negligible when it does not — is the argument for always reporting the corrected value rather than gating on Mauchly's test.
Verified the two-condition identity rather than asserting it: with two conditions epsilon is exactly 1, Mauchly's W is exactly 1, and F equals the paired t squared to 1.4e-14.
Printed the subject row as a share of total variation, because that share — 99.25% on one preset — is the entire argument for the design, and a between-subjects analysis would have left all of it in the error term.
Add this calculator to your site
Responsive embed — and private: nothing your visitors type leaves their browser.