The service level agreement (SLA) function calculates the probability that all requests are serviced within the target time.
This function assumes the Erlang delay system, in which an unlimited queue is available and requests that can't be handled immediately wait until a server becomes available.
For example, this can also be interpreted as the percentage of requests that can be serviced within the target response time, given number of servers, arrival rate of requests, and average time to service a request.
Syntax
SLA(Number of servers, Target response time, Arrival rate, Average duration)
Arguments
| Argument | Data type | Description |
| Number of servers | Number | The number of servers (for example, call center agents) available to process requests. |
| Target response time | Number | The maximum amount of time before each request starts to be processed. |
| Arrival rate | Number | The number of incoming requests received per unit of time. |
| Average duration | Number | The average amount of time it takes to process each request. |
The SLA function returns a number that represents the probability of all requests being serviced within the Target response time.
Calculation engine functionality differences
| Behavior | Classic | Polaris |
| Rounding of the number of agents | Truncates the number of agents by rounding it toward 0. For example, 1.5 becomes 1 and -1.5 becomes -1. | Rounds the number of agents to the nearest integer, with halves rounded away from 0. For example, 1.5 becomes 2 and -1.5 becomes -2. |
| When Average duration is 0 | Returns NaN. | Returns 1, provided Number of servers is greater than 0 and Arrival rate and Target response time are greater than or equal to 0. |
| When Number of servers is 0 | Returns 1 if Average duration is greater than 0 and NaN otherwise. | Returns 0 regardless of values of the other arguments. |
Additional information
How SLA is calculated
SLA is defined by this formula, provided that the input parameters satisfy the following conditions: α >= m, λ >= 0, μ > 0, t >= 0. For α < m, the SLA is always 0.
where:
- m is the Number of servers
- λ is the Arrival rate
- μ is the Average duration
- α is the offered load, equal to λ × μ
- t is the Target answer time
Constraints
Time unit for arguments
The offered load must be dimensionless. This means the Arrival rate must be expressed per unit of time corresponding to the unit used for Average duration.
For example:
- If Average duration is measured in minutes, Arrival rate must be measured in requests per minute.
- If Average duration is measured in seconds, Arrival rate must be measured in requests per second.
Maximum number of servers
The maximum number you can use for the Number of servers argument is five million.
Examples
In this example, the Call Centers list is on columns, and line items on rows. The first four line items contain the scheduled number of servers, target response time, arrival rate of requests, and average time to service a request.
The fifth line item uses the SLA function to calculate the service level of the system. The sixth line item enables you to adjust the target response time.
The formula in the seventh line item uses the adjusted target response time. This enables you to see what wait time could be tolerated while maintaining a given SLA (in this case, 95%).
Both of the line items that contain formulas use the Percentage format with two decimal places to display the probability as a percentage.
| Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |
| Scheduled Number of Servers | 17 | 23 | 36 | 24 |
| Target Response Time | 15 | 18 | 17 | 12 |
| Request Arrival Rate | 0.7684 | 0.9358 | 1.426 | 1.2194 |
| Average Duration | 18.67 | 23.25 | 24.87 | 17.39 |
Service Level Agreement
| 95.2% | 72.5% | 37.8% | 93.39% |
| Amended Target Response Time | 15 | 50 | 135 | 14 |
Updated SLA with Amendment
| 95.2% | 95% | 95.1% | 95.21% |