The invention is in the field of generating complex schedules in dynamic environments, such as multi-contact centers.
Generating schedules for employees is a complex problem for enterprises. Telephone call center scheduling is an example of a scheduling problem with a large number of variables. Variables include contact volume at a particular time of day, available staff, skills of various staff members, call type (e.g., new order call and customer service call), and number of call queues, where a queue may be assigned a particular call type. A basic goal of call center scheduling is to minimize the cost of operators, or agents, available to answer calls while maximizing service. Quality of service, or service level, can be quantified in various ways. One common metric for call service level is the percentage of incoming calls answered in a predetermined time, e.g. thirty seconds. The call center may receive calls of various types that are assigned to respective call queues.
Traditionally, call center scheduling is performed by first forecasting incoming contact volumes and estimating average talk times for each time period t (based on past history and other measures). The forecast is based upon historical data. Next, a closed-form formula known as reverse Erlang-C is used to compute full-time equivalent (FTE) agent requirement to provide a desired service level for each time period t. Such a method is described in Elementary Queuing Theory and Telephone Traffic, by Petr Beckmann, 1977, and in Lee's ABC of the Telephone Training Manuals, Geneva, Ill. After the FTE agent requirement are computed, the required number of agents is scheduled for each time period t.
At a call center, calls of different types are typically placed onto different queues by an Automatic Call Distributor (ACD). The calls wait at the ACD for an operator to answer them. The ACD is typically for handling telephone calls. Different types of calls are assigned to different call queues. Typically, not all agents have the same skills, and thus some agents can answer some calls while other agents cannot. Scheduling for varying agent skill sets is the skill-based scheduling problem. The skill-based scheduling problem is considerably more difficult than the basic call center scheduling problem because of all the interactions between queues. Typical approaches to solving the skill-based scheduling problem involve variations on an Erlang formula. The Erlang formulas are useful for computing staffing requirements for telephone contacts where the average contact volume is high, service level requirements are stringent, the task of answering a telephone call is not interruptible, and an agent can only answer one telephone call at a given time. Service level is expressed as a percentage of incoming calls that can be answered in within a maximum time limit. An example of stringent service levels is 80%-90% of incoming calls to be answered within 20-60 seconds.
In the past few years, however, call centers have evolved into “contact centers” in which the agent's contact with the customer can be through many contact media. For example, a multi-contact call center may handle telephone, email, web callback, web chat, fax, and voice over internet protocol (IP). Therefore, in addition to variation in the types of calls (e.g., service call, order call), modern contact centers have the complication of variation in contact media. The variation in contact media adds complexity to the agent scheduling process. For example, one of the ways in which contact media can vary markedly is in time allowed for response to the contact. Telephone calls are typically expected to be answered when they are received, or in “real-time”. If a caller does not receive a real-time answer in a fairly short time, the caller hangs up, abandoning the call. If a contact is by email or fax, on the other hand, the customer does not expect a real-time response. Therefore response times for various contact media vary from seconds to days.
Call centers have traditionally had to respond immediately to their telephone customers, and therefore the incoming telephone call queues are called on-line queues. In multi-contact call centers, however, an agent may be required to respond to incoming customer contacts from other queues, such as e-mail and faxed requests, in addition to responding to customer contacts from “immediate” queues, such as telephone calls and computer chats. Email and fax contact do not require immediate responses, but can be deferred. As with traditional telephone call centers, agents can only answer the types of calls for which they have the appropriate training and/or experience. Because all agents must be scheduled across immediate and deferred queues, in addition to all of the traditional scheduling constraints, the multi-contact scheduling problem is considerably complex.
Common techniques for scheduling staff in contact centers that have both immediate and deferred queues are inadequate. For example, in typical scheduling techniques, immediate queues are dealt with in terms of immediate performance measures such as average time to answer and service level. Deferred queues are considered only secondarily. Deferred queues are often simply scheduled into the day during lulls in on-line queue demand. No consideration is given to a projected or expected performance of deferred queues.
There are currently no known methods for effectively computing staffing requirements for e-mail, chat, Web callback, and other new media given certain service level requirements and contact arrival rates. Erlang formulas cannot be used because off-line contact media do not conform to Erlang's queuing theory models. Some of the aspects of deferred contacts that do not conform with Erlang models include the interruptibility of tasks, the fact that multiple contacts may be handled simultaneously, and the fact that service levels can be in hours or days, rather than seconds. This limits the effectiveness of the multi-contact center because there is no common performance measure for immediate and deferred queues, and thus no way to assess possible trade-offs between assigning agents to immediate queues versus deferred e queues. Another disadvantage of current scheduling methods that a call center manager cannot visualize queue performance in a type-independent manner and therefore must make adjustments to the schedule without the benefit of data to direct the adjustments.
A method and apparatus for multi-contact scheduling is described. Embodiments of the invention can be used with existing scheduling software to produce agent schedules for contact centers that handle on-line “immediate” and off-line “deferred” contact queues. One embodiment includes scheduling software receiving a scheduling data from a user interface, and the scheduling software generating scheduling constraints. A search engine uses the scheduling constraints to generate potential schedules, including potential schedules for immediate queues, and potential schedules for deferred queues. An analysis is performed on the potential schedules for the immediate queues. The analysis for the immediate queues can be preformed using existing analysis tools. In addition, an analysis is performed on the potential schedules for the deferred queues. The analyses produce estimated service levels expressed in interchangeable units. The immediate and deferred queues can thus be commonly assessed, allowing the choice of a schedule that is optimized both for immediate queues and deferred queues.
A method and apparatus for multi-contact scheduling is described. Embodiments of the invention allow scheduling of immediate contact queues and deferred contact queues for a contact center. Potential agent schedules are analyzed and estimated service levels are generated for both immediate queues and deferred queues in common units. An optimized schedule that takes into account all types of contacts can thus be generated.
One example of a complex schedule is an agent schedule for a multi-contact center, or contact center. A contact center is an organization that responds to incoming contacts from customers of an enterprise. The incoming contacts are via any one of a number of contact media, such as telephone calls, email, fax, web chat, voice over internet protocol, and call backs. An agent is an employee that is trained to respond to various contacts according to both the content and the medium of the contact. Each agent can have a different skill set. For example, one agent may be trained to answer live telephone help inquiries regarding certain products, respond to email regarding certain products, receive telephone purchase orders for certain products, etc. Typically, incoming contacts are assigned to different queues based upon the content and/or medium of the contact. In embodiments of the invention, contact queues are divided into at least two types of queues. One type of queue is an immediate queue for contacts that can be abandoned and should be responded to in real-time, such as telephone calls. Another type of queue is a deferred queue for contacts that cannot be abandoned (at least not immediately) and should be responded to within some time period after receipt, such as email or fax.
An agent may be assigned to multiple contact queues within a time period. A contact queue typically handles one type of contact requiring a particular skill or skills. The possible number of skill sets includes every permutation of combinations of the existing skills in the organization. Each agent has a particular skill set, but the skill sets among different agents may overlap. In embodiments of the invention, as described more fully below, a user who is performing scheduling can produce a schedule that most efficiently uses available agents across contact media, taking into account the widely varying acceptable response times of different contact media. For example, telephone calls must be responded to in seconds, while fax contacts may be responded to in some number of days.
Traditionally there are two important measures for immediate queue performance. One measure is percentage of calls answered, or PCA, which represents the service level provided by the queue. The other measure is based upon the number of agents servicing a queue (agents available) and the number of agents required on the queue (agents required) in order to meet service level goals. Embodiments of the invention estimate values of PCA, agents available, and agents required for deferred queues using discrete mathematical analysis as further described below. Any other performance measures may be used in various embodiments, such as average speed to answer. Embodiments of the invention present the performance measures for immediate and deferred queues in an identical way, which facilitates visualization of potential schedules and human decision-making.
At 204, scheduling software receives the scheduling data. The scheduling software is an existing tool for analyzing the scheduling data and generating scheduling constraints, including workload forecasts and service goals. The scheduling constraints are sent to a search engine at 206. The search engine generates potential schedules for analysis. At 208, analysis of schedules for deferred queues is performed to produce estimated service levels for the deferred queues according to the potential schedule that was analyzed. The analysis of 208 is performed using a forward-push discrete event modeler which estimates PCA for deferred queues given the workload and capacity in any given interval within the schedule period. PCA for deferred queues is used by the agent requirement scoring function at 210, along with service goals, to produce an agent requirement score. The analysis of 208 will be described more fully with reference to
In another embodiment, which will now be described with reference to the flow diagram of
In one embodiment, the queue analysis designated by 208 in
Referencing Table 1, the forward push modeler iterates over all intervals starting with the earliest interval and subtracts the capacity from the first interval's workload until all of the first interval's workload is completed. Next, the forward push modeler starts with the second earliest interval and subtracts the capacity from the second interval's workload until all of the second interval's workload is completed. This continues until all of the capacity is used or all of the workload is completed.
Referencing Table 2, the forward push modeler returns an approximate percentage workload completed within that service time by evaluating the workload remaining (if any) once the number of intervals in the service goal time has elapsed. The percentage workload completed is interchangeable with the traditional measure of PCA, and will be referred to as PCA herein. In Table 2, the service goal time is two intervals. The average speed to answer (ASA) is computed by doing a weighted average of the amounts of workload completed in various intervals and the time elapsed. Interval 1 in Table 2 would have a PCA of 80% because 80 seconds of workload out of 100 seconds were completed within two intervals. In various embodiments, other performance measure than PCA can be determined.
Agents available and agents required are computed from the results of the forward push modeler such that the trade-offs with immediate queues that typically have explicit agent requirement can be computed and compared. Agent requirement is calculated by multiplying the workload and the required service goal percentage. Agents available is calculated by multiplying the workload and the PCA and adding the remaining capacity, of there is any. If agent requirement is greater than agents available, then the contact center is understaffed. If agents available is greater than agent requirement, then the contact center is overstaffed. Put another way, PCA exceeds required service goal percentage, or there is unused capacity. With reference to Table 3, the example above, the required service goal percentage is 70 and the service goal time is two intervals. The agent requirement and agents available are shown for each interval in the schedule period.
The agents required formula generates the agents required figure from the workload for every interval and the service goal for every interval. The agent requirement score formula 412 receives the agents available figure and the agents required figure and outputs an agent requirement score for the schedule period.
The invention has been described with reference to specific embodiments and examples. The scope of the invention is defined by the claims, and includes modifications that may be made by one of ordinary skill in the art.
This application is a continuation of application Ser. No. 09/846/016, filed Apr. 30, 2001, now U.S. Pat. No. 6,952,732 which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3594919 | De Bell et al. | Jul 1971 | A |
3705271 | De Bell et al. | Dec 1972 | A |
4510351 | Costello et al. | Apr 1985 | A |
4684349 | Ferguson et al. | Aug 1987 | A |
4694483 | Cheung | Sep 1987 | A |
4763353 | Canale et al. | Aug 1988 | A |
4815120 | Kosich | Mar 1989 | A |
4924488 | Kosich | May 1990 | A |
4953159 | Hayden et al. | Aug 1990 | A |
5016272 | Stubbs et al. | May 1991 | A |
5101402 | Chiu et al. | Mar 1992 | A |
5111391 | Fields et al. | May 1992 | A |
5117225 | Wang | May 1992 | A |
5185780 | Leggett | Feb 1993 | A |
5195172 | Elad et al. | Mar 1993 | A |
5210789 | Jeffus et al. | May 1993 | A |
5239460 | LaRoche | Aug 1993 | A |
5241625 | Epard et al. | Aug 1993 | A |
5267865 | Lee et al. | Dec 1993 | A |
5289368 | Jordan et al. | Feb 1994 | A |
5299260 | Shaio | Mar 1994 | A |
5311422 | Loftin et al. | May 1994 | A |
5315711 | Barone et al. | May 1994 | A |
5317628 | Misholi et al. | May 1994 | A |
5325292 | Crockett | Jun 1994 | A |
5347306 | Nitta | Sep 1994 | A |
5369570 | Parad | Nov 1994 | A |
5388252 | Dreste et al. | Feb 1995 | A |
5396371 | Henits et al. | Mar 1995 | A |
5432715 | Shigematsu et al. | Jul 1995 | A |
5465286 | Clare et al. | Nov 1995 | A |
5475625 | Glaschick | Dec 1995 | A |
5477447 | Luciw et al. | Dec 1995 | A |
5481667 | Bieniek et al. | Jan 1996 | A |
5485569 | Goldman et al. | Jan 1996 | A |
5491780 | Fyles et al. | Feb 1996 | A |
5499291 | Kepley | Mar 1996 | A |
5535256 | Maloney et al. | Jul 1996 | A |
5572652 | Robusto et al. | Nov 1996 | A |
5577112 | Cambray et al. | Nov 1996 | A |
5590171 | Howe et al. | Dec 1996 | A |
5594790 | Curreri et al. | Jan 1997 | A |
5597312 | Bloom et al. | Jan 1997 | A |
5619183 | Ziegra et al. | Apr 1997 | A |
5659768 | Forbes et al. | Aug 1997 | A |
5696906 | Peters et al. | Dec 1997 | A |
5717879 | Moran et al. | Feb 1998 | A |
5721842 | Beasley et al. | Feb 1998 | A |
5742670 | Bennett | Apr 1998 | A |
5748499 | Trueblood | May 1998 | A |
5778182 | Cathey et al. | Jul 1998 | A |
5784452 | Carney | Jul 1998 | A |
5790798 | Beckett, II et al. | Aug 1998 | A |
5796952 | Davis et al. | Aug 1998 | A |
5809247 | Richardson et al. | Sep 1998 | A |
5809250 | Kisor | Sep 1998 | A |
5822400 | Smith | Oct 1998 | A |
5825869 | Brooks et al. | Oct 1998 | A |
5835572 | Richardson, Jr. et al. | Nov 1998 | A |
5862330 | Anupam et al. | Jan 1999 | A |
5864772 | Alvarado et al. | Jan 1999 | A |
5884032 | Bateman et al. | Mar 1999 | A |
5907680 | Nielsen | May 1999 | A |
5917485 | Spellman et al. | Jun 1999 | A |
5918214 | Perkowski | Jun 1999 | A |
5923746 | Baker et al. | Jul 1999 | A |
5930764 | Melchione et al. | Jul 1999 | A |
5933811 | Angles et al. | Aug 1999 | A |
5944791 | Scherpbier | Aug 1999 | A |
5948061 | Merriman et al. | Sep 1999 | A |
5958016 | Chang et al. | Sep 1999 | A |
5963635 | Szlam et al. | Oct 1999 | A |
5964836 | Rowe et al. | Oct 1999 | A |
5966695 | Melchione et al. | Oct 1999 | A |
5978648 | George et al. | Nov 1999 | A |
5982857 | Brady | Nov 1999 | A |
5987466 | Greer et al. | Nov 1999 | A |
5990852 | Szamrej | Nov 1999 | A |
5991373 | Pattison et al. | Nov 1999 | A |
5991796 | Anupam et al. | Nov 1999 | A |
6005932 | Bloom | Dec 1999 | A |
6009429 | Greer et al. | Dec 1999 | A |
6014134 | Bell et al. | Jan 2000 | A |
6014647 | Nizzari et al. | Jan 2000 | A |
6018619 | Allard et al. | Jan 2000 | A |
6021403 | Horvitz et al. | Feb 2000 | A |
6021428 | Miloslavsky | Feb 2000 | A |
6035332 | Ingrassia et al. | Mar 2000 | A |
6038544 | Machin et al. | Mar 2000 | A |
6039575 | L'Allier et al. | Mar 2000 | A |
6044355 | Crockett et al. | Mar 2000 | A |
6057841 | Thurlow et al. | May 2000 | A |
6058163 | Pattison et al. | May 2000 | A |
6061798 | Coley et al. | May 2000 | A |
6064973 | Smith et al. | May 2000 | A |
6072860 | Kek et al. | Jun 2000 | A |
6076099 | Chen et al. | Jun 2000 | A |
6078894 | Clawson et al. | Jun 2000 | A |
6081592 | Battle | Jun 2000 | A |
6091712 | Pope et al. | Jul 2000 | A |
6108711 | Beck et al. | Aug 2000 | A |
6115693 | McDonough et al. | Sep 2000 | A |
6122665 | Bar et al. | Sep 2000 | A |
6122668 | Teng et al. | Sep 2000 | A |
6130668 | Stein | Oct 2000 | A |
6134530 | Bunting et al. | Oct 2000 | A |
6138139 | Beck et al. | Oct 2000 | A |
6144991 | England | Nov 2000 | A |
6146148 | Stuppy | Nov 2000 | A |
6151622 | Fraenkel et al. | Nov 2000 | A |
6154771 | Rangan et al. | Nov 2000 | A |
6157808 | Hollingsworth | Dec 2000 | A |
6171109 | Ohsuga | Jan 2001 | B1 |
6182094 | Humpleman et al. | Jan 2001 | B1 |
6195679 | Bauersfeld et al. | Feb 2001 | B1 |
6201948 | Cook et al. | Mar 2001 | B1 |
6211451 | Tohgi et al. | Apr 2001 | B1 |
6225993 | Lindblad et al. | May 2001 | B1 |
6230197 | Beck et al. | May 2001 | B1 |
6236977 | Verba et al. | May 2001 | B1 |
6244758 | Solymar et al. | Jun 2001 | B1 |
6282548 | Burner et al. | Aug 2001 | B1 |
6286030 | Wenig et al. | Sep 2001 | B1 |
6286046 | Bryant | Sep 2001 | B1 |
6288753 | DeNicola et al. | Sep 2001 | B1 |
6289340 | Puram et al. | Sep 2001 | B1 |
6301462 | Freeman et al. | Oct 2001 | B1 |
6301573 | McIlwaine et al. | Oct 2001 | B1 |
6324282 | McIlwaine et al. | Nov 2001 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
6351467 | Dillon | Feb 2002 | B1 |
6353851 | Anupam et al. | Mar 2002 | B1 |
6360250 | Anupam et al. | Mar 2002 | B1 |
6370574 | House et al. | Apr 2002 | B1 |
6389132 | Price | May 2002 | B1 |
6404857 | Blair et al. | Jun 2002 | B1 |
6411989 | Anupam et al. | Jun 2002 | B1 |
6418471 | Shelton et al. | Jul 2002 | B1 |
6449646 | Sikora et al. | Sep 2002 | B1 |
6459787 | McIlwaine et al. | Oct 2002 | B2 |
6487195 | Choung et al. | Nov 2002 | B1 |
6493446 | Cherry | Dec 2002 | B1 |
6493758 | McLain | Dec 2002 | B1 |
6502131 | Vaid et al. | Dec 2002 | B1 |
6510220 | Beckett, II et al. | Jan 2003 | B1 |
6535909 | Rust | Mar 2003 | B1 |
6542602 | Elazar | Apr 2003 | B1 |
6546405 | Gupta et al. | Apr 2003 | B2 |
6560328 | Bondarenko et al. | May 2003 | B1 |
6574605 | Sanders et al. | Jun 2003 | B1 |
6581105 | Miloslavsky et al. | Jun 2003 | B2 |
6583806 | Ludwig et al. | Jun 2003 | B2 |
6584191 | McPartlan et al. | Jun 2003 | B1 |
6606657 | Zilberstein et al. | Aug 2003 | B1 |
6661889 | Flockhart et al. | Dec 2003 | B1 |
6665395 | Busey et al. | Dec 2003 | B1 |
6665644 | Kanevsky et al. | Dec 2003 | B1 |
6674447 | Chiang et al. | Jan 2004 | B1 |
6683633 | Holtzblatt et al. | Jan 2004 | B2 |
6697858 | Ezerzer et al. | Feb 2004 | B1 |
6724887 | Eilbacher et al. | Apr 2004 | B1 |
6738456 | Wrona et al. | May 2004 | B2 |
6744877 | Edwards | Jun 2004 | B1 |
6757361 | Blair et al. | Jun 2004 | B2 |
6771764 | Dezonno | Aug 2004 | B1 |
6772396 | Cronin et al. | Aug 2004 | B1 |
6775377 | McIlwaine et al. | Aug 2004 | B2 |
6792575 | Samaniego et al. | Sep 2004 | B1 |
6810414 | Brittain | Oct 2004 | B1 |
6820083 | Nagy et al. | Nov 2004 | B1 |
6823384 | Wilson et al. | Nov 2004 | B1 |
6870916 | Henrikson et al. | Mar 2005 | B2 |
6901438 | Davis et al. | May 2005 | B1 |
6952732 | Nourbakhsh et al. | Oct 2005 | B2 |
6959078 | Eilbacher et al. | Oct 2005 | B1 |
6965886 | Govrin et al. | Nov 2005 | B2 |
6970829 | Leamon | Nov 2005 | B1 |
7092509 | Mears et al. | Aug 2006 | B1 |
7155399 | Andre et al. | Dec 2006 | B2 |
7158629 | Rodenbusch et al. | Jan 2007 | B2 |
20010000962 | Rajan | May 2001 | A1 |
20010032335 | Jones | Oct 2001 | A1 |
20010043697 | Cox et al. | Nov 2001 | A1 |
20020038363 | MacLean | Mar 2002 | A1 |
20020052948 | Baudu et al. | May 2002 | A1 |
20020065911 | Von Klopp et al. | May 2002 | A1 |
20020065912 | Catchpole et al. | May 2002 | A1 |
20020067820 | Benson et al. | Jun 2002 | A1 |
20020128925 | Angeles | Sep 2002 | A1 |
20020143597 | Andre et al. | Oct 2002 | A1 |
20020143925 | Pricer et al. | Oct 2002 | A1 |
20020165954 | Eshghi et al. | Nov 2002 | A1 |
20030055883 | Wiles et al. | Mar 2003 | A1 |
20030079020 | Gourraud et al. | Apr 2003 | A1 |
20030144900 | Whitmer | Jul 2003 | A1 |
20030154240 | Nygren et al. | Aug 2003 | A1 |
20040100507 | Hayner et al. | May 2004 | A1 |
20040165717 | McIlwaine et al. | Aug 2004 | A1 |
20050138560 | Lee et al. | Jun 2005 | A1 |
Number | Date | Country |
---|---|---|
0453128 | Oct 1991 | EP |
0773687 | May 1997 | EP |
0 817 455 | Jan 1998 | EP |
0 863 650 | Sep 1998 | EP |
0 863 651 | Sep 1998 | EP |
0989720 | Mar 2000 | EP |
1 039 732 | Sep 2000 | EP |
1 162 814 | Dec 2001 | EP |
2 339 643 | Feb 2000 | GB |
2369263 | May 2002 | GB |
WO 9843380 | Nov 1998 | WO |
WO 0008556 | Feb 2000 | WO |
WO 0008556 | Feb 2000 | WO |
WO 0016207 | Mar 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20050125439 A1 | Jun 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09846016 | Apr 2001 | US |
Child | 11037604 | US |