The previous nine chapters each fit one distribution to data. Now we change the question. Whatever the shape of the raw data, what does the distribution of its sample mean look like? The answer, the Central Limit Theorem, is the most consequential result in statistics.
logistics_freight_operations.csv holds 1,000 individual_package_weight_lbs (mean 15
lb, right-skewed). We grow it into a large population and sample from it to demonstrate the CLT, exactly the
experiment that justifies the inference chapters ahead.
Grow the Data into a Population
The 1,000 sampled weights are right-skewed (skewness 0.53). To see the CLT we need a large world to draw from, so we fit a gamma to the data and generate a 1,000,000-package population with the same skewed shape, mean μ ≈ 15 lb, σ ≈ 4 lb.
This population is decidedly not normal, it is lopsided, with a tail of heavy packages. That is the point: the CLT will produce a normal out of this skewed raw material, using nothing but averaging.
Watch the CLT Take Hold
Now draw thousands of samples of size n, compute each one's mean, and look at the distribution of those means. At n = 1 it is the skewed population itself; as n climbs, it straightens into a normal and tightens by SE = σ/√n.
| sample size n | SE = σ/√n | skewness of means |
|---|---|---|
| 1 | 4.00 | +0.50 (skewed) |
| 5 | 1.79 | +0.24 |
| 30 | 0.73 | +0.09 (normal) |
| 100 | 0.40 | +0.06 |
The transformation is dramatic. By n = 30 the skew is essentially gone and the bell is textbook, and the spread shrinks exactly as σ/√n, halving each time n quadruples. The averages of a skewed population are normal: that is the Central Limit Theorem, seen directly.
The Payoff: a Confidence Interval
Because the sample mean is normal with a known standard error, a single truckload yields a confidence interval for the fleet's average weight, the entire reason the CLT matters for inference.
A single truckload of 50 packages pins the fleet's average weight to within about ±1 lb with 95% confidence (x̄ ± 1.96·SE). Across 5,000 simulated truckloads, those intervals captured the true mean 94.8% of the time, right on target. The CLT is what turns one skewed sample into a trustworthy, normal-based statement, the bridge from this Part straight into the t-test, chi-square, and ANOVA of the next three chapters.
Watch the CLT in Python
The companion notebook grows the freight data into a million-package population, draws thousands of samples at n = 1, 5, 30, 100 to show the sample mean turning normal, confirms SE = σ/√n and the vanishing skew, and builds a 95% confidence interval for the fleet mean with a coverage check, every figure from code.
View opens the rendered notebook instantly (no setup). Open in Colab runs &
edits it live in your browser. To run locally, install numpy, pandas, scipy,
and matplotlib and launch jupyter notebook.
🎓 Key Takeaways
- ✓Raw package weights are skewed (skew 0.5), but their means are not.
- ✓The CLT: the sampling distribution of the mean becomes normal as n grows, whatever the population.
- ✓By n = 30 the means are essentially normal (skew 0.09); the spread is SE = σ/√n.
- ✓SE shrinks like 1/√n: quadruple the sample to halve the standard error.
- ✓The payoff: x̄ ± 1.96·SE is a 95% confidence interval that covered the true mean 95% of the time.
Quiz: Test Yourself
Eight quick questions on the CLT case study. Answer them, hit Check Answers, and keep refining until you score 100%. Your progress is saved, so you can hop back to the chapter and return anytime.