A method and apparatus are provided for performing staffing-based percentage-allocation routing using real-time data. According to one aspect of the present invention, transaction allocation is determined using both scheduled and actual handling resources. actual handling resources associated with each of several transaction processing systems, such as automatic call distributors (ACDs), are measured at times t and t+n. Scheduled handling resources associated with each of the transaction processing systems for times t and t+n are also identified. Then, estimated handling resources are calculated for each of the transaction processing systems for time t+n based upon the actual handling resources and the scheduled handling resources. Finally, based upon the estimated handling resources, transaction allocations for each of the transaction processing systems are determined. According to another aspect of the present invention, a virtual call center is provided. The virtual call center includes a wide area network (WAN), multiple call centers coupled to the WAN, and an allocation controller coupled to the WAN. Each of the call centers includes a transaction processing system. The allocation controller is configured to calculate allocation sets for one or more forecast periods based upon scheduled staffing levels and actual staffing level information received from the transaction processing systems. The allocation sets include percent allocations for each of the transaction processing systems. The allocation controller is additionally configured to balance call distribution among the transaction processing systems by uploading the allocation sets to an inter-exchange carrier interface.
|
4. A method of distributing transactions among a plurality of transaction processing systems, the method comprising the steps of:
determining a ratio of actual handling resources associated with each of a plurality of transaction processing systems to scheduled handling resources for each of the plurality of transaction processing systems at time t; calculating estimated handling resources for each of the plurality of transaction processing systems at time t+n based upon the ratio and scheduled handling resources for each of the plurality of transaction processing systems at time t+n; and causing transactions to be distributed among the plurality of transaction processing systems based upon the estimated handling resources.
5. A method of distributing transactions among a plurality of transaction processing systems, the method comprising the steps of:
determining a relationship between actual handling resources associated with each of a plurality of transaction processing systems and scheduled handling resources for each of the plurality of transaction processing systems; calculating estimated handling resources for each of the plurality of transaction processing systems at time t based upon the relationship and scheduled handling resources for each of the plurality of transaction processing systems at time t; and causing transactions to be distributed among the plurality of transaction processing systems based upon the estimated handling resources.
1. A method of distributing transactions among a plurality of transaction processing systems, the method comprising the steps of:
identifying actual handling resources associated with each of a plurality of transaction processing systems at time t; identifying scheduled handling resources for each of the plurality of transaction processing systems at time t+n; calculating estimated handling resources for each of the plurality of transaction processing systems at time t+n based upon the actual handling resources and the scheduled handling resources; and causing transactions to be distributed among the plurality of transaction processing systems based upon the estimated handling resources for each of the plurality of transaction processing systems.
2. The method of
3. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
where, W represents the weight to be given to actual handling resource information, l(t) represents the trend of the deviation of the actual handling resources from the scheduled handling resources at time t, and f(t) represents the scheduled handling resources at time t.
|
This application claims the benefit of U.S. Provisional Application Ser. No. 60/122,585, filed Mar. 2, 1999 entitled "Staffing-Based Allocation Routing Using Real-Time Data".
Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
1. Field of the Invention
The invention relates generally to the field of transaction processing. More particularly, the invention relates to a method and apparatus for statistically distributing transactions among transaction processing systems of a virtual transaction processing center based on scheduled staffing levels and real-time observed actual positions staffed.
2. Description of the Related Art
Call centers are sites at which incoming customer phone calls, such as 800 calls, are received and answered by agents. Typically, each call center is staffed by agents associated with one or more skill groups or agents having experience with one or more types of applications/calls. In this manner, a particular call may be routed to an agent having an appropriate level of expertise for handling the call. For example, an agent might belong to a skill group that services Spanish-speaking callers and/or a group that handles English-speaking callers.
Additionally, today's call centers are no longer centralized in a single location. As a result, enterprises must coordinate call centers across multiple physical sites. While workforce management software offers resource planning solutions, including forecasts of call volumes and arrival patterns, and staffing calculations based on desired service quality, a difficult issue in multisite call center integration is balancing call loads among multiple locations.
One of two approaches is typically employed for performing dynamic call distribution to achieve load balancing, (1) routing on an individual call-by-call basis and (2) percentage-allocation routing. In general, call-by-call routing typically involves the use of a carrier feature, such as AT&T's Intelligent Call Processing (ICP), MCI's Intelligent Call Router (ICR), or Sprint's Sprint Interface to External Routing Processor (SITERP), that allows a telephone customer to which a call is destined the opportunity to select call routing terminations on a call-by-call basis. Briefly, upon receiving an incoming 800 call, for example, the carrier's Service Control Point (SCP) server sends a route request, including various call characteristics, such as the dialed number identification service (DNIS), the calling party's number/billing number (ANI), and/or caller entered digits (CED), e.g., account number, credit card number, social security number, or other identification number, to a route controller at the called organization's premises. The organization's route controller (referred to as a Customer Routing Point (CRP), a Customer Access Point (CAP), and a Customer Routing Processors (CRP) by AT&T, MCI and Sprint, respectively) provides a routing decision to the SCP based upon real-time data collected from the organization's call centers, including handling resources (e.g., agents) at each center, call load, skills, and agent availability. Finally, the carrier routes the call to the destination indicated by the route controller.
In contrast, percentage-allocation routing does not individually process each incoming call based on real-time data to arrive at a routing decision. Rather, percentage-allocation routing refers to a mechanism that distributes calls to call centers according to preset percentage allocations associated with each of an organization's call centers for the current time segment. Briefly,: based upon scheduled staffing levels, historical call data (e.g., call volume, average handle time), and the desired service quality for each call center, percent allocations for one or more future time segments are generated for the call centers and uploaded to the carrier network. Subsequently, routing is performed internal to the carrier network according to the preset percentages corresponding to the current time segment. AT&T's Quick Call Allocator is an example of such a routing management service.
Having described call-by-call routing based upon real-time data and percentage-allocation routing based upon schedule data, some limitations of these prior approaches will now be illustrated with reference to FIG. 1.
A further disadvantage of the above-described call-by-call approach is the expense of implementing the solution. Call-by-call solutions have significant up-front costs for route controller hardware and software and substantial ongoing variable costs such as a service subscription with the carrier that typically includes charges for each call that is pre-routed.
In light of the foregoing, what is needed is an intelligent, cost-effective call distribution mechanism. In addition, it would be advantageous to have a pre-call routing solution that is proactive and achieves a better balance of call loads among multiple locations by more accurately predicting the actual number of agents for a future time interval.
A method and apparatus for performing staffing-based percentage-allocation routing using real-time data are described. According to one aspect of the present S invention, transaction allocation is determined using both scheduled and actual handling resources Actual handling resources associated with each of several transaction processing systems are measured at times t and t+n. Scheduled handling resources associated with each of the transaction processing systems for times t and t+n are also identified. Then, estimated handling resources are calculated for each of the transaction processing systems for time t+n based upon the actual handling resources and the scheduled handling resources. Finally, based upon the estimated handling resources, transaction allocations for each of the transaction processing systems are determined.
According to another aspect of the present invention, transactions are distributed based upon both scheduled and actual handling resources. A relationship is determined between actual handling resources and scheduled handling resources associated with each of several transaction processing systems. Based upon the relationship and scheduled handling resources at time t, estimated handling resources for each of the transaction processing systems are calculated for time t. Subsequently, transactions are caused to be distributed among the transaction processing systems based upon the estimated handling resources.
According to yet another aspect of the present invention, a virtual call center is provided. The virtual call center includes a wide area network (WAN), multiple call centers coupled to the WAN, and an allocation controller coupled to the WAN. Each of the call centers includes a transaction processing system. The allocation controller is configured to calculate allocation sets for one or more forecast periods based upon scheduled staffing levels and actual staffing level information received from the transaction processing systems. The allocation sets include percent allocations for each of the transaction processing systems. The allocation controller is additionally configured to balance call distribution among the transaction processing systems by uploading the allocation sets to an inter-exchange carrier interface.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
A method and apparatus for performing staffing-based percentage-allocation routing using real-time data are described. Broadly stated, according to the present invention, transactions may be routed to one of a number of transaction processing systems according to preset allocation percentages that are derived from a combination of real-time actual staffing information and scheduled staffing levels. For example, according to one embodiment of the present invention, using schedule information in combination with current actual staffing information acquired directly from automatic call distributors (ACDs) in each call center of a virtual call center, one or more allocation sets may be periodically generated and uploaded to an interexchange carrier (IXC). Incoming calls are subsequently routed to an appropriate ACD according to the allocation percentages specified by the current allocation set. In this manner, a cost-effective, proactive, dynamic pre-call routing mechanism may be achieved. According to another aspect of the present invention, the schedule information may additionally be adjusted based on site-specific factors, such as local call traffic and average handle time (AHT) to arrive at the percentage of calls that should be distributed to each location. These and other enhancements seek to provide a powerful and flexible pre-call routing solution.
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.
The present invention includes various steps, which will be described below. The steps of the present invention may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware and software.
The present invention may be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection). Accordingly, herein, a carrier wave shall be regarded as comprising a machine-readable medium.
Importantly, while embodiments of the present invention will be described with reference to call centers, the method and apparatus described herein are equally applicable to other types of transaction processing environments. Additionally, while embodiments are illustrated with reference to ACDs, the method and apparatus described herein are also applicable to various other transaction processing systems, such as email, video, fax, IP telephony, and web servers. Furthermore, although embodiments of the present invention are described assuming handling resources are agents, the transaction distribution calculations described herein are generally applicable to other types of handling resources, such as computer telephony integration (CTI) terminals, computers, data reception/processing devices, interactive voice response (IVR) ports, transaction agent telephone/service terminals, or a variety of other devices capable of servicing transactions.
Before describing the context in which various embodiments of the present invention may be employed, some terms that will be used throughout this application will briefly be defined.
A "transaction processing system" generally refers to a computer system capable of handling one or more types of transactions. According to embodiments of the present invention, transaction processing systems include ACDs, email, video, fax, IP telephony, and web servers, and the likes.
A "call center" generally refers to a transaction handling environment or site at which incoming customer transaction requests are received and serviced by one or more types of handling resources. For example, a call center may be a single location at which customer phone calls are received and answered by agents that staff the call center.
A "virtual call center" refers to one or more potentially geographically dispersed call centers that a managed in such a way that they have the appearance of being a single call center from the customers' perspective.
A "handling resource" refers to something that is capable of servicing transactions, such as a human agent, a computer telephony integration (CTI) terminal, a computer, a data reception/processing device, a interactive voice response (IVR) port, a transaction agent telephone/service terminal, or a variety of other devices.
"Scheduled handling resources" refer to the number of handling resources planned for a particular time interval.
"Actual handling resources" generally refer to the actual number of handling resources present during a particular time interval.
"Estimated handling resources" typically refers to a predicted number of handling resources projected for a future time interval.
"Pre-call routing" generally refers to routing decisions that are made before a call or other transaction terminates at a call center. "Post-call routing" generally refers to routing decisions after a call or other transaction has been received by a call center.
"Percentage-allocation routing" refers to a mechanism that distributes calls to call centers according to preset percentage allocations associated with each of an organization's call centers for the current time segment (typically a 15 to 30 minute interval).
An "allocation set" is typically used in connection with percentage-allocation routing and refers to a set of data provided by an organization to a carrier network interface which defines transaction distribution among the organization's transaction processing systems or call centers. For example, according to one embodiment, an allocation set defines percent allocations for one or more of the organization's transaction processing systems for one or more future time intervals.
"Call-by-call routing" typically involves the use of a carrier feature that allows a telephone customer to which a call is destined the opportunity to select call routing terminations on a call-by-call basis.
The allocation controller 260 is also coupled to one or more carrier routing configuration interfaces 230 by a dial-up modem connection, dedicated phone line, RS-232, Ethernet, or some other communication medium. The allocation controller 260 provides dynamic call routing adjustment by providing allocation sets which include percent allocations for each of the potentially geographically dispersed call centers 250 to the carrier routing configuration interface 230, such as AT&T's Routing Manager II, Route It!, or the like. The allocation controller 260 gathers both schedule and real-time information from each of the call centers 250 and combines them to generate allocation sets for one or more forecast periods as will be described further below. While in this example, the allocation controller 260 and the carrier routing configuration interface 230 are shown to be separate from the call centers 250, one or both may be co-located with a call center 250.
A customer 210 that has dialed an organization's 800 number, for example, may be connected to one of the call centers 250 by way of the public switched telephone network (PTSN) 220. The customer's call is routed to one of the call centers 250 based upon the current allocation set.
The one or more transaction processing systems 320 may receive customer requests by way of the PSTN 305, the Internet 355, or other public or private communication network, such as a paging network. One or more agents 346 may handle customer requests arriving at the transaction processing systems 320. Exemplary transaction processing systems 320 include email, fax, video, and web servers, and/or automatic call distributors (ACDs). Therefore, customer requests may take the form of phone calls, voice mail, email messages, facsimile requests, and HTML form submissions, for example. In alternative embodiments other forms of customer interaction are envisioned, such as communications by way of one-/two-way paging, video, and other forms of communication.
The resource planning system 345 automatically creates future work schedules based on call volume forecasts and staffing requirements. Call volume estimates may take into account historical call volumes, seasonal patterns, day-of-week patterns, and special events, such as sales promotions and product introductions. Additionally, the resource planning system 345 may also provide a user interface to accept and record schedule exceptions. In one embodiment, the resource planning system 345 comprises the TeleCenter System, the World's Leading Resource Planning System, available from TCS Management-Group, Inc. of Brentwood, Tenn. In alternative embodiments, the resource planning system 345 may be omitted and schedules and call volume forecasting may be performed manually.
As will be discussed further below, the data collection controller 340 may be a computer system that, among other things, monitors and records status information from the one or more transaction processing systems 320, processes the status information, and communicates allocation parameters needed for the percent allocation calculation to the allocation controller 260 via the WAN 255. The data collection controller 340 may also provide a user interface to define routing workflows, configure system, component and interface parameters, view real-time status, alarms, and reports, and other call center configurations. While the data collection controller 340 and the resource planning system 345 are shown as separate systems, in other embodiments the two systems may be combined onto one computer system.
Having briefly described a virtual call center 240 which may employ various features of the present invention, an exemplary machine in the form of a computer system 400 representing an exemplary data collection controller 340, and/or allocation controller 260 in which features of the present invention may be implemented will now be described with reference to FIG. 4. Computer system 400 comprises a bus or other communication means 401 for communicating information, and a processing means such as processor 402 coupled with bus 401 for processing information. Computer system 400 further comprises random access memory (RAM) or other dynamic storage device 404 (referred to as main memory), coupled to bus 401 for storing information and instructions to be executed by processor 402. Main memory 404 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 402. Computer system 400 also comprises read only memory (ROM) and/or other static storage device 406 coupled to bus 401 for storing static information and instructions for processor 402.
A data storage device 407 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 400 for storing information and instructions. Computer system 400 can also be coupled via bus 401 to a display device 421, such as a cathode ray tube (CRT) or Liquid Crystal Display (LCD), for displaying information to a computer user. For example, reports presenting real-time and/or historical data, graphic icons for workflow creation, and other types of data may be presented to an agent or administrator on the display device 421.
Typically, an alphanumeric input device 422, including alphanumeric and other keys, is coupled to bus 401 for communicating information and/or command selections to processor 402. Another type of user input device is cursor control 423, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 402 and for controlling cursor movement on display 421.
A communication device 425 is also coupled to bus 401 for providing access from/to clients/servers, such as the allocation controller 260, the data collection controller 340, the resource planning system 345, and/or other clients/servers via the Internet, for example. The communication device 425 may include a modem, a network interface card, or other well known interface devices, such as those used for coupling to Ethernet, token ring, or other types of networks. In any event, in this manner, the computer system 400 may be coupled to a number of clients/servers via a conventional network infrastructure, such as an enterprise's Intranet (e.g., WAN) and/or the Internet, for example.
The allocation controller 515, using the allocation calculation data and parameters that are based on management decisions (e.g., desired service level, cost constraints), calculates allocation percentages for each call center 510, and provides the allocation percentages 516 to a routing process 505 of a public or private network, for example. Alternatively, the allocation percentages or other routing information may be provided to other entities, such as interactive voice response units (IVRs), Customer Interaction Systems (CISs), Enterprise Resource Planning Systems (ERP), and/or other devices with scheduled resources.
In the case of allocation percentages 516 being provided to an interexchange carrier (IXC), such as AT&T, MCI, or Sprint, the carrier's routing process 505 routes calls 506 to the appropriate call center based upon the allocation percentages for the current time period.
The data collection controller 630 includes sample adjustment logic 635, a memory 640, and a communication interface 645. As will be described further below, the data collection controller 630 may collect snapshots of the ACD's real-time data at a first sampling frequency and temporarily store the snapshots in memory 640. The sample adjustment logic 635 may aggregate one or more snapshots and temporarily store the aggregated samples in memory 640. Importantly, in alternative embodiments, the data collection controller 630 may interface with and collect information from entities other than ACDs. For example, information may be collected from IVRs, fax, video, email and/or web servers. Also, in alternative embodiments, data collection may be triggered by asynchronous events rather than according to a predetermined schedule.
In this example, the allocation controller 655 includes an allocation calculation process 660, a memory 665, and a communication interface 670. The allocation controller 655 periodically receives the aggregated samples from the data collection controller 630 through the communication interface 645 at a second sampling frequency. Depending upon the implementation, the data may be pushed by the data collection controller 630 over a WAN connection or queried by the allocation controller 655. The allocation controller 655 additionally receives information regarding scheduled staffing levels from the data collection controller 630 or the resource planning system 345. Communication of the real-time information and scheduled staffing levels may be over a TCP/IP connection, for example. In one embodiment, the communications interfaces 625, 645, 670 may include one or more of Aspect's Real-time Bridge, Application Bridge®, and/or InfoAccess feed (Application Bridge is a registered trademark of Aspect Telecommunications, Incorporated of San Jose, Calif.). Further information regarding the Real-time Bridge and Application Bridge interfaces may be found in publications entitled, "Aspect Real Time Tables and Fields," "Aspect Application Bridge Implementation Guide," are available from Aspect Telecommunications, Incorporated of San Jose, Calif.
Having described the interaction of various processes according to one embodiment of the present invention, distributed remote call center processing will now be described with reference to FIG. 7. For purposes of this example, it is assumed that a number of call center sites are networked together so as to function as a virtual call center. The call center site that includes the allocation controller is referred to as the central call center site, while the remaining sites are referred to as remote call center sites.
The steps described below may be performed under the control of a programmed processor, such as processor 402, or the logic may be implemented and distributed among hardware, firmware, software, or a combination thereof within the transaction processing systems 320 and/or the data collection controller 340, for example.
According to this embodiment, at step 710, transactions are received and processed by the one or more transaction processing systems 320. Transaction and agent status are concurrently monitored and recorded for use in the allocation percentage calculation which is described below.
At step 720, a determination is made whether or not data gathering is to be initiated. Typically, the interval for gathering scheduling data is approximately 15 to 30 minutes and the interval for gathering real-time data is approximately 1 to 3 seconds. If the real-time gathering interval has elapsed, then the real-time allocation calculation parameters are retrieved from the transaction processing system (step 730). If the scheduling data gathering interval has also elapsed, then the allocation calculation parameters relating to schedule data are retrieved from the transaction processing system 320 or the resource planning system 345 (step 740). According to this example, after the real-time and/or schedule data have been retrieved or if neither gathering interval has elapsed processing continues with step 750. While, in this example, the remote call center is shown as retrieving parameters relating to schedule data, in alternative embodiments this data may be transmitted automatically according to a prearranged schedule from the transaction processing system 320 or the resource planning system 345 to the remote call center.
At step 750, it is determined whether or not data transfer is to be initiated. Typically, the interval for transferring schedule data is approximately 15 to 30 minutes and the interval for transferring real-time data is approximately 1 to 5 minutes. If the real-time transfer interval has elapsed, then processing continues with step 760.
At step 760, the 1 to 3 second sample data is adjusted and aggregated into samples consistent with the real-time transfer interval.
At step 770, the real-time data is transferred to the central call center site via the WAN 255. If the schedule transfer interval has also elapsed, then schedule data is also transferred to the central call center site (step 780). According to this example, after the real-time and/or schedule data have been transferred or if neither transfer interval has elapsed, then processing continues with step 710.
While the flow diagram gives the impression that the steps above are performed in a polling loop of some sort, it should be appreciated that the data gathering and transfer stages may be event or interrupt driven or triggered by the expiration of a timer, for example.
n=Number of application/call center pairs.
ρ=Weighting of real-time data to scheduled data, 0≦ρ≦1.
τ=Latest real-time observation time.
π=Real-time predictive period.
μ=Number of allocation percentage periods.
tj=Beginning time of allocation period j.
Q(i,t)=Desired service quality (e.g., x % calls answered in y seconds, or an average delay) for application/call center pair i at time t.
R(i,t)=Real-time observed average positions staffed (APS) for application/call center pair i at time t.
S(i,t)=Scheduled APS for application/call center pair i at time t.
H(i,t)=Average handle time for calls to application/call center pair i at time t.
D(i,t)=Ratio of directed (local) calls for application/call center pair i at time t to total call rate.
U(t)=Set of application/call center pairs that provide a fixed allocation percentage at time t.
f(i,t)=Fixed allocation percentage for application/call center pair i at time t.
P(i,t)=Predicted APS for application/call center pair i at time t.
W(i,t)=Weighted estimate of APS for application/call center pair i at time t.
C(i,t)=Call rate capacity for application/call center pair i at time t.
C-(i,t)=Call rate capacity to be allocated for application/call center pair i at time t.
C(t)="Total" call rate capacity for all application/call center pairs at time t.
C-j="Total" call rate capacity to be allocated for all application/call center pairs that do not have fixed allocation percentages in allocation period j.
Fj=Total fixed allocation percentage for application/call center pairs in allocation period j.
A(i,j)=Allocation percentage for application/call center pair i in allocation period j.
At step 910, the average positions staffed (APS) for each application at each call center is predicted. In one embodiment the predicted APS, P(i,t+n), may be determined based upon scheduled APS for time t+n and a relationship between observed real-time APS, R(i,t), and scheduled APS, S(i,t). A variety of different relationships between R(i,t) and S(i,t) may be employed. For example, the ratio between R(i,t) and S(i,t) may be assumed to be approximately constant over time. Alternatively, the difference between R(i,t) and S(i,t) may be used. The difference may be assumed to be constant over time or the difference may be adjusted to reflect observed historical, seasonal, and day-of-week patterns. In one embodiment,,the predicted APS is determined by the following equation:
In equation #1, the first case is the most common situation where the ratio of APS to scheduled APS can be calculated without error. The second case represents situations, such as just before a call center opens, in which no one is currently scheduled but there are agents scheduled in the near future. The third case, represents situations in which no agents are scheduled at either time. If this is the case, then the real-time data is used for the predicted APS.
At step 920, the predicted APS is and scheduled APS are combined. For example, a predefined weighting may be applied to the predicted APS, P(i,t) and the remainder of the weighted APS, W(i,t), may be determined with reference to the scheduled APS, S(i,t). To allow fine tuning of the resulting allocation percentages, the predefined weighting may be adjusted by a call center administrator. In one embodiment, the weighted APS, W(i,t), is determined by the following equation:
During the predictive period, π, the real-time data is weighted against the scheduled data. Outside of the predictive period, the schedule data is used.
At step 930, the weighted APS is translated into a call rate capacity, C(i,t). According to one embodiment, C(i,t) may be determined by the following equation:
where,
E(s,h,q) represents the workload that can be handled by s agents at a service quality, q, with an average service time, h, in an Erlang C queuing model.
At step 940, allocation percentages are determined for each application/call center pair using the call rate capacities. In one embodiment, the call rate capacities determined in step 930 may be used to determine allocation percentages for allocation period j according to the following:
where,
and
In this manner, more calls are allocated to the application/call center pairs with higher call rate capacities.
Step 940 may additionally adjust for direct (local) traffic before determining the allocation percentages. Calls that are handled at each call center site that are not accepted by the Inter-exchange carrier and, therefore, not allocated by the IXC may be factored into the workload allocation by subtracting them from the total number of calls received across all sites using the following equations:
where,
and
In equation #7, under normal circumstances, represented by the first case, the direct call rate is subtracted from the call rate capacity of the application/call center pair. The second case treats situations in which the entire call rate for the network is direct as an error condition by ignoring the direct percentages. No calls are allocated to application/call center pairs falling into the last case which represents situations where the direct rate for the network is less than the "total" call rate capacity, but the direct call rate of an application/call center pair exceeds the call rate capacity for that application/call center pair.
In addition, step 940 may additionally adjust for user-defined, fixed allocation percentages. In general, those of the application/call center pairs that have been assigned fixed allocation percentages are assigned the user-defined, fixed allocation and the remaining percentage is distributed among the other application/call center pairs according to their respective call rate capacities. According to one embodiment, the following equations may be used to adjust for user-defined, fixed allocation percentages:
where,
and
Equation #10 calculates the total fixed allocation percentage and equation #11 calculates the total adjusted call rate for application/call center pairs without fixed allocation percentages. In addition to distributing calls among the application/call center pairs without fixed allocation percentages, equation #9 guards against fixed percentages totaling over 1. In the first two cases of equation #9, where the fixed allocation percentages total more than 100%, they are scaled to total 100% and the application/call center pairs without fixed allocation percentages are not allocated calls. In the latter two cases of equation #9, the fixed allocation percentages total less than 100%. Therefore, those application/call center pairs with fixed allocation percentages are allocated those percentages and the remaining percentage is distributed proportionately according to the call rate capacities of the remaining application/call center pairs.
OT=Oscillation threshold: the maximum deviation allowed.
HB=History beginning.
HE=History end.
Prediction Interval=The interval to be used for prediction, i.e., [T-HB, T-HE).
WR=Weight of real-time information.
d(t)=The deviation of real-time data from scheduled data, i.e., r(t)-f(t)
l(t)=Linear approximation of d(t) for values of t in the Prediction Interval. Also referred to as the real-time data trend.
According to the embodiment illustrated, at step 1110, a prediction interval is determined based upon the time for which a prediction is desired. Optionally, at step 1120, in order to allow more recent data to be relied upon more heavily than older data or vice versa, a scaling function may be applied to change the time scale. For example the latest data may be "stretched" and older data may be "shrunk" or all time elements may be treated as equally important. In this manner, different times in the prediction interval may be assigned different levels of importance.
After the optional scaling step, the trend of the deviation of real-time data from scheduled data may be calculated at step 1130. According to one embodiment, the least square method may be used to calculate a linear approximation or a trend, e.g., l(t), of the deviation, e.g., d(t), of real-time data from scheduled data. However, in alternative embodiments, higher order functions may be used.
At step 1140, it is determined whether or not a trend of the deviation can be determined. According to one embodiment, if the difference between the linear approximation and the deviation remains within a predetermined oscillation threshold, e.g., OT, then the trend determined is acceptable; otherwise no trend has been determined.
If a trend has been satisfactorily determined according to step 1140, then flow continues with step 1160; otherwise processing continues with step 1150. At step 1150, since no trend has been determined, the predicted staffing level, e.g., p(T), is set to the scheduled staffing level, e.g. f(T). At step 1160, the predicted staffing level is set to the weighted average of the scheduled staffing level and the real-time data trend, e.g.
Regardless of the method for calculating the predicted staffing level, processing continues with step 1170 at which point percentage allocations are calculated for time T based on the predicted staffing levels for each transaction processing system.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Komissarchik, Edward, Hayes, Robert, McPartlan, Kevin, O'Brien, Lauren, McElroy, Katherine, Rafter, John, Sorensen, Gary, Glassman, David
Patent | Priority | Assignee | Title |
10194028, | Nov 21 2012 | GENESYS CLOUD SERVICES, INC | Graphical user interface for configuring contact center routing strategies |
10986232, | Jun 16 2017 | GENESYS CLOUD SERVICES, INC | Systems and methods for sizing modular routing applications |
6751310, | Apr 05 2000 | Wilmington Trust, National Association, as Administrative Agent | System and method for prioritizing telephone call campaigns based on campaign productivity |
6886037, | Mar 31 2000 | TERADATA US, INC | Channel director for cross-channel customer interactions |
6978006, | Oct 12 2000 | InterVoice Limited Partnership | Resource management utilizing quantified resource attributes |
7012888, | Aug 16 2002 | INTERVOICE, INC | High availability VoIP subsystem |
7043007, | Mar 02 1999 | Wilmington Trust, National Association, as Administrative Agent | System and method to allocate transactions |
7054308, | Nov 07 2000 | Level 3 Communications, LLC | Method and apparatus for estimating the call grade of service and offered traffic for voice over internet protocol calls at a PSTN-IP network gateway |
7103562, | May 17 2001 | Genesys Telecommunications Laboratories, Inc | System and method for generating forecasts and analysis of contact center behavior for planning purposes |
7190774, | Jun 12 2000 | ALVARIA, INC | User invoked directed outdial method and apparatus |
7197130, | Oct 05 2004 | AT&T Intellectual Property I, L P | Dynamic load balancing between multiple locations with different telephony system |
7212516, | Dec 22 2000 | AVAYA LLC | Network spanning heterogeneous call center and method of operation |
7230946, | Aug 16 2002 | INTERVOICE, INC | Remote agent access method to a VoIP contact center where high QoS is not supported |
7254641, | Jan 30 2001 | INTERVOICE, INC | Digital multimedia contact center with tier escalation and deescalation in response to changed criteria |
7274787, | Aug 16 2002 | INTERVOICE, INC | Scheduled return to queue with priority (SRQP) |
7382773, | Aug 16 2002 | INTERVOICE, INC | Contact center with normalized multiple protocol architecture |
7406171, | Dec 19 2003 | AT&T Delaware Intellectual Property, Inc. | Agent scheduler incorporating agent profiles |
7450698, | Jan 14 2005 | Microsoft Technology Licensing, LLC | System and method of utilizing a hybrid semantic model for speech recognition |
7499844, | Dec 19 2003 | AT&T Intellectual Property I, L P | Method and system for predicting network usage in a network having re-occurring usage variations |
7539297, | Dec 19 2003 | AT&T Intellectual Property I, L P | Generation of automated recommended parameter changes based on force management system (FMS) data analysis |
7539627, | Sep 28 2001 | International Business Machines Corporation | System and method for forecasting workload and resource requirements in a call center/help desk |
7551602, | Dec 19 2003 | AT&T Intellectual Property I, L P | Resource assignment in a distributed environment |
7568001, | Jan 30 2001 | INTERVOICE, INC | Escalated handling of non-realtime communications |
7573998, | Jun 15 2004 | CITICORP CREDIT SERVICES, INC USA | Methods and systems for management of data for multiple call centers |
7616742, | May 06 2004 | INTERVOICE, INC | Bandwidth reduction in a VoIP network using music on hold |
7616755, | Dec 19 2003 | AT&T Intellectual Property I, L P | Efficiency report generator |
7627109, | Feb 04 2005 | AT&T Intellectual Property I, L P | Call center system for multiple transaction selections |
7664014, | Aug 16 2002 | INTERVOICE, INC | High availability VoIP subsystem |
7724889, | Nov 29 2004 | SBC KNOWLEDGE VENTURES, L P | System and method for utilizing confidence levels in automated call routing |
7746999, | Aug 18 2005 | Virtual Hold Technology Solutions, LLC | Resource based queue management system and method |
7751551, | Jan 10 2005 | Microsoft Technology Licensing, LLC | System and method for speech-enabled call routing |
7761323, | Oct 08 2003 | ALVARIA CAYMAN CX | Method and system for scheduling a customer service callback |
7770175, | Sep 26 2003 | AVAYA LLC | Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal |
7788286, | Apr 30 2001 | CREDIT SUISSE AS ADMINISTRATIVE AGENT | Method and apparatus for multi-contact scheduling |
7864942, | Dec 06 2004 | SBC KNOWLEDGE VENTURES, L P | System and method for routing calls |
7920552, | Dec 19 2003 | AT&T Intellectual Property I, L.P. | Resource assignment in a distributed environment |
7936861, | Jul 23 2004 | SBC KNOWLEDGE VENTURES L P | Announcement system and method of use |
7949121, | Sep 27 2004 | AVAYA LLC | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
7962356, | Jun 01 2005 | InVision Software AG | Staff scheduling |
8065618, | Aug 18 2003 | SAP SE | Customization of an interaction center manager's graphical dashboard |
8068596, | Feb 04 2005 | AT&T Intellectual Property I, L.P. | Call center system for multiple transaction selections |
8094804, | Sep 26 2003 | AVAYA LLC | Method and apparatus for assessing the status of work waiting for service |
8150023, | Oct 07 2005 | Virtual Hold Technology Solutions, LLC | Automated system and method for distinguishing audio signals received in response to placing and outbound call |
8171420, | Aug 16 2002 | INTERVOICE, INC | Automatic management of the visual space while performing a task |
8223954, | Mar 22 2005 | AT&T Intellectual Property I, L P | System and method for automating customer relations in a communications environment |
8234141, | Sep 27 2004 | AVAYA LLC | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
8260649, | Jan 11 2007 | INTUIT INC. | Resource planning to handle contact volume across a plurality of contact channels |
8280030, | Jun 03 2005 | AT&T Intellectual Property I, LP | Call routing system and method of using the same |
8306212, | Feb 19 2010 | AVAYA LLC | Time-based work assignments in automated contact distribution |
8341012, | Mar 17 2005 | Fujitsu Limited | Working skill estimating program |
8359222, | May 17 2001 | Genesys Telecommunications Laboratories, Inc | System and method for generating forecasts and analysis of contact center behavior for planning purposes |
8400948, | Jan 18 2005 | ALVARIA CAYMAN WEM | Method and system for updating real-time data between intervals |
8423495, | Jun 18 2004 | GLENBROOK NETWORKS, INC | System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents |
8457297, | Dec 30 2005 | ALVARIA CAYMAN CX | Distributing transactions among transaction processing systems |
8488770, | Mar 22 2005 | AT&T Intellectual Property I, L.P. | System and method for automating customer relations in a communications environment |
8503662, | Jan 10 2005 | Microsoft Technology Licensing, LLC | System and method for speech-enabled call routing |
8514872, | Jun 19 2007 | Virtual Hold Technology Solutions, LLC | Accessory queue management system and method for interacting with a queuing system |
8594311, | Jun 02 2005 | Virtual Hold Technology Solutions, LLC | Expected wait time augmentation system and method |
8619966, | Jun 03 2005 | AT&T Intellectual Property I, L.P. | Call routing system and method of using the same |
8620848, | Jun 18 2004 | GLENBROOK NETWORKS, INC | System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents |
8660256, | Oct 05 2004 | AT&T Intellectual Property, L.P. | Dynamic load balancing between multiple locations with different telephony system |
8667052, | Dec 20 2004 | ALVARIA CAYMAN CX | Business rule web service |
8682674, | Jun 18 2004 | GLENBROOK NETWORKS, INC | System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents |
8687795, | May 17 2001 | Genesys Telecommunications Laboratories, Inc | System and method for generating forecasts and analysis of contact center behavior for planning purposes |
8738412, | Jul 13 2004 | AVAYA LLC | Method and apparatus for supporting individualized selection rules for resource allocation |
8751232, | Aug 12 2004 | RUNWAY GROWTH FINANCE CORP | System and method for targeted tuning of a speech recognition system |
8751274, | Sep 26 2003 | AVAYA LLC | Method and apparatus for assessing the status of work waiting for service |
8781099, | Dec 19 2003 | AT&T Intellectual Property I, L.P. | Dynamic force management system |
8799049, | Jan 11 2007 | INTUIT INC. | System and method for forecasting contact volume |
8824659, | Jan 10 2005 | Microsoft Technology Licensing, LLC | System and method for speech-enabled call routing |
8891747, | Sep 26 2003 | AVAYA LLC | Method and apparatus for assessing the status of work waiting for service |
8965877, | Mar 14 2013 | Glenbrook Networks | Apparatus and method for automatic assignment of industry classification codes |
9020142, | May 17 2001 | Genesys Telecommunications Laboratories, Inc | System and method for generating forecasts and analysis of contact center behavior for planning purposes |
9025761, | Sep 26 2003 | AVAYA LLC | Method and apparatus for assessing the status of work waiting for service |
9088652, | Jan 10 2005 | Microsoft Technology Licensing, LLC | System and method for speech-enabled call routing |
9112972, | Dec 06 2004 | RUNWAY GROWTH FINANCE CORP | System and method for processing speech |
9325844, | Sep 12 2012 | GENESYS CLOUD SERVICES, INC | System and method for monitoring health of deployment states for a contact center |
9350862, | Dec 06 2004 | RUNWAY GROWTH FINANCE CORP | System and method for processing speech |
9368111, | Aug 12 2004 | RUNWAY GROWTH FINANCE CORP | System and method for targeted tuning of a speech recognition system |
9628623, | Nov 21 2012 | GENESYS CLOUD SERVICES, INC | Graphical user interface for monitoring and visualizing contact center routing strategies |
9912812, | Nov 21 2012 | GENESYS CLOUD SERVICES, INC | Graphical user interface for configuring contact center routing strategies |
9912813, | Nov 21 2012 | GENESYS CLOUD SERVICES, INC | Graphical user interface with contact center performance visualizer |
Patent | Priority | Assignee | Title |
5185780, | Oct 12 1990 | IEX Corporation | Method for predicting agent requirements in a force management system |
5289368, | Oct 12 1990 | IEX Corporation | Force management system user interface |
5335268, | Oct 22 1992 | Verizon Patent and Licensing Inc | Intelligent routing of special service telephone traffic |
5546452, | Mar 02 1995 | Cisco Systems, Inc | Communications system using a central controller to control at least one network and agent system |
5590188, | Nov 09 1992 | Tekelec | Rules-based call routing |
5848143, | Mar 02 1995 | Cisco Systems, Inc | Communications system using a central controller to control at least one network and agent system |
5911134, | Oct 12 1990 | IEX Corporation | Method for planning, scheduling and managing personnel |
6044355, | Jul 09 1997 | IEX Corporation | Skills-based scheduling for telephone call centers |
Date | Maintenance Fee Events |
Jul 18 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 27 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jun 24 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 24 2006 | 4 years fee payment window open |
Dec 24 2006 | 6 months grace period start (w surcharge) |
Jun 24 2007 | patent expiry (for year 4) |
Jun 24 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 24 2010 | 8 years fee payment window open |
Dec 24 2010 | 6 months grace period start (w surcharge) |
Jun 24 2011 | patent expiry (for year 8) |
Jun 24 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 24 2014 | 12 years fee payment window open |
Dec 24 2014 | 6 months grace period start (w surcharge) |
Jun 24 2015 | patent expiry (for year 12) |
Jun 24 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |