Workforce Management: Overview

Talkdesk Workforce Management™ (WFM) uses data and information from what happened in the contact center in the past to forecast what will happen in the future, help determine the required staffing, create schedules, and predict/project key Contact Center performance metrics.

WFM Workflow

The next image depicts the workflow, inputs, and outputs for WFM processing cycle:

image (5).png

image (6).png


Workflow Steps




Agents are retrieved using APIs from the Talkdesk platform. All WFM-specific agent-related information is stored on WFM.


Queue (ring groups) are retrieved using APIs from the Talkdesk platform. For queues that are not managed on the Talkdesk platform (e.g., queues managed on Zendesk), dummy ring groups need to be created prior to WFM account creation.

Queue History

Contact center history and live metrics.

Event Types

Event types to be managed by WFM.

Open Hours

Open (or business hours) for the queues or teams.

Service Objectives

Configure shift templates, that can then be added to agents.

Special Days

Forecasting special days.

Shift Templates

Configure shift templates, that can then be added to agents.

Break Rules

Configure break rules, that can be added to agents.

Agent Scheduling Rules

Configure agent scheduling rules. Assign shift templates, break rules and define agent-specific information.


Define expected shrinkage for each queue.

Forecast Workload

Based on historical data for each queue (date, Contact Volume Offered - CVO, and Average Handle Time - AHT), WFM performs a forecast of what will happen in the contact center in the future, calculating CVO and AHT for a time period using multilinear regression and Box Cox.

Edit Forecasts

Once the forecasts are created, WFM Resource Planners can edit and adjust the forecast. This adjustment is based on Resource Planners’ experience and business knowledge that is not modeled by WFM (eg, new product launches, marketing campaigns, etc).

Once the forecast is edited for a particular date, it will be locked, i.e., it can be further edited by Resource Planners, but will not be modified by WFM.

Calculate Staffing Requirements

WFM calculates the staffing required to address the forecasted workload at the configured service levels, considering the open hours, patience and shrinkage for each queue, using Erlang-A.

Generate Schedules

WFM determines each agent’s schedule based on previously calculated staffing requirements, agent rules (including shift templates, break rules, agent-specific settings, and other restrictions), event types, and teams.

Periodic discrete event simulation is used to evaluate agent contributions based on their skills. WFM evaluates potential schedules using simulated annealing and an objective function to optimize the schedules.

View Scheduling Results

Resource planners can view the predicted/projected performance metrics for WFM, considering the forecasted workload and calculated schedules.

Release Schedules

WFM automatically releases the draft schedules, making them available for Agents.

Draft schedules can be modified by Resource Planners, while published/released schedules cannot be modified.

Surge Response

Learn more here.

Edit Schedules

Resource Planners can adjust the schedules produced by WFM. They can create, modify or delete events of any usage type (shifts, breaks, time offs and meetings), to fine-tune the schedule to the business needs.

View Schedules

WFM Resource Planners and Supervisors can review the draft schedules for each team and make changes and adjustments.

WFM Agents can only view their definitive (published or released) schedules.

Request Schedule Changes

Agents can request schedule changes (such as change shift start/end time, pick up extra hours, extend or move breaks, trade shifts with other agents, etc), time off (holidays, sick leaves, etc) or meetings. Supervisors and/or Resource Planners will approve or deny the requests, and WFM will automatically update the schedules.

Schedule Adherence 

Learn more here.


Tracks key operational metrics so you can take corrective action right away. This intra-day functionality provides a real-time, graphical view of forecasted, actual, and predicted contact volume, handle time, service-level statistics, and other critical information.


Forecasting in Talkdesk Workforce Management includes three core statistics:

  • Contact volume offered (CVO) is predicted for each 15-minute interval.
  • Average handle time (AHT) is predicted for each 15-minute interval.
  • Required staffing is calculated for each interval based on the predicted CVO and AHT.

CVO and AHT predictions use similar methods, so they will be described together below, although the process is performed independently for each statistic.

