The Kurtosis Calculator helps you measure the "tailedness" of your data distribution - how heavy or light the tails are compared to a normal distribution. This can reveal important patterns in your data, such as whether extreme values occur more frequently than expected. For example, in financial analysis, high kurtosis could indicate a higher risk of extreme market movements.
Quick Calculator
Need a quick calculation? Enter your numbers below:
Calculator
1. Load Your Data
Select Columns & Options
Related Calculators
Learn More
Understanding Kurtosis
Definition
Kurtosis is a measure of the "tailedness" of a probability distribution. It quantifies how heavy the tails of a distribution are compared to a normal distribution.
Formula
Sample Kurtosis:
Where:
- is each value in the sample
- is the mean of the sample
- is the number of values
- is the sample standard deviation
- The excess kurtosis is calculated as: kurtosis - 3, if you are interested
Interpretation Guidelines
Visual Examples of Kurtosis
The following examples illustrate how kurtosis affects the shape of a distribution.
Mesokurtic Distribution
Kurtosis ≈ 0
Characteristics: Moderate peak height and tail weight, typical of normal distribution
Similar to normal distribution with balanced tails.
Leptokurtic Distribution
Kurtosis > 0
Characteristics: Taller peak with more concentration of data, thicker tails indicating more extreme values
Higher peak and heavier tails than normal distribution.
Platykurtic Distribution
Kurtosis < 0
Characteristics: Flatter peak with more even spread of data, thinner tails indicating fewer extreme values
Lower peak and lighter tails than normal distribution.
How to Calculate Kurtosis in R
Use the kurtosis() function from the moments package to calculate kurtosis.
library(tidyverse)
library(moments)
tips <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/tips.csv")
kurtosis(tips$tip) # 6.549552
# histogram with density
ggplot(tips, aes(x = tip)) +
geom_histogram(aes(y = after_stat(density)), binwidth = 0.5, fill = "darkblue", alpha = 0.7) +
geom_density(adjust=1.5, color = "red", linewidth = 1) + # the adjust parameter controls the smoothness of the density curve
geom_vline(aes(xintercept = mean(tip)),
linetype = "dashed",
color = "blue",
size = 1) +
geom_vline(aes(xintercept = median(tip)),
linetype = "dotted",
color = "green",
size = 1) +
labs(title = "Histogram and Density of Tip Amounts",
x = "Tip Amount ($)",
y = "Density") +
theme_minimal()