Skip to main content
CalcMax

Percentile Calculator

Range: 0 – 100

Result

7.6000

Value at that percentile

Lower value in the interpolation
7.0000
Upper value in the interpolation
9.0000
Count
8

A percentile answers a rank question with a value: the 90th percentile is the reading that 90% of the data falls at or below. It is where a measurement turns into a verdict — a child's height on a growth chart, a test score on a national distribution, the 95th percentile of response times in a service-level agreement. Paste the numbers and this percentile calculator returns the value at the percentile you ask for, together with the two neighbouring readings it interpolated between, so the answer can be checked against the sorted list without re-sorting anything. The list is read exactly as typed, in any language, and nothing is divided by n − 1 or n.

Formula

Position = (n − 1) × p, where p is the percentile as a fraction; the answer is the value at that position, found by linear interpolation between the two neighbouring observations

xᵢ
One value in the data set. Percentiles use position, not size, so a single extreme reading shifts the neighbours slightly but cannot drag the answer the way it drags a mean
n
How many values the list holds, up to 200 here. It sets the largest possible position: at the 100th percentile the position is n − 1, which is the last value in the sorted list
p
The percentile you asked for, as a fraction: 90 becomes 0.9. It can be anything from 0 to 100, decimals included — the 97.5th percentile is as valid here as the 50th
position
Where in the sorted list to look, counting from 0: (n − 1) × p. With 8 values the 90th percentile sits at position 6.3 — three tenths of the way from the 7th value to the 8th
Y₍ₖ₎ and Y₍ₖ₊₁₎
The two observations on either side of that position. These are the two numbers printed beside the result, and the answer is always somewhere between them — or exactly one of them when the position is a whole number

Reach for a percentile when the question is about standing rather than size: how a reading compares with a whole distribution. Growth charts, test scores, latency budgets, income deciles and clinical reference ranges are all percentiles, and so is the median, which is just the 50th. It is also the right tool for a threshold you have to justify — "we alert above the 95th percentile of normal traffic" is a rule that can be recomputed and audited. Two things to keep straight. First, a percentile is not a percentage: scoring in the 90th percentile does not mean 90% correct, it means 90% of the group scored at or below you. Second, a percentile rank is a different direction from a percentile value — this page answers "what value sits at rank p", not "what rank does this particular value have". The two are only inverses of each other when the value you name happens to be one of the data points. The convention used here is Hyndman–Fan type 7, the default of R's quantile function and of NumPy's quantile with method="linear". It is one of several; OpenStax's introductory text uses i = k/100 × (n + 1) and says plainly that a little research turns up several formulas. Different software will therefore print slightly different percentiles for the same list, and neither is wrong.

Worked examples

  1. The 90th percentile of eight values: 7.6

    1. Sort: 2, 4, 4, 4, 5, 5, 7, 9 — eight values, so n − 1 = 7
    2. Position: 7 × 0.90 = 6.3, counting from 0
    3. Position 6.3 lies between the value at position 6, which is 7, and the value at position 7, which is 9
    4. Three tenths of the way from 7 to 9: 7 + 0.3 × (9 − 7) = 7.6

    7.6 is not one of the eight numbers, and that is normal: a percentile is a position on the scale of the data, not a member of the data. The two neighbours are printed beside the answer because the interpolation is the step people get wrong — with 7 and 9 visible, anyone can see that 7.6 is 30% of the way across, which is exactly what a position of 6.3 means.

  2. A position that lands exactly on a value: the 25th percentile of 1 to 5

    1. Sort: 1, 2, 3, 4, 5 — five values, so n − 1 = 4
    2. Position: 4 × 0.25 = 1, a whole number
    3. Position 1 holds the value 2, and there is nothing to interpolate
    4. Both neighbouring values are 2 and the answer is 2

    When the position is a whole number the two neighbours collapse into one, and the two rows print the same number — which is the panel's way of saying no interpolation happened. This is the case where the conventions agree with each other: every formula in circulation returns 2 here, and the disagreements all live in between.

  3. A single value: every percentile is that value

    1. Sort: 42 — one value, so n − 1 = 0
    2. Position: 0 × 0.90 = 0
    3. The only value sits at position 0, so every percentile from 0 to 100 returns it
    4. Answer: 42

    With one value there is nothing to interpolate and nothing to be a percentile of, so the tool returns that value for any percentile you enter rather than refusing. Notice that the endpoints need no special treatment either: the 0th percentile is the smallest value and the 100th is the largest, both of which the same position formula produces on its own.

Limitations

A percentile says nothing about how the values are spread, and it is only as meaningful as the list behind it: with ten values the 90th percentile is an interpolation between two of them, and with a handful more it barely moves. The answer depends on the convention, and several are in circulation — this page uses Hyndman–Fan type 7, the default in R and NumPy, while other texts use a different index formula, so a percentile computed elsewhere can legitimately differ by a little. This page goes one direction only: it turns a percentile into a value. The reverse question — what percentile does this particular value sit at — is a different calculation and is not offered here, and asking for it would need its own page. Percentiles are also not percentages: being at the 90th percentile is a statement about the group, not a score of 90 out of 100. The list is capped at 200 values, and a token such as 1,500 is refused rather than guessed at, since a comma between digits is a decimal point in some countries and a thousands separator in others. Everything is computed from the numbers exactly as typed, with no rounding applied before the interpolation.

Frequently asked questions

How do you calculate a percentile?
Sort the list, then find the position (n − 1) × p, where n is how many values you have and p is the percentile as a fraction. For the 90th percentile of eight values the position is 7 × 0.9 = 6.3, so the answer sits three tenths of the way from the 7th value to the 8th. If the position is a whole number it lands on a value and there is nothing to interpolate. The count, both neighbouring values and the result are all printed above, so the arithmetic can be checked in one pass.
What does the 90th percentile actually mean?
It means 90% of the values are at or below it and about 10% are at or above it. It is a statement about rank, not about proportion correct: scoring in the 90th percentile of an exam does not mean you answered 90% of the questions properly. That confusion is common enough that it is called out explicitly in the OpenStax statistics text — the 90th percentile of test scores means 90% of the scores are the same or lower than yours.
Why does another calculator give a slightly different percentile?
Because more than one formula is in circulation, and they disagree in between the data points — never at them. This page uses Hyndman–Fan type 7, the default of R's quantile function and of NumPy's quantile: position (n − 1) × p with linear interpolation. OpenStax's introductory text instead uses i = k/100 × (n + 1) and says outright that a little research turns up several formulas. Neither is wrong; a percentile is a convention, and the two neighbouring values are printed here so you can see exactly which pair was used.
What are the two extra numbers under the result?
They are the two observations the answer was interpolated between — the values immediately below and above the position you asked for. With them on screen the result stops being a black box: 7.6 next to 7 and 9 is visibly three tenths of the way across. When your percentile lands exactly on a data point the position is a whole number, there is nothing to interpolate, and both rows print that same value.
What are the 0th and 100th percentiles?
The smallest and largest values in the list, and they need no special case: put p = 0 into the position formula and you get 0, the first value; put p = 100 and you get n − 1, the last one. Percentiles below 0 or above 100 are outside what the field accepts and are refused rather than clamped, so a typo like 900 is reported instead of quietly answered as the maximum.
Can I find the percentile rank of a value instead?
Not on this page — it works in one direction only, turning a percentile into a value. The reverse question, what percentile a given value falls at, is a different calculation with its own formula, and doing both in one tool would mean conditionally showing one result or the other, which the result panel deliberately cannot do. If you need the rank, compare your value against the sorted list by hand, or use the quartile page for the four most common cut points.

References

Related calculators