Selection of an appropriate forecast model is performed for each queue independently. This is done automatically at the beginning of each new forecast week, based on the data available at that time, with the following steps:

  • An initial screening of the queue’s data narrows the range of models to be tested. For example, queues with very low volume will be tested against different models than queues with high volume.
  • The applicable models are tested by using them to forecast recent completed weeks.
  • The model that produces the most accurate results for each queue is selected for that queue.

Once models are selected, forecasts can be generated:

  • The model for each queue is trained using the historical data for that queue.
  • Adjustments for designated holidays and identified outliers are handled as appropriate within each model.
  • CVO and AHT predictions are created/updated for every interval using the trained model(s) for all the weeks in the forecast timeline.
  • Where applicable, predicted values for intervals outside currently enforced business hours are removed.

Once CVO and AHT are forecast for all queues, required staffing is calculated for each interval. The calculations used vary depending on the service level (SL) threshold of each queue:

  • Staffing for queues with shorter SL thresholds is calculated using a modified Erlang formula.
  • Staffing for queues with longer SL thresholds is calculated as workload, then redistributed across the SL threshold window (within the queue’s open hours).
  • Shrinkage is then applied to the requirements for each interval.

On a nightly basis during the week, the previously selected model for each queue is re-trained with the latest historical data, and all forecast values are refreshed using the current configurations for the queue.


Smoothing Average Handle Time (AHT)

The AHT data for an interval can be subject to random spikes for various reasons, such as:

  • Individual contacts having an outsized impact due to low volume.
  • Agent misuse of the routing system, for example, going into a post-contact wrap-up state when they should be in a state that represents a break or meeting event.

Additionally, AHT may be missing from the initial forecast for some intervals due to lack of historical data, especially in queues or times of day with very low volumes.

To reduce the impact of these fluctuations on the forecasts for individual intervals, WFM smooths the forecasts by replacing the initial forecast values for each interval with a weighted average that includes forecast values from other intervals. For all intervals with a non-zero AHT forecast, the initial forecast is replaced with a moving weighted average:

  • For each interval, calculates a weighted average that includes the initially forecasted AHT for that interval and the four nearest intervals with AHT values.
  • If there are not four intervals, the average is based on the available intervals.
  • Weighting is based on the forecasted Contact Volume Offered (CVO) for each interval.

Fill-In of Missing AHT

For intervals where CVO>=0 and AHT=0, the 0 should be replaced with a weighted average of four non-zero intervals:

  • These should be the five nearest non-zero intervals to the target interval.
  • Weighting should be based on the forecasted Contact Volume Offered (CVO) for each interval.
  • If the forecast data set does not contain two non-zero intervals before the target interval (for example, if the target interval is one of the first intervals in the forecast), then it calculates the weighted average using the available non-zero intervals on the left (0, 1 or 2) and the available non-zero interval on the right (0, 1 or 2).

Carryover Rounding of Contact Volume Offered

Similarly to AHT, forecasted Contact Volume Offered (CVO) can be subject to random spikes, especially noticeable on low volume queues. To correct these artifacts, WFM processes the initial forecast applying carry-over rounding. The carryover rounding works as follows:

  • Calculate the daily total forecast (from the unrounded intervals) and round it to the nearest integer.
    For the first interval of the day, round the forecast down to the nearest integer.
  • Carry over the amount that is rounded down and add it to the next interval before rounding it.
  • For the last interval of the day, round up or down as needed to match the rounded daily total.

Processing Order

WFM performs the described tasks in the following order:

  1. Handle closed hours.
  2. Carry over rounding of CVO.
  3. Fill in missing AHT.
  4. Smooth AHT.

Intraday Reforecasting

Intraday Reforecasting helps optimize resource planning with forecast updates to proactively tackle unexpected contact volume changes. The forecasts adapt based on volume history taking into account your time zone, with regular intervals as frequent as every 30 minutes, enhancing intraday accuracy and mitigating the impacts of demand fluctuations.

The following diagram illustrates the reforecasting process:


