Interactive module guide

Repeated Measures ANOVA Calculator — Within

This repeated measures ANOVA calculator compares within-subject condition means with the Greenhouse-Geisser sphericity correction built in.

Open calculator

Free · No sign-up · Calculations stay in your browser

Repeated-measures ANOVA compares two or more condition means when every subject is measured under every condition.

Its power comes from a bookkeeping trick: stable differences between subjects are estimated and removed from the error term, so the test judges condition effects against how much each subject varies around their own baseline.

With three or more conditions, sphericity requires equal variances of all pairwise condition differences; this calculator always computes the Greenhouse-Geisser ε̂ and reports the corrected p-value alongside the uncorrected one.

With two conditions sphericity is automatic and ε̂=1.

Enter one field per condition, with every field holding the subjects in identical order.

Use the repeated measures ANOVA calculator when every subject experiences every condition; enter one field per condition in identical subject order and report the Greenhouse-Geisser corrected p-value when sphericity is doubtful.

When to use this repeated measures ANOVA calculator

Use it when

  • Use it when the same subjects experience all conditions—time points, task variants, assay methods—and the outcome is numeric; the within-subject design routinely needs a fraction of the sample a between-groups comparison would.
  • Use it when individual baselines differ widely: subjects who are systematically high or low contribute their differences, not their levels, so heterogeneous panels stop inflating the error term.
  • Use it as the parametric partner of the Friedman test on the same input layout, when the measurements are genuinely interval-scaled and roughly normal within subjects.

Choose another method when

  • Avoid it for independent groups—without the pairing structure, ordinary or Welch ANOVA is the design-appropriate tool, and pretending independence is pairing invents precision.
  • Avoid it when carryover effects contaminate later conditions (learning, fatigue, drug persistence) and the design did not counterbalance order; the statistical model cannot repair a confounded sequence.
  • Avoid trusting the uncorrected p-value when ε̂ is well below one; the calculator warns below 0.75, and the honest report uses the corrected value.

Interactive tool

The calculator loads as you approach this section so the guide remains fast on mobile connections.

Example preview

Eight subjects under three conditions

Inputs
Each subject measured in all three conditions; sphericity checked.
Representative result
F≈164.5 with df=(2, 14), ε̂≈0.724, and a Greenhouse-Geisser corrected p≈4.5×10⁻⁸.

Illustrative only. Load the interactive tool to enter your own values and review assumptions.

Watch the explanation

2:43 min

The player loads only after you press play. You can also watch on YouTube.

Read the complete transcript

Repeated-Measures ANOVA. Repeated-measures ANOVA compares condition means when the same subjects appear in every condition. The row links, not just the columns, define the design. Enter two or more condition columns with at least two complete subjects, finite values, identical lengths, identical subject order, and alpha chosen in advance. Stable high and low subjects can dominate raw variation. The method estimates each subject baseline and removes that subject term from the error. Total variability splits exactly into treatment, subjects, and residual error. F compares treatment mean square with the within-subject residual mean square. Uncorrected degrees are k minus one and that value times n minus one. The omnibus upper F tail tests whether at least one condition mean differs. With three or more conditions, sphericity concerns the variances of pairwise differences. This page always computes Greenhouse-Geisser epsilon rather than offering a correction switch. Epsilon multiplies both degrees of freedom, often making them fractional. F stays fixed, while the corrected p and critical value become the decision reference.

Now follow eight subjects across three times. Means fall from eight point zero to seven point one nine and six point six one, with row identities preserved. Total sum of squares is eighteen point two one three. Treatment accounts for seven point seven seven six, subjects ten point one zero seven, and residual error only point three three one. The resulting F is one hundred sixty-four point five three with uncorrected degrees two and fourteen. Its uncorrected p is about one point nine times ten to minus ten. Epsilon is point seven two four, so corrected degrees become one point four four nine and ten point one four one. Corrected p is about four point five times ten to minus eight. Reject equal condition means using the corrected result. Partial eta squared is point nine five nine, but it excludes stable subject variability from its denominator. Common shifts and subject-specific baseline shifts leave F unchanged. Equalize condition means and F collapses to zero, showing baselines alone are not the target. Do not scramble rows, infer a pair from the omnibus result, or treat the correction as a cure for carryover, missingness, or order effects. Use Friedman for rank-based repeated data. Run Repeated-Measures ANOVA free at Distri Scope dot com.

How to read the result

