You have three or more groups and one outcome variable, and you want to know whether the group means differ. That is the one-way ANOVA, and it appears in more theses than any other test except the t-test. Here is the complete SPSS procedure: how to set up the data file, which boxes to check in the dialog, how to verify the assumptions, and how to turn the output into an APA-formatted results paragraph your supervisor will accept on the first read.

When to Use One-Way ANOVA

One-way ANOVA compares the means of three or more independent groups on a single continuous outcome. You need exactly two things: one dependent variable measured on an interval or ratio scale (exam scores, reaction times, blood pressure), and one categorical independent variable with three or more levels (teaching method, treatment condition, education level). Each participant belongs to exactly one group. If the same people appear in every condition, you need repeated-measures ANOVA instead, which is a different procedure with different assumptions.

Students sometimes ask why they cannot just run three t-tests: Group 1 vs 2, 1 vs 3, and 2 vs 3. The answer is error inflation. Each t-test at α = .05 carries a 5% false-positive risk, and three of them together push the family-wise error rate to about 14%. ANOVA tests everything at once and keeps the overall rate at 5%. We cover this comparison in more depth in our t-test vs ANOVA guide. If you have two independent variables (say, teaching method and gender), you are looking at a two-way ANOVA — see one-way vs two-way ANOVA for how to tell them apart.

Setting Up Your Data

The data file needs two columns and one row per participant. Do not create a separate column for each group — that layout works in Excel but breaks the SPSS procedure. One column holds the dependent variable. The other holds a numeric group code.

Suppose you tested 90 students under three study methods and recorded their exam scores. The file looks like this:

participant study_method exam_score
1181
2174
3268
4277
5365
6370

Here study_method is coded 1 = Method A, 2 = Method B, 3 = Method C. Assign these labels in Variable View: click the Values cell for study_method, then enter each code and its label. This takes two minutes and saves you from output tables full of anonymous 1s, 2s, and 3s. Set the Measure column to Nominal for study_method and Scale for exam_score while you are there.

Running the Test

Go to Analyze > Compare Means > One-Way ANOVA. In the dialog:

  1. Move exam_score into the Dependent List.
  2. Move study_method into the Factor box.
  3. Click Post Hoc. Check Tukey. Also check Games-Howell under "Equal Variances Not Assumed" — you will need it if Levene's test turns out significant, and requesting both now saves a second run. Click Continue.
  4. Click Options. Check Descriptive and Homogeneity of variance test. Click Continue.
  5. Click OK.

The output window now contains four tables: Descriptives, Test of Homogeneity of Variances, ANOVA, and Multiple Comparisons. Before reading any of them, check the assumptions.

Checking Assumptions

One-way ANOVA makes two assumptions you can test directly: normality within each group and equal variances across groups.

Normality within each group

Test each group separately, not the pooled sample. Pooling three groups with different means often produces a distribution that looks skewed or bimodal even when every individual group is normal. In SPSS, go to Data > Split File, select "Organize output by groups," move study_method into the box, and click OK. Then run Analyze > Descriptive Statistics > Explore, place exam_score in the Dependent List, click Plots, and check "Normality plots with tests." You get a Shapiro-Wilk result and a Q-Q plot for each group. Turn Split File off afterwards (Data > Split File > Analyze all cases) or every later analysis will come out split. Our normality testing guide covers how to read the Shapiro-Wilk output and what the thresholds mean.

Levene's test

Levene's test appears in your ANOVA output under "Test of Homogeneity of Variances" because you checked that Options box. It tests whether the group variances are equal. The null hypothesis says they are, so p > .05 is the result you want. If Levene's p is below .05, the standard F-test becomes unreliable, particularly when the group sizes differ — skip ahead to the Welch ANOVA section at the end of this article. If Levene's is fine and each group passed normality, read the standard output.

Reading the Output

Work through the tables in order.

Descriptives. This table lists n, mean, standard deviation, standard error, and a 95% confidence interval for each group plus the total. Copy the means and SDs somewhere — you need them for the results paragraph. In our example: Method A, M = 78.2, SD = 8.1, n = 30; Method B, M = 74.5, SD = 8.8, n = 30; Method C, M = 69.4, SD = 9.3, n = 30.

Test of Homogeneity of Variances. Read the row "Based on Mean." Suppose it shows a Levene statistic of 0.71 with Sig. = .494. That is above .05, so equal variances hold and the standard ANOVA applies.

ANOVA. The central table. It has three rows: Between Groups, Within Groups, and Total. Between Groups carries the effect of your independent variable; Within Groups is error. The columns show Sum of Squares, df, Mean Square, F, and Sig. In our example, Between Groups SS = 1163.2 with df = 2, Within Groups SS = 7980.5 with df = 87, F = 6.34, Sig. = .003. Since .003 is below .05, at least one group mean differs from at least one other. The F-test does not tell you which. That is the post-hoc test's job.

