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.
Table of Contents
- Scheduling Considerations
- Simulation
- Interim vs Final Simulation
- Chat and SGW calculation
- Editions
- Releasing a Schedule
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.