I wrote the book on developer marketing. Literally. Picks and Shovels hit #1 on Amazon.

Get your copy
Engineering and DevOps

P50/P95/P99

pee-fifty, pee-ninety-five, pee-ninety-nine

Percentile metrics showing the latency experienced by 50%, 95%, or 99% of requests.

P50, P95, and P99 are percentile measurements of latency. P50 (median) means 50% of requests are faster than this value. P95 means 95% are faster. P99 means 99% are faster. These percentiles matter more than averages because averages hide the worst experiences.

An average latency of 100ms sounds great. But if P99 is 5 seconds, one in every hundred requests takes 50x longer than average. Those are the requests users remember and complain about. A user who experiences a 5-second load time does not care that the average is 100ms.

P50 tells you the typical experience. P95 tells you the experience of unlucky users. P99 tells you the experience of the unluckiest users. High-performing teams optimize for P95 and P99, not averages. These percentiles are often codified in SLOs and tracked via monitoring. An improvement to P99 from 5 seconds to 500ms transforms the worst user experience.

Examples

A team sets latency targets.

The SLO specifies: P50 under 100ms, P95 under 300ms, P99 under 1 second. The current measurements: P50 at 80ms (good), P95 at 250ms (good), P99 at 2.5 seconds (not meeting target). The team focuses on P99 by investigating the slowest requests.

A dashboard displays percentile metrics.

The monitoring dashboard shows three lines for each service: P50 (green), P95 (yellow), P99 (red). When the P99 line spikes, the team investigates immediately, even if P50 and P95 look normal. A P99 spike often signals a database issue or a slow dependency.

A company over-focuses on averages.

The team celebrates that average API latency is 120ms. But 1% of requests (50,000 per day) take over 8 seconds. These slow requests cause timeouts in the mobile app, leading to 200 daily support tickets. Switching focus from average to P99 identifies and fixes the issue.

In practice

Read more on the blog

Frequently asked questions

Why is P99 more important than average latency?

Averages hide outliers. If 99% of requests take 50ms and 1% take 10 seconds, the average is about 150ms, which looks fine. But that 1% represents real users having terrible experiences. P99 reveals what the average hides.

What percentile should teams optimize for?

Most teams should target P95 for standard services and P99 for critical user-facing services. P999 (99.9th percentile) is relevant for payment processing and other high-stakes operations. Diminishing returns kick in past P99 for most applications.

Related terms

Picks and Shovels: Marketing to Developers During the AI Gold Rush

Want the complete playbook?

Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.