> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Averages vs Percentiles

> An average provides a useful summary of overall performance, but it does not show how performance is distributed across users, sessions, or transactions.

Service
`Analytics`

Availability
2025.1 or later

> [card] [Why Averages Can Be Misleading](#why-averages-can-be-misleading)
>
> Averages hide distribution shape

> [card] [Example](#example)
>
> A worked user example

> [card] [Recommended Approach](#recommended-approach)
>
> Use averages and percentiles together

> [card] [Key Takeaway](#key-takeaway)
>
> Impact versus typical experience

## Overview

> [!NOTE]
>
> **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:

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

| Step | Description |
| - | - |
| **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:

* Detect degraded performance
* Measure the number and percentage of affected users
* Identify problematic segments
* Quantify business impact
* Investigate individual slow transactions
* Correlate frontend, network, backend, and infrastructure activity
* Define more representative SLAs
* Validate that a correction improved the complete performance distribution

## Key Takeaway

> [!NOTE]
>
> **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

> [card] [Video explaining averages and percentiles](https://youtu.be/Y-mY97qoeyw)
>
> Watch this

> [card] [Measures available in GermainUX](https://docs.germainux.com/main/kpis.md)
>
> Explore the duration

> [card] [Analytics](https://docs.germainux.com/main/analytics.md)
>
> More Analytics Features

> [card] [Automation](https://docs.germainux.com/main/automation.md)
>
> More Automation Features

> [card] [Dashboards](https://docs.germainux.com/main/dashboard-and-report.md)
>
> Dashboards and reports overview

> [card] [Reports](https://docs.germainux.com/main/reporting-automatic.md)
>
> Automatic and scheduled reports

> [card] [Management](https://docs.germainux.com/main/management.md)
>
> More Management Features

## Get Help

> [card] [Contact GermainUX Support](https://docs.germainux.com/main/support.md)
>
> The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

> [card] Can't find what you need?
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.