You run a t-test on your thesis data, report a neat p-value, and your supervisor sends it back with a single comment: "Did you check normality?" Most parametric tests assume the data follow a normal distribution. Skip that check and every result that follows sits on an unverified foundation. Here is exactly how to test it, how to read the output, and what to do when normality does not hold.
Why Normality Matters
Parametric tests like the independent-samples t-test, paired-samples t-test, one-way ANOVA, Pearson correlation, and linear regression all rely on a normal distribution assumption. The math behind these procedures calculates probabilities using the properties of the normal curve. When the data deviate too far from that shape, the p-values become unreliable. A test might report p = .04 when the true probability, given the actual distribution, is closer to .09.
That does not mean your data need to form a perfect bell curve. Perfect normality almost never occurs with real measurements. What matters is whether the departure is severe enough to distort your conclusions. A slight skew in a sample of 120 participants is usually harmless. A floor effect that stacks 40% of scores at zero in a sample of 25 is a problem. The tools below help you tell the difference.
The Shapiro-Wilk Test
Shapiro-Wilk is the standard statistical test for normality and the one most thesis committees expect to see. It works well for sample sizes up to about 2,000. Beyond that, consider Kolmogorov-Smirnov with a Lilliefors correction, though in practice most student datasets are well under that threshold.
The logic is simple but backward from what students expect. The null hypothesis states that the data are normally distributed. So a non-significant result (p > .05) is the outcome you want. It means there is not enough evidence to reject normality. A significant result (p < .05) tells you the distribution departs from normal.
In SPSS, you get the Shapiro-Wilk test through Analyze > Descriptive Statistics > Explore. Move your variable into the Dependent List, click Plots, check "Normality plots with tests," and click Continue, then OK. The output table shows two columns: the test statistic W and the p-value (labeled "Sig."). Consider two examples from an actual project. In one group, the anxiety scores produced W = .96, p = .24. Since p is above .05, normality holds and parametric tests are appropriate. In the other group, the same variable gave W = .88, p = .003. That p-value is below .05, so normality is rejected and a nonparametric alternative is needed. Academic Stats Agent runs these checks automatically and flags the violated assumptions in your report.
One caution: with very large samples (n > 300), Shapiro-Wilk becomes overly sensitive. Even trivial departures from normality will produce a significant p-value. With very small samples (n < 10), the test has low power and may fail to detect real non-normality. This is why the statistical test alone is not enough. You need visual checks too.
Visual Checks: Q-Q Plots, Histograms, and Box Plots
A Q-Q (quantile-quantile) plot compares the quantiles of your data against the quantiles of a theoretical normal distribution. If the data are normal, the points fall along the diagonal reference line. Reading one takes about three seconds once you know the patterns.
Points that hug the diagonal closely indicate normality. A curve that bows above the line in the middle and dips below at the ends signals positive skew. The reverse curve, below in the middle and above at the ends, signals negative skew. An S-shaped pattern where points peel away at both tails indicates heavy tails (excess kurtosis), meaning extreme values occur more often than a normal distribution would predict. In SPSS, the same Explore procedure that gives you Shapiro-Wilk also generates the Q-Q plot when you check "Normality plots with tests."
Histograms are less precise but useful for a quick overview, especially when presenting results to supervisors who are less comfortable with Q-Q plots. Overlay a normal curve (in SPSS: double-click the histogram, then go to Elements > Show Distribution Curve) and look for obvious asymmetry or multiple peaks. Box plots reveal outliers and skew direction at a glance: a median line far from the center of the box, or whiskers of very different lengths, suggest the distribution is not symmetric.
Skewness and Kurtosis Values
Skewness measures asymmetry. A value of 0 means the distribution is perfectly symmetric. Positive values indicate a right tail that stretches longer; negative values indicate a left tail. Kurtosis measures tail heaviness relative to a normal distribution. A value of 0 (using the excess kurtosis definition, which SPSS reports by default) means tails match the normal curve; positive values mean heavier tails; negative values mean lighter tails.
The commonly cited thresholds come from Curran, West, and Finch (1996): absolute skewness below 2 and absolute kurtosis below 7 indicate that the distribution is close enough to normal for parametric methods to perform reliably. Many researchers apply a stricter rule for skewness, treating values above 1 in absolute value as a warning sign. In practice, we find that when |skewness| falls between 1 and 2, you should inspect the Q-Q plot carefully before deciding. If the sample is large (n > 100) and the Q-Q plot looks reasonable, parametric tests will usually hold up. If the sample is small and skewness exceeds 1, switch to a nonparametric test.
You can get both values from Analyze > Descriptive Statistics > Descriptives in SPSS. Click Options and check Skewness and Kurtosis. The output gives you the statistic and its standard error. Some older textbooks recommend dividing the skewness value by its standard error and treating the ratio as a z-score, rejecting normality if |z| > 1.96. This approach is unreliable with large samples because the standard error shrinks and nearly any skewness becomes "significant." Stick with the absolute thresholds instead.
The Mistake Almost Everyone Makes
Here is the error we see in roughly one out of every four projects that come through our service. A student has three groups (say, a control and two intervention groups). They pool all 90 participants into one variable and run a single Shapiro-Wilk test. The result says p = .001, so they abandon the ANOVA and switch to Kruskal-Wallis.
The problem: they tested the wrong distribution. ANOVA does not assume that the entire pooled sample is normal. It assumes normality within each group. When you combine groups with different means, the pooled distribution often looks bimodal or skewed even if each individual group is perfectly normal. The correct procedure is to run Shapiro-Wilk separately for each group, or to test the residuals from the model. In SPSS, you can split the file by your grouping variable (Data > Split File > Organize output by groups) before running Explore, or you can place the grouping variable in the Factor List within Explore itself.
The same principle applies to regression. Do not test the raw dependent variable. Test the residuals. In SPSS, after running your regression (Analyze > Regression > Linear), save the unstandardized residuals (click Save, check Unstandardized under Residuals), then run Shapiro-Wilk on the saved residual variable. For more guidance on choosing the right test for your design, see our decision guide for statistical tests.
What to Do When Normality Fails
A failed normality check does not mean your analysis is doomed. You have three options, and the right one depends on your situation.
The first option is to switch to a nonparametric alternative. These tests make no assumptions about the distribution shape. They work on ranks instead of raw values, which makes them resistant to skew, outliers, and non-normality. The tradeoff is a modest loss of statistical power when the data actually are normal, typically around 5% to 15% depending on the test and sample size. For a thesis, that tradeoff is almost always acceptable. The table below maps each common parametric test to its nonparametric counterpart.
| Parametric Test | What to Check | Nonparametric Alternative |
|---|---|---|
| Independent-samples t-test | Normality in each group (Shapiro-Wilk) | Mann-Whitney U |
| Paired-samples t-test | Normality of the difference scores | Wilcoxon signed-rank |
| One-way ANOVA | Normality in each group | Kruskal-Wallis H |
| Repeated-measures ANOVA | Normality at each time point | Friedman test |
| Pearson correlation | Bivariate normality (or normality of each variable) | Spearman rank correlation |
| Linear regression | Normality of residuals | Bootstrap regression or transformation |
The second option relies on the Central Limit Theorem. When your sample size exceeds roughly 30 per group, the sampling distribution of the mean becomes approximately normal regardless of the population distribution. This means that t-tests and ANOVA remain reasonably accurate even with non-normal data, as long as the departure is not extreme (heavy skew combined with very unequal group sizes is still a problem). Many statistics textbooks cite n > 30 as the threshold, but keep in mind that this is a rough guideline, not a guarantee. With 35 participants per group and moderate skew, you are probably fine. With 31 participants per group and a severely leptokurtic distribution, you might not be. For a detailed look at handling these situations, see our article on dealing with non-normal data.
The third option is data transformation. Log, square root, and inverse transformations can reduce skewness and bring the distribution closer to normal. We generally recommend this as a last resort for student projects. Transformations change the scale of your variable, which makes the results harder to interpret and harder to explain in a thesis defense. If your supervisor is comfortable with transformed variables and your field has a precedent for it (reaction time data in psychology, for example, is frequently log-transformed), go ahead. Otherwise, the nonparametric route is simpler and more defensible.
Key takeaway: Run Shapiro-Wilk on each group separately (or on model residuals for regression), confirm with a Q-Q plot, and check that |skewness| < 2 and |kurtosis| < 7. If normality fails, switch to the nonparametric alternative from the table above. For samples above 30 per group, parametric tests are often still valid under mild violations. Test the right distribution, not the pooled sample.
Frequently Asked Questions
What should I do if my data are not normally distributed?
You have three main options: switch to a nonparametric test (Mann-Whitney U, Kruskal-Wallis, Wilcoxon signed-rank), transform the variable (for example with a log transformation), or, with mild violations and roughly 30 or more cases per group, rely on the Central Limit Theorem and keep the parametric test.
Should I use Shapiro-Wilk or Kolmogorov-Smirnov to test normality?
Shapiro-Wilk has better power for small to medium samples (roughly n < 50) and is the standard recommendation. Kolmogorov-Smirnov with the Lilliefors correction is typically used for larger samples. Always pair either test with a visual check such as a Q-Q plot or histogram.
Do normality tests matter with large samples?
Less than most students think. With large samples, formal normality tests flag even trivial deviations as significant, while parametric tests become robust to mild non-normality. With n in the hundreds, judge normality from skewness, kurtosis, and Q-Q plots rather than the p-value of a normality test.