Skip to content

Glossary

Bessel's correction

The N−1 in sample variance

By Published Updated

Bessel’s correction is the convention of dividing by N−1 instead of N when computing sample variance and sample standard deviation. The correction compensates for the systematic under-estimation of population variance that results from using the sample mean (which is closer to the data than the unknown true population mean would be) as the centring point.

Named after Friedrich Bessel, the 19th-century German astronomer and mathematician. The mathematical proof: E[Σ(x − x̄)²] = (N−1)σ² where σ² is the true population variance and the expectation runs over all possible samples of size N. Dividing the observed sum by N−1 produces an unbiased estimator of σ².

At large N the correction is negligible (1/N vs 1/(N−1) differ by less than 1% beyond N=100). At small N it matters meaningfully — at N=5 the corrected variance is 25% larger than the uncorrected version. Our statistics calculator defaults to the Bessel-corrected form because the dataset you paste in is almost always a sample, not a complete population.

When not to apply Bessel’s correction: when you genuinely have the entire population, not a sample drawn from it. If you are computing the variance of test scores for every student in a class and you only care about that class, divide by N. If you are using that class to estimate variance across the broader student body, divide by N−1. Statistical packages disagree on the default: NumPy’s np.var() uses N; pandas’ .var() and R’s var() use N−1. Read the docs before quoting a number.

Bessel’s correction removes bias from variance but the derived sample standard deviation (the square root) is still slightly biased — the square root is a non-linear function and Jensen’s inequality bites. For most practical purposes this residual bias is ignored; for small-sample work where it matters, use a c4 correction factor. See also sample standard deviation and variance.

Why it matters: a worked example

Consider a sample of five test scores: 72, 78, 80, 84, 86. The mean is 80. The sum of squared deviations from the mean is (72−80)² + (78−80)² + (80−80)² + (84−80)² + (86−80)² = 64 + 4 + 0 + 16 + 36 = 120. Without Bessel’s correction the variance is 120 ÷ 5 = 24; with Bessel’s correction it is 120 ÷ (5−1) = 30, a 25% larger estimate. The corresponding standard deviations are √24 ≈ 4.90 and √30 ≈ 5.48. If you treat this as a sample drawn from a larger student population, 5.48 is the unbiased estimate of population spread; 4.90 systematically under-estimates it. At N = 30 the gap shrinks to 3.4%; at N = 100 it is 1%; at N = 1000 it is 0.1%. The correction earns its complexity only for genuinely small samples.

Why it matters: confidence intervals and t-tests

Any procedure that uses sample standard deviation as a plug-in estimate of population standard deviation depends on Bessel’s correction being applied. Confidence intervals around a mean, two-sample t-tests, ANOVA F-statistics, and regression standard errors all assume the unbiased N−1 denominator. Forgetting the correction produces narrower confidence intervals than reality justifies and inflates Type I error rates — a quiet but real source of irreproducible findings in small-sample empirical work. Reference: NIST/SEMATECH e-Handbook of Statistical Methods §1.3.5.6 — Standard Deviation.

Frequently asked questions

What is Bessel's correction?
Bessel's correction is the use of N−1 (instead of N) in the denominator when computing sample variance. It corrects for the systematic underestimation that occurs because sample deviations are measured from the sample mean, not the true population mean.
How does Bessel's correction work in practice?
For a sample of 5 values {2, 4, 4, 4, 5}, the sum of squared deviations from the mean (3.8) is 5.2. Dividing by N=5 gives a biased variance of 1.04; dividing by N−1=4 gives the unbiased sample variance of 1.3, which better estimates the population variance.
What is the difference between population variance and sample variance?
Population variance divides by N and is exact when you have every data point. Sample variance divides by N−1 (Bessel's correction) and is an unbiased estimator when you only have a subset. Most spreadsheet VAR() functions use N−1 by default.
When should you NOT apply Bessel's correction?
When you have the complete population — every data point — divide by N. Bessel's correction is only appropriate when your data is a sample drawn from a larger population and you are estimating that population's variance.

Related

Published May 14, 2026 · Last reviewed May 31, 2026