Abrova
☰ Docs menu · Apdex score

Apdex Score

Industry-standard backend latency satisfaction KPI scored 0-1 from satisfied, tolerating, and frustrated request counts at a fixed 500ms threshold.

Last updated: 27 Oct 2026

Apdex (Application Performance Index) is an industry-standard KPI that condenses latency into a single number between 0.00 and 1.00. Unlike percentiles, it tells you what fraction of your users were actually happy with response times — not just how slow the slow tail was. AbrovaTrace calculates it across every performance span in the selected time range.

Backend Latency, Not Web Vitals.

Apdex measures request duration, complementary to Web Vitals (which measure frontend rendering). Use both side-by-side for a full UX picture.

How It's Calculated#

Every span is bucketed against a target latency T (T = 500ms):

BucketRangeWeightMeaning
Satisfiedduration ≤ T (≤500ms)1.0User got an instant response
ToleratingT < duration ≤ 4T (500ms-2s)0.5Slow but usable
Frustratedduration > 4T (>2s)0.0User likely abandoned or retried

The score is then:

Apdex = (satisfied + tolerating × 0.5) / total

Score Bands (Guidance)#

0.94-1.00 Excellent

Industry-grade. Users barely notice latency

0.85-0.94 Good

Healthy. Most teams target this band as a baseline

0.70-0.85 Fair

Visible friction. Tail latency needs work

<0.70 Poor

Significant share of requests frustrating users — investigate now

Why Apdex (Not Just p95)?#

Percentiles answer "how slow is the slow tail?" — Apdex answers "how many users had a bad experience?" Two examples:

  • Service A — p95 = 1.8s but p50 = 50ms. Apdex ≈ 0.93. Most users are happy; a slow tail exists.
  • Service B — p95 = 1.8s and p50 = 1.7s. Apdex ≈ 0.51. Half the users are frustrated.

Same p95, very different user reality. Apdex catches the second case immediately.

Reading the Score#

Apdex follows the same time range, platform, environment and release filters as the rest of Trace → Performance. Alongside the score you get the satisfied, tolerating and frustrated request counts behind it. When there are no spans in the selected range, there is no score.

Adjusting the Threshold#

T is fixed at 500ms because it matches the industry-standard web SLA for "feels instant." It can't be configured per project. If your workload is genuinely slower (e.g. ML inference, video transcode), the score will look pessimistic — focus on the trend of the score rather than its absolute value.

Best Practices#

Watch the Score, Not the Threshold

Even with T=500ms not matching your SLA, the score trend is meaningful — a dropping Apdex means user experience is degrading

Compare With Error Rate

High Apdex + high error rate = fast failures. Low Apdex + low error rate = slow successes. Both hurt UX differently

Watch for Apdex Drops

Apdex moving from 0.94 to 0.85 is a smaller-looking change than p95 doubling, but it represents the same user pain. For alerting, use a p95 latency alert rule under Trace → Alerts

Look at Operation-Level Latency

A site-wide Apdex of 0.92 can hide one endpoint stuck at 0.40. The Operations card on the Performance page shows per-operation p95 to drill in

Was this page helpful?
Report a problem