Typically, you use call center planning functions to predict the operational performance of a call center. They calculate the number of agents required to meet a service level agreement based on certain baseline assumptions, such as:

- Incoming call rate
- Average call duration
- Number of available agents

Call center planning functions are unavailable in Polaris. Learn more about the differences between Anaplan calculation engines.

For example, you can use the AGENTS function to calculate the number of servers needed at peak times to maintain a certain speed of response.

## Syntax

`AGENTS(SLA, Target response time, Arrival rate, Average duration)`

## Arguments

Argument | Data type | Description |

SLA | Number | The percentage of requests that need to be processed within the Target response time. |

Target response time | Number | The time period within which each request must be responded to. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The AGENTS function returns a number, which is the number of servers, or agents, required to process requests within the SLA.

## Constraints

### Time unit for arguments

The *Target response time*, *Arrival rate*, and *Average duration* arguments do not have to use a specific time unit. For example, they can use seconds or minutes. However, all three arguments must use the same time unit.

## Calculation engine functionality differences

Call center planning functions are unavailable in Polaris. Learn more about the differences between Anaplan calculation engines.

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first four line items contain the data for the AGENTS function for each call center:

- The percentage of calls that must be responded to within the target response time, or SLA (uses the percentage number
**Format**) - The target response time to begin processing requests within
- The interval between each request arriving
- The average duration it takes to complete requests

The *Servers to meet SLA* line item uses the AGENTS function to calculate how many agents are needed to answer the percentage of calls specified in the SLA within the target response time.

The *Amended Target Response Time* line item enables you to amend the target response time. This is used in the *Updated Servers with amendment* line item, which calculates how many agents are needed to respond to requests within the amended response time while maintaining the SLA.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Service Level Agreement | 85% | 87% | 92% | 85% |

Target Response Time | 15 | 18 | 17 | 12 |

Request Arrival Rate | 0.7684 | 0.9358 | 1.426 | 1.219 |

Average Duration | 18.67 | 23.25 | 24.87 | 17.39 |

Servers to meet SLA
| 17 | 24 | 39 | 24 |

Amended Target Response Time | 10 | 10 | 10 | 10 |

Updated Servers with amendment
| 17 | 25 | 40 | 24 |

You can use the AGENTSB function with other functions such as AGENTS, ERLANGB, and ERLANGC to account for a range of resource management situations.

## Syntax

`AGENTSB(SLA, Arrival rate, Average duration)`

## Arguments

Argument | Data type | Description |

SLA | Number | The percentage of requests that need to be processed within the Target response time. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The AGENTSB function returns a number, which is the number of agents required to prevent any requests being placed on hold.

## Constraints

### Time unit for arguments

The *Arrival rate* and *Average duration* arguments do not have to use a specific time unit. For example, they can be seconds or minutes. However, both arguments must use the same time unit.

## Calculation engine functionality differences

Call center planning functions are unavailable in Polaris. Learn more about the differences between Anaplan calculation engines.

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The three line items contain the data for the AGENTSB function for each call center:

- The percentage of calls that must be responded to within the target response time, or SLA (uses the percentage number
**Format**) - The interval between each request arriving
- The average duration it takes to complete requests

The *Servers to meet SLA* line item uses the AGENTS function to calculate how many agents are needed to answer the percentage of calls specified in the SLA.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Service Level Agreement | 85% | 87% | 92% | 85% |

Request Arrival Rate | 0.7684 | 0.9358 | 1.426 | 1.219 |

Average Duration | 18.67 | 23.25 | 24.87 | 17.39 |

Servers to meet SLA
| 16 | 23 | 39 | 22 |

For example, you can use the ANSWERTIME function to adjust the hold time during busy periods.

## Syntax

