Skewness and kurtosis
Skewness measures how asymmetric a distribution is. A symmetrical distribution has a skewness of 0. Positive skewness means a longer right tail, and pulls the mean above the median; negative skewness means a longer left tail, and pulls the mean below it. Kurtosis measures the weight of the tails. Excess kurtosis subtracts 3, so a normal distribution scores 0: positive values mean heavier tails and more outliers (leptokurtic), negative values mean lighter tails (platykurtic). See the distribution shape guide for worked examples.
Which method should I choose?
The three options differ only in how they correct for sample size. They converge as n grows, but on small samples they can differ noticeably — which is why a number copied from Excel may not match one copied from R.
| Method | Skewness | Excess kurtosis | Matches |
|---|---|---|---|
| Type 1 (population) | g1 = m3 / m21.5 | g2 = m4 / m22 − 3 | R moments, e1071 type 1, Excel SKEW.P. Also what the normality tests use internally. |
| Type 2 (default) | G1 = g1 · √(n(n−1)) / (n−2) | G2 = [(n+1)g2+6](n−1) / ((n−2)(n−3)) | Excel SKEW and KURT, SPSS, SAS, e1071 type 2. The estimator used elsewhere on this site. |
| Type 3 | b1 = g1 · ((n−1)/n)1.5 | b2 = (g2+3)(1−1/n)2 − 3 | MINITAB, BMDP, and e1071's own default. |
Note that R's kurtosis() returns the raw kurtosis, not the excess.
The p-values
The normality p-values come from the D'Agostino–Pearson omnibus test, which combines a transform of the skewness (D'Agostino, 1970) with a transform of the kurtosis (Anscombe & Glynn, 1983) into a statistic that follows a chi-squared distribution with 2 degrees of freedom. Those transformations are defined on the type 1 statistics, so the tests always use type 1 no matter which method is selected for display — the same convention as R's fBasics::dagoTest(). They need at least 8 observations, and are unreliable below about 20. If you want a dedicated normality test, use the Shapiro-Wilk test or the D'Agostino-Pearson calculator.
How to use this calculator
- Type or paste one column of numbers into the grid, or use Import for a .csv or .xlsx file.
- Optionally open More options to pick the estimator, the excess-kurtosis convention and the histogram binning rule.
- Press Calculate.