Chebyshev's theorem calculator
At least 75 percent of any data set with a finite variance lies within 2 standard deviations of its mean, bell-shaped or not. Enter how many standard deviations you care about to get the guaranteed share inside and the most that can sit outside. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- K
- 2
- Proportion
- 0.75
- Percent
- 75
- Outside proportion
- 0.25
Chebyshev's theorem, also called the Bienaymé–Chebyshev inequality, gives a distribution-free lower bound on how much of a data set must lie near the mean. For any real-valued collection with a finite mean and a finite positive standard deviation, at least one minus one over k squared of the observations fall within k standard deviations of the mean, whenever k is strictly greater than one. Unlike the empirical rule, which assumes a roughly bell-shaped normal curve, Chebyshev's bound holds for every distribution that has a variance, including skewed, multimodal, and heavy-tailed samples.
What Chebyshev's theorem says and how the bound is computed
Chebyshev's theorem is a distribution-free guarantee about how tightly a collection of numbers must cluster around its mean. Write mu for the mean and sigma for a finite positive standard deviation. For every real k strictly greater than one, the theorem states that the proportion of observations falling inside the closed interval from mu minus k sigma to mu plus k sigma is at least one minus one over k squared.
Equivalently, the proportion that can sit k or more standard deviations away from the mean is at most one over k squared. The proof is a one-line consequence of Markov's inequality applied to the squared deviation of X from mu, so the result never needs normality, symmetry, or unimodality. That is why a homework sheet can apply the same bound to exam scores, waiting times, or factory measurements without first testing for a bell curve.
Classic classroom values are immediate: k equals two yields at least three quarters of the data inside two standard deviations of the mean; k equals three yields at least eight ninths, a little more than eighty-eight point eight percent. When k approaches one from above the bound collapses toward zero and stops being informative, which is why this calculator rejects k less than or equal to one rather than returning a non-positive proportion.
The formula is closed and deterministic: there is no table lookup, no random seed, and no dependence on the original sample once k is known.
Where a Chebyshev calculator earns its keep, and what it will not do
Quality-control teams use the bound when a process is known to have a mean and a variance but is not known to be normal, so they can still state a conservative share of output inside a k-sigma window. Risk and insurance notebooks apply the same inequality to loss distributions that are skewed or heavy-tailed, where the empirical sixty-eight ninety-five ninety-nine point seven rule would over-promise.
If you later need the empirical rule under a normal assumption, a z-score for a single raw value, or a full five-number summary of a column, treat those as separate search intents and landings rather than overloading this Chebyshev page. Limits are intentional: the calculator does not fit a density, does not return a p-value, and does not tighten the bound with extra shape assumptions. Use it when the honest answer is the weakest guarantee that still holds for every distribution with a variance.
What you can do with it
Classroom Chebyshev drills
Let students submit k and check the guaranteed minimum percentage inside k standard deviations of the mean against textbook tables.
Conservative process windows
State a distribution-free share of output inside a k-sigma band when a process has a mean and a variance but is not known to be normal.
Heavy-tailed risk bounds
Apply Chebyshev to skewed loss or waiting-time distributions where the empirical rule would overstate how much mass sits near the mean.
FAQ
What is Chebyshev's theorem?
For any data set with a finite mean and a finite positive standard deviation, at least 1 − 1/k² of the values lie within k standard deviations of the mean when k > 1. The bound does not assume a normal curve.
Why must k be greater than one?
When k is one or smaller, 1 − 1/k² is zero or negative, so the inequality says nothing useful.
How is this different from the empirical rule?
The empirical 68–95–99.7 rule assumes an approximately normal distribution. Chebyshev's bound is weaker but holds for every distribution that has a variance, including skewed and heavy-tailed samples.
What does the calculator return?
It returns k, the minimum proportion 1 − 1/k², that proportion as a percent, the complementary outside ceiling 1/k², and the formula string. It does not estimate mean or sigma from a raw list.
What does the Chebyshev theorem calculator cost?
The browser tool is free and runs locally.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/stat/chebyshevs-theorem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"k":2}'const res = await fetch("https://api.kit.forhosting.com/stat/chebyshevs-theorem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/chebyshevs-theorem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/chebyshevs-theorem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/chebyshevs-theorem", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"k": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.chebyshevs_theorem",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
This calculator accepts a single k, applies the closed formula, and returns the guaranteed minimum proportion as structured JSON. Requests with k less than or equal to one fail with invalid_input, because the classical statement is vacuous at that boundary.
Input contract, response shape, and error behaviour
The defining restriction of the theorem is encoded as a hard check: k must be strictly greater than one. Sending one, a fraction such as one half, zero, or a negative count fails with a message that k must be greater than one, and those failures are not billed. Example: k equals three yields proportion eight ninths. POST a JSON body with a single required finite number k, the number of standard deviations from the mean. The field also accepts the aliases k_sigma, deviations, and std_devs so classroom wording and API naming both work. Each value may arrive as a JSON number or as a numeric string; missing fields, empty strings, NaN, and Infinity fail with invalid_input naming k. On success the body echoes the cleaned k, returns proportion as one minus one over k squared, returns percent as one hundred times that proportion, returns outside_proportion as the complementary Chebyshev ceiling one over k squared, and restates the formula string so a worksheet can show the arithmetic next to the number. Example: k equals two yields proportion zero point seven five, percent seventy-five, and outside_proportion zero point two five. The endpoint does not ingest a raw data list and does not estimate mu or sigma; those are separate search intents served by sibling statistics capabilities.
Where a Chebyshev calculator earns its keep, and what it will not do
Secondary-school and college statistics courses constantly assign Chebyshev drills that ask for the minimum percentage of data inside two, two and a half, or three standard deviations of the mean; a single trusted oracle that returns cleaned JSON speeds grading and demo setup without arguing about rounding. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.