Skip to main content
Calcimator

ANOVA Calculator

Perform a one-way ANOVA (Analysis of Variance) to compare means across three groups and determine if differences are statistically significant.

About this calculator

This calculator runs a one-way ANOVA across three groups from each group's mean and sample size, plus a Pooled Variance figure you supply directly as Mean Square Within (line 32) — it never derives that variance from raw per-group standard deviations, because none are collected here. The Grand Mean is the sample-size-weighted average of the three group means (line 19); Mean Square Between sums each group's squared distance from that Grand Mean, weighted by its own sample size (lines 22-25), then divides by degrees-of-freedom-between, k − 1 = 2 for three groups (line 28). The F-Statistic is Mean Square Between divided by Mean Square Within (line 34), and the approximate p-value comes from a chi-square-to-normal approximation of the F-distribution rather than an exact F-table lookup.

At the defaults, F = 10.58 across 2 and 72 degrees of freedom, which the approximation reads as significant at α=0.05. Nudging each group's mean shows Group 3's mean — the one sitting furthest above the Grand Mean of 78.33 — moves the F-Statistic the most, while Group 1's mean, sitting below the Grand Mean, moves it the opposite way, because raising a below-average mean narrows rather than widens the between-group spread that line 22's sum of squares measures. What this does not account for: unequal-variance corrections such as Welch's ANOVA, post-hoc pairwise tests, and a literal 0 typed into Pooled Variance — that field reads `inputs.pooledVariance || 1` (line 10), so a real 0 is treated as missing and replaced with 1, never reaching the displayed 0.001 floor that Math.max applies after it.

Inputs

Results

F-Statistic

10.58

P-Value (approx)

0

df Between Groups2
df Within Groups72
Mean Square Between (MSB)1,058.33
Mean Square Within (MSW)100
Grand Mean78.33
Significant at α=0.05 (1=Yes)1
How to Use This Calculator
  1. Enter the mean and sample size for each of the three groups being compared, plus the pooled within-group variance (MSW), the average of each group's variance.
  2. One-way ANOVA tests the null hypothesis that all group means are equal against the alternative that at least one differs.
  3. The F-statistic = (Between-group variance) / (Within-group variance); a larger F indicates greater between-group variation relative to noise.
  4. The approximate p-value is derived from the F-distribution with k−1 and N−k degrees of freedom (k = number of groups, N = total observations).
  5. If p < your significance level (typically 0.05), reject the null hypothesis — at least one group mean is significantly different.
  6. Use a post-hoc test (e.g., Tukey's HSD) after a significant ANOVA to determine which specific groups differ.

How the result changes with Group 3 Mean

Group 3 MeanF-StatisticP-Value (approx)
4387.580
6412.330
128236.330
2131,589.250

What each input means

Group 1 Mean
The mean value for the first group.
Group 1 Sample Size
Number of observations in the first group.
Group 2 Mean
The mean value for the second group.
Group 2 Sample Size
Number of observations in the second group.
Group 3 Mean
The mean value for the third group.
Group 3 Sample Size
Number of observations in the third group.
Pooled Variance (MSW)
The pooled within-group variance (mean square within). Average of group variances.

How this is calculated

Worked example, using the default values

  1. Identify Input Parameters
    4 parameters
    Group 1 Mean = 72, Group 1 Sample Size = 25, Group 2 Mean = 78, Group 2 Sample Size = 25 = 7 input(s) provided
  2. Calculate F-Statistic
    F-Statistic
    10.5833 = 10.5833
  3. Calculate P-Value
    P-Value
    0 = 0
  4. Calculate df Between Groups
    df Between Groups
    2 = 2
  5. Calculate df Within Groups
    df Within Groups
    72 = 72

Engine last updated . Checked against 2 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.

Frequently Asked Questions

Why does raising Group 1 Mean lower the F-Statistic while raising Group 3 Mean raises it?

Both feed the same between-group sum of squares, but from opposite sides of the Grand Mean. Group 1's mean (72) sits below the Grand Mean (78.33), so nudging it up pulls Group 1 toward the pack and shrinks the squared deviations line 22 sums; Group 3's mean (85) sits above the Grand Mean, so nudging it up pushes Group 3 further from the pack and grows those same deviations — same formula, opposite geometry.

Does this calculator compute Pooled Variance from the three groups' standard deviations?

No — there is no group standard-deviation input at all. Mean Square Within is exactly the number you type into Pooled Variance, subject only to a 0.001 floor (line 10); if your data comes as raw group standard deviations, you need to pool them into a single within-group variance yourself before entering it here.

What happens if I type 0 into Pooled Variance?

It does not fall through to the calculator's displayed 0.001 minimum. The line reading it is `inputs.pooledVariance || 1` (line 10), and JavaScript's `||` treats a literal 0 as falsy, so the calculator substitutes 1 before Math.max(…, 0.001) ever runs — the floor only takes effect for small positive entries like 0.0001, not for 0.

Why does P-Value show as 0 when ANOVA p-values are never exactly zero?

It's a display artifact of rounding to four decimal places (line 56), not a claim that the true p-value is zero. With F = 10.58 across 2 and 72 degrees of freedom, the chi-square approximation this calculator uses puts the real value well under 0.00005, which rounds down to the 0.0000 shown as "0" — a genuinely small result, not a literal zero probability.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Math & Statistics.