Multiple Comparisons. Read the Tukey block (or Games-Howell if variances were unequal). Every pair of groups gets a row with the mean difference, standard error, Sig., and a confidence interval. In our example, Method A vs Method C shows a mean difference of 8.80 with p = .002 — a real difference. Method A vs Method B shows 3.70 with p = .231, and Method B vs Method C shows 5.10 with p = .068. Neither of those reaches significance. So the omnibus effect is driven entirely by the gap between Methods A and C. Notice that B vs C at p = .068 is close; with a larger sample it might have crossed the line, and it is worth mentioning as a limitation rather than pretending the .05 boundary is a law of nature.

Effect Size: Eta Squared

SPSS's One-Way ANOVA dialog does not print eta squared in older versions (version 27 and later added an Effect Sizes option), but you can compute it from the ANOVA table in ten seconds:

η² = SSbetween / SStotal

From our example: 1163.2 / (1163.2 + 7980.5) = 1163.2 / 9143.7 = .13. The conventional benchmarks are .01 for a small effect, .06 for medium, and .14 for large. Our .13 sits at the upper end of medium, close to large. Report it. A p-value tells your reader that an effect exists; eta squared tells them whether it is big enough to matter, and most examiners now expect both. Study method accounts for 13% of the variance in exam scores here — that is a sentence worth writing.

Reporting in APA Format

The omnibus result first, then the post-hoc comparisons with means and SDs:

A one-way ANOVA revealed a statistically significant difference in exam scores across the three study methods, F(2, 87) = 6.34, p = .003, η² = .13.
Tukey post-hoc tests showed that Method A (M = 78.2, SD = 8.1) scored significantly higher than Method C (M = 69.4, SD = 9.3), p = .002. No other pairwise comparisons reached significance.

The numbers in F(2, 87) are the Between Groups and Within Groups df from the ANOVA table, in that order. Italicize F, p, M, and SD in your actual document. Report exact p-values to three decimals; use p < .001 only when SPSS shows .000. For more reporting patterns, including non-significant results and Welch corrections, see how to report ANOVA results in APA format.

What If Assumptions Fail?

Non-normal groups. Switch to the Kruskal-Wallis H test, the rank-based counterpart of one-way ANOVA. Go to Analyze > Nonparametric Tests > Legacy Dialogs > K Independent Samples, move exam_score into Test Variable List, move study_method into Grouping Variable, click Define Range, and enter the minimum and maximum group codes (1 and 3 here). Kruskal-Wallis compares distributions rather than means, so report medians instead. Keep in mind that with 30 cases per group, ANOVA tolerates moderate non-normality reasonably well; reserve Kruskal-Wallis for clear violations or small samples.

Unequal variances. Use the Welch ANOVA. Re-open Analyze > Compare Means > One-Way ANOVA, click Options, and check Welch. The output gains a "Robust Tests of Equality of Means" table; report the Welch F with its adjusted degrees of freedom, which will usually be fractional, e.g. F(2, 55.3) = 5.91, p = .005. For the pairwise follow-up, read the Games-Howell block you already requested instead of Tukey. Games-Howell does not assume equal variances or equal group sizes, which is exactly the situation a significant Levene's test describes.

Frequently Asked Questions

Why not just run several t-tests instead of ANOVA?

Each t-test carries a 5% Type I error risk. With three groups you would need three pairwise t-tests, pushing the family-wise error rate to roughly 14%. ANOVA tests all groups in a single procedure and holds the overall error rate at 5%, and post-hoc tests like Tukey apply the correction when you compare specific pairs afterwards.

Do I need post-hoc tests if the ANOVA is not significant?

No. A non-significant F-test means there is no evidence that any group means differ, so there is nothing for a post-hoc test to locate. Report the F statistic, degrees of freedom, and p-value, and stop there. Interpreting post-hoc results after a non-significant omnibus test is a common mistake examiners flag.

Can I run one-way ANOVA with unequal group sizes?

Yes. One-way ANOVA does not require equal group sizes, but unequal sizes make the test more sensitive to unequal variances. Check Levene's test carefully. If it is significant, report the Welch ANOVA instead of the standard F-test and use Games-Howell rather than Tukey for post-hoc comparisons.

Key takeaway: One column for scores, one for group codes. Analyze > Compare Means > One-Way ANOVA, with Tukey and Games-Howell under Post Hoc and Descriptive plus Homogeneity test under Options. Check normality per group and Levene's before reading the F-test. Report F(df1, df2), the exact p, eta squared computed as SS between over SS total, and the Tukey pairs that differ. Levene's significant? Welch F and Games-Howell. Normality gone? Kruskal-Wallis.

SS
StudentStats.net Team

We have completed over 300 statistical analysis projects for students and researchers across Europe. We built Academic Stats Agent to make the same statistical methods accessible to everyone.