How to calculate skewness and kurtosis

Compute skewness and kurtosis of a dataset. Right/left tail, leptokurtic/platykurtic distributions, Jarque-Bera normality test. Pearson 1895, Fisher, central moments.

Calculation parameters
Was this calculator useful?

How to calculate skewness and kurtosis: skewness measures distribution symmetry: γ_1 = E[(X−μ)³]/σ³. Skewness = 0 symmetric, > 0 right tail (positive), 0 leptokurtic (heavy tails), < 0 platykurtic (light tails).

Formula and central moments

Skewness and kurtosis are standardized central moments of third and fourth order. Central k-th moment is μ_k = E[(X−μ)^k]. Skewness = μ_3/σ^3, Kurtosis = μ_4/σ^4. For standard normal: all odd central moments are zero (symmetry), even are μ_2=σ², μ_4=3σ⁴, μ_6=15σ⁶. Excess kurtosis (γ_2 − 3) directly compares to normal: positive = leptokurtic (taller peak and heavier tails), negative = platykurtic (flatter).

History and context

Karl Pearson introduced "skewness" in 1895 ("Contributions to the Mathematical Theory of Evolution"). In 1905 introduced "kurtosis" (Greek kyrtos, "convex"). Fisher and Mosteller extended the theory. Jarque-Bera test (1980) combines both moments to test normality: JB = (n/6)·(s² + (k−3)²/4), asymptotically χ² with 2 df. ASA, ICH E9, FDA Guidance require normality checks in clinical and pharmacological data. Anderson-Darling (1952) and Shapiro-Wilk (1965) are alternative more powerful tests.

Interpretation table

  • Skewness ≈ 0: symmetric (normal, uniform, t-Student)
  • Skewness > 0.5: moderate positive (lognormal, exponential)
  • Skewness > 1: strong positive (chi-square 1 df, Pareto)
  • Skewness < -0.5: moderate negative (e.g. age at death)
  • Excess kurtosis = 0: mesokurtic (normal)
  • Excess kurtosis > 0: leptokurtic (Cauchy, low-df t, financial tails)
  • Excess kurtosis < 0: platykurtic (uniform = -1.2, beta(2,2))
  • Jarque-Bera: > 5.99 → reject normality at 5%

Worked numerical examples

Example 1 — approximately normal. Data: 5, 7, 8, 9, 10, 11, 12, 13, 15. Mean = 10, SD ≈ 3.0. Skewness ≈ 0, kurtosis ≈ 1.7, excess kurtosis ≈ -1.3 (platykurtic). JB ≈ 0.7, p > 0.05.

Example 2 — skewed distribution. Household incomes ($k): 20, 25, 28, 30, 32, 35, 38, 45, 60, 100, 200, 500. Mean = 92.7, SD = 142.5. Skewness = 2.1 (strong positive), excess kurtosis = 3.9 (leptokurtic). JB huge: clearly non-normal. Use median (35) as central reference, not mean.

Example 3 — financial returns (fat tails). S&P 500 daily 1928-2023. Mean ≈ 0.03%, SD ≈ 1.0%. Skewness ≈ -0.4 (slight negative, crashes more frequent than booms). Excess kurtosis ≈ 17 (extremely leptokurtic). VaR and Expected Shortfall underestimated by normal; use t-Student or GARCH.

Example 4 — six-sided die. Discrete uniform {1,2,3,4,5,6}. Mean = 3.5, var = 35/12 ≈ 2.917, SD ≈ 1.708. Skewness = 0 (perfect symmetry). Excess kurtosis = -1.27 (platykurtic).

Example 5 — Cauchy distribution. PDF 1/(π(1+x²)). Skewness and kurtosis undefined (moments diverge). Pathological example where CLT fails; median and MAD (median absolute deviation) are robust statistics.

Model limitations

  1. Sensitive to outliers: even a single extreme point can significantly shift skewness and kurtosis.
  2. Unstable estimates for small samples (n<30): finite population adjustments (Joanes-Gill 1998).
  3. Very small samples (n<10): values can mislead; prefer visual inspection (Q-Q plot, histogram).
  4. For multimodal distributions these two moments are insufficient: more detailed analysis needed.
  5. Distributions with infinite moments (Cauchy, Pareto α<1): skewness/kurtosis don't exist.
  6. JB powerful only for n>2000; for small n use Shapiro-Wilk.
  7. Confusing kurtosis (3 for normal) with excess kurtosis (0 for normal).
  8. Ignoring kurtosis type: Pearson (m_4/m_2²) vs Fisher (m_4/σ⁴).

