Yordis Prieto Logo

p50 · p95 · p99

A visual guide to performance percentiles and why they matter more than averages.

“Users don’t experience your average. They experience your worst moments.

Latency Distribution

Most requests are fast, but tail latency reveals how your slowest users experience your service.

p50p95p99← tail latency

Common Percentiles

PercentileMeaning
p50Half of requests are faster than this
p9090% of requests are faster
p95Only 5% of requests are slower
p99Only 1% of requests are slower
p99.91 in 1,000 requests is this slow or worse

Percentile Formula

Index = (p / 100) × (N − 1)

Where p is the desired percentile and N is the total number of sorted observations. The result is the index into the sorted array. Interpolate between adjacent values for non-integer indices.

100 Users

Each square = 1 request. Scale up to see how tail latency affects more users.

p0–p5050p50–p9040p90–p955p95–p994p99–p99.91

Why Averages Lie

100 API requests with a realistic distribution. The average blends them into a single misleading number. Percentiles show what each tier of user actually experiences.

Drag the outlier slider, then scale up the traffic to see how many real users are affected.

100ms30s
Average192ms
p50 · 2.5K users119ms
p95 · 250 users376ms
p99 · 50 users991ms
At 5K requests/day, 50 users wait 991ms or worse, and 250 wait over 376ms. The average (192ms) tells you none of this.

Why Percentiles Matter

Same data, different story. Here is what you would miss by only looking at averages.

Is my service fast enough?
Average saysAverage says 200ms — looks fine.
Percentile saysp99 says 3,200ms — 1 in 100 users waits 3 seconds.
Did the last deploy break anything?
Average saysAverage barely moved — ship it.
Percentile saysp95 jumped 4x — a slow code path is now hitting 5% of users.
Can we handle Black Friday traffic?
Average saysAverage at 150ms — plenty of headroom.
Percentile saysp99 at 8s under load — your heaviest users will time out.
What SLO should we set?
Average says"Average under 500ms" — half your users could be slow and you'd still pass.
Percentile says"p95 under 300ms" — guarantees 95% of users get a good experience.