Apdex is an industry-standard method for reporting and comparing application performance in terms of end user experience. Apdex uses a simple formula to calculate user satisfaction. The result - the Apdex ‘score’ - is a single number between 0 and 1 where 1 indicates that a user would be completely satisfied with the application response time. APM presents the Apdex score as a percentage from 0% to 100%.
The Apdex score is calculated using the following:
t - the ‘satisfied threshold’ (in seconds) under which the user is satisfied with an application’s response. By default, this is four seconds.
Satisfied count - the number of page load samples where the response time is less than the ‘satisfied threshold’ (t).
Tolerating count - the number of page load samples where the response time is between the ‘satisfied threshold’ (t) and the ‘tolerating threshold’ (by default, 4 x t).
Total samples - the total number of page load samples.
In APM, the samples used for an Apdex calculation are from the previous two hours.
The Apdex formula is as follows:
Apdext = (Satisfied count + (Tolerating count / 2)) / Total samples
So the Apdex score is simply a ratio of satisfied and tolerated page load response times to the total number of page load requests made. Each satisfied page load is counted as 1. Each tolerating page load is counted as 1/2. All others (those taking longer than the ‘tolerating threshold’ and those that fail) are counted as 0.
Within the Experience module in APM, each milestone in a script represents a distinct page load. So, each time a script runs, each milestone represents a sample in the Apdex calculation. An Apdex score of 1 (represented as 100% in APM) means that all milestones had page load times of less than t seconds. In other words, users would be 100% satisfied with the response times.
Apdex scores are calculated for every milestone, web path, and web application.
Milestone Apdex - is calculated based on the executions of a given milestone over the previous two hours.
Web path Apdex - is calculated based on the executions of all milestones on a given web path over the previous two hours.
Web application Apdex - is calculated based on the executions of all milestones, on all web paths, for a given web application over the previous two hours.