Whenever WFM detects an anomaly, which can be an unexpected surge or drop in volume (when compared to the forecast), it will automatically trigger a reforecasting process, which will generate a new forecast for the affected queues.

The queues that are selected for intraday reforecast will have the forecast updated until the end of the current day, based on the account settings. The reforecasting process will also trigger an update to the metrics on the Team Schedule page.

Users with view permissions of the Forecast page, and with access to the affected queues (based on Ring Group Scoping configurations), will receive a notification upon reforecast triggering and also when it is completed. These notifications provide direct access to the Forecast page, filtered by the affected queues.

While a reforecast is in process, the Forecast, Team Schedule, and Insights pages will display an information message panel at the top. These panels also provide direct access to other relevant WFM pages, filtered by the affected queues.

Screenshot 2023-08-25 at 16.19.20.png



To calculate the optimal or near-optimal schedule for the contact center, WFM needs the following information:

  • Teams that have hours of operations (HOO), time zones, holidays, etc.
  • Employees and their work rules (shift types and activities that can be scheduled).
  • Staffing requirements (calculated from forecasts and goals).
  • Any existing schedule including unavailability, meetings, time off, etc.
  • Scheduling parameters.

Before scheduling, WFM checks the existing scenario for any issues. If there is a problem, an error is logged and, depending on the severity, the scheduling task is interrupted. If there is a problem with a specific queue, the queue is removed from the scheduling calculation.

The time period to schedule is configurable, and the schedules are calculated for the given period (one week at a time). Any schedules outside of this period are considered locked i.e., they are not modified by the scheduler.

Scheduling Considerations

To schedule each agent, WFM considers the following information, configuration and restrictions:

Item  Description
Queue History

History information on contact center workload.

Forecasted Workload

Forecasted workload (based on Contact Center history).


List of active agents and assigned queues, shift templates, break rules and other scheduling constraints.

Queue Configuration

Queue configuration and service level goals.

Event types

Events to schedule for each agent (shifts, breaks).

Shift Templates

Shifts that the agents can work.

Break Rules

Shift break rules (start time, duration), such as morning or afternoon breaks, lunch intervals.


Hard constraints (rules that can never be broken)

These are checked before a potential shift or event is created to make sure it's valid. Invalid hard constraints are omitted:

  • Allowed working days based on assigned shift templates.

  • Consistent Start times (weekly).

  • Maximum Consecutive days on (does span multiple weeks).

  • Maximum Consecutive days off (does span multiple weeks).

  • Operating hours (can not create a shift intersect time outside business hours).

  • Minimum spacing between shifts (11 hours).

Soft constraints (constraints that make the score worse if they are broken).

These are triggered when a shift or event is placed and modifies the score, e.g., when a shift is placed, its effect on the queues the agent can work in, is calculated and subtracted from the required staffing tallies. All soft constraints have the same weight:

  • Min Consecutive days On/Off.

  • Min Max paid hours.

  • Time Off Overlap and Meeting Overlap. Pick a shift that intersects if available; pick a shift with the most overlap.

  • Minimum Staffing
  • Staffing Diff per interval measures how far off the schedule is from the required staffing (understaffed is 250% worse).

Skill Groups and Skill Group Weights
  • Agents are divided into Skill Groups by the queues they can work.

  • When WFM places a shift, it applies the agent's contribution to each queue he can work (determined by the Skill Group Weight for that queue in that Skill Group), and runs interim simulations during scheduling to determine the values of the SGWs for that run.

  • The SGWs are computed after each interim simulation (see SGW invention disclosure for details).

WFM performs the following steps during schedule calculation:




Run multiple searches for each week to find the best schedule, simulate between each search.

  • Greedy search to fill in gaps in initial schedule.

  • Stochastic search to explore the search space.

  • Greedy search to make final adjustments.

Break Search

Applied on the final shifts generated by the scheduler, for all agents at once, but one day at a time.

Final Simulation

