All Products
Search
Document Center

Performance Testing:What are percentiles in performance testing reports?

Last Updated:Mar 11, 2026

Performance Testing (PTS) reports use percentiles to summarize data distributions. Percentiles describe user experience more accurately than averages because they are not skewed by outliers.

Why percentiles matter more than averages

An average response time can be misleading. If 99 requests complete in 100 ms but one request takes 10,000 ms, the average is 199 ms -- a number that represents almost none of the actual requests. The average masks the fact that one user experienced a significantly degraded response.

Percentiles answer a different question: *What response time did a specific proportion of requests complete within?*

For example, a 95th percentile (p95) of 250 ms means 95% of requests completed in 250 ms or less. The remaining 5% took longer.

How to calculate percentiles

To calculate a percentile:

  1. Sort all response time values in ascending order.

  2. Find the value at the position that corresponds to the desired percentage.

Example: Given 100 response time samples sorted in ascending order:

PercentilePosition in sorted listMeaning
50th (p50)50th valueHalf of all requests completed faster than this value (the median)
95th (p95)95th value95% of requests completed faster than this value
99th (p99)99th value99% of requests completed faster than this value

Which percentile to use

Different percentiles serve different purposes:

PercentileBest forTypical use
p50 (median)General performance baselineRepresents the typical request
p90Detecting slower requestsCatches issues that affect 1 in 10 users
p95SLO and SLA targetsThe most common threshold for performance acceptance criteria
p99Tail latency analysisReveals worst-case latency in high-traffic services

For most performance tests, p95 is the standard threshold.

When percentiles may not apply

Percentile-based analysis assumes that a small percentage of slow or failed requests is acceptable. This assumption does not hold in every context.

For example, financial payment processing may require a 100% success rate. In that scenario, percentile-based summaries that tolerate a small failure rate are insufficient. Evaluate every request individually instead.