Two p-values appear: the uncorrected and the Greenhouse-Geisser corrected. When they disagree on significance, the corrected one wins, and the disagreement itself measures how much the sphericity violation mattered.

The condition summary lists per-condition means—the pattern of means, not the omnibus p, is what a report should describe.

A large partial η² with a small subject count is common in within-subject designs; it reflects the design’s efficiency, not necessarily a huge practical effect.

How to use the repeated measures ANOVA calculator

Enter each condition in its own field with subjects in the same order everywhere: the i-th value of every field must belong to subject i.

At least two conditions and two subjects are required; all fields must have equal length, and mismatches produce an explicit error naming the offending condition.

Only α is configurable; the sphericity correction runs automatically rather than being an option to forget.

Formula, hypotheses, and assumptions

F=MStreatmentMSerror,MSerror=SStotalSSsubjectsSStreatment(k1)(n1)F = \frac{MS_{treatment}}{MS_{error}}, \quad MS_{error} = \frac{SS_{total}-SS_{subjects}-SS_{treatment}}{(k-1)(n-1)}

Conditions to review

  • Every subject is measured under every condition
  • Subjects are independent of each other
  • Approximate normality of the within-subject differences
  • Sphericity is not separately tested here; Greenhouse-Geisser-adjusted degrees of freedom are always used

Calculator parameters

  • Significance Level (α): default 0.05.

What the method is doing

The decomposition is exact: SS_total splits into subject, treatment, and error components, and F = MS_treatment/MS_error with df = (k−1) and (k−1)(n−1); the implementation is pinned against an independent numpy computation.

Greenhouse-Geisser ε̂ comes from the sample covariance matrix of the conditions; both degrees of freedom are multiplied by ε̂ for the corrected p-value, with ε̂ floored at 1/(k−1) and capped at 1.

Partial η² = SS_treatment/(SS_treatment+SS_error) is reported as the effect size, the convention for within-subject designs.

Worked example: eight subjects, three time points

Eight subjects are measured at three time points. T1: 8.2, 7.5, 9.1, 6.8, 7.9, 8.5, 7.2, 8.8. T2: 7.1, 6.9, 8.2, 6.1, 7.0, 7.8, 6.5, 7.9. T3: 6.5, 6.2, 7.4, 5.9, 6.6, 7.1, 6.0, 7.2. Values decline over time for every subject, but subjects differ in overall level. Test at α = 0.05.

  1. 1Decompose the variability: subject differences absorb most of the raw spread, leaving a small error term for judging the time effect.
  2. 2The omnibus test gives F = 164.53 with df = (2, 14) and an uncorrected p ≈ 1.9×10⁻¹⁰.
  3. 3The covariance of the three conditions yields ε̂ ≈ 0.724 — a marked sphericity violation, so the corrected df are (1.45, 10.14).
  4. 4The Greenhouse-Geisser corrected p ≈ 4.5×10⁻⁸ — still decisive — and partial η² ≈ 0.959.

Interpretation

The time effect survives the sphericity correction with room to spare, and the near-unity partial η² reflects how consistently every subject declined. The instructive part is the machinery: had the effect been marginal, the drop from two to about one and a half numerator degrees of freedom could have flipped the verdict—which is exactly why the corrected value is always reported here.

Common mistakes

  • Do not scramble subject order between condition fields; the entire analysis lives on that row alignment, and no diagnostic can detect a silent permutation.
  • Do not run this test on aggregated (averaged) data per condition; the subject-level values are what allow the subject term to be removed.
  • Do not follow a significant omnibus with unadjusted pairwise t tests; pairwise follow-up needs its own multiplicity control, which this page does not yet provide.

Limits and independent validation

One within-subject factor only; factorial and mixed designs are out of scope.

Greenhouse-Geisser is the only correction offered—Huynh-Feldt, which is less conservative near ε = 1, is not computed.

Missing values are not handled; every subject needs a value in every condition.

Before using the result

  • Verify the block alignment by reading one subject across the fields and confirming the values belong together.
  • Check the decomposition by hand on a small subset: SS_total must equal SS_subjects + SS_treatment + SS_error exactly.
  • Cross-check against the Friedman test on the same input: agreement in direction is expected, and a large disagreement flags non-normality worth investigating.

See every option in the Statistical Hypothesis Test Calculator or review the DistriScope methodology. Educational information; last reviewed 2026-08-09. Verify consequential calculations independently.