Common errors

  1. Confusing positive skewness (right tail) with data shifted right.
  2. Reporting kurtosis (3 for normal) instead of excess kurtosis (0 for normal): historical confusion.
  3. Using population formula on sample without Joanes-Gill correction.
  4. Concluding normality from skewness and kurtosis alone without Q-Q plot.
  5. Ignoring outliers that completely dominate 3rd and 4th order moments.
  6. Assuming normality in finance (returns have fat tails with kurtosis 5-15).
  7. For multimodal data, not considering skewness/kurtosis insufficient.
  8. Using JB for small n (low power below 30-50 observations).

Practical applications

  1. Quantitative finance: VaR, Expected Shortfall, GARCH models for fat tails.
  2. Risk management: stress tests, extreme scenarios (Basel III, Solvency II).
  3. Quality control: SPC control charts, non-normal processes (ISO 7870).
  4. Clinical trials: endpoint distribution pre-analysis (FDA Guidance, ICH E9).
  5. Psychometrics: test distribution, item analysis (APA Standards).
  6. Demography: income distribution (always strongly positively skewed, BLS, ONS).
  7. Climatology: precipitation, extreme temperatures (NOAA, WMO).
  8. Bioinformatics: gene expression, RNA-seq counts.
  9. Marketing: time-to-purchase, spend amounts (typically lognormal).
  10. Education: exam grade distributions (often leptokurtic).

Support

Questions: info@calcoi.com. Educational tool for skewness and kurtosis analysis. For professional statistical analysis consult biostatistician per ICH E9, FDA, ASA guidelines.

Updated July 2026

Frequently Asked Questions

What is skewness?

It is the measure of the symmetry of a distribution, defined as the third standardized central moment: gamma_1 = E[(X-mu)^3]/sigma^3. It is zero for a symmetric distribution, positive when the right tail is longer (high values spread out), negative when the left tail is. It describes the imbalance of the data.

What is kurtosis?

It is the measure of the heaviness of a distribution's tails, the fourth standardized central moment: gamma_2 = E[(X-mu)^4]/sigma^4. For the normal distribution it equals 3. The excess kurtosis, gamma_2 - 3, is often used: positive indicates heavy tails and a high peak (leptokurtic), negative short tails and a flat shape (platykurtic).

What is the difference between leptokurtic and platykurtic?

A leptokurtic distribution has positive excess kurtosis: heavier tails and a higher peak than the normal, hence more extreme values. A platykurtic one has negative excess: shorter tails and a flatter shape, with fewer extreme values. The normal, with zero excess, is called mesokurtic.

Why aren't the mean and variance enough?

Because they describe only location and spread, not shape. Two distributions with the same mean and variance can be one symmetric and one skewed, one with light tails and one with heavy tails. Skewness and kurtosis capture these shape differences, essential for example in risk management.

What is the Jarque-Bera test?

It is a statistical test that checks whether data follow a normal distribution, combining skewness and excess kurtosis into a single value: JB = (n/6)(skew^2 + excess^2/4). Under the normality hypothesis it follows a chi-square with 2 degrees of freedom; if JB exceeds 5.99 normality is rejected at 5%.

How do you interpret the skewness value?

In practice: between -0.5 and +0.5 the distribution is approximately symmetric; between 0.5 and 1 (or -0.5 and -1) the skewness is moderate; beyond 1 in absolute value it is marked. Positive skewness signals a long right tail with a few very high values, typical of incomes and prices.

Why does kurtosis matter in finance?

Because financial returns typically have heavy tails (leptokurtic): extreme events, such as market crashes, are far more frequent than the normal distribution predicts. Models that ignore kurtosis underestimate risk, one of the lessons of the 2008 crisis.

Is a correction needed for small samples?

Yes. The basic formulas give biased estimates for small samples. Corrected versions exist, such as the adjusted skewness sqrt(n(n-1))/(n-2) times skew and the adjusted kurtosis with factors depending on n, which the calculator provides alongside the raw values for more reliable estimates.

Formula

\gamma_1 = \frac{E[(X-\mu)^3]}{\sigma^3}, \quad \gamma_2 = \frac{E[(X-\mu)^4]}{\sigma^4}, \quad \text{Excess} = \gamma_2 - 3

Comments (0)

No comments yet. Be the first!