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:
Workflow Steps
Step |
Description |
Agents |
Agents are retrieved using APIs from the Talkdesk platform. All WFM-specific agent-related information is stored on WFM. |
Queues |
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. |
Shrinkage |
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 | |
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 | |
Insights |
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
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:
- Handle closed hours.
- Carry over rounding of CVO.
- Fill in missing AHT.
- 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.
Scheduling
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). |
Agents |
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. |
Rules |
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:
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:
|
Skill Groups and Skill Group Weights |
|
WFM performs the following steps during schedule calculation:
Step |
Description |
Schedule |
Run multiple searches for each week to find the best schedule, simulate between each search.
|
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:
This simulation provides predicted/projected metrics. |
Simulation
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:
- 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.
- 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.
Editions
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