Anderson-Darling Test Calculator
The Anderson-Darling test is a goodness-of-fit test that measures the distance between the empirical distribution and the theoretical normal distribution while giving extra weight to the tails. Kolmogorov-Smirnov looks only at the single largest deviation, whereas Anderson-Darling accumulates the difference across the whole distribution and penalizes departures in the extreme regions far more heavily; that makes it markedly more sensitive to problems such as heavy tails, outliers, and pile-ups at the extremes.
This calculator reports the raw A² statistic, the small-sample-corrected A*², an approximate p-value, and all five levels of the Stephens (1974) critical value table (15%, 10%, 5%, 2.5%, 1%). It also runs the Kolmogorov-Smirnov test on the same data and places the results side by side, so you can see numerically why the two tests can reach different decisions. In quality control software (Minitab, JMP) this is the default test for normality.
Anderson-Darling Test Statistic
zᵢ = (x₍ᵢ₎ − x̄) / s — the ordered observations are standardized A² = −n − (1/n)·Σᵢ (2i − 1)·[ ln Φ(z₍ᵢ₎) + ln(1 − Φ(z₍ₙ₊₁₋ᵢ₎)) ] A*² = A² · ( 1 + 0.75/n + 2.25/n² ) — small-sample correction Weight function: ψ(x) = 1 / [ F(x)·(1 − F(x)) ] → puts weight on the tails Critical A*²: 0.576 (α = 0.15) · 0.656 (0.10) · 0.787 (0.05) · 0.918 (0.025) · 1.092 (0.01) p ≈ exp(1.2937 − 5.709·A*² + 0.0186·A*²) (branch for 0.6 ≤ A*² < 10) H₀: the data is normally distributed · Decision: reject H₀ if A*² > critical value or p < α
The critical values come from the asymptotic Stephens (1974) table and do not depend on n; that is why they are compared against the adjusted A*². Minitab's "Normality Test" and JMP's "Goodness of Fit" output report the same statistic; in R it corresponds to ad.test() from the nortest package.
How to Calculate
- Paste all the values of the variable whose normality you want to test into the box; at least 8 observations are recommended for a reliable p-value.
- Choose the significance level; α = 0.05 is standard in quality control work, while α = 0.10 is common in exploratory analysis.
- Compare A*² with the critical value table: the table shows directly at which α levels it is exceeded.
- Read the p-value and compare it with α; for borderline cases, follow the critical value table.
- Inspect the Kolmogorov-Smirnov comparison: if the two tests disagree, use the Q-Q plot to confirm whether the departure is in the tails or in the center.
- Look at the extreme points in the histogram and the Q-Q plot; a single outlier can make A*² significant on its own.
Worked Examples
Heavy-tailed measurement series — AD catches it, KS misses it (n = 17)
Most of the observations cluster between 48 and 53, while the values 42 and 60 sit at the two extremes. The result is A² = 1.3045 and A*² = 1.3722 with p = 0.001; because A*² also exceeds the 1% critical value of 1.092, normality is decisively rejected. On the same data Kolmogorov-Smirnov gives D = 0.1921 and a Lilliefors p of 0.096 and does NOT reject normality — the heavy tail, with a kurtosis of 5.298, becomes visible only in a tail-weighted test.
A*² (adjusted): 1.3722 · A² (raw statistic): 1.3045 · p-value: p = 0.001
Exam scores that follow a normal distribution (n = 20)
A² = 0.1334 and A*² = 0.1392 with p = 0.975; A*² does not even exceed 0.576, the loosest threshold in the table (α = 0.15), so normality is not rejected at any level. The skewness of -0.044 and the kurtosis of -0.453 also point to a symmetric distribution close to normal.
A*² (adjusted): 0.1392 · A² (raw statistic): 0.1334 · p-value: p = 0.975
Right-skewed income-like data (n = 15)
With A² = 2.3942, A*² = 2.5378, and p < 0.001, normality is rejected even at the 1% level; A*² is more than twice the strictest critical value of 1.092. The skewness of 2.432 and the kurtosis of 5.652 confirm a right-skewed, peaked distribution. Here Kolmogorov-Smirnov reaches the same decision (Lilliefors p < 0.001) because the departure is not only in the tails but across the whole distribution.
A*² (adjusted): 2.5378 · A² (raw statistic): 2.3942 · p-value: p < 0.001