Written and maintained by CASRAI Editorial Board
Last updated
SPSS’s Explore procedure prints two normality tests side by side — Shapiro-Wilk and a Lilliefors-corrected Kolmogorov-Smirnov — plus two Q-Q plots, every time you ask for them. It doesn’t tell you which number to believe, and the honest answer changes with sample size: the same test that’s too weak to catch real non-normality at n = 15 will flag a practically meaningless wobble as significant at n = 1000. This guide covers where SPSS runs the test, what each column and plot actually shows, and what to do when a large sample “fails” on a deviation too small to matter.
Where SPSS runs this, and what it prints
Go to Analyze > Descriptive Statistics > Explore. Move your variable into Dependent List, click Plots, and check Normality plots with tests. Click Continue, then OK.
The output includes a Tests of Normality table with two columns — Kolmogorov-Smirnov (marked with a superscript footnote reading “Lilliefors Significance Correction”) and Shapiro-Wilk — each printing a Statistic, df, and Sig. By default, SPSS’s Explore procedure only populates the Shapiro-Wilk column for samples of 50 or fewer; above that threshold you’ll see only the Lilliefors-corrected Kolmogorov-Smirnov result. It also produces a Normal Q-Q Plot and a Detrended Normal Q-Q Plot for the same variable, covered further down.
What the “Lilliefors Significance Correction” footnote actually means
The classical Kolmogorov-Smirnov test assumes the reference distribution’s mean and standard deviation are specified in advance, not estimated from the sample you’re testing. Real data never works that way — you’re always testing against a normal distribution whose mean and SD came from the same sample. Estimating the parameters and then reading the result off the standard KS reference table produces a badly miscalibrated test: it becomes far too conservative to reject anything. The Lilliefors correction replaces that reference table with one built specifically for the estimated-parameter case, and SPSS applies it automatically — the footnote is confirming the correction has already been made, not warning you to do something yourself.
The size of the miscalibration without the correction is large. In a simulation at n = 50 against truly normal data, a plain (uncorrected) Kolmogorov-Smirnov test rejected only 0.01% of the time against a nominal 5% rate — roughly 500 times too conservative — while the Lilliefors-corrected version held close to the nominal 5.07%. Power tells the same story: against a moderately non-normal alternative at n = 50, the uncorrected test detected the deviation only 15.7% of the time, versus 83.0% for the corrected version. This is exactly why an uncorrected KS table has no place in applied normality testing, and why it’s worth knowing SPSS’s Explore output has already handled it for you.
Shapiro-Wilk vs. Kolmogorov-Smirnov: which one to trust
Across most conditions, Shapiro-Wilk is the more powerful of the two — it detects real non-normality that the Lilliefors-corrected K-S test misses. Against a chi-square(3) alternative at n = 50, one simulation found Shapiro-Wilk detected the deviation 98.9% of the time versus 83.0% for Lilliefors. Where the two diverge most is in the tails: Kolmogorov-Smirnov’s statistic is centre-weighted (its variance is maximal near the median and shrinks toward the tails), which makes it structurally weaker at catching heavy-tailed departures specifically — against a heavy-tailed t(5) distribution at n = 100, Lilliefors caught the deviation only 33.2% of the time against Shapiro-Wilk’s 56.1%.
The practical rule: when SPSS shows both columns (n ≤ 50), lead with Shapiro-Wilk and treat Lilliefors as a secondary check, not a tie-breaker. Above n = 50, SPSS gives you only the Lilliefors column by default — which is exactly where sample size becomes the bigger issue, covered next.
Why sample size flips the answer
Both tests share the same underlying problem, just at opposite ends of the sample-size range:
- Small samples are underpowered. With few observations, there simply isn’t enough information to distinguish a normal distribution from a moderately non-normal one. A non-significant result at n = 15 or n = 20 does not confirm normality — it usually just means the test lacked the power to detect the deviation, if one exists.
- Large samples are over-sensitive. The same tests become powerful enough to flag deviations too small to matter for anything downstream. In one simulation on mildly skewed data (sample skewness ≈ 0.85), the Shapiro-Wilk rejection rate climbed from 13.6% at n = 15, to 27.2% at n = 30, to 73.5% at n = 100, to 100.0% at n = 1000 — on the exact same underlying, mildly skewed population. Nothing about the data changed; only the sample size did.
That second point is the trap behind “my huge dataset always fails the normality test.” It isn’t a data problem. It’s what these tests are designed to do: with enough observations, they can detect arbitrarily small departures from a perfectly normal distribution, and real data is essentially never perfectly normal. At large n, statistical significance stops being a useful signal of practical importance.
Reading the Q-Q plots visually
Because the significance test becomes unreliable as a decision rule at either extreme of sample size, SPSS’s two Q-Q plots are often the more trustworthy evidence — they show you the shape of the departure, not just whether one is statistically detectable.
- Normal Q-Q Plot plots your data’s sorted (observed) values against the values you’d expect if the sample were drawn from a perfect normal distribution. For normally distributed data, the points fall close to the diagonal reference line. A systematic bow away from the line at both ends (an S-curve) indicates heavier tails than normal — more extreme values than expected. Points curving consistently above the line at one end and below it at the other (rather than an S-shape) indicate skew rather than heavy tails.
- Detrended Normal Q-Q Plot plots each point’s deviation from that same reference line, with the linear trend removed. For normal data, the points scatter randomly and evenly above and below a horizontal zero line with no visible pattern. Any curve, funnel shape, or clustering in the detrended plot is the same skew or tail issue as the standard Q-Q plot, just easier to spot because the eye no longer has to judge distance from a diagonal.
With a large sample specifically, treat the Q-Q plot as the primary evidence. If the points hug the reference line closely by eye across the plot — not just in the middle, where most of the data sits — a significant Shapiro-Wilk or K-S result at that sample size is very likely an artifact of statistical power rather than a departure worth acting on.
What to do when a large sample “fails” normality
When Sig. comes back below .05 on a sample in the hundreds or thousands, work through this before concluding the assumption is actually violated in any way that matters:
- Look at the Q-Q plot first. If the points track the reference line closely across its full length, the significant test result is very likely a large-n artifact rather than evidence of a real problem.
- Check skewness and kurtosis alongside their standard errors, both reported by Explore. These give you a sense of magnitude — how skewed, not just whether “significantly” skewed — though be aware the same sample-size sensitivity applies to any significance-based cutoff built on them, so read the raw skewness/kurtosis values themselves rather than only their significance.
- Remember why large samples are usually fine anyway. Many of the procedures that assume normality — t-tests, ANOVA, and OLS regression’s residual assumption among them — don’t actually require the raw data to be normal; they rely on the sampling distribution of the mean (or of the estimated coefficients) being approximately normal, which the Central Limit Theorem delivers as sample size grows, regardless of the shape of the underlying data. See normality of distribution for the full CLT explanation of why this distinction matters.
- Don’t switch to a nonparametric test purely because a formal test flagged significance at large n. Research on pre-testing normality before choosing between a t-test and a nonparametric alternative (like Mann-Whitney) has found the two-stage approach can distort the conditional Type I error rate, while running the t-test unconditionally, without a normality pre-test gate, stayed close to its nominal error rate across the same simulated conditions. A large-sample “failed” normality test is a weak reason on its own to discard a well-powered parametric analysis.
- Act on substance, not the p-value, if you do see a problem. If the Q-Q plot shows a genuinely large, visible departure — not just a statistically detectable one — consider a transformation or a robust/nonparametric alternative on those visual and practical grounds, not because Sig. printed a number below .05.
A quick decision guide by sample size
| Sample size | What SPSS shows | What to trust |
|---|---|---|
| n ≤ 50 | Both Shapiro-Wilk and Lilliefors-corrected K-S columns | Lead with Shapiro-Wilk (generally more powerful); a non-significant result here still doesn’t prove normality — power is limited at small n. |
| ~50–300 | Lilliefors-corrected K-S only, by default | Cross-check against the Q-Q plot; this is the range where a real, moderate departure is genuinely worth flagging. |
| Several hundred+ | Lilliefors-corrected K-S only, by default | Treat a significant Sig. as expected background noise unless the Q-Q plot itself shows a visible departure — the test’s power to detect trivial deviations at this range exceeds its usefulness as a decision rule. |
Frequently asked questions
Why does SPSS give me two different p-values for normality?
Explore runs both the Shapiro-Wilk test and a Lilliefors-corrected Kolmogorov-Smirnov test on the same variable and prints both by default. They’re different statistics with different power characteristics — they can, and sometimes do, disagree, especially near the .05 boundary. See the comparison above for which one to weight more heavily.
What does “Lilliefors Significance Correction” mean in the footnote?
It means SPSS estimated the mean and standard deviation from your own sample and looked the resulting statistic up in the Lilliefors reference distribution built for that case, rather than the classical Kolmogorov-Smirnov table, which assumes those parameters were fixed in advance. The correction has already been applied to the Sig. value you see — it isn’t a caveat you need to act on further.
Should I trust Shapiro-Wilk or Kolmogorov-Smirnov?
Shapiro-Wilk, generally — it’s the more powerful test across most of the distributions researchers actually encounter, and it’s the one SPSS shows for samples of 50 or fewer. Above that threshold, SPSS only reports the Lilliefors-corrected K-S column, so that becomes the number you have from Explore directly; weigh it alongside the Q-Q plot rather than in isolation.
My Shapiro-Wilk test is significant but my sample is huge — is my data really not normal?
Probably not in any way that matters. These tests get more powerful as sample size grows, and with a large enough n they will detect deviations from perfect normality that are too small to affect most downstream analyses. Check the Q-Q plot before concluding anything — if the points track the reference line closely, a significant result at large n is a power artifact, not a substantive problem. See the normality of distribution guide for the Central Limit Theorem reasoning behind why this happens.
Do I need to switch to a nonparametric test if the normality test fails?
Not automatically, and especially not at large n. Evidence on normality pre-testing suggests that gating your test choice on a significant normality result can distort your actual error rate more than it helps, while running the parametric test without that gate tends to hold up well. Base the decision on the size of the departure you can actually see — in the Q-Q plot or in the raw skewness/kurtosis values — not on whether Sig. cleared .05.
Related reading
- Normality of distribution — the conceptual guide to what the normal distribution is, what the Central Limit Theorem does and doesn’t guarantee, and how to assess normality across R, Python, and SPSS.
- The Kolmogorov-Smirnov test — the one-sample vs. two-sample distinction and the estimated-parameter trap in full detail.
- How to run a t-test in SPSS — the test most often run right after a normality check, with the three SPSS menu paths and how to read Levene’s test.
- Skewness — reading the skewness statistic Explore reports alongside the normality tests.
- Descriptive statistics — central tendency, dispersion, and shape more broadly.








