How WFM Works
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.
The next image depicts the workflow, inputs, and outputs for WFM processing cycle:
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.
Contact center history and live metrics.
Event types to be managed by WFM.
Open (or business hours) for the queues or teams.
Configure shift templates, that can then be added to agents.
Forecasting special days.
Configure shift templates, that can then be added to agents.
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.
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.
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.
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.
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.
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.
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.
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.
A forecast primarily consists of predictions for CVO and AHT for any given time in a specified period. There will of course be variability, especially in scenarios where the volume is very low, but the forecast is the best tool to determine the correct scheduling allocations.
WFM takes into account a number of factors that might contribute to deviations in the volume including the time of day, day of the week, week of month, month of the year, holidays, campaigns, company growth, and any other special circumstances.
WFM also uses the forecasted workload to calculate Staffing Requirements (the expected number of agents needed at any given time to handle all the expected volume).
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.
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 (Preview)
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.
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.
To schedule each agent, WFM considers the following information, configuration and restrictions:
History information on contact center 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 and service level goals.
Events to schedule for each agent (shifts, breaks).
Shifts that the agents can work.
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:
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:
Run multiple searches for each week to find the best schedule, simulate between each search.
Applied on the final shifts generated by the scheduler, for all agents at once, but one day at a time.
Discrete event simulation, representing what would happen in a real contact center given the workload forecasted by WFM:
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:
- 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.
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.