Sandhya Indurkar

Math, Applied

The Average User Isn't Average: What Percentiles and Quartiles Tell You in Real Data

Percentiles and quartiles visual

The idea

Means and medians compress a full dataset into one number. Spread tells you how wide the values are. Percentiles go further: they tell you where a specific slice of the distribution sits.

The 90th percentile (P90) is the value where about 90% of observations fall at or below it. Quartiles mark the same idea at 25%, 50%, and 75%: Q1, Q2 (the median), and Q3.

A percentile answers: What do most people or events actually experience, not just what is typical on average?

Loading…

The math

Percentiles mark positions in a sorted list. They answer where a value sits relative to the rest of the distribution.

Percentile

P90 = value where 90% of observations fall at or below it

P50 is the median: half the data is at or below it. P90 is the value where about 90% of requests are faster and 10% are slower. If P90 latency is 145 ms, the slowest tenth of users see worse than that.

Quartiles

Q1 = P25, Q2 = P50 (median), Q3 = P75

Quartiles split sorted data into four equal-sized chunks. Q1 to Q3 holds the middle 50%, which is often where everyday performance lives.

Interquartile range

IQR = Q3 − Q1

The width of the middle half. A small IQR means most typical values cluster together. A large IQR means even the middle 50% is spread out. IQR is less sensitive to extreme tails than the full range.

The tail moves high percentiles more than the center: a few slow requests can push P99 up while P50 barely shifts. Extreme percentiles need large n to be stable; P99 on a hundred points is a rough guess compared to P99 on millions of events. Pick the percentile that matches the decision: P50 for typical experience, P90 or P99 for SLAs and pain in the slow tail. IQR describes the middle 50% and stays robust when outliers stretch the full range.

Why one summary is not enough

The mean is sensitive to outliers. The median shows the middle of the sorted list. Percentiles let you name the experience of the slowest 10% or the fastest half without guessing.

The interquartile range (IQR), Q3 minus Q1, describes where the middle 50% of values live. It is less sensitive to extreme tails than the full range, and pairs well with quartiles when you want a stable view of everyday variation.

In dashboards, P50, P90, and P99 often show up together. P50 is typical. P90 and P99 describe the slow or expensive tail that drives complaints, churn, and SLA breaches.

A simple application: API latency

Suppose your team reports average API latency of 72 ms against an 80 ms target. The headline is green.

API latency: average green, tail red

Drag the slow tail (P90 driver). The mean can stay under target while 10% of users suffer.

Healthy tailSlow tail

Mean 63 ms vs P90 145 ms (target 80 ms)

Latency snapshot

Mean: 63 ms · P50: 60 ms · P90: 145 ms

Gap to target

Mean gap: +17 ms · P90 gap: -65 ms

Mean

63 ms

P90

145 ms

Target

80 ms

Optimize (move here)

  • Set SLOs on P90/P95 for customer-facing APIs
  • Capacity plan for tail, not average

Hold (do not over-react)

  • Closing the incident because mean is green

Escalate if

  • P90 above target for two release cycles

Headline average looks fine. Support tickets come from the slow slice. Alert on P90, not mean.

Then you check P90: 145 ms. That means about 10% of requests are slower than 145 ms. For those users, the service feels nothing like the average. Product and support tickets often come from that slice, not from the mean.

Mean answers: What is the arithmetic center?

P90 answers: What do the slower 10% of cases look like?

Those are different operational questions. Capacity planning, alerting, and customer promises usually need percentiles, not just averages.

The same logic applies to support resolution time, checkout duration, and payroll. Quartiles split the distribution into four parts so you can compare teams or time periods without letting one outlier dominate the story.

Percentiles are not advanced statistics reserved for specialists. They are a practical way to describe experience at different points in the distribution.

When you report mean or median plus P90 or P99, you give readers both center and tail. That combination matches how people feel systems perform: mostly fine, sometimes terrible.

Good analysis also names the unit and the sample. A P99 on twelve data points means something different from a P99 on twelve million. Small samples make extreme percentiles unstable. Context still matters.

There is no single number that captures a full distribution. Means and medians are useful. Spread adds volatility. Percentiles and quartiles add position: who is affected and how badly.

When you lead with the percentile that matches the decision, you stop optimizing for the average case alone. You start designing for the experience people actually have, including the tail.