Descriptive statistics
PERCENTILE.INC function: calculate P50 and P90 service-level thresholds
Report 50th and 90th percentile latency or delivery times using a 0-to-1 k fraction, understand linear interpolation between points, and catch #NUM! errors.
Five ordered delivery durations
Five courier runs take 10, 20, 30, 40, and 50 minutes (A2:A6). Service-level reports often track P50 (the median, k = 0.5) and an interpolated P90 (k = 0.9). Here P90 is 46 minutes, but only four of these five observations (80%) are at or below 46: an interpolated percentile is not necessarily an observed value or an exact observed percentage.
| k input | Meaning | Result on 10..50 |
|---|---|---|
| 0 | Minimum (0th percentile) | 10 |
| 0.5 | Median / P50 | 30 |
| 0.9 | 90th percentile / P90 | 46 |
| 1 | Maximum (100th percentile) | 50 |
Pass k as a decimal between 0 and 1
PERCENTILE.INC(array, k) expects k in [0, 1]—pass 0.9 rather than 90! With n = 5 values, k = 0.9 lands at fractional position 1 + 0.9 * (5 - 1) = 4.6, interpolating 60% of the way between the 4th value (40) and 5th value (50) to return 46.
=PERCENTILE.INC(A2:A6,C2)Passing 90 instead of 0.9 triggers #NUM!
Any k below 0 or above 1—such as entering 90 instead of 0.9—immediately returns #NUM!.
Try the example
Use the original values or change them to test your understanding.