Analysis of Variance — ANOVA — answers a deceptively simple question: are the means of several groups actually different, or is the observed variation just noise?
Here is the core analogy. Imagine you have three classrooms taught by three different teachers. The students' scores vary. Some variation comes from the teaching method (between-classroom differences). Some variation comes from individual students being inherently different from each other (within-classroom differences). ANOVA splits total variation into these two buckets and asks: is the between-group bucket disproportionately large?
If between-group variation is much larger than within-group variation, you have evidence that the group means differ. If both buckets are roughly the same size, the group differences are probably just random scatter.
The test statistic is the F-ratio: the ratio of mean square between groups to mean square within groups. Under the null hypothesis (all group means are equal), both quantities estimate the same population variance — so the ratio should be close to 1. A ratio significantly greater than 1 triggers rejection of the null.
Why not just run multiple t-tests? Look — if you have 4 groups and run all pairwise t-tests, you have 6 comparisons. At 5% significance each, your actual Type I error rate balloons far beyond 5%. ANOVA controls this by doing one omnibus test.
Two main variants appear in SSC CGL Statistics paper:
The entire SSC CGL ANOVA question set reduces to one skill: correctly computing degrees of freedom. Master that and you solve every question in this topic in under 30 seconds.
For one-way ANOVA with k groups and N total observations, let x_{ij} be the j-th observation in group i, \bar{x}_i be the group mean, and \bar{x} be the grand mean.
Total Sum of Squares (SST) splits cleanly:
where:
This is the leverage point. Every SSC CGL ANOVA question lives here.
One-way ANOVA:
| Source | df | |---|---| | Between Groups (Treatment) | | | Within Groups (Error) | | | Total | |
Verification: . Always check this adds up — it's your built-in answer verification.
Two-way ANOVA without replication (one observation per cell, r rows, c columns):
| Source | df | |---|---| | Rows | | | Columns | | | Error (Residual) | | | Total | |
The error df formula is not arbitrary — it equals . Expanding: .
Two-way ANOVA with replication (n observations per cell, a levels of factor A, b levels of factor B):
| Source | df | |---|---| | Factor A | | | Factor B | | | Interaction (A×B) | | | Error | | | Total | |
This is where SSC CGL likes to set traps. The interaction df is easy to confuse with the error df .
Mean squares are simply sum of squares divided by their degrees of freedom:
Do not compute F as SS/SS — that is the single most common wrong answer in SSC CGL options. It is always mean square over mean square.
When the null hypothesis is true (all population means equal), MSB and MSW both estimate the same underlying population variance . So . When group means genuinely differ, MSB inflates, pushing F above 1. This is why the null hypothesis F-expectation is 1, not 0.
Three classical assumptions:
If a question asks "which assumption is violated when group variances differ significantly," the answer is homogeneity of variance, not normality.
One-way ANOVA df in 5 seconds: Between = N minus something small (N − (N−k+1) = k−1), Within = N minus something big (N − k). More precisely: Between = (groups − 1), Within = (total − groups). Freeze this as two subtractions: "groups minus 1" and "total minus groups." For any question with k=4, N=20: Between = 3, Within = 16, Total = 19. Verify: 3 + 16 = 19. Standard calculation: 20 seconds. With this pattern: 8 seconds.
For two-way ANOVA without replication with r rows and c columns, error df = (r−1)(c−1). Think of it as the area of a rectangle with sides (r−1) and (c−1). For 3 rows and 4 columns: rectangle is 2 × 3 = 6. No subtraction chain needed. Standard approach (subtract row df and column df from total df): 3 steps, ~25 seconds. Rectangle formula: 1 multiplication, 8 seconds.
Interaction df = (a−1)(b−1). This is identical in form to the two-way-without-replication error formula — same pattern, different context. The distinction: with replication, error df = ab(n−1), NOT (a−1)(b−1). So when a question gives you n observations per cell and asks for interaction df, use (a−1)(b−1). When it asks for error df, use ab(n−1). Confusing these two is the trap SSC CGL sets. Writing both formulas side by side when you read the question takes 5 seconds and eliminates the wrong options instantly.
In any MCQ asking for F-ratio definition, eliminate options with SS/SS (sum of squares over sum of squares) — that is never the F-ratio. Eliminate options with MSW/MSB (within over between) — F is always the larger variance source on top. Only MS/MS with between on top survives. This eliminates 3 of 4 options in under 10 seconds without any calculation.
When the null is true, F expected = 1. When a question asks "what is F when all group means are equal," anchor to 1. It cannot be 0 (that would require zero between-group variation, which is impossible with real data unless all observations in all groups are identical). It cannot equal the number of groups (that has no statistical meaning). It cannot be greater than the critical value by definition when null is true. Only 1 survives. Zero-calculation answer in 5 seconds.
Read the question stem and immediately identify:
Step 1 — One-way or two-way?
Step 2 — With or without replication?
Step 3 — What is being asked?
Step 4 — Verify. For one-way: df(between) + df(within) = N−1. If it does not add up, you misread k or N.
Total time for a degrees-of-freedom question: under 25 seconds.
Why this question: Tests the most basic one-way ANOVA df formula — the foundation everything else builds on.
Solving path: k=4 groups, N=20 observations. Error (within groups) df = N − k = 20 − 4 = 16. Verify: treatment df = k−1 = 3, total df = N−1 = 19, and 3 + 16 = 19. Option A is correct.
Why this question: Asks both df values simultaneously — tests whether you can apply the formula twice without mixing up which formula gives which number.
Solving path: df(Between) = k−1 = 3. df(Within) = N−k = 16. The answer is "3 and 16." Distractor "4 and 16" uses k instead of k−1 for between-groups — classic trap. Distractor "3 and 15" uses N−k−1 for within — wrong subtraction.
Why this question: Abstract version — no numbers. Tests whether you know the formula symbolically, not just how to plug in numbers.
Solving path: Between Groups df = k−1. Eliminate k (off by one), N−1 (that's total df), N−k (that's within-groups df). Only k−1 survives.
Why this question: Tests the F-ratio definition — the conceptual core of ANOVA.
Solving path: F = MSB/MSW. Eliminate SS/SS (wrong units — MS needed). Eliminate MSW/MSW (inverted). Eliminate TSS/SSB (meaningless ratio). MSB/MSW is the answer.
Why this question: Tests conceptual understanding of what F = 1 means — a subtler question than a calculation.
Solving path: When null is true, MSB ≈ MSW (both estimate σ²), so F ≈ 1. Cannot be 0 (MSB is a sum of squares scaled by df — always non-negative and not zero unless all group means equal the grand mean exactly). Cannot equal number of groups (no statistical basis). Cannot be "greater than critical value" by definition of null being true.
Why this question: Two-way ANOVA with replication — interaction df specifically. The hardest df formula in this topic.
Solving path: Factor A (teaching methods) has a=3 levels. Factor B (school types) has b=4 levels. Interaction df = (a−1)(b−1) = (3−1)(4−1) = 2×3 = 6. The distractor 12 = ab(n−1) = 3×4×1 is the error df — SSC CGL deliberately offered it as option C. Read what is being asked: interaction, not error.
Why this question: Two-way ANOVA without replication — error df using the rectangle formula.
Solving path: r=3 rows, c=4 columns, no replication. Error df = (r−1)(c−1) = 2×3 = 6. Alternatively: df_total = rc−1 = 11, df_rows = 2, df_columns = 3, df_error = 11−2−3 = 6. Both routes give 6. The distractor 11 is total df — another standard trap.
Confusing SS/SS with MS/MS for the F-ratio. F is always mean square over mean square. Dividing sum of squares directly gives a meaningless number that is not F-distributed. This trap shows up directly in PYQ options.
Using k instead of k−1 for between-groups df. Between groups df is k−1, not k. The "minus 1" appears because the k group means are constrained to reproduce the grand mean, losing one degree of freedom.
Using N−k−1 for within-groups df. The within-groups (error) df in one-way ANOVA is N−k, not N−k−1. The N−k−1 formula belongs to simple linear regression residuals, not ANOVA error.
Applying the two-way-without-replication error formula to a with-replication problem. When there are n>1 observations per cell, error df = ab(n−1), not (a−1)(b−1). That formula gives the interaction df when replication exists. Always check whether the question says "2 observations per cell" or "no replication."
Mixing up interaction df and error df in two-way ANOVA with replication. For a×b design with n replicates: interaction = (a−1)(b−1), error = ab(n−1). SSC CGL questions routinely offer both values as options. Read the question stem carefully to see which source is asked for.
Concluding F=0 when all group means are equal. If all group means are exactly equal, the between-groups sum of squares is 0, making F=0. But under the null hypothesis in practice, group means are not expected to be exactly equal — they fluctuate around the population mean. The expected value of F under the null is approximately 1 (technically it equals df_within / (df_within − 2) for the F-distribution, but for large df this is very close to 1). The MCQ answer is 1, not 0.