✨ Features
Averages alone can hide serious performance problems. Use percentiles—such as p50, p90, p95, and p99—to understand what typical users and the slowest user segments actually experience.
🔍 Overview
An average provides a useful summary of overall performance, but it does not show how performance is distributed across users, sessions, or transactions.
For example, an average response time of two seconds does not tell you whether:
-
Every user experienced approximately two seconds
-
Most users experienced one second while a smaller group waited much longer
-
Performance varied significantly by application, page, region, device, browser, or user population
Percentiles reveal this distribution and make it easier to identify issues hidden by an acceptable-looking average.
Why Averages Can Be Misleading
|
Limitation |
Details |
|---|---|
|
They hide distribution |
Different datasets can have the same average while producing very different user experiences. |
|
They conceal affected minorities |
A serious issue affecting 5% or 10% of users may have little effect on the overall average. |
|
They are influenced by extreme values |
A small number of unusually fast or slow transactions can shift the average and make it less representative of a typical experience. |
|
They do not identify who is affected |
An average cannot show whether poor performance is concentrated in a particular region, application version, browser, page, workflow, or user group. |
|
They can create false confidence |
An average may remain within its SLA even when a meaningful number of users experience unacceptable performance. |
📊 What Percentiles Show
A percentile indicates the value at or below which a percentage of observations occurred.
For response-time measures, lower values generally represent better performance.
|
Measure |
Meaning |
Best used for |
|---|---|---|
|
Average |
The total of all measured values divided by the number of observations |
Understanding overall performance and calculating cumulative impact |
|
p50 — Median |
50% of observations were at or below this value, while 50% were above it |
Understanding the typical experience |
|
p90 |
90% of observations were at or below this value; the slowest 10% were above it |
Detecting issues affecting a meaningful minority |
|
p95 |
95% of observations were at or below this value; the slowest 5% were above it |
Monitoring degraded user experiences and defining operational SLAs |
|
p99 |
99% of observations were at or below this value; the slowest 1% were above it |
Identifying severe tail-latency issues affecting a small population |
|
Maximum |
The slowest individual observation |
Investigating extreme cases, although it may represent an isolated outlier |
💡 Example
Consider 100 user interactions:
-
90 completed in approximately one second
-
9 completed in approximately five seconds
-
1 took 30 seconds
An average alone combines these experiences into one number and hides the shape of the distribution.
Percentiles provide a clearer picture:
|
Measure |
What it reveals |
|---|---|
|
p50 |
The typical interaction is fast. |
|
p90 |
Performance begins to degrade for the slowest users. |
|
p95 |
A meaningful subset of users experiences noticeable delays. |
|
p99 |
The tail of the distribution contains a severe performance problem. |
The average is still useful, but it does not reveal how many users are affected or how severe the slowest experiences are.
📋 Recommended Approach
Do not choose between averages and percentiles. Use them together.
-
Start with the average to understand the overall level and cumulative business impact.
-
Review p50 to understand the typical user experience.
-
Review p90 or p95 to identify problems affecting a meaningful user population.
-
Review p99 to detect severe tail-latency issues.
-
Examine individual instances to understand the slowest transactions.
-
Segment the results by application, page, workflow, user, region, browser, device, version, or other relevant attributes.
-
Use GermainUX Analysis and Session Replay to determine why the affected users experienced degraded performance.
📜 Applying Percentiles to SLAs
Averages and percentiles can produce very different SLA results.
For example:
|
SLA Type |
Definition |
|---|---|
|
Average SLA |
Average response time must remain below two seconds. |
|
p95 SLA |
At least 95% of response times must remain below three seconds. |
|
p99 SLA |
At least 99% of response times must remain below five seconds. |
Percentile-based SLAs help prevent good performance for most users from hiding unacceptable performance for a smaller but significant population.
The appropriate percentile depends on:
-
Business criticality
-
Transaction volume
-
Number of affected users
-
Expected performance
-
Cost of poor performance
-
Acceptable level of risk
⚙️ Using Averages and Percentiles in GermainUX
GermainUX supports averages, percentiles, and other statistical measures across user experience, workflow, business, and technology KPIs.
Use these measures together to:
|
Action |
Purpose / Details |
|---|---|
|
Detect degraded performance |
Detect degraded performance |
|
Measure the number and percentage of affected users |
Measure the number and percentage of affected users |
|
Identify problematic segments |
Identify problematic segments |
|
Quantify business impact |
Quantify business impact |
|
Investigate individual slow transactions |
Investigate individual slow transactions |
|
Correlate frontend, network, backend, and infrastructure activity |
Correlate frontend, network, backend, and infrastructure activity |
|
Define more representative SLAs |
Define more representative SLAs |
|
Validate that a correction improved the complete performance distribution |
Validate that a correction improved the complete performance distribution |
🔖 Key Takeaway
An average tells you the overall result. Percentiles tell you how that result is distributed across users and transactions.
For reliable performance analysis, use averages to understand overall impact and percentiles to identify typical, degraded, and extreme experiences.
📚 Additional Resources
-
Watch this video explaining averages and percentiles.
-
Explore the duration measures available in GermainUX.
Service: Analytics
Feature Availability: 2017.3