Three-Way ANOVA (A × B × C)

Coming soon

ANOVA

This test is implemented and is currently going through StatMinds’ production verification: every statistic is independently checked against a trusted reference (scipy / R), locked with regression tests, and the screen is exercised across assumption-met/violated and significant/non-significant scenarios before it opens up.

See what’s live now

Tests individual and combined (2-way and 3-way interaction) effects of THREE categorical independent variables on a continuous DV.

Reports SEVEN F-tests: 3 main effects, 3 two-way interactions, 1 three-way interaction. The three-way tests whether the A×B interaction depends on the level of C. Effect sizes per term as η²p / ω²p; engine handles Type-III SS for unbalanced cells. Three-way interactions are power-hungry — plan for at least 15-20 subjects per cell, otherwise the three-way will have low power even on medium effects.

Worked example

Do three factors and their interactions affect the outcome?

A three-way ANOVA tests factors A, B and C, all two-way interactions and the three-way interaction on a continuous outcome.

Result

A significant A × B × C interaction, F(1, 88) = 4.5, p = .037, showed the A×B pattern reversed across levels of C.

How you'd report it (APA)

A three-way ANOVA revealed a significant A × B × C interaction, F(1, 88) = 4.5, p = .037.

When to use it

  • Factorial design (A × B × C fully crossed)
    A study tests the effect of diet (A/B), exercise (yes/no), and age group (young/old) on weight loss in a 2 × 2 × 2 factorial — 8 cells.
  • Independent 3-factor observational design
    Is blood pressure related to sex (M/F) × smoking (Y/N) × age-band (young/middle/old) in a cross-sectional cohort?

When NOT to — use instead

Hypotheses

Seven null hypotheses: H₀_A, H₀_B, H₀_C (no main effect of factor1, factor2, factor3); H₀_AB, H₀_AC, H₀_BC (no two-way interaction); and H₀_ABC (no three-way interaction — the simple two-way interaction of any two factors is the same at every level of the third).
Hₐ_·: at least one term in each null is non-zero in the population.

Parameter tested: set of cell means {μ_{ijk}} and their marginal/interaction decomposition

Assumptions (and what to do if they fail)

No significant outliers in any of the factor1 × factor2 × factor3 cellsmedium

Check: Inspect per-cell boxplots; flag points beyond the whiskers.

If violated: Outliers within a cell can inflate within-cell variance and distort F-tests, especially with the small cells typical of three-way designs.

Residuals (deviations from cell means) are approximately normally distributedmedium

Check: Shapiro-Wilk on residuals; inspect the residual Q-Q plot.

If violated: Severely non-normal residuals threaten the F-test's nominal Type I error rate, especially in three-way designs where cells are typically small.

Homogeneity of variances across all cells of the factor1 × factor2 × factor3 designmedium

Check: Levene's test on the cell partition.

If violated: Unequal variances across cells inflate Type I error, especially with the unbalanced cell counts common in three-way designs.

Balanced (or approximately balanced) cell sizeslow

Check: max_cell_n / min_cell_n ≤ 1.5 → effectively balanced.

If violated: Unbalanced designs make the SS decomposition order-dependent.

Ready to run a Three-Way ANOVA (A × B × C) on your own data?

Guided setup, automatic assumption checks, effect sizes, figures and an APA write-up.

Run this test →