Averages vs Percentiles

✨ 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.

warning 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.

Do not choose between averages and percentiles. Use them together.

  1. Start with the average to understand the overall level and cumulative business impact.

  2. Review p50 to understand the typical user experience.

  3. Review p90 or p95 to identify problems affecting a meaningful user population.

  4. Review p99 to detect severe tail-latency issues.

  5. Examine individual instances to understand the slowest transactions.

  6. Segment the results by application, page, workflow, user, region, browser, device, version, or other relevant attributes.

  7. 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

Service: Analytics

Feature Availability: 2017.3