Skip to content

central limit theorem (CLT)

The central limit theorem (CLT) states that the sum or average of many independent random values tends toward a bell-shaped normal distribution, whatever the shape of the distribution they come from, as long as it has a finite mean and variance.

More precisely, suppose a sample of size n is drawn from a population with mean μ and standard deviation σ. Once n is large enough, the sample mean follows an approximately normal distribution, centered on μ, with a standard deviation of σ divided by the square root of the sample size.

That shrinking spread, known as the standard error, is why larger samples yield more reliable estimates. The theorem also explains why the familiar bell curve turns up so often in measurement and nature, because any quantity that adds together many small, independent effects ends up nearly normal.

The explorer below makes this concrete. It draws thousands of samples from a decidedly non-normal source population at a chosen sample size n, then plots their means as a histogram that settles into a bell curve centered on μ, with a spread that narrows as σ/√n.

Interactive diagram — enable JavaScript to view.

The classical form rests on three assumptions:

  • Independence: One observation must not influence another.
  • Identical distribution: Every value comes from the same underlying population.
  • Finite variance: The spread must be finite, which rules out populations such as the Cauchy distribution, whose tails are so heavy that its variance is undefined.

Relaxing or extending these conditions produces named variants. The Lyapunov form drops the identical-distribution requirement, and the multivariate form applies the same result to random vectors rather than single values.

In computing, the theorem sets the accuracy you can expect from a Monte Carlo simulation, where the estimation error falls in proportion to one over the square root of the sample count. It also justifies the confidence intervals and significance tests used to evaluate randomized algorithms and A/B experiments.

Python Statistics Fundamentals: How to Describe Your Data

Tutorial

Python Statistics Fundamentals: How to Describe Your Data

In this step-by-step tutorial, you'll learn the fundamentals of descriptive statistics and how to calculate them in Python. You'll find out how to describe, summarize, and represent your data visually using NumPy, SciPy, pandas, Matplotlib, and the built-in Python statistics library.

intermediate data-science numpy

For additional information on related topics, take a look at the following resources:


By Martin Breuss • Updated Aug. 8, 2026