Discrete event simulation, representing what would happen in a real contact center given the workload forecasted by WFM:

  • Generate arrival events for each interaction (call, email, etc) and agent staffing changes.

  • Time starts at 0 seconds and advances as each event is processed.

  • When an interaction arrives, either an agent handles it immediately (and a handled event is added to the event list) or it's placed in a queue. The agent who's been waiting longest will take the interaction.

  • When an agent becomes available, they take an interaction from a queue that this agent can work, if one is available (immediate is higher priority than deferred). Otherwise, they wait for a new interaction to come.

This simulation provides predicted/projected metrics.


The scheduler uses a Discrete Event Simulation (see DES) to figure out what the agents will be doing based on the current schedule. There are two primary reasons to run simulations:

  1. The obvious one is to determine output statistics given the calculated schedules and forecasted workload (the predicted time series values, such as service level, occupancy, etc). It is not possible to determine accurate values for those metrics without simulation.
  2. More subtly, simulation can be used mid-scheduling to tweak how WFM schedules. After placing some combination of shifts, WFM runs a simulation to see if the schedule is performing as well as we expected. If not, it is adjusted based on the output of the simulation. In the case of the current simulation, WFM uses the amount of time each agent spent on each queue to calculate the Skill Group Weights and then uses those when placing a shift.

Currently, WFM schedules one week at a time, with 3 scheduling passes each week. After each pass, a simulation is performed to adjust the SGWs. Each simulation consists of several simulation instances that are aggregated together. Due to the random nature of the events in the simulation, it may not be possible to get an accurate depiction of the contact center with just one simulation, e.g., if a few calls randomly bunch up early on, it may create a cascading effect that's hard to get past.

Interim vs Final Simulation

There are a few differences between the simulation used during scheduling and the final simulation used to generate the statistics:

  • The arrival events for deferred queues in the interim simulations are generated from the staffing requirements, not the forecasted CVO. During scheduling, we are trying to place schedules that match the generated staffing requirements, which for deferred can be in a different interval than where the volume arrived. If the agents will be handling the deferred work later on and WFM is scheduling for that, it makes no sense to still have the volume being handled where it arrived in the simulation. So WFM simply generates it where it will be handled.
  • For similar reasons, during the interim simulations, WFM abandons deferred work at the end of the interval it came in if it's not handled by the end of it. Since WFM generates just enough deferred staffing in each interval to be able to handle it all, if it is not possible to finish part of the work WFM needs to adjust its factors (e.g. SGWs) in that interval. WFM will not roll over the remaining deferred volume to the next interval.
  • The interim simulations only need to simulate the period being scheduled, while the final simulation is performed for the entire simulation period.

Chat and SGW calculation

WFM is not splitting the skill groups up per different number of chats, e.g., agent with same skill C and one chat session will be in the same Skill Group as agent with skill C and five chat sessions. Doing so would potentially lead to a massive increase in the number of Skill Groups and decrease their usefulness. However, WFM can’t just use the same SGW for an agent who is only working on one chat as an agent who works 5.

This is addressed by:

  • When calculating the SGWs, WFM adjusts each agent's contribution by their number of chats.
  • When placing a shift, WFM adjusts each agent's contribution by their number of chats.


There are currently two schedule versions, "Draft" and "Release":

  • The Draft schedule is a work in progress and what the Supervisor works within the Team Schedule screen.
  • The Release schedule is the public schedule and what the Agent sees in the My Schedule screen.

Releasing a Schedule

  • The release of a schedule is currently an operation that happens after forecasting and scheduling runs are complete and operates based on the configured account release window (there is not currently a UI for this but Talkdesk can make changes by account).
  • The default account release window starts at the beginning of the week the current date falls in and goes for 6 weeks after that.
  • Any time a schedule completes, the release process looks at the Draft Edition schedules within the release window, based on today’s date, and proceeds to run through logic to produce a Release Edition version of that schedule for Agents.
  • The release process only considers Draft Edition schedules within the window so any Draft Edition schedules that exist beyond the window will not be released to the agents.

Additional Resources


All Articles ""
Please sign in to submit a request.