Repeated Measures ANOVA Calculator

StatisticsLast updated: August 22, 2026

A repeated measures ANOVA tests whether condition means differ in designs where the same subjects are measured under two or more conditions (or at several points in time). Pretest – posttest – follow-up measurements, different tasks attempted by the same participant, and repeated taste tests are typical examples. Because measurements taken from the same person are dependent, an independent groups ANOVA cannot be used here.

The strength of this design comes from separating the stable differences between people (some scoring high overall, others low) into a source of their own — the subject effect. This calculator splits the total sum of squares into between-subjects, condition, and error components; computes F, the degrees of freedom, the p-value, and partial eta squared; applies the Greenhouse–Geisser and Huynh–Feldt corrections for the sphericity assumption; and also reports the Friedman test as a nonparametric alternative.

Write the measurements of one subject across all conditions on each row. Every row must contain the same number of values (missing data is not supported).
Separate them with commas. If the count does not match the number of columns, the names "Condition 1, Condition 2…" are used.
Sets the false positive risk. In the social sciences 5% is the common choice.

Repeated Measures ANOVA Formulas

SS_total     = Σᵢ Σⱼ (xᵢⱼ − x̄)²
SS_subject   = k · Σᵢ (x̄ᵢ. − x̄)²                      df = n − 1
SS_condition = n · Σⱼ (x̄.ⱼ − x̄)²                      df = k − 1
SS_error     = SS_total − SS_subject − SS_condition    df = (n − 1)(k − 1)
MS = SS / df    ,    F = MS_condition / MS_error
Partial η² = SS_condition / (SS_condition + SS_error)
Generalized η²_G = SS_condition / SS_total
Sphericity correction: df′ = ε · df   (Greenhouse–Geisser / Huynh–Feldt)

An independent groups ANOVA has a single error term; in a repeated measures design the stable differences between people are pulled out as SS_subject and removed from the error term, which markedly increases the power of the test. The corrections leave F unchanged: only the degrees of freedom are multiplied by ε and shrink, so the p-value grows.

How to Calculate

  1. Write the measurements of each subject across all conditions on a single row, in condition order; the number of rows must equal the number of subjects and the number of columns the number of conditions.
  2. Enter the condition names separated by commas; if the count does not match the number of columns, generic names are used.
  3. Choose the significance level (α) and inspect the ANOVA table to see how the sum of squares splits into subject, condition, and error components.
  4. Read F, the degrees of freedom, and the p-value; partial eta squared shows the size of the effect.
  5. Check the Greenhouse–Geisser ε: if it is below 0.75, the corrected degrees of freedom and the corrected p-value should be reported.
  6. Look at the subject profiles chart to confirm that a handful of subjects are not driving the whole pattern; compare with the Friedman test result if needed.

Worked Examples

A four-point follow-up measurement

For eight subjects measured at four points in time the condition means are 5.25, 7.00, 8.88, and 10.13. With SS_condition = 109.625, SS_error = 3.375, and MS_error = 0.161, the result is F(3, 21) = 227.370; p < 0.001. Partial eta squared of 0.970 indicates a very large effect; because the Greenhouse–Geisser ε = 0.618, the corrected result should be reported.

F statistic (condition effect): 227.370 · Degrees of freedom — condition (df₁): 3 · Degrees of freedom — error (df₂): 21

Two conditions — equivalent to a paired t-test

The seven participants have a pretest mean of 12.43 and a posttest mean of 15.57. With SS_condition = 34.571 and SS_error = 3.429, F(1, 6) = 60.500; p < 0.001, so the increase is significant. With two conditions sphericity holds automatically, so ε = 1.000, and F equals the square of the paired t-test statistic: t² = 60.500.

F statistic (condition effect): 60.500 · Degrees of freedom — condition (df₁): 1 · Degrees of freedom — error (df₂): 6

Three tasks, no significant difference

The six participants have means of 21.50, 21.50, and 21.83 across the three tasks. With SS_condition = 0.444 and SS_error = 8.889, F(2, 10) = 0.250; p = 0.784: there is no difference between the tasks. The subject effect, on the other hand, accounts for 92.0% of the total variability with SS_subject = 106.944 — the people differ greatly from one another, yet each performs similarly across the three tasks.

F statistic (condition effect): 0.250 · Degrees of freedom — condition (df₁): 2 · Degrees of freedom — error (df₂): 10

Frequently Asked Questions

What exactly is the sphericity assumption?
Sphericity requires the variances of the differences between pairs of conditions to be equal. The variance of the pretest – posttest difference, for example, should be similar to the variance of the posttest – follow-up difference. When this assumption fails, the F test produces significant results more often than it should. With two conditions there is only one series of differences, so the assumption holds automatically; the problem appears with three or more conditions.
How do I choose between the Greenhouse–Geisser and Huynh–Feldt corrections?
The common recommendation is to use the Greenhouse–Geisser correction when its epsilon is below 0.75 and the Huynh–Feldt correction when it is above. GG is more conservative (it inflates the p-value more) and controls the error rate well when sphericity is seriously violated; HF loses less power under moderate departures. In both cases F stays the same and only the degrees of freedom shrink.
When should I use the Friedman test instead of a repeated measures ANOVA?
The Friedman test is preferable when the sample is small and the within-condition distributions are markedly skewed, or when the dependent variable is measured on an ordinal scale. Because Friedman ranks the conditions within each subject and works on those ranks, it needs neither normality nor sphericity. The price is a loss of power: when the assumptions hold, the parametric ANOVA is stronger. This calculator shows both results side by side.
What should I do about missing data?
A classical repeated measures ANOVA requires complete data; a subject missing a measurement in one condition is dropped from the analysis entirely (listwise deletion), which both reduces power and can introduce bias. This calculator likewise allows no empty cells and requires the rows to be of equal length. If the proportion of missing data is not small, mixed models or multiple imputation should be used instead.
What is the difference between partial and generalized eta squared?
Partial eta squared relates the condition effect only to its own error term (SS_condition / (SS_condition + SS_error)) and leaves the subject effect out of the calculation, which is why it tends to come out very high in repeated measures designs. Generalized eta squared puts the total variability in the denominator and yields values that are comparable across different designs (independent groups versus repeated measures). The generalized form is recommended for studies destined for meta-analysis.
How do I get the same results in SPSS and R?
In SPSS, follow Analyze → General Linear Model → Repeated Measures; the output contains Mauchly's test of sphericity together with the uncorrected, Greenhouse–Geisser, and Huynh–Feldt rows. In R, aov(value ~ condition + Error(subject/condition)) or ezANOVA from the ez package produces the same sums of squares. In Excel, the 'Anova: Two-Factor Without Replication' tool in the Data Analysis add-in gives exactly the same ANOVA table as this calculator.
After a significant result, how do I find out which conditions differ?
Paired t-tests are run between the pairs of conditions and a multiple comparison correction is applied; the most common choice is the Bonferroni correction (the p-values are multiplied by the number of comparisons). This calculator gives the Bonferroni-corrected interval and p-value for the two extreme conditions directly. If sphericity is violated, the pairwise comparisons are unaffected because they involve only two conditions each.