`ANSWERTIME(Number of servers, SLA, 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. |

SLA | Number | The percentage of requests that need to be processed. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The ANSWERTIME function returns a number, which is the minimum hold time required to answer the percentage of calls specified in the *SLA* argument.

### How the ANSWERTIME function is calculated

The ANSWERTIME function calculates the solution to this equation:

In this equation:

- x is the
*Number of servers*. - w is the
*SLA*. - y is the
*Arrival rate*. - z is the
*Average duration*. - a is the offered load, which is y multiplied by z.

## Constraints

### Time unit for arguments

The *Arrival rate* and *Average duration* arguments do not have to use a specific time unit. For example, they can use seconds or minutes. However, both arguments must use the same time unit.

### 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 data for the ANSWERTIME function for each call center:

- The number of servers available to process requests
- The percentage of calls that must be responded to within the target response time, or SLA
- The interval between each request arriving
- The average duration it takes to complete requests

The *Answer time for SLA* line item uses the ANSWERTIME function to calculate how quickly requests are responded to given the number of agents, SLA, arrival rate, and average duration.

The *Increased SLA* line item enables the user of the module to amend the SLA. This is used in formula in the *Answer time for increased SLA* line item, which calculates how quickly requests are responded to given the number of agents, SLA, arrival rate, and average duration.

Both of the line items that contain SLAs use the **Percentage** format with two decimal places.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Number of Servers | 17 | 24 | 39 | 24 |

Service Level Agreement | 85% | 87% | 92% | 85% |

Request Arrival Rate | 0.7684 | 0.9358 | 1.426 | 1.2194 |

Average Duration | 18.67 | 23.25 | 24.87 | 17.39 |

Answer time for SLA
| 6.949 | 14.8 | 12.27 | 6.902 |

Increased SLA | 90% | 82% | 97% | 90% |

Answer time for increased SLA
| 9.802 | 19.83 | 19.17 | 9.425 |

For example, you can use the ARRIVALRATE function to calculate how much time agents have available for other tasks.

## Syntax

`ARRIVALRATE(Number of servers, SLA, Target response time, Average duration)`

## Arguments

Argument | Data type | Description |

Number of servers | Number | The number of servers (for example, call center agents) available to process requests. |

SLA | Number | The percentage of requests that need to be processed within the Target response time. |

Target response time | Number | The time period within which each request must be responded to. |

Average duration | Number | The average duration it takes to process each request. |

The ARRIVALRATE function returns a number. This is the maximum possible interval between the arrival of requests while processing the percentage of requests specified in the *SLA* argument.

## Constraints

### Time unit for arguments

The *Target response time* and *Average duration* arguments do not have to use a specific time unit. For example, they can use seconds or minutes. However, both arguments must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first four line items contain the data for the ARRIVALRATE function for each call center:

- The number of servers available to process requests
- The percentage of calls that must be responded to within the target response time, or SLA
- The target time to respond to calls within
- The average duration it takes to complete requests

The *Arrival rate for SLA* line item uses the ARRIVALRATE function to calculate the fastest arrival rate requests can be answered within while the SLA is maintained.

The *Increased SLA* line item enables you to amend the SLA. This is used in the formula in the *Arrival rate for increased SLA* line item, which calculates the fastest arrival rate requests can be answered within while the increased SLA is maintained.

Both of the line items that contain formulas use the **Percentage** format with two decimal places to display the possibility as a percentage.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Number of Servers | 17 | 24 | 39 | 24 |

Service Level Agreement | 85% | 97% | 92% | 85% |

Target Response Time | 15 | 18 | 17 | 12 |

Average Duration | 18.67 | 23.25 | 24.87 | 17.39 |

Arrival rate for SLA
| 0.8201 | 0.9481 | 1.455 | 1.266 |

Increased SLA | 90% | 92% | 97% | 90% |

Arrival rate for increased SLA
| 0.8015 | 0.9288 | 1.413 | 1.243 |

## Syntax

`AVGDURATION(Number of servers, SLA, Target response time, Arrival rate)`

## Arguments

Argument | Data type | Description |

Number of servers (required) | Number | The number of servers (for example, call center agents) available to process requests. |

SLA (required) | Number | The percentage of requests that need to be processed within the Target response time. |

Target response time (required) | Number | The time after which each request must start to be processed. |

Arrival rate (required) | Number | The interval between the arrival of each request. |

The AVGDURATION function returns a number. This is the average duration it takes to process requests, using the same time unit as the *Target response time* and *Arrival rate* arguments.

## Constraints

### Time unit for arguments

The *Target response time* and *Arrival rate* arguments do not have to use a specific time unit. For example, they can be seconds or minutes. However, each argument must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first four line items contain the data for the AVGDURATION function for each call center:

- The scheduled number of servers to process requests
- The percentage of calls that must be responded to within the target response time, or SLA
- The target response time to begin processing requests within
- The arrival rate, or interval between each request arriving

The fifth line item uses the AVGDURATION function to calculate what the average duration of call is given the number of servers, SLA, target response time, and arrival rate of calls.

The sixth line item enables you to adjust the SLA. The formula in the seventh line item uses the adjusted SLA. This enables you to see how the average duration of calls changes given a different SLA.

Both of the line items that contain SLAs use the **Percentage** format with two decimal places.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Scheduled Number of Agents | 16 | 22 | 37 | 23 |

SLA | 85.00% | 87.00% | 92.00% | 85.00% |

Target Response Time | 15 | 18 | 17 | 12 |

Arrival Rate | 0.7673 | 0.9621 | 1.428 | 1.213 |

Average Duration
| 18.67 | 21 | 24 | 17.34 |

Amended SLA | 90.00% | 92.00% | 97.00% | 90.00% |

Amended Average Duration
| 18.26 | 20.6 | 23.35 | 17.04 |

## Syntax

`AVGWAIT(Number of servers, Arrival rate, Average duration)`

## Arguments

Argument | Data type | Description |

Number of servers (required) | Number | The number of servers (for example, call center agents) available to process requests. |

Arrival rate (required) | Number | The interval between the arrival of each request. |

Average duration (required) | Number | The average duration it takes to process each request. |

The AVGWAIT function returns a number. This is the average waiting time for a request to be processed, using the same time unit as the *Arrival rate* and *Average duration* arguments.

## Additional information

### How the AVGWAIT function is calculated

The ANSWERTIME function calculates the solution to this equation:

In this equation:

- x is the
*Number of servers*. - y is the
*Arrival rate*. - z is the
*Average duration*. - a is the offered load, which is y multiplied by z.
- p is the offered load per server, which is a divided by x.

## Constraints

### Time unit for arguments

The *Arrival rate* and *Average duration* arguments do not have to use a specific time unit. For example, they can use seconds or minutes. However, both arguments must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first three line items contain the data for the AVGWAIT function for each call center:

- The scheduled number of servers to process requests
- The arrival rate, or interval between each request arriving
- The average duration it takes to complete requests

The fourth line item uses the AVGWAIT function to calculate what the average waiting time for a request to be processed given the number of servers, arrival rate, and average duration to process requests.

The fifth line item enables you to adjust the arrival rate of requests. The formula in the sixth line item uses the adjusted arrival. This enables you to see how the average waiting time changes given a different arrival rate. A value of Infinity is given for *Call Center 2* because the rate of incoming requests is higher than the ability to process them, which means that calls have to wait indefinitely.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Scheduled Number of Servers | 25 | 45 | 50 | 39 |

Request Arrival Rate | 0.84 | 0.93 | 0.69 | 0.68 |

Average Duration | 25 | 46 | 45 | 45 |

Average Waiting Time
| 1.9213063 | 13.4641512 | 0.00270453 | 0.53752576 |

Adjusted Arrival Rate | 0.9 | 1.1 | 0.89 | 0.77 |

Adjusted Average Waiting Time
| 5.07923029 | Infinity | 0.40000875 | 3.82731801 |

For example, you can use the ERLANGB function to ensure that a certain percentage of all requests are fulfilled.

## Syntax

`ERLANGB(Number of servers, 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. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The ERLANGB function returns a number, which is the probability a request is blocked.

## Additional information

### How Erlang B is calculated

Erlang B is the solution to this equation:

In this equation:

- x is the
*Number of servers*. - y is the
*Arrival rate*. - z is the
*Average duration*. - a is the offered load, which is y multiplied by z.

## Constraints

### Time unit for arguments

The *Arrival rate* and *Average duration* arguments do not have to use a specific time unit. For example, they can use seconds or minutes. However, both arguments must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first three line items contain the scheduled number of servers, arrival rate of requests, and average duration to fulfil requests. The fourth line item, *Blocking Possibility* calculates the possibility of a call being blocked using a formula.

The final two line items are a numeric line item, *Required Extra Agents*, to adjust the number of servers, and a formula that displays the blocking possibility after adjustment. This can be used to adjust the number of servers until the desired blocking possibility is reached (in this case, less than 5%).

Both of the line items that contain formulas use the **Percentage** format with two decimal places to display the possibility as a percentage.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Scheduled Number of Servers | 25 | 45 | 50 | 39 |

Request Arrival Rate | 0.76 | 0.93 | 1.4 | 1.2 |

Average Duration | 25 | 55 | 45 | 66 |

Blocking Possibility
| 3.63% | 18.58% | 24.74% | 51.88% |

Extra Servers | -1 | 12 | 19 | 46 |

Amended Blocking Possibility
| 4.85% | 4.69% | 4.57% | 4.60% |

For example, you can use the ERLANGC function to ensure that a certain percentage do not enter a queue.

## Syntax

`ERLANGC(Number of servers, 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. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The ERLANGC function returns a number, which is the probability a request is placed in an infinite queue.

## Additional information

### How Erlang C is calculated

Erlang C is the solution to this equation:

In this equation:

- x is the
*Number of servers*. - y is the
*Arrival rate*. - z is the
*Average duration*. - a is the offered load, which is y multiplied by z.
- p is the offered load per server, which is a divided by x.

## Constraints

### Time unit for arguments

The *Arrival rate* and *Average duration* arguments do not have to use a specific time unit. For example, they can be seconds or minutes. However, both arguments must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first three line items contain the scheduled number of servers, arrival rate of requests, and average duration to fulfil requests. The fourth line item, *Queuing Possibility* calculates the possibility of a call entering a queue using a formula.

The final two line items are a numeric line item, *Extra Agents*, to adjust the number of servers, and a formula that displays the blocking possibility after adjustment. This can be used to adjust the number of servers until the desired blocking possibility is reached (in this case, less than 15%).

Both of the line items that contain formulas use the **Percentage** format with two decimal places to display the possibility as a percentage.

Call Center 1 | Call Center 2 | Call Center 3 | Call Center 4 | |

Scheduled Number of Agents | 33 | 50 | 55 | 40 |

Request Arrival Rate | 0.76 | 0.87 | 1.35 | 2.81 |

Average Duration | 19.25 | 52.9 | 34.9 | 13.1 |

Queuing Possibility
| 0.00% | 46.04% | 18.93% | 50.41% |

Extra Agents | -13 | 5 | 1 | 5 |

Amended Queuing Possibility
| 13.26% | 13.93% | 14.65% | 13.48% |

For example, you can use this function to ensure that enough calls are answered within a target answer time to fulfil an SLA.

## 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 time after which each request must start to be processed. |

Arrival rate | Number | The interval between the arrival of each request. |

Average duration | Number | The average duration it takes to process each request. |

The SLA function returns a number, which is the percentage of calls answered within the *Target response time*.

## Additional information

### How SLA is calculated

The SLA is the solution to this equation:

`1- ERLANGC(x,a)e`

^{(a-x)t/z}`, where SLA ≠ 1`

In this equation:

- x is the
*Number of servers* - a is the
*Arrival rate*multiplied by the*Average duration* - t is the
*Target answer time*

## Constraints

### Time unit for arguments

The *Target response time*, *Arrival rate*, and *Average duration* arguments do not have to use a specific time unit. For example, they can be seconds or minutes. However, each argument must use the same time unit.

### Maximum number of servers

The maximum number you can use for the *Number of servers* argument is five million.

## Calculation engine functionality differences

## Examples

In this example, the *Call Centers* list is on columns, and line items on rows. The first four line items contain the data for the SLA function for each call center:

- The scheduled number of servers to process requests
- The target response time to begin processing requests within
- The interval between each request arriving
- The average duration it takes to complete requests

The fifth line item uses the SLA function to calculate what percentage of calls begin to be processed within the target response time.

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 response time it would be possible to begin processing requests in while maintaining an SLA (in this case, 95%).

**Percentage** format with two decimal places to display the possibility 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.22% | 72.50% | 37.83% | 93.39% |

Amended Target Response Time | 15 | 50 | 135 | 14 |

Updated SLA with amendment
| 95.22% | 95.03% | 95.10% | 95.21% |