Skewness and Kurtosis Calculator

Mean and standard deviation describe where your data sits and how wide it spreads; skewness and kurtosis describe its shape — whether one tail stretches farther than the other, and whether the tails are heavier or lighter than a normal distribution's. This calculator reports both statistics in their population and sample-adjusted versions, with plain-language interpretation labels and every formula stated exactly.

What You Get

Sample skewness G1 and sample excess kurtosis G2: the small-sample-corrected statistics that Excel's SKEW and KURT functions report — quote these for sampled data.

Population skewness g1 and population excess kurtosis g2: the uncorrected moment versions, appropriate when your data is the entire population.

Interpretation labels: symmetric/moderate/high skew and platykurtic/mesokurtic/leptokurtic, using the conventional cutoffs stated below.

Data Requirements

  • At least 4 values — the sample kurtosis adjustment divides by (n − 2)(n − 3), so it needs n ≥ 4.
  • Values cannot all be identical; with zero spread, shape is undefined.
  • Shape statistics stabilize slowly: treat results from fewer than about 20 values as rough indications, not precise measurements.

Enter at least four numbers separated by commas or spaces

The Exact Formulas This Calculator Uses

Everything is built from the central moments — averages of powered deviations from the mean, each divided by n:

m2 = Σ(x − x̄)² / n   m3 = Σ(x − x̄)³ / n   m4 = Σ(x − x̄)⁴ / n

Population skewness: g1 = m3 / m2^(3/2)

Sample skewness: G1 = g1 × √(n(n − 1)) / (n − 2)

Population excess kurtosis: g2 = m4 / m2² − 3

Sample excess kurtosis: G2 = ((n + 1) × g2 + 6) × (n − 1) / ((n − 2)(n − 3))

Where x̄ is the mean and n the number of values.

G1 is the adjusted Fisher–Pearson standardized moment coefficient, the definition behind Excel's SKEW function and the default in SPSS and SAS. G2 matches Excel's KURT. The "− 3" in g2 converts raw kurtosis to excess kurtosis, so that a normal distribution scores exactly 0 — a convention worth checking whenever you compare numbers across sources, because some report the raw value where the normal scores 3 instead.

Reading Skewness

Skewness is signed. Positive skew means the long tail points toward high values — incomes, house prices, and insurance claims are classic cases, with most values modest and a few enormous. Negative skew points the long tail toward low values, as with exam scores on an easy test, where most students score high and a few fail badly. The interpretation labels above use the widely taught rule of thumb: |skewness| below 0.5 is approximately symmetric, 0.5 to 1 moderately skewed, above 1 highly skewed.

Skew has practical consequences for summary statistics: it pulls the mean away from the median toward the long tail, which is why skewed quantities are usually reported by their median. A quick cross-check with the mean, median, mode calculator makes the effect visible — although the mean-median ordering follows the skew direction only as a tendency, not a theorem, so the moment coefficient computed here is the more reliable diagnostic.

Reading Kurtosis: Tails, Not Peaks

Kurtosis is popularly described as "peakedness," but that folklore misleads: the statistic is dominated by the fourth power of deviations, so it measures tail weight and outlier-proneness, and says almost nothing about the shape of the center. The three classical labels, applied here to the excess (normal = 0) scale:

  • Leptokurtic (excess > 0): heavier tails than the normal — extreme values arrive more often. Stock returns are the standard example, which is why risk models that assume normality underestimate crashes.
  • Mesokurtic (excess ≈ 0): tail behavior like the normal distribution's.
  • Platykurtic (excess < 0): lighter tails, few or no extremes; a uniform distribution (excess −1.2) is the textbook case.

For its labels, this page calls a result approximately mesokurtic when |G2| ≤ 0.5, mirroring the skewness cutoff; that boundary is a reading convention, not part of the statistic itself. Heavy tails on your data are a warning that normal-based rules — like the 68-95-99.7 percentages of the empirical rule — will understate how often extreme values occur.

Why the Sample and Population Versions Differ

Small samples systematically understate shape. Extreme tail values are precisely the observations a small sample is least likely to catch, and the moments are computed around the sample's own mean, which tracks the data it came from. The G1 and G2 corrections inflate the raw g1 and g2 to compensate, and the correction is anything but cosmetic on small n: the skewness factor √(n(n−1))/(n−2) is about 1.49 at n = 5 and 1.19 at n = 10, and the worked example below shows the kurtosis correction turning a g2 of 0.12 into a G2 of 4.46. As n grows into the hundreds, the factors approach 1 and the pairs of numbers converge.

Report the sample versions (G1, G2) unless your data is a complete population — and when comparing against software, check which convention it uses. Excel, SPSS, and SAS report G1 and G2; many Python and R functions default to g1 and g2 unless asked for bias correction.

Worked Example: Five Values with One Long Tail

Take the data set 2, 2, 3, 4, 14 — four small values and one far out to the right. Every step by hand:

  1. Mean: 2 + 2 + 3 + 4 + 14 = 25, so x̄ = 25 ÷ 5 = 5. Deviations: −3, −3, −2, −1, 9.
  2. Central moments: squares 9, 9, 4, 1, 81 sum to 104, so m2 = 104 ÷ 5 = 20.8; cubes −27, −27, −8, −1, 729 sum to 666, so m3 = 666 ÷ 5 = 133.2; fourth powers 81, 81, 16, 1, 6561 sum to 6740, so m4 = 6740 ÷ 5 = 1348.
  3. Population skewness: g1 = 133.2 ÷ 20.8^1.5 = 133.2 ÷ 94.8626 ≈ 1.4041.
  4. Sample skewness: G1 = 1.4041 × √(5 × 4) ÷ 3 = 1.4041 × 1.4907 ≈ 2.0932 — highly skewed right.
  5. Population excess kurtosis: g2 = 1348 ÷ 20.8² − 3 = 1348 ÷ 432.64 − 3 ≈ 3.1158 − 3 = 0.1158.
  6. Sample excess kurtosis: G2 = ((6 × 0.1158) + 6) × 4 ÷ 6 = 6.6945 × 0.6667 ≈ 4.4630 — leptokurtic.

The example doubles as a caution about small samples. The uncorrected g2 of 0.12 looks innocently near-normal, while the corrected G2 of 4.46 correctly reflects that one out of five values is an extreme — the story a box plot of the same data tells visually. Positive skew and positive excess kurtosis arriving together is typical: a single heavy right tail stretches both statistics at once.

Frequently Asked Questions

Will these results match Excel, Python, and R?

The sample values match Excel exactly: SKEW returns G1 and KURT returns G2. Python and R need attention to options - scipy.stats.skew and kurtosis return the population g1 and g2 by default and only match this page's sample values with bias=False, while R's e1071 package lets you pick among three types, of which type 2 corresponds to G1 and G2.

How much skewness is too much?

The rule of thumb used by this calculator's labels: below 0.5 in absolute value is approximately symmetric, 0.5 to 1 is moderate, and beyond 1 is high. For formal decisions, scale matters - a skewness of 0.8 in 15 values is well within what random sampling from a normal distribution produces, while the same 0.8 in 500 values is strong evidence of genuine asymmetry.

Does high kurtosis mean my distribution has a sharp peak?

Not reliably. Kurtosis is driven by fourth-powered deviations, so values far in the tails dominate it while the center contributes almost nothing. High excess kurtosis means heavy tails and outlier-proneness; distributions with identical peaks can have wildly different kurtosis. The peakedness description survives in older textbooks but has been superseded by the tail-weight interpretation.

Why is my sample kurtosis G2 so different from the population g2?

On small samples the correction factor is large because g2 is badly biased there. The worked example on this page turns g2 = 0.12 into G2 = 4.46 with only five values. Both numbers are computed from the same data; they answer different questions - g2 describes the five values as a closed population, G2 estimates the shape of the larger distribution they were drawn from.

Why does this calculator require at least four values?

The sample-adjusted excess kurtosis G2 contains (n - 2)(n - 3) in its denominator, which is zero for n of 3 or less, and the sample skewness G1 similarly needs n of at least 3. Four values is therefore the mathematical minimum for the full set of results - though shape estimates from so few observations carry very wide uncertainty and firm conclusions need dozens of values.