An Application Performance Index (Apdex) score is an open standard quantitative metric that measures how satisfied an end user is with the response time of an organization’s web applications and services.
Organizations are incentivized to capture many performance metrics related to their IT applications so they can better understand performance, detect issues and identify ways to improve the overall health of those applications. All of those metrics can contribute to improving overall user satisfaction. But it can sometimes be difficult to collate various metrics into a simple understanding of whether an application is working properly. This problem can be solved with an Apdex score, which identifies customer satisfaction based on whether an application response time is below or above a set threshold. Apdex scores are often used as a component of application performance management (APM), which is sometimes referred to as application performance monitoring.
The resulting Apdex value is a numerical measure of user satisfaction on a uniform scale of 0 to 1 (0 being frustrated, 1 being satisfied). It is meant to provide a more balanced understanding of how satisfied users are with load times than average response time figures, which can be skewed by one extremely slow load time (e.g. one minute). Apdex scores treat each instance of response time separately as opposed to creating one aggregate score.
Peter Sevcik, the founder of NetForecast, first identified the possibility (link resides outside ibm.com)1 of a simple and uniform open standard for measuring application quality. He led an industry expert group, which created the Apdex Technical Specification. Soon after, the Apdex Alliance adopted the Apdex standard, which is now used by many organizations.
Maintaining an Apdex score is a near real-time key performance indicator (KPI) for many organizations. It creates a framework to report, benchmark and rate application response time and assess user satisfaction with the end goal being to provide an excellent user experience.
Get a demo of IBM® Instana® Observability to see how you can achieve full-stack observability and monitoring in minutes.
Subscribe to the IBM newsletter
Identifying an Apdex score begins by setting an Apdex threshold, which indicates a response time deemed tolerable by the organization. A constant threshold makes it easier for an organization to track changes over time. Every organization needs to identify its own response time threshold, since there is no universal threshold that every organization uses.
Organizations generally determine their own threshold based on a couple factors:
The Apdex formula is a ratio score for determining application load time based on the set threshold. Each user experience contributes to the Apdex score based on the load time they experienced.
User experience is sorted into one of three categories:
The Apdex score is then determined by adding the satisfactory response times (satisfied count) to half of the tolerable response times (tolerable count) and dividing by the total number of samples.
The Apdex scale ranges from 0 (which implies no users are satisfied) to 1 (which implies all users are satisfied). A low Apdex score might mean an organization needs to improve its ability to troubleshoot issues and optimize performance through practices like application performance management, problem management and site reliability engineering.
A poor Apdex score might be a sign that there are issues with an organization's current IT operations. Here are several examples and use cases for how organizations can improve their Apdex score.
Optimize code and database queries: An organization that poorly configures its databases and has inefficient code will likely experience low Apdex scores. For example, substandard code can require more CPU and memory resources than necessary, slowing load times. Optimizing code and database queries is the best way to improve Apdex scores.
Minimize external requests: Making API calls to third-party services can create a significant strain on your web services and contribute to higher latency. An organization with low Apdex scores should consider revisiting its external requests to make sure the requests are necessary, valuable and do not significantly increase latency.
Utilize content delivery networks (CDNs): A CDN is a system of geographically dispersed servers that companies use to deliver content to users more quickly by completing requests via the server nearest the user. For example, if a user in Germany wants to access content from a webpage with content hosted in New York, the user’s request is fulfilled from the company’s edge server in Europe, rather than the server in New York. This results in less latency by reducing the distance data must travel.
Use asynchronous processing for heavy tasks: Asynchronous processing enables the distribution of the processing required by an application between systems in an intercommunication environment. Asynchronous processing offloads heavy tasks to separate processes, freeing up resources so the main thread can address user requests.
Scale servers to meet increased traffic demands: Significant increases in traffic without the ability to increase server capacity or leverage load balancing can lead to poor response times. Using a platform that proactively automates the allocation of network resources based on real-time demand, like IBM® Turbonomic®, can help mitigate this issue.
Organizations that track performance using an Apdex score reap multiple benefits:
Faster web response times: Tracking Apdex scores provides an organization with a more accurate understanding of its application and service performance. This information helps drive faster response times and enables an organization to deliver relevant content to users more quickly.
More satisfied users: Organizations with a focus on Apdex scores are likely to be more aware of and cater to user experience. Continually monitoring and improving Apdex scores will lead to fewer frustrated users and happier customers who can become strong advocates for your organization.
Adherence to service level agreements (SLAs): An organization's SLA may specify how long an application will take to load. If load times are consistently higher than the SLA specifies, organizations may be violating that agreement with end users.
Data-driven decision making: Tracking an Apdex score provides business leaders with reliable data that can help them make more informed decisions about their web application performance. It creates a more methodical system for tracking customer satisfaction than relying on anecdotes or less accurate metrics.
Get the context you need to resolve incidents faster. The Instana Observability platform provides enhanced application performance monitoring with automated full-stack visibility, 1-second granularity and 3 seconds to notify.
Leverage AI to streamline IT operations, increase uptime, improve efficiency and reduce costs.
The Turbonomic hybrid cloud cost optimization platform allows you to continuously automate critical actions in real time that proactively deliver the most efficient use of compute, storage and network resources to your apps at every layer of the stack.
IBM Instana provides real-time observability that everyone—and anyone—can use. It delivers quick time-to-value while ensuring your observability strategy can keep up with the dynamic complexity of today’s environments, and tomorrow’s. From mobile to mainframe, Instana supports over 250 technologies and growing.