CA2567259A1 - Systems and methods for scheduling of outbound agents - Google Patents
Systems and methods for scheduling of outbound agents Download PDFInfo
- Publication number
- CA2567259A1 CA2567259A1 CA002567259A CA2567259A CA2567259A1 CA 2567259 A1 CA2567259 A1 CA 2567259A1 CA 002567259 A CA002567259 A CA 002567259A CA 2567259 A CA2567259 A CA 2567259A CA 2567259 A1 CA2567259 A1 CA 2567259A1
- Authority
- CA
- Canada
- Prior art keywords
- schedule
- scheduling
- outbound
- interval
- connects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5158—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with automated outdialling systems
Abstract
Systems, methods and computer-readable media for scheduling outbound agents are provided. A representative system incorporates a user interface and scheduling software that receives scheduling data, at least some of which is provided via the user interface, and generates scheduling constraints. The scheduling data includes historical call connect rates related to time intervals for which a schedule is to be generated and information corresponding to a desired service goal for the schedule. The desired service goal indicates a level of service to be provided by the schedule. The search engine uses the scheduling constraints to generate potential schedules for outbound agents. The push forward discrete modeler analyzes the potential schedules to compute at least one of overstaffing and understaffing with respect to the potential schedules.
Description
SYSTEMS AND METHODS FOR SCHEDULING OF OUTBOUND AGENTS
Generating schedules for employees is a complex problem for many enterprises. Such an enterprise is an outbound call center, in which scheduling of S employees can be a complex task with a large number of variables. Variables include lists of numbers to call, 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 agents that are staffed while maximizing quality of service. One common metric for call service level is the percentage of the lists that are contacted.
To complicate scheduling of agents further, not all agents have the same skills.
Thus, some agents can handle some calls while other agents cannot. Scheduling for varying agent skill sets, therefore, is a skill-based scheduling problem. This skill-based scheduling problem is considerably more difficult than a basic call center scheduling problem because of all the interactions between calling queues.
Recently, 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 contact center may handle incoming telephone, email, web callback, web chat, fax, and voice over Internet protocol (IP) communications. Therefore, in addition to variation in the types of calls (e.g., collections call, order call), modern contact centers have the complication of variation in contact media, which also adds complexity to the agent scheduling process.
In this regard, different types of calls are typically placed onto different queues. By way of example, outbound calls may be placed in an outbound call queue, while inbound calls may be placed in an inbound call queue. Such an inbound call queue typically is managed by an automatic call distributor (ACD), whereas an outbound call queue typically is managed by a predictive dialer. Notably, scheduling of agents for handling of calls, whether inbound or outbound, is based on various factors, such as call forecasts and goals. However, the forecasts and goals used for scheduling of agents for inbound calls are not the same as those used for scheduling of agents for outbound calls.
SUMMARY
In this regard, systems, methods and computer-readable media for scheduling outbound agents are provided. A representative embodiment of such a system comprises a user interface, scheduling software and a push forward discrete modeler.
The scheduling software is operative to receive scheduling data, at least some of which is provided via the user interface, and to generate scheduling constraints. The scheduling data comprises historical call connect rates related to time intervals for which a schedule is to be generated and information corresponding to a desired service goal for the schedule. The desired service goal provides an indication of a level of service that is to be provided by the schedule. The search engine is operative to use the scheduling constraints to generate potential schedules for outbound agents.
The push forward discrete modeler is operative to analyze the potential schedules to compute at least one of overstaffing and understaffing with respect to the potential schedules. Such representative embodiment results in, for example, higher productivity, less overtime, and better adjusting staffing to workload level.
A
representative method comprises: receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving information corresponding to scheduling constraints, the scheduling constraints comprising information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule; using the scheduling constraints to generate at least one potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the at least one potential schedules. Among others, the benefits of such method for scheduling outbound agents come from adjusting the manpower level to workload based on call connect rates, from better visibility of scheduling information, and from having time based schedule.
Generating schedules for employees is a complex problem for many enterprises. Such an enterprise is an outbound call center, in which scheduling of S employees can be a complex task with a large number of variables. Variables include lists of numbers to call, 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 agents that are staffed while maximizing quality of service. One common metric for call service level is the percentage of the lists that are contacted.
To complicate scheduling of agents further, not all agents have the same skills.
Thus, some agents can handle some calls while other agents cannot. Scheduling for varying agent skill sets, therefore, is a skill-based scheduling problem. This skill-based scheduling problem is considerably more difficult than a basic call center scheduling problem because of all the interactions between calling queues.
Recently, 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 contact center may handle incoming telephone, email, web callback, web chat, fax, and voice over Internet protocol (IP) communications. Therefore, in addition to variation in the types of calls (e.g., collections call, order call), modern contact centers have the complication of variation in contact media, which also adds complexity to the agent scheduling process.
In this regard, different types of calls are typically placed onto different queues. By way of example, outbound calls may be placed in an outbound call queue, while inbound calls may be placed in an inbound call queue. Such an inbound call queue typically is managed by an automatic call distributor (ACD), whereas an outbound call queue typically is managed by a predictive dialer. Notably, scheduling of agents for handling of calls, whether inbound or outbound, is based on various factors, such as call forecasts and goals. However, the forecasts and goals used for scheduling of agents for inbound calls are not the same as those used for scheduling of agents for outbound calls.
SUMMARY
In this regard, systems, methods and computer-readable media for scheduling outbound agents are provided. A representative embodiment of such a system comprises a user interface, scheduling software and a push forward discrete modeler.
The scheduling software is operative to receive scheduling data, at least some of which is provided via the user interface, and to generate scheduling constraints. The scheduling data comprises historical call connect rates related to time intervals for which a schedule is to be generated and information corresponding to a desired service goal for the schedule. The desired service goal provides an indication of a level of service that is to be provided by the schedule. The search engine is operative to use the scheduling constraints to generate potential schedules for outbound agents.
The push forward discrete modeler is operative to analyze the potential schedules to compute at least one of overstaffing and understaffing with respect to the potential schedules. Such representative embodiment results in, for example, higher productivity, less overtime, and better adjusting staffing to workload level.
A
representative method comprises: receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving information corresponding to scheduling constraints, the scheduling constraints comprising information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule; using the scheduling constraints to generate at least one potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the at least one potential schedules. Among others, the benefits of such method for scheduling outbound agents come from adjusting the manpower level to workload based on call connect rates, from better visibility of scheduling information, and from having time based schedule.
In an enhancement, the method may include the step of ranking the potential schedules and/or combining the outbound calling workload/schedule with an inbound calling workload/schedule for each period and staff requirements calculated for the combined work. Yet in another enhancement, the combined outbound and inbound schedule is evaluated based on an interchangeable unit, e.g., a common currency.
A representative computer-readable medium has a computer program stored thereon, with the computer program being executable on a computer to perform a computer-implemented method for scheduling outbound agents. In this regard, the method can comprise: receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving scheduling constraints, the scheduling constraints comprising information corresponding to: a maximum dial rate per schedule interval; agent handling times per right party connects and non-right party connects; and a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule; using the scheduling constraints to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the potential schedules.
Other systems, methods, features and/or advantages of this disclosure will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and/or advantages be included within this description and be within the scope of the present disclosure.
BRIEF DESCRIPTION
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.
FIG. 1 is a schematic diagram illustrating an exemplary embodiment of a system for scheduling outbound agents.
FIG. 2 is a flowchart illustrating functionality (or method steps) that can be performed by an exemplary embodiment of a system for scheduling outbound agents.
FIG. 3 is diagram illustrating operation of an embodiment of an outbound agent scheduling algorithm that can be performed by an exemplary embodiment of a system for scheduling outbound agents.
FIG. 4 is a schematic diagram illustrating an embodiment of a computer-implemented system that can be used for performing functionality, such as the functionality depicted in FIG. 2.
DETAILED DESCRIPTION
As will be described here with reference to several exemplary embodiments, systems and methods for scheduling outbound contact center agents are provided. As used herein, the term "outbound agent" is used to denote an agent that performs outgoing communications, and the term "inbound agent" is used to denote an agent that receives incoming communications. Notably, an agent can be a dedicated outbound agent (performing only outbound communications), a dedicated inbound agent (receiving only incoming communications), or can be a mixed inbound/outbound agent. Thus, in some embodiments, these varying uses of agents can be considered during scheduling. In this regard, potential agent schedules are analyzed and estimated service levels are generated, thereby allowing a suitable schedule to be selected.
With respect to the scheduling of agents for handling an outbound queue, there are several factors that may be considered. These may include, but are not limited to:
the ability to trade off against other outbound queues during skill-based scheduling;
the ability to trade off against other media queues during mufti-contact scheduling; the ability to consider the deferred nature of outbound work (scheduling agents at many different times of the day may all improve period service level); and the ability to weigh different scheduling intervals according to the Right Party Connect Rate (RPCR).
In this regard, the RPCR is the rate that an outbound agent connects with the person (the "right party") responsive to a corresponding phone number from a contact list being dialed. Notably, dialing of the phone numbers on a contact list typically is performed by a predictive dialer, which sequentially dials the numbers on the list and, responsive to determining that a connection has been made, directs the call to an outbound agent via an outbound queue.
Scheduling agents at time periods that have relatively high RPCR's may be desirable even if agents would contribute the same amount to the service goal at another time of the day. This is because many call lists have a designated maximum number of retries (additional attempts to dial a number from the list). By scheduling agents at higher RPCR time periods, a call list may be used at a more efficient rate.
That is, if numbers on a contact list can only be dialed twice, dialing the numbers on the list during low RPCR time periods can cause the list to be used (this list is used once the numbers have been dialed twice) without obtaining an adequate number of RPC's. In contrast, by scheduling agents at lower RPCR time periods, a call list may be used too quickly (as dictated by the maximum number of retries). Thus, there may be an inability to create a schedule that meets the service goals. Notably, a service goal may be described as a predetermined number of Right Party Connects (RPC's) per call list, for example.
Other terms relating to connection rates include Connect Rate (CR) and Non-Party Connect Rate (Non PCR). The CR is the rate that an outbound agent connects with any person responsive to a phone number being dialed. The Non PCR is the rate that an outbound agent fails to connect with a person responsive to a phone number being dialed. Thus, the following relationship of these terms exists:
CR = RPCR + Non PCR
Other terms of particular relevance include:
Interval - an arbitrary time period, wherein a schedule is formed of sequential intervals.
Right Party Connect Rate per Interval (RPCR per interval) - the rate, during a particular interval, that an outbound agent connects with the person indicated on a contact list responsive to the corresponding phone number being dialed.
Right Party Connect Average Handle Time (RPC AHT) - the average amount of time that an agent spends responding to a call that is identified as an RPC.
Right Party Connect Average Handle Time per Interval (RPC AHT per interval) - the average amount of time, during a particular interval, that an agent spends responding to a call that is identified as an RPC.
Non-Right Party Connect Rate per Interval (Non-RPCR per interval) - the rate, during a particular interval, that an outbound agent fails to connect with a person responsive to a phone number being dialed.
Non-Right Party Connect Average Handle Time (Non-RPC AHT) - the average amount of time that an agent spends responding to a call that is identified as a Non-RPC.
Non-Right Party Connect Average Handle Time per Interval (Non-RPC AHT
per interval) - the average amount of time, during a particular interval, that an agent spends responding to a call that is identified as a Non-RPC.
Referring now to an exemplary system, FIG. 1 is an embodiment of a system 100 for scheduling inbound and outbound contact center agents. The system includes multiple client computers 102-105, which are coupled to a server 106 through a network 108. The network 108 can be any network, such as a local area network, a wide area network, or the Internet, and can comprise one or more of various communications media. The client computers each include one or more processors and one or more storage devices. Each of the client computers also includes a display device, and one or more input devices. The server 106 includes one or more storage devices. All of the storage devices store various data and software programs.
In at least one embodiment, methods for scheduling inbound and outbound contact center agents are carried out on the system 100 by instructions executing on one or more of the client computers 102-1 O5. The instructions may be stored on the server 106 or on any of the client computers. For example, one embodiment is a hosted application used by a call center of an enterprise that requires scheduling of inbound and outbound agents. The instructions are stored on the server and accessed through the network by a client computer operated by the enterprise. In other embodiments, the instructions may be stored and executed on the client computer.
Data required for the execution of the instructions can be entered by a user of the client computer through a user interface. Data required for the execution of the instructions can also be accessed via the network and can be stored on the network.
As is described more fully below, a user who is performing scheduling can produce a schedule that most efficiently uses available agents across both inbound and outbound queues. In this regard, FIG. 2 is a simplified flow diagram of an embodiment of a method 200 for scheduling outbound agents. In this regard, the method may be construed as beginning at block 202, where information is received that corresponds to historical call connect rates related to time intervals for which a schedule is to be generated. By way of example, such information could include information pertaining to RPCR's during corresponding intervals of a prior year. In block 204, information corresponding to scheduling constraints, including information corresponding to a desired service goal for the schedule is received. For instance, a desired service goal may relate to a particular number of RPC's that should occur during the schedule. In block 206, the scheduling constraints are used to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals. For example, for intervals that have RPCR's that are twice as high as other intervals, the intervals with the higher RPCR's could be weighted twice as high as the others (although direct correlation between the RPCR's and the weighting need not be used). Then, in block 208, the potential schedules are analyzed to generate estimated service scores for each of the potential schedules. Thus, by comparing the estimated service scores, the suitability of each of the schedules can be reviewed relative to each other and a desired schedule can be selected.
As mentioned above with respect to FIG. 2, information corresponding to historical call connect rates typically is required for performing scheduling of outbound agents. In particular, this information can include CR, RPCR, Connect AHT and RPC AHT, for example. Additionally, the lists of phone numbers that are to be dialed during a schedule should be forecast based on the same historical periods that are used to forecast RPC. Additionally, the arrival time of each list, the end time when a list becomes inactive, the amount of phone numbers on each list, and the amount of retries allowed per number could be used. Notably, some of these constitute scheduling constraints as mentioned above in FIG. 2.
As also mentioned above, information corresponding to a desired service goal for the schedule should be received. In this regard, a service goal could be a certain amount of RPC's. For example, a service goal could be an RPC of 10, or 10% of the phone numbers on a list are to achieve a right party connect before the list ends.
An example of schedule generation that can be performed by a system for scheduling inbound and outbound contact center agents will now be described in detail. In this example, various inputs are provided, such as via a user interface of the system. Specifically, information corresponding to a contact list that is to be used during the schedule is received. This information can include the list arrival time (e.g., Interval 1 ), the amount of phone numbers on the contact list (e.g., 1500), and the maximum number of retry attempts (e.g., 1 ). Additionally, the following forecasts (see Table 1.) are provided assuming that a schedule is to be generated for agents using the contact list during a four hour time period that is subdivided into four sequential 1-hour intervals.
Interval Interval IntervalInterval RPCR per interval2% 5% 5% 1%
RPC AHT per 200 sec 200 sec 200 sec 200 sec interval Non RPCR per 4% 10% 10% 2%
interval Non RPC AHT 50 sec 50 sec 50 sec 50 sec per interval Table 1.
It should be noted that information regarding the maximum phone number dial rate per interval for this example is 1000 dials. This rate typically is established by the operating parameters of the predictive dialer that will be dialing the numbers from the contact list. Thus, in this case, the predictive dialer can dial, and route to an agent S queue, 1000 calls per hour.
As an additional input, a service goal should be established. In this case, a goal of 100 RPC's is input. In this example, 100 RPC's equates to a right party connect for 7% of the numbers on the contact list (100 RPC's/1500 numbers).
From these inputs, some intermediate results can be derived. Specifically, Adjusted AHT given Non RPC's can be calculated. Adjusted AHT is given by the following equation, Adjusted AHT = RPC AHT + ratio of Non RPC to RPC * non RPC.
Thus, in this example, Adjusted AHT = 200 + 2/1 * 50 for each interval, resulting in an Adjusted AHT of 300 seconds for each of Intervals 1 through 4.
Given these values, schedules can be evaluated using full-time equivalents (FTE's). In this regard, an FTE is a fictional, dedicated, fully trained agent that does not need to be scheduled for breaks or training, for example. FTE's are used to evaluate potential schedules by allowing the computation of service goal scores for each of the potential schedules.
A service goal score is basically the divergence between the forecasted connects and the connects required to achieve the desired service goal. In some embodiments, a penalty can be imposed for some types of scheduling behavior, such as a schedule that includes handling calls during low RPCR intervals. In such an embodiment, the forecasted connects for the list are computed giving extra relative weight to connects made in high RPCR rate intervals. The forecasted and required connects are then normalized to be in terms of FTEs per interval. By providing results in terms of FTE's, common currency with other score terms is provided so that various schedules can be evaluated by direct comparison of results.
In order to compute a service goal score, a dialing plan is computed. In some embodiments, such a dialing plan can be created by pushing forward the list according to the FTEs and max dials per interval. Another embodiment would order the intervals by CR before pushing forward the lists. The RPC for each interval is then equal to the RPCR multiplied by the number of dials. Distributed connects and dials are continued until the end of the list is reached. If an RPC is made, it can be assumed that redialing of the number will not be performed.
An example of the above-mentioned computations is set forth below. In particular, potential schedules will be analyzed that involve 1 FTE scheduled during each interval and 5 FTE's scheduled during each interval. The results of using different numbers of FTE's can then be compared as will also be described below.
Continuing with the computations from above, dialing plans for the 1 FTE and S FTE schedules are as follows.
For 1 FTE, that FTE provides 3600 seconds of call handling time during each interval (i.e., each interval is one hour in duration). Since the Adjusted AHT
is 300 seconds (per connect), 1 FTE should be able to attain 12 connects during Interval 1 (i.e., 3600 sec / 300 sec per connect = 12 connects). Additionally, since the RPCR
for Interval 1 is 2%, 12 connects / .02 results in 600 dials being required to achieve the 12 connects during Interval 1.
For 1 FTE during Intervals 2 through 4, similar calculations result in the following: Interval 2, 12 connects using 240 dials; Interval 3, 12 connects using 240 dials; and Interval 4, 10 connects using 1000 dials. Note that Interval 4 is limited to the maximum dial rate of 1000, i.e., 12 connects would require more than 1000 dials during the interval, which is not permitted based on the previously received inputs.
For 5 FTE's, those FTE's provides 18004 seconds of call handling time during each interval (i.e., 5 x 3600 seconds). Since the Adjusted AHT is 300 seconds (per connect), 5 FTE's should be able to attain 60 connects during each interval (i.e., 18000 sec / 300 sec per connect = 60 connects). However, this schedule is limited to the maximum number of dials per interval, which is 1000 dials. Since this schedule is limited by dials, the number of connects is computed by multiplying the maximum l0 number of dials by the RPCR for each interval. Thus, with respect to Interval 1, the number of connects is 20 (i.e., 1000 dials x .02).
For 5 FTE's during Intervals 2 through 4, similar calculations result in the following: Interval 2, 50 connects using 1000 dials; Interval 3, 47 connects using 955 dials (note that 45 numbers have been reached on the first pass of the list and cannot be redialed, resulting in 955 dial instead of 1000 dials); and Interval 4, 0 connects (the maximum dials and retries has already been reached).
Given this connect plan and dialing plan, the forecasted service level can be computed. Specifically, with respect to the 1 FTE schedule, the forecasted service level is 46 RPC's (i.e., 12 connects + 12 connects + 12 connects + 10 connects).
With respect to the 5 FTE schedule, the forecasted service level is 117 RPC's (i.e., 20 connects + 50 connects + 47 connects + 0 connects). Thus, in some embodiments, schedules can be compared and selected based on these outputs.
In other embodiments, a spike penalty can be imposed on the outputs to more readily indicate the deviations of the computed service levels from the service goals.
This can by accomplished by using a simple score function, such as squaring the difference between a computed service level and its corresponding service goal. In the previous example of the 1 FTE schedule, such a scoring fiznction would result in a score of 2916 (i.e., (100 - 46)2).
Additionally or alternatively, some embodiments can be configured to give higher precedence to higher RPCR intervals. For instance, in the previous example, a goal of 100 RPC was set. Weighting values then can be assigned to each interval, such as by assigning the highest RPCR interval weight to be 2Ø Thus, intervals could be assigned the weights based on relative RPCR values such that a weight of 2.0, then 1.5, then 1.0 for the lowest RPCR intervals are assigned. In this case, the goal would be to gain 200 "weighted connects" (connects x the RPCR weight) and additional connects beyond the connect goal.
Returning to the examples above, the 1 FTE schedule results in 76 weighted connects (i.e., 12 connects * 2.0 weight + 12 * 2.0 + 12 * 1.5 + 10 * 1.0 =
76). This corresponds to 124 weighted connects from the goal (i.e., 200 - 76 = 124).
The 5 FTE schedule results in 200 weighted connects (i.e., 50 * 2.0 + 50 2.0). However, in contrast to the understaffing scenario presented by the 1 FTE
schedule (not enough connects were made), the S FTE schedule presents an overstaffing scenario. That is, there are 47 additional connects after the goal was met.
In some embodiments, such overstaffing can be lower a score. For example, the additional connects could be considered as a deviation from the goal that will count as overstaffing and lower the score.
Regardless of the particular method used for providing service level scores, at least some embodiments can normalize the service levels into FTEs per interval. In other words, a combined schedule may be evaluated based on a score that is interchangeable, e.g., common currency, between the inbound and outbound schedule.
This potentially enables a schedule to trade off against other outbound, inbound and/or different media queues.
In some embodiments, this is accomplished by converting the connect score to FTE's by multiplying by AHT and dividing by the number of seconds per interval.
Thus, with respect to the 1 FTE schedule, 124 Connects * 300 AHT / 3600 seconds =
10.3 Under FTE's. With respect to the 5 FTE schedule, 47 Connects * 300 AHT /
3600 seconds = 3.8 Over FTE's.
Next, the forecasted and required FTE's can be evenly distributed among the intervals: Thus, with respect to the 1 FTE schedule, 10.3 Required FTE's / 4 intervals = 2.6 additionally required FTE's for each of the 4 intervals. With respect to the 5 FTE schedule, 3.8 FTE's / 4 intervals = 0.95 fewer FTE's for each of the 4 intervals.
In some embodiments, a penalty can be added for any excess capacity that is not working on connects for each interval and the score can be adjusted with some spike penalty (clearly, in these examples, a lower score is a better schedule;
however, a different methodology could be used). The excess capacity is equal to the FTE's in the interval minus the Connect workload divided by the interval length.
Notably, these deltas/scores can trade off well against other outbound and different media queues.
With respect to the 1 FTE schedule, excess capacity during Interval 1 = 1 FTE
- 12 connects * 300/3600 = 0. Similarly, excess capacity for Intervals 2 through 4 are 0, 0 and 0, respectively. With respect to the S FTE schedule, excess capacity during Interval 1 = 5 - 50 connects *300/3600 = 0.8. Similarly, excess capacity for Intervals 2 through 4 are 0.8, 2.9 and 5, respectively. Note that excess capacity is 5 in Interval 4 because no connects were made in that interval.
Therefore, calculation of a score that includes a spike penalty, could be accomplished as follows:
with respect to the 1 FTE schedule, Score = (2.6 + 0)2 + (2.6 + 0)2 + (2.6 + 0)2 + (2.6 + 0)2 = 27.04 with respect to the 5 FTE schedule, Score=(3.8+0.8)2+(3.8+0.8)2+(3.8+2.9)Z+(3.8+S)2=164.61 Since a lower score is considered closer to an optimal schedule, the 1 FTE
schedule appears to be better suited for meeting the desired service goal.
Additionally, in the case of mufti-skilled or mixed inbound/outbound agents, the outbound environment can be simulated in order to determine how mufti-skilled agents distribute their time among their skills and to calculate the FTEs per interval.
Additionally, in the case where RPC information is not available, the same algorithm can be used to meet a Connect Goal via using CR instead of RPCR and Connect AHT instead of Adjusted RPC AHT.
A more detailed diagram depicting at least some of the functionality described above is presented in FIG. 3. In this regard, the outbound algorithm is implemented by a forward push discrete event modeler 300. The forward push discrete event modeler 300 receives a potential schedule from the search engine 302. The potential schedule includes capacity for every interval in the schedule period. The forward push discrete event modeler 300 also receives a service goal, RPCR, AHT and contact lists for the schedule period from an application 304, such as an integrated workforce optimization platform (described below).
The forward push event modeler iterates to compute RPC's and excess capacity, and then computes overstaffing and understaffing for every interval.
The service goal score formula 306 receives an understaffing/overstaffing result for every interval in the schedule period. The service goal score formula 306 generates a service goal score for every interval that is provided back to the search engine 302.
The search engine analyzes the service goal scores and outputs an optimal schedule and an optimal dialing plan.
As mentioned above, integrated workforce optimization platforms provide inputs to forward push discrete event modeler 300. Additionally, integrated workforce optimization platforms can integrate other capabilities in support of a greater customer service strategy: ( 1 ) Quality Monitoring/Call Recording -voice of the customer; the complete customer experience across multimedia touch points;
(2) Workforce Management - strategic forecasting and scheduling that drives efficiency and adherence, aids in planning, and helps facilitate optimum staffing and service levels; (3) Performance Management - key performance indicators (KPIs) and scorecards that analyze and help identify synergies, opportunities and improvement areas; (4) e-Learning - training, new information and protocol disseminated to staff, leveraging best practice customer interactions and delivering learning to support development; and/or (S) Analytics - deliver insights from customer interactions to drive business performance. These five segments can become part of an interwoven and interoperable solution, enabling contact centers to transition from reactive cost centers to proactive, information-rich departments that deliver strategic value to the organization. Workforce optimization is discussed in greater detail in the U.S. Patent Application entitled "Systems and Methods for Workforce Optimization," filed February 22, 2006, and assigned serial number 11/359,356, which is entirely incorporated herein by reference.
FIG. 4 is a schematic diagram illustrating an embodiment of a computer-implemented system that can be used for performing various functions associated with a system for scheduling outbound contact center agents. By way of example, the embodiment of FIG. 4 can be configured to perform the functionality depicted in FIG. 2.
Generally, in terms of hardware architecture, system 400 includes a processor 402, a memory 404, and one or more user and/or communication (I/O) device interfaces) that are communicatively coupled via a local interface 408. The local interface can include, for example but not limited to, one or more buses or other wired or wireless connections. The local interface may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components. The processor may be a hardware device for executing software, particularly software stored in memory.
The processor can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the recorder, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions. Examples of suitable commercially available microprocessors are as follows: a PA-RISC series microprocessor from Hewlett-Packard~ Company, an 80x86 or Pentium~ series microprocessor from Intel~ Corporation, a PowerPC~
microprocessor from IBM~, a Sparc~ microprocessor from Sun Microsystems~, Inc, or a 68xxx series microprocessor from Motorola~ Corporation.
The memory can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.).
Moreover, the memory may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory (as well as various other components) can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 402. Additionally, memory 404 can also include an operating system 410, as well as instructions associated with various subsystems, such as a system for scheduling outbound agents 200.
The software in memory may include one or more separate programs, each of which includes an ordered listing of executable instructions for implementing logical functions. In this regard, a nonexhaustive list of examples of suitable commercially available operating systems is as follows: (a) a Windows~ operating system available from Microsoft~ Corporation; (b) a Netware~ operating system available from Novell~, Inc.; (c) a Macintosh~ operating system available from Apples Computer, Inc.; (d) a UNIX operating system, which is available for purchase from many vendors, such as the Hewlett-Packard~ Company, Sun Microsystems~, Inc., and AT&T~ Corporation; (e) a LINUX operating system, which is freeware that is readily available on the Internet 100; (f) a run time Vxworks~ operating system from WindRiver~ Systems, Inc.; or (g) an appliance-based operating system, such as that implemented in handheld computers or personal data assistants (PDAs) (e.g., PaImOS~ available from Palm~ Computing, Inc., and Windows CE~ available from Microsoft~ Corporation). The operating system 486 can be configured to control the execution of other computer programs and provides scheduling, input-communication control, file and data management, memory management, and communication control and/or related services.
A system component embodied as software may also be construed as a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When constructed as a source program, the program is translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory, so as to operate properly in connection with the operating system.
When the system for scheduling outbound agents 200 is in operation, the processor is configured to execute software stored within the memory, to communicate data to and from the memory, and to generally control operations of the system pursuant to the software. Software in memory, in whole or in part, is read by the processor, perhaps buffered, and then executed.
It should be noted that the flowcharts included herein show the architecture, functionality and/or operation of implementations that may be configured using software. In this regard, each block can be interpreted to represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
It should be noted that any of the executable instructions, such as those depicted functionally in the accompanying flowcharts, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium could include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the certain embodiments of this disclosure can include embodying the functionality described in logic embodied in hardware or software-configured mediums.
It should be emphasized that the above-described embodiments are merely possible examples of implementations set forth for a clear understanding of the principles of this disclosure. Many variations and modifications may be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure.
A representative computer-readable medium has a computer program stored thereon, with the computer program being executable on a computer to perform a computer-implemented method for scheduling outbound agents. In this regard, the method can comprise: receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving scheduling constraints, the scheduling constraints comprising information corresponding to: a maximum dial rate per schedule interval; agent handling times per right party connects and non-right party connects; and a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule; using the scheduling constraints to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the potential schedules.
Other systems, methods, features and/or advantages of this disclosure will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and/or advantages be included within this description and be within the scope of the present disclosure.
BRIEF DESCRIPTION
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.
FIG. 1 is a schematic diagram illustrating an exemplary embodiment of a system for scheduling outbound agents.
FIG. 2 is a flowchart illustrating functionality (or method steps) that can be performed by an exemplary embodiment of a system for scheduling outbound agents.
FIG. 3 is diagram illustrating operation of an embodiment of an outbound agent scheduling algorithm that can be performed by an exemplary embodiment of a system for scheduling outbound agents.
FIG. 4 is a schematic diagram illustrating an embodiment of a computer-implemented system that can be used for performing functionality, such as the functionality depicted in FIG. 2.
DETAILED DESCRIPTION
As will be described here with reference to several exemplary embodiments, systems and methods for scheduling outbound contact center agents are provided. As used herein, the term "outbound agent" is used to denote an agent that performs outgoing communications, and the term "inbound agent" is used to denote an agent that receives incoming communications. Notably, an agent can be a dedicated outbound agent (performing only outbound communications), a dedicated inbound agent (receiving only incoming communications), or can be a mixed inbound/outbound agent. Thus, in some embodiments, these varying uses of agents can be considered during scheduling. In this regard, potential agent schedules are analyzed and estimated service levels are generated, thereby allowing a suitable schedule to be selected.
With respect to the scheduling of agents for handling an outbound queue, there are several factors that may be considered. These may include, but are not limited to:
the ability to trade off against other outbound queues during skill-based scheduling;
the ability to trade off against other media queues during mufti-contact scheduling; the ability to consider the deferred nature of outbound work (scheduling agents at many different times of the day may all improve period service level); and the ability to weigh different scheduling intervals according to the Right Party Connect Rate (RPCR).
In this regard, the RPCR is the rate that an outbound agent connects with the person (the "right party") responsive to a corresponding phone number from a contact list being dialed. Notably, dialing of the phone numbers on a contact list typically is performed by a predictive dialer, which sequentially dials the numbers on the list and, responsive to determining that a connection has been made, directs the call to an outbound agent via an outbound queue.
Scheduling agents at time periods that have relatively high RPCR's may be desirable even if agents would contribute the same amount to the service goal at another time of the day. This is because many call lists have a designated maximum number of retries (additional attempts to dial a number from the list). By scheduling agents at higher RPCR time periods, a call list may be used at a more efficient rate.
That is, if numbers on a contact list can only be dialed twice, dialing the numbers on the list during low RPCR time periods can cause the list to be used (this list is used once the numbers have been dialed twice) without obtaining an adequate number of RPC's. In contrast, by scheduling agents at lower RPCR time periods, a call list may be used too quickly (as dictated by the maximum number of retries). Thus, there may be an inability to create a schedule that meets the service goals. Notably, a service goal may be described as a predetermined number of Right Party Connects (RPC's) per call list, for example.
Other terms relating to connection rates include Connect Rate (CR) and Non-Party Connect Rate (Non PCR). The CR is the rate that an outbound agent connects with any person responsive to a phone number being dialed. The Non PCR is the rate that an outbound agent fails to connect with a person responsive to a phone number being dialed. Thus, the following relationship of these terms exists:
CR = RPCR + Non PCR
Other terms of particular relevance include:
Interval - an arbitrary time period, wherein a schedule is formed of sequential intervals.
Right Party Connect Rate per Interval (RPCR per interval) - the rate, during a particular interval, that an outbound agent connects with the person indicated on a contact list responsive to the corresponding phone number being dialed.
Right Party Connect Average Handle Time (RPC AHT) - the average amount of time that an agent spends responding to a call that is identified as an RPC.
Right Party Connect Average Handle Time per Interval (RPC AHT per interval) - the average amount of time, during a particular interval, that an agent spends responding to a call that is identified as an RPC.
Non-Right Party Connect Rate per Interval (Non-RPCR per interval) - the rate, during a particular interval, that an outbound agent fails to connect with a person responsive to a phone number being dialed.
Non-Right Party Connect Average Handle Time (Non-RPC AHT) - the average amount of time that an agent spends responding to a call that is identified as a Non-RPC.
Non-Right Party Connect Average Handle Time per Interval (Non-RPC AHT
per interval) - the average amount of time, during a particular interval, that an agent spends responding to a call that is identified as a Non-RPC.
Referring now to an exemplary system, FIG. 1 is an embodiment of a system 100 for scheduling inbound and outbound contact center agents. The system includes multiple client computers 102-105, which are coupled to a server 106 through a network 108. The network 108 can be any network, such as a local area network, a wide area network, or the Internet, and can comprise one or more of various communications media. The client computers each include one or more processors and one or more storage devices. Each of the client computers also includes a display device, and one or more input devices. The server 106 includes one or more storage devices. All of the storage devices store various data and software programs.
In at least one embodiment, methods for scheduling inbound and outbound contact center agents are carried out on the system 100 by instructions executing on one or more of the client computers 102-1 O5. The instructions may be stored on the server 106 or on any of the client computers. For example, one embodiment is a hosted application used by a call center of an enterprise that requires scheduling of inbound and outbound agents. The instructions are stored on the server and accessed through the network by a client computer operated by the enterprise. In other embodiments, the instructions may be stored and executed on the client computer.
Data required for the execution of the instructions can be entered by a user of the client computer through a user interface. Data required for the execution of the instructions can also be accessed via the network and can be stored on the network.
As is described more fully below, a user who is performing scheduling can produce a schedule that most efficiently uses available agents across both inbound and outbound queues. In this regard, FIG. 2 is a simplified flow diagram of an embodiment of a method 200 for scheduling outbound agents. In this regard, the method may be construed as beginning at block 202, where information is received that corresponds to historical call connect rates related to time intervals for which a schedule is to be generated. By way of example, such information could include information pertaining to RPCR's during corresponding intervals of a prior year. In block 204, information corresponding to scheduling constraints, including information corresponding to a desired service goal for the schedule is received. For instance, a desired service goal may relate to a particular number of RPC's that should occur during the schedule. In block 206, the scheduling constraints are used to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals. For example, for intervals that have RPCR's that are twice as high as other intervals, the intervals with the higher RPCR's could be weighted twice as high as the others (although direct correlation between the RPCR's and the weighting need not be used). Then, in block 208, the potential schedules are analyzed to generate estimated service scores for each of the potential schedules. Thus, by comparing the estimated service scores, the suitability of each of the schedules can be reviewed relative to each other and a desired schedule can be selected.
As mentioned above with respect to FIG. 2, information corresponding to historical call connect rates typically is required for performing scheduling of outbound agents. In particular, this information can include CR, RPCR, Connect AHT and RPC AHT, for example. Additionally, the lists of phone numbers that are to be dialed during a schedule should be forecast based on the same historical periods that are used to forecast RPC. Additionally, the arrival time of each list, the end time when a list becomes inactive, the amount of phone numbers on each list, and the amount of retries allowed per number could be used. Notably, some of these constitute scheduling constraints as mentioned above in FIG. 2.
As also mentioned above, information corresponding to a desired service goal for the schedule should be received. In this regard, a service goal could be a certain amount of RPC's. For example, a service goal could be an RPC of 10, or 10% of the phone numbers on a list are to achieve a right party connect before the list ends.
An example of schedule generation that can be performed by a system for scheduling inbound and outbound contact center agents will now be described in detail. In this example, various inputs are provided, such as via a user interface of the system. Specifically, information corresponding to a contact list that is to be used during the schedule is received. This information can include the list arrival time (e.g., Interval 1 ), the amount of phone numbers on the contact list (e.g., 1500), and the maximum number of retry attempts (e.g., 1 ). Additionally, the following forecasts (see Table 1.) are provided assuming that a schedule is to be generated for agents using the contact list during a four hour time period that is subdivided into four sequential 1-hour intervals.
Interval Interval IntervalInterval RPCR per interval2% 5% 5% 1%
RPC AHT per 200 sec 200 sec 200 sec 200 sec interval Non RPCR per 4% 10% 10% 2%
interval Non RPC AHT 50 sec 50 sec 50 sec 50 sec per interval Table 1.
It should be noted that information regarding the maximum phone number dial rate per interval for this example is 1000 dials. This rate typically is established by the operating parameters of the predictive dialer that will be dialing the numbers from the contact list. Thus, in this case, the predictive dialer can dial, and route to an agent S queue, 1000 calls per hour.
As an additional input, a service goal should be established. In this case, a goal of 100 RPC's is input. In this example, 100 RPC's equates to a right party connect for 7% of the numbers on the contact list (100 RPC's/1500 numbers).
From these inputs, some intermediate results can be derived. Specifically, Adjusted AHT given Non RPC's can be calculated. Adjusted AHT is given by the following equation, Adjusted AHT = RPC AHT + ratio of Non RPC to RPC * non RPC.
Thus, in this example, Adjusted AHT = 200 + 2/1 * 50 for each interval, resulting in an Adjusted AHT of 300 seconds for each of Intervals 1 through 4.
Given these values, schedules can be evaluated using full-time equivalents (FTE's). In this regard, an FTE is a fictional, dedicated, fully trained agent that does not need to be scheduled for breaks or training, for example. FTE's are used to evaluate potential schedules by allowing the computation of service goal scores for each of the potential schedules.
A service goal score is basically the divergence between the forecasted connects and the connects required to achieve the desired service goal. In some embodiments, a penalty can be imposed for some types of scheduling behavior, such as a schedule that includes handling calls during low RPCR intervals. In such an embodiment, the forecasted connects for the list are computed giving extra relative weight to connects made in high RPCR rate intervals. The forecasted and required connects are then normalized to be in terms of FTEs per interval. By providing results in terms of FTE's, common currency with other score terms is provided so that various schedules can be evaluated by direct comparison of results.
In order to compute a service goal score, a dialing plan is computed. In some embodiments, such a dialing plan can be created by pushing forward the list according to the FTEs and max dials per interval. Another embodiment would order the intervals by CR before pushing forward the lists. The RPC for each interval is then equal to the RPCR multiplied by the number of dials. Distributed connects and dials are continued until the end of the list is reached. If an RPC is made, it can be assumed that redialing of the number will not be performed.
An example of the above-mentioned computations is set forth below. In particular, potential schedules will be analyzed that involve 1 FTE scheduled during each interval and 5 FTE's scheduled during each interval. The results of using different numbers of FTE's can then be compared as will also be described below.
Continuing with the computations from above, dialing plans for the 1 FTE and S FTE schedules are as follows.
For 1 FTE, that FTE provides 3600 seconds of call handling time during each interval (i.e., each interval is one hour in duration). Since the Adjusted AHT
is 300 seconds (per connect), 1 FTE should be able to attain 12 connects during Interval 1 (i.e., 3600 sec / 300 sec per connect = 12 connects). Additionally, since the RPCR
for Interval 1 is 2%, 12 connects / .02 results in 600 dials being required to achieve the 12 connects during Interval 1.
For 1 FTE during Intervals 2 through 4, similar calculations result in the following: Interval 2, 12 connects using 240 dials; Interval 3, 12 connects using 240 dials; and Interval 4, 10 connects using 1000 dials. Note that Interval 4 is limited to the maximum dial rate of 1000, i.e., 12 connects would require more than 1000 dials during the interval, which is not permitted based on the previously received inputs.
For 5 FTE's, those FTE's provides 18004 seconds of call handling time during each interval (i.e., 5 x 3600 seconds). Since the Adjusted AHT is 300 seconds (per connect), 5 FTE's should be able to attain 60 connects during each interval (i.e., 18000 sec / 300 sec per connect = 60 connects). However, this schedule is limited to the maximum number of dials per interval, which is 1000 dials. Since this schedule is limited by dials, the number of connects is computed by multiplying the maximum l0 number of dials by the RPCR for each interval. Thus, with respect to Interval 1, the number of connects is 20 (i.e., 1000 dials x .02).
For 5 FTE's during Intervals 2 through 4, similar calculations result in the following: Interval 2, 50 connects using 1000 dials; Interval 3, 47 connects using 955 dials (note that 45 numbers have been reached on the first pass of the list and cannot be redialed, resulting in 955 dial instead of 1000 dials); and Interval 4, 0 connects (the maximum dials and retries has already been reached).
Given this connect plan and dialing plan, the forecasted service level can be computed. Specifically, with respect to the 1 FTE schedule, the forecasted service level is 46 RPC's (i.e., 12 connects + 12 connects + 12 connects + 10 connects).
With respect to the 5 FTE schedule, the forecasted service level is 117 RPC's (i.e., 20 connects + 50 connects + 47 connects + 0 connects). Thus, in some embodiments, schedules can be compared and selected based on these outputs.
In other embodiments, a spike penalty can be imposed on the outputs to more readily indicate the deviations of the computed service levels from the service goals.
This can by accomplished by using a simple score function, such as squaring the difference between a computed service level and its corresponding service goal. In the previous example of the 1 FTE schedule, such a scoring fiznction would result in a score of 2916 (i.e., (100 - 46)2).
Additionally or alternatively, some embodiments can be configured to give higher precedence to higher RPCR intervals. For instance, in the previous example, a goal of 100 RPC was set. Weighting values then can be assigned to each interval, such as by assigning the highest RPCR interval weight to be 2Ø Thus, intervals could be assigned the weights based on relative RPCR values such that a weight of 2.0, then 1.5, then 1.0 for the lowest RPCR intervals are assigned. In this case, the goal would be to gain 200 "weighted connects" (connects x the RPCR weight) and additional connects beyond the connect goal.
Returning to the examples above, the 1 FTE schedule results in 76 weighted connects (i.e., 12 connects * 2.0 weight + 12 * 2.0 + 12 * 1.5 + 10 * 1.0 =
76). This corresponds to 124 weighted connects from the goal (i.e., 200 - 76 = 124).
The 5 FTE schedule results in 200 weighted connects (i.e., 50 * 2.0 + 50 2.0). However, in contrast to the understaffing scenario presented by the 1 FTE
schedule (not enough connects were made), the S FTE schedule presents an overstaffing scenario. That is, there are 47 additional connects after the goal was met.
In some embodiments, such overstaffing can be lower a score. For example, the additional connects could be considered as a deviation from the goal that will count as overstaffing and lower the score.
Regardless of the particular method used for providing service level scores, at least some embodiments can normalize the service levels into FTEs per interval. In other words, a combined schedule may be evaluated based on a score that is interchangeable, e.g., common currency, between the inbound and outbound schedule.
This potentially enables a schedule to trade off against other outbound, inbound and/or different media queues.
In some embodiments, this is accomplished by converting the connect score to FTE's by multiplying by AHT and dividing by the number of seconds per interval.
Thus, with respect to the 1 FTE schedule, 124 Connects * 300 AHT / 3600 seconds =
10.3 Under FTE's. With respect to the 5 FTE schedule, 47 Connects * 300 AHT /
3600 seconds = 3.8 Over FTE's.
Next, the forecasted and required FTE's can be evenly distributed among the intervals: Thus, with respect to the 1 FTE schedule, 10.3 Required FTE's / 4 intervals = 2.6 additionally required FTE's for each of the 4 intervals. With respect to the 5 FTE schedule, 3.8 FTE's / 4 intervals = 0.95 fewer FTE's for each of the 4 intervals.
In some embodiments, a penalty can be added for any excess capacity that is not working on connects for each interval and the score can be adjusted with some spike penalty (clearly, in these examples, a lower score is a better schedule;
however, a different methodology could be used). The excess capacity is equal to the FTE's in the interval minus the Connect workload divided by the interval length.
Notably, these deltas/scores can trade off well against other outbound and different media queues.
With respect to the 1 FTE schedule, excess capacity during Interval 1 = 1 FTE
- 12 connects * 300/3600 = 0. Similarly, excess capacity for Intervals 2 through 4 are 0, 0 and 0, respectively. With respect to the S FTE schedule, excess capacity during Interval 1 = 5 - 50 connects *300/3600 = 0.8. Similarly, excess capacity for Intervals 2 through 4 are 0.8, 2.9 and 5, respectively. Note that excess capacity is 5 in Interval 4 because no connects were made in that interval.
Therefore, calculation of a score that includes a spike penalty, could be accomplished as follows:
with respect to the 1 FTE schedule, Score = (2.6 + 0)2 + (2.6 + 0)2 + (2.6 + 0)2 + (2.6 + 0)2 = 27.04 with respect to the 5 FTE schedule, Score=(3.8+0.8)2+(3.8+0.8)2+(3.8+2.9)Z+(3.8+S)2=164.61 Since a lower score is considered closer to an optimal schedule, the 1 FTE
schedule appears to be better suited for meeting the desired service goal.
Additionally, in the case of mufti-skilled or mixed inbound/outbound agents, the outbound environment can be simulated in order to determine how mufti-skilled agents distribute their time among their skills and to calculate the FTEs per interval.
Additionally, in the case where RPC information is not available, the same algorithm can be used to meet a Connect Goal via using CR instead of RPCR and Connect AHT instead of Adjusted RPC AHT.
A more detailed diagram depicting at least some of the functionality described above is presented in FIG. 3. In this regard, the outbound algorithm is implemented by a forward push discrete event modeler 300. The forward push discrete event modeler 300 receives a potential schedule from the search engine 302. The potential schedule includes capacity for every interval in the schedule period. The forward push discrete event modeler 300 also receives a service goal, RPCR, AHT and contact lists for the schedule period from an application 304, such as an integrated workforce optimization platform (described below).
The forward push event modeler iterates to compute RPC's and excess capacity, and then computes overstaffing and understaffing for every interval.
The service goal score formula 306 receives an understaffing/overstaffing result for every interval in the schedule period. The service goal score formula 306 generates a service goal score for every interval that is provided back to the search engine 302.
The search engine analyzes the service goal scores and outputs an optimal schedule and an optimal dialing plan.
As mentioned above, integrated workforce optimization platforms provide inputs to forward push discrete event modeler 300. Additionally, integrated workforce optimization platforms can integrate other capabilities in support of a greater customer service strategy: ( 1 ) Quality Monitoring/Call Recording -voice of the customer; the complete customer experience across multimedia touch points;
(2) Workforce Management - strategic forecasting and scheduling that drives efficiency and adherence, aids in planning, and helps facilitate optimum staffing and service levels; (3) Performance Management - key performance indicators (KPIs) and scorecards that analyze and help identify synergies, opportunities and improvement areas; (4) e-Learning - training, new information and protocol disseminated to staff, leveraging best practice customer interactions and delivering learning to support development; and/or (S) Analytics - deliver insights from customer interactions to drive business performance. These five segments can become part of an interwoven and interoperable solution, enabling contact centers to transition from reactive cost centers to proactive, information-rich departments that deliver strategic value to the organization. Workforce optimization is discussed in greater detail in the U.S. Patent Application entitled "Systems and Methods for Workforce Optimization," filed February 22, 2006, and assigned serial number 11/359,356, which is entirely incorporated herein by reference.
FIG. 4 is a schematic diagram illustrating an embodiment of a computer-implemented system that can be used for performing various functions associated with a system for scheduling outbound contact center agents. By way of example, the embodiment of FIG. 4 can be configured to perform the functionality depicted in FIG. 2.
Generally, in terms of hardware architecture, system 400 includes a processor 402, a memory 404, and one or more user and/or communication (I/O) device interfaces) that are communicatively coupled via a local interface 408. The local interface can include, for example but not limited to, one or more buses or other wired or wireless connections. The local interface may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components. The processor may be a hardware device for executing software, particularly software stored in memory.
The processor can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the recorder, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions. Examples of suitable commercially available microprocessors are as follows: a PA-RISC series microprocessor from Hewlett-Packard~ Company, an 80x86 or Pentium~ series microprocessor from Intel~ Corporation, a PowerPC~
microprocessor from IBM~, a Sparc~ microprocessor from Sun Microsystems~, Inc, or a 68xxx series microprocessor from Motorola~ Corporation.
The memory can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.).
Moreover, the memory may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory (as well as various other components) can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 402. Additionally, memory 404 can also include an operating system 410, as well as instructions associated with various subsystems, such as a system for scheduling outbound agents 200.
The software in memory may include one or more separate programs, each of which includes an ordered listing of executable instructions for implementing logical functions. In this regard, a nonexhaustive list of examples of suitable commercially available operating systems is as follows: (a) a Windows~ operating system available from Microsoft~ Corporation; (b) a Netware~ operating system available from Novell~, Inc.; (c) a Macintosh~ operating system available from Apples Computer, Inc.; (d) a UNIX operating system, which is available for purchase from many vendors, such as the Hewlett-Packard~ Company, Sun Microsystems~, Inc., and AT&T~ Corporation; (e) a LINUX operating system, which is freeware that is readily available on the Internet 100; (f) a run time Vxworks~ operating system from WindRiver~ Systems, Inc.; or (g) an appliance-based operating system, such as that implemented in handheld computers or personal data assistants (PDAs) (e.g., PaImOS~ available from Palm~ Computing, Inc., and Windows CE~ available from Microsoft~ Corporation). The operating system 486 can be configured to control the execution of other computer programs and provides scheduling, input-communication control, file and data management, memory management, and communication control and/or related services.
A system component embodied as software may also be construed as a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When constructed as a source program, the program is translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory, so as to operate properly in connection with the operating system.
When the system for scheduling outbound agents 200 is in operation, the processor is configured to execute software stored within the memory, to communicate data to and from the memory, and to generally control operations of the system pursuant to the software. Software in memory, in whole or in part, is read by the processor, perhaps buffered, and then executed.
It should be noted that the flowcharts included herein show the architecture, functionality and/or operation of implementations that may be configured using software. In this regard, each block can be interpreted to represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
It should be noted that any of the executable instructions, such as those depicted functionally in the accompanying flowcharts, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium could include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the certain embodiments of this disclosure can include embodying the functionality described in logic embodied in hardware or software-configured mediums.
It should be emphasized that the above-described embodiments are merely possible examples of implementations set forth for a clear understanding of the principles of this disclosure. Many variations and modifications may be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure.
Claims (21)
1. A method for scheduling outbound agents, said method comprising:
receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving information corresponding to scheduling constraints, the scheduling constraints comprising information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
using the scheduling constraints to generate at least one potential schedule involving outbound agents.
receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving information corresponding to scheduling constraints, the scheduling constraints comprising information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
using the scheduling constraints to generate at least one potential schedule involving outbound agents.
2. The method of claim 1, further comprising the steps of:
weighing the time intervals corresponding to higher historical call connect rates higher than others of the time intervals; and selecting a schedule from among the at least one potential schedule if more than one potential schedules are generated.
weighing the time intervals corresponding to higher historical call connect rates higher than others of the time intervals; and selecting a schedule from among the at least one potential schedule if more than one potential schedules are generated.
3. The method of claim 2, further comprising the step of ranking the potential schedules if more than one potential schedules are generated.
4. The method of claim 1, further comprising the step of combining the outbound schedule to an inbound schedule.
5. The method of claim 4, further comprising the step of evaluating the combined outbound and inbound schedule based on an interchangeable unit, said interchangeable unit comprise of at least a score.
6. The method of claim 1, wherein the desired service goal comprises a number of right party connects (RPC's) to be achieved.
7. The method of claim 1, wherein the scheduling constraints additionally comprise a maximum dial rate per schedule interval.
8. The method of claim 1, wherein the scheduling constraints additionally comprise, for each schedule interval, information corresponding to agent handling times per right party connects and non-right party connects.
9. The method of claim 1, further comprising generating estimated service goal scores for each of the potential schedules, the estimated service goal scores providing an indication of optimization of each of the potential schedules with respect to staffing; and wherein the estimated service goal scores are used in the selection of the schedule.
10. The method of claim 9, further comprising normalizing the estimated service goal scores into full-time equivalents (FTE's), each FTE corresponding to a dedicated, fully trained agent that is scheduled for handling calls.
11. The method of claim 9, wherein generating an estimated service goal score comprises computing a dialing plan based on a list of calls that is to be dialed.
12. The method of claim 11, wherein using the scheduling constraints to generate potential schedules comprises weighting any connects occurring during an interval of a dialing plan with a weighting based on the call connect rates during corresponding historical intervals.
13. The method of claim 12, wherein, in using the scheduling constraints to generate potential schedules, any connects that are achieved in excess of a number of connects required during an interval are not weighted.
14. A system for scheduling outbound agents, said system comprising:
a user interface;
scheduling software operative to receive scheduling data, at least some of which is provided via the user interface, and to generate scheduling constraints, the scheduling data comprising historical call connect rates related to time intervals for which a schedule is to be generated and information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
a search engine operative to use the scheduling constraints to generate potential schedules for outbound agents; and a push forward discrete modeler operative to analyze the potential schedules to compute at least one of overstaffing and understaffing with respect to the potential schedules.
a user interface;
scheduling software operative to receive scheduling data, at least some of which is provided via the user interface, and to generate scheduling constraints, the scheduling data comprising historical call connect rates related to time intervals for which a schedule is to be generated and information corresponding to a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
a search engine operative to use the scheduling constraints to generate potential schedules for outbound agents; and a push forward discrete modeler operative to analyze the potential schedules to compute at least one of overstaffing and understaffing with respect to the potential schedules.
15. The system of claim 14, wherein the search engine is further operative to receive a service goal score corresponding to any overstaffing and understaffing computed by the push forward discrete modeler and to output a schedule.
16. The system of claim 14, wherein the schedule output by the search engine is selected from among the potential schedules generated and exhibits minimal overstaffing and understaffing with respect to the scheduling constraints.
17. The system of claim 14, further comprising means for displaying the schedule.
18. The system of claim 14, further comprising a display device operative to display the schedule.
19. The system of claim 14, further comprising at least one computer operative to execute the scheduling software and the search engine.
20 20. A computer-readable medium having a computer program stored thereon, the computer program being executable on a computer to perform a computer-implemented method for scheduling outbound agents, the method comprising:
receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving scheduling constraints, the scheduling constraints comprising information corresponding to: a maximum dial rate per schedule interval; agent handling times per right party connects and non-right party connects; and a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
using the scheduling constraints to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the potential schedules.
receiving information corresponding to historical call connect rates related to time intervals for which a schedule is to be generated;
receiving scheduling constraints, the scheduling constraints comprising information corresponding to: a maximum dial rate per schedule interval; agent handling times per right party connects and non-right party connects; and a desired service goal for the schedule, the desired service goal providing an indication of a level of service that is to be provided by the schedule;
using the scheduling constraints to generate potential schedules involving outbound agents, wherein the time intervals corresponding to higher historical call connect rates are weighted higher than others of the time intervals; and selecting a schedule from among the potential schedules.
21
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/393,286 | 2006-03-30 | ||
US11/393,286 US8126134B1 (en) | 2006-03-30 | 2006-03-30 | Systems and methods for scheduling of outbound agents |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2567259A1 true CA2567259A1 (en) | 2007-02-06 |
Family
ID=37728106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002567259A Abandoned CA2567259A1 (en) | 2006-03-30 | 2006-11-07 | Systems and methods for scheduling of outbound agents |
Country Status (2)
Country | Link |
---|---|
US (2) | US8126134B1 (en) |
CA (1) | CA2567259A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130060587A1 (en) * | 2011-09-02 | 2013-03-07 | International Business Machines Corporation | Determining best time to reach customers in a multi-channel world ensuring right party contact and increasing interaction likelihood |
AU2013274642A1 (en) * | 2012-06-11 | 2015-01-15 | Interactive Intelligence, Inc. | Method and system for improving the productivity of calling agents and call yield |
US8391466B1 (en) | 2012-07-24 | 2013-03-05 | Noble Systems Corporation | Generating communication forecasts and schedules based on multiple outbound campaigns |
US9787840B1 (en) | 2015-06-11 | 2017-10-10 | Noble Systems Corporation | Forecasting and scheduling campaigns involving different channels of communication |
US9426291B1 (en) | 2015-10-16 | 2016-08-23 | Noble Systems Corporation | Forecasting and scheduling campaigns involving sending outbound communications that generate inbound communications |
US10146584B2 (en) | 2016-01-28 | 2018-12-04 | Ca, Inc. | Weight adjusted dynamic task propagation |
US10031776B2 (en) | 2016-11-21 | 2018-07-24 | Ca, Inc. | Workflow job distribution in a data processing system with agent time window constraints |
JP7358621B2 (en) * | 2019-08-14 | 2023-10-10 | ライブパーソン, インコーポレイテッド | System and method for managing dialogue invitations |
Family Cites Families (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3594919A (en) | 1969-09-23 | 1971-07-27 | Economy Co | Tutoring devices |
US3705271A (en) | 1971-03-26 | 1972-12-05 | Economy Co | Audio tutoring device including recording capability |
US4510351A (en) | 1982-10-28 | 1985-04-09 | At&T Bell Laboratories | ACD Management information system |
US4684349A (en) | 1984-02-15 | 1987-08-04 | Frank Ferguson | Audio-visual teaching system and method |
US4763353A (en) | 1986-02-14 | 1988-08-09 | American Telephone And Telegraph Company | Terminal based adjunct call manager for a communication system |
US4694483A (en) | 1986-06-02 | 1987-09-15 | Innings Telecom Inc. | Computerized system for routing incoming telephone calls to a plurality of agent positions |
US5008926A (en) | 1986-07-17 | 1991-04-16 | Efrat Future Technology Ltd. | Message management system |
US4815120A (en) | 1987-07-28 | 1989-03-21 | Enforcement Support Incorporated | Computerized telephone monitoring system |
US4924488A (en) | 1987-07-28 | 1990-05-08 | Enforcement Support Incorporated | Multiline computerized telephone monitoring system |
US5101402A (en) | 1988-05-24 | 1992-03-31 | Digital Equipment Corporation | Apparatus and method for realtime monitoring of network sessions in a local area network |
US4881261A (en) * | 1988-06-29 | 1989-11-14 | Rockwell International Corporation | Method for predictive pacing of calls in a calling system |
US4953159A (en) | 1989-01-03 | 1990-08-28 | American Telephone And Telegraph Company | Audiographics conferencing arrangement |
US5117225A (en) | 1989-05-01 | 1992-05-26 | Summit Micro Design | Computer display screen monitoring system |
US5016272A (en) | 1989-06-16 | 1991-05-14 | Stubbs James R | Home video system |
US5195086A (en) | 1990-04-12 | 1993-03-16 | At&T Bell Laboratories | Multiple call control method in a multimedia conferencing system |
US5214688A (en) * | 1990-06-05 | 1993-05-25 | Inventions, Inc. | Method and apparatus for dynamic and interdependent processing of inbound calls and outbound calls |
US5311422A (en) | 1990-06-28 | 1994-05-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | General purpose architecture for intelligent computer-aided training |
US5388252A (en) | 1990-09-07 | 1995-02-07 | Eastman Kodak Company | System for transparent monitoring of processors in a network with display of screen images at a remote station for diagnosis by technical support personnel |
US5113430A (en) | 1990-10-01 | 1992-05-12 | United States Advanced Network, Inc. | Enhanced wide area audio response network |
US5911134A (en) * | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
WO1992009164A1 (en) | 1990-11-20 | 1992-05-29 | Unifi Communications Corporation | Telephone call handling system |
US5241625A (en) | 1990-11-27 | 1993-08-31 | Farallon Computing, Inc. | Screen image sharing among heterogeneous computers |
US5239460A (en) | 1991-01-03 | 1993-08-24 | At&T Bell Laboratories | Arrangement for motivating telemarketing agents |
US5475625A (en) | 1991-01-16 | 1995-12-12 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Method and arrangement for monitoring computer manipulations |
US5381470A (en) | 1991-05-28 | 1995-01-10 | Davox Corporation | Supervisory management center with parameter testing and alerts |
US5210789A (en) | 1991-06-28 | 1993-05-11 | International Telecharge, Inc. | Interactive telephone operator terminal |
US5315711A (en) | 1991-11-01 | 1994-05-24 | Unisys Corporation | Method and apparatus for remotely and centrally controlling a plurality of host processors |
US5267865A (en) | 1992-02-11 | 1993-12-07 | John R. Lee | Interactive computer aided natural learning method and apparatus |
JPH0612288A (en) | 1992-06-29 | 1994-01-21 | Hitachi Ltd | Information processing system and monitoring method therefor |
GB2270581A (en) | 1992-09-15 | 1994-03-16 | Ibm | Computer workstation |
JPH0772999A (en) | 1992-10-20 | 1995-03-17 | Hewlett Packard Co <Hp> | Method and apparatus for monitoring of display screen event in screen-corresponding software application tool |
AU4280793A (en) * | 1992-10-21 | 1994-05-09 | Digital Systems International, Inc. | Integrated intelligent call blending |
US5499291A (en) | 1993-01-14 | 1996-03-12 | At&T Corp. | Arrangement for automating call-center agent-schedule-notification and schedule-adherence functions |
DE69420096T2 (en) | 1993-09-22 | 1999-12-09 | Teknekron Infowitch Corp | Telecommunication system monitoring |
US5689641A (en) | 1993-10-01 | 1997-11-18 | Vicor, Inc. | Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal |
US5436965A (en) * | 1993-11-16 | 1995-07-25 | Automated Systems And Programming, Inc. | Method and system for optimization of telephone contact campaigns |
US5347306A (en) | 1993-12-17 | 1994-09-13 | Mitsubishi Electric Research Laboratories, Inc. | Animated electronic meeting place |
US5396371A (en) | 1993-12-21 | 1995-03-07 | Dictaphone Corporation | Endless loop voice data storage and retrievable apparatus and method thereof |
US5572652A (en) | 1994-04-04 | 1996-11-05 | The United States Of America As Represented By The Secretary Of The Navy | System and method for monitoring and controlling one or more computer sites |
US5918214A (en) | 1996-10-25 | 1999-06-29 | Ipf, Inc. | System and method for finding product and service related information on the internet |
US5597312A (en) | 1994-05-04 | 1997-01-28 | U S West Technologies, Inc. | Intelligent tutoring method and system |
US5465286A (en) | 1994-05-24 | 1995-11-07 | Executone Information Systems, Inc. | Apparatus for supervising an automatic call distribution telephone system |
US5784452A (en) | 1994-06-01 | 1998-07-21 | Davox Corporation | Telephony call center with agent work groups |
US5590171A (en) | 1994-07-07 | 1996-12-31 | Bellsouth Corporation | Method and apparatus for communications monitoring |
US6130668A (en) | 1994-07-25 | 2000-10-10 | Apple Computer, Inc. | Supervisory control system for networked multimedia workstations that provides simultaneous observation of multiple remote workstations |
US5619183A (en) | 1994-09-12 | 1997-04-08 | Richard C. Ziegra | Video audio data remote system |
US5982857A (en) | 1994-10-17 | 1999-11-09 | Apropros Technology | Voice recording method and system providing context specific storage and retrieval |
US6244758B1 (en) | 1994-11-15 | 2001-06-12 | Absolute Software Corp. | Apparatus and method for monitoring electronic devices via a global network |
US6091712A (en) | 1994-12-23 | 2000-07-18 | Applied Digital Access, Inc. | Method and apparatus for storing and retrieving performance data collected by a network interface unit |
US5742670A (en) | 1995-01-09 | 1998-04-21 | Ncr Corporation | Passive telephone monitor to control collaborative systems |
US5696906A (en) | 1995-03-09 | 1997-12-09 | Continental Cablevision, Inc. | Telecommunicaion user account management system and method |
DE69636239T2 (en) | 1995-04-24 | 2007-05-10 | International Business Machines Corp. | A method and apparatus for skill-based routing in a call center |
US5721842A (en) | 1995-08-25 | 1998-02-24 | Apex Pc Solutions, Inc. | Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch |
US5748499A (en) | 1995-09-19 | 1998-05-05 | Sony Corporation | Computer graphics data recording and playback system with a VCR-based graphic user interface |
US5884032A (en) | 1995-09-25 | 1999-03-16 | The New Brunswick Telephone Company, Limited | System for coordinating communications via customer contact channel changing system using call centre for setting up the call between customer and an available help agent |
US6122668A (en) | 1995-11-02 | 2000-09-19 | Starlight Networks | Synchronization of audio and video signals in a live multicast in a LAN |
US5717879A (en) | 1995-11-03 | 1998-02-10 | Xerox Corporation | System for the capture and replay of temporal data representing collaborative activities |
US5778182A (en) | 1995-11-07 | 1998-07-07 | At&T Corp. | Usage management system |
US6052454A (en) | 1996-01-16 | 2000-04-18 | Global Tel*Link Corp. | Telephone apparatus with recording of phone conversations on massive storage |
US5826014A (en) | 1996-02-06 | 1998-10-20 | Network Engineering Software | Firewall system for protecting network elements connected to a public network |
US5802161A (en) * | 1996-03-22 | 1998-09-01 | Austin Logistics Inc. | Method and system for optimized scheduling |
US6225993B1 (en) | 1996-04-22 | 2001-05-01 | Sun Microsystems, Inc. | Video on demand applet method and apparatus for inclusion of motion video in multimedia documents |
US5727950A (en) | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US6018619A (en) | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US5790798A (en) | 1996-05-31 | 1998-08-04 | Witness Systems, Inc. | Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location |
US20030144900A1 (en) | 2002-01-28 | 2003-07-31 | Whitmer Michael L. | Method and system for improving enterprise performance |
US6370574B1 (en) | 1996-05-31 | 2002-04-09 | Witness Systems, Inc. | Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location |
US5907680A (en) | 1996-06-24 | 1999-05-25 | Sun Microsystems, Inc. | Client-side, server-side and collaborative spell check of URL's |
US5862330A (en) | 1996-07-16 | 1999-01-19 | Lucent Technologies Inc. | Technique for obtaining and exchanging information on wolrd wide web |
US6157808A (en) | 1996-07-17 | 2000-12-05 | Gpu, Inc. | Computerized employee certification and training system |
US5809247A (en) | 1996-07-22 | 1998-09-15 | Intel Corporation | Method and apparatus for guided touring of internet/intranet websites |
US5822400A (en) * | 1996-08-19 | 1998-10-13 | Davox Corporation | Call record scheduling system and method |
US5933811A (en) | 1996-08-20 | 1999-08-03 | Paul D. Angles | System and method for delivering customized advertisements within interactive communication systems |
US6014134A (en) | 1996-08-23 | 2000-01-11 | U S West, Inc. | Network-based intelligent tutoring system |
US5923746A (en) | 1996-09-18 | 1999-07-13 | Rockwell International Corp. | Call recording system and method for use with a telephonic switch |
BR9713230A (en) | 1996-09-25 | 2000-04-04 | Sylvan Learning Systems Inc | System for electronic sending of instruction and automatic application of test and student management |
GB9620082D0 (en) | 1996-09-26 | 1996-11-13 | Eyretel Ltd | Signal monitoring apparatus |
US5944791A (en) | 1996-10-04 | 1999-08-31 | Contigo Software Llc | Collaborative web browser |
US5809250A (en) | 1996-10-23 | 1998-09-15 | Intel Corporation | Methods for creating and sharing replayable modules representive of Web browsing session |
US6487195B1 (en) | 1996-10-23 | 2002-11-26 | Ncr Corporation | Collaborative network navigation synchronization mechanism |
US6039575A (en) | 1996-10-24 | 2000-03-21 | National Education Corporation | Interactive learning system with pretest |
US5948061A (en) | 1996-10-29 | 1999-09-07 | Double Click, Inc. | Method of delivery, targeting, and measuring advertising over networks |
US5990852A (en) | 1996-10-31 | 1999-11-23 | Fujitsu Limited | Display screen duplication system and method |
US5864772A (en) | 1996-12-23 | 1999-01-26 | Schlumberger Technology Corporation | Apparatus, system and method to transmit and display acquired well data in near real time at a remote location |
US5917489A (en) | 1997-01-31 | 1999-06-29 | Microsoft Corporation | System and method for creating, editing, and distributing rules for processing electronic messages |
US6560328B1 (en) | 1997-04-03 | 2003-05-06 | Genesys Telecommunications Laboratories, Inc. | Voice extensions in a call-in center employing virtual restructuring for computer telephony integrated functionality |
US5978648A (en) | 1997-03-06 | 1999-11-02 | Forte Systems, Inc. | Interactive multimedia performance assessment system and process for use by students, educators and administrators |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6301573B1 (en) | 1997-03-21 | 2001-10-09 | Knowlagent, Inc. | Recurrent training system |
US6078894A (en) | 1997-03-28 | 2000-06-20 | Clawson; Jeffrey J. | Method and system for evaluating the performance of emergency medical dispatchers |
US6578077B1 (en) | 1997-05-27 | 2003-06-10 | Novell, Inc. | Traffic monitoring tool for bandwidth management |
US6171109B1 (en) | 1997-06-18 | 2001-01-09 | Adin Research, Inc. | Method for generating a multi-strata model and an intellectual information processing device |
US6282548B1 (en) | 1997-06-21 | 2001-08-28 | Alexa Internet | Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata |
EP1015962B2 (en) | 1997-06-25 | 2006-11-02 | Samsung Electronics Co., Ltd. | Method for creating home network macros |
US6014647A (en) | 1997-07-08 | 2000-01-11 | Nizzari; Marcia M. | Customer interaction tracking |
US5958016A (en) | 1997-07-13 | 1999-09-28 | Bell Atlantic Network Services, Inc. | Internet-web link for access to intelligent network service control |
US6076099A (en) | 1997-09-09 | 2000-06-13 | Chen; Thomas C. H. | Method for configurable intelligent-agent-based wireless communication system |
US5964836A (en) | 1997-09-11 | 1999-10-12 | International Business Machines Corporation | Apparatus, methods and computer program products for managing web-page-embedded sessions with a host-based application |
US5991373A (en) | 1997-09-15 | 1999-11-23 | Teknekron Infoswitch Corporation | Reproduction of a voice and video session |
US6108711A (en) | 1998-09-11 | 2000-08-22 | Genesys Telecommunications Laboratories, Inc. | Operating system having external media layer, workflow layer, internal media layer, and knowledge base for routing media events between transactions |
US6035332A (en) | 1997-10-06 | 2000-03-07 | Ncr Corporation | Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants |
US6418471B1 (en) | 1997-10-06 | 2002-07-09 | Ncr Corporation | Method for recording and reproducing the browsing activities of an individual web browser |
US6546405B2 (en) | 1997-10-23 | 2003-04-08 | Microsoft Corporation | Annotating temporally-dimensioned multimedia content |
US6351467B1 (en) | 1997-10-27 | 2002-02-26 | Hughes Electronics Corporation | System and method for multicasting multimedia content |
US6009429A (en) | 1997-11-13 | 1999-12-28 | International Business Machines Corporation | HTML guided web tour |
US5987466A (en) | 1997-11-25 | 1999-11-16 | International Business Machines Corporation | Presenting web pages with discrete, browser-controlled complexity levels |
US6286046B1 (en) | 1997-12-22 | 2001-09-04 | International Business Machines Corporation | Method of recording and measuring e-business sessions on the world wide web |
US6005932A (en) | 1997-12-24 | 1999-12-21 | Rockwell Semiconductor Systems Inc. | Dynamic schedule profiler for ACD |
US6195679B1 (en) | 1998-01-06 | 2001-02-27 | Netscape Communications Corporation | Browsing session recording playback and editing system for generating user defined paths and allowing users to mark the priority of items in the paths |
JP3371791B2 (en) | 1998-01-29 | 2003-01-27 | ヤマハ株式会社 | Music training system and music training device, and recording medium on which music training program is recorded |
US6151622A (en) | 1998-02-02 | 2000-11-21 | International Business Machines Corp. | Method and system for portably enabling view synchronization over the world-wide web using frame hierarchies |
US6144991A (en) | 1998-02-19 | 2000-11-07 | Telcordia Technologies, Inc. | System and method for managing interactions between users in a browser-based telecommunications network |
US6138139A (en) | 1998-10-29 | 2000-10-24 | Genesys Telecommunications Laboraties, Inc. | Method and apparatus for supporting diverse interaction paths within a multimedia communication center |
US6038544A (en) | 1998-02-26 | 2000-03-14 | Teknekron Infoswitch Corporation | System and method for determining the performance of a user responding to a call |
US6278978B1 (en) | 1998-04-07 | 2001-08-21 | Blue Pumpkin Software, Inc. | Agent scheduling system and method having improved post-processing step |
US20010043697A1 (en) | 1998-05-11 | 2001-11-22 | Patrick M. Cox | Monitoring of and remote access to call center activity |
US6154771A (en) | 1998-06-01 | 2000-11-28 | Mediastra, Inc. | Real-time receipt, decompression and play of compressed streaming video/hypervideo; with thumbnail display of past scenes and with replay, hyperlinking and/or recording permissively intiated retrospectively |
US6347374B1 (en) | 1998-06-05 | 2002-02-12 | Intrusion.Com, Inc. | Event detection |
JP2002519954A (en) | 1998-06-26 | 2002-07-02 | ジェネラル・インスツルメント・コーポレイション | Terminal for composing and presenting MPEG-4 video programs |
US6286030B1 (en) | 1998-07-10 | 2001-09-04 | Sap Aktiengesellschaft | Systems and methods for recording and visually recreating sessions in a client-server environment |
US6122665A (en) | 1998-08-26 | 2000-09-19 | Sts Software System Ltd. | Communication management system for computer network-based telephones |
FR2782875B1 (en) | 1998-08-27 | 2000-11-03 | France Telecom | TELEPHONE DEVICE FOR PRISON |
US6493758B1 (en) | 1998-09-08 | 2002-12-10 | Microsoft Corporation | Offline viewing of internet content with a mobile device |
US6360250B1 (en) | 1998-12-28 | 2002-03-19 | Lucent Technologies Inc. | Apparatus and method for sharing information in simultaneously viewed documents on a communication system |
US6353851B1 (en) | 1998-12-28 | 2002-03-05 | Lucent Technologies Inc. | Method and apparatus for sharing asymmetric information and services in simultaneously viewed documents on a communication system |
US6411989B1 (en) | 1998-12-28 | 2002-06-25 | Lucent Technologies Inc. | Apparatus and method for sharing information in simultaneously viewed documents on a communication system |
US6236977B1 (en) | 1999-01-04 | 2001-05-22 | Realty One, Inc. | Computer implemented marketing system |
US6301462B1 (en) | 1999-01-15 | 2001-10-09 | Unext. Com | Online collaborative apprenticeship |
US7792773B2 (en) * | 2002-10-23 | 2010-09-07 | Genesys Telecommunications Laboratories, Inc. | Method and system for enabling automated and real-time discovery of skills available to agents and systems in a multimedia communications network |
US6606657B1 (en) | 1999-06-22 | 2003-08-12 | Comverse, Ltd. | System and method for processing and presenting internet usage information |
US6288753B1 (en) | 1999-07-07 | 2001-09-11 | Corrugated Services Corp. | System and method for live interactive distance learning |
US6289340B1 (en) | 1999-08-03 | 2001-09-11 | Ixmatch, Inc. | Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values |
US6665644B1 (en) | 1999-08-10 | 2003-12-16 | International Business Machines Corporation | Conversational data mining |
US6772396B1 (en) | 1999-10-07 | 2004-08-03 | Microsoft Corporation | Content distribution system for network environments |
US6823384B1 (en) | 1999-10-15 | 2004-11-23 | James Wilson | Methods and apparatus for securely collecting customer service agent data in a multi-tenant environment |
US6792575B1 (en) | 1999-10-21 | 2004-09-14 | Equilibrium Technologies | Automated processing and delivery of media to web servers |
US6587831B1 (en) | 1999-10-21 | 2003-07-01 | Workforce Logistics Inc. | System and method for online scheduling and shift management |
US6901438B1 (en) | 1999-11-12 | 2005-05-31 | Bmc Software | System selects a best-fit form or URL in an originating web page as a target URL for replaying a predefined path through the internet |
US6535909B1 (en) | 1999-11-18 | 2003-03-18 | Contigo Software, Inc. | System and method for record and playback of collaborative Web browsing session |
US6674447B1 (en) | 1999-12-06 | 2004-01-06 | Oridus, Inc. | Method and apparatus for automatically recording snapshots of a computer screen during a computer session for later playback |
US7613695B1 (en) | 1999-12-06 | 2009-11-03 | Reed Elsevier Inc. | Relationship management system that provides an indication of users having a relationship with a specified contact |
US6959078B1 (en) | 2000-01-24 | 2005-10-25 | Verint Systems Inc. | Apparatus and method for monitoring and adapting to environmental factors within a contact center |
GB2369263A (en) | 2000-01-24 | 2002-05-22 | Comverse Infosys Inc | Information retrieval from a contact centre over a wide area network |
US6724887B1 (en) | 2000-01-24 | 2004-04-20 | Verint Systems, Inc. | Method and system for analyzing customer communications with a contact center |
US6810414B1 (en) | 2000-02-04 | 2004-10-26 | Dennis A. Brittain | System and methods for easy-to-use periodic network data capture engine with automatic target data location, extraction and storage |
US6542602B1 (en) | 2000-02-14 | 2003-04-01 | Nice Systems Ltd. | Telephone call monitoring system |
US6970829B1 (en) * | 2000-02-14 | 2005-11-29 | Iex Corporation | Method and system for skills-based planning and scheduling in a workforce contact center environment |
US6324282B1 (en) | 2000-03-02 | 2001-11-27 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6775377B2 (en) | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
AU2001245426A1 (en) | 2000-03-03 | 2001-09-17 | Lawrence R. Jones | Picture communications system and associated network services |
US6683633B2 (en) | 2000-03-20 | 2004-01-27 | Incontext Enterprises, Inc. | Method and system for accessing information |
US6697858B1 (en) | 2000-08-14 | 2004-02-24 | Telephony@Work | Call center |
EP1189161A1 (en) | 2000-09-13 | 2002-03-20 | iMediation, S.A. | A method and system for managing network-based partner relationships |
US7287071B2 (en) | 2000-09-28 | 2007-10-23 | Vignette Corporation | Transaction management system |
US20020065911A1 (en) | 2000-10-03 | 2002-05-30 | Von Klopp Ana H. | HTTP transaction monitor with edit and replay capacity |
US7155001B2 (en) * | 2001-10-24 | 2006-12-26 | Sbc Properties, L.P. | System and method for restricting and monitoring telephone calls |
AU2002235147A1 (en) | 2000-11-30 | 2002-06-11 | Webtone Technologies, Inc. | Web session collaboration |
AU2002230735A1 (en) | 2000-12-11 | 2002-06-24 | Phlair, Inc. | System and method for detecting and reporting online activity using real-time content-based network monitoring |
US20020143925A1 (en) | 2000-12-29 | 2002-10-03 | Ncr Corporation | Identifying web-log data representing a single user session |
US7506047B2 (en) | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US6952732B2 (en) * | 2001-04-30 | 2005-10-04 | Blue Pumpkin Software, Inc. | Method and apparatus for multi-contact scheduling |
US7155399B2 (en) * | 2001-04-03 | 2006-12-26 | Witness Systems, Inc. | System and method for complex schedule generation |
US6959405B2 (en) | 2001-04-18 | 2005-10-25 | Blue Pumpkin Software, Inc. | Method and system for concurrent error identification in resource scheduling |
US6944660B2 (en) | 2001-05-04 | 2005-09-13 | Hewlett-Packard Development Company, L.P. | System and method for monitoring browser event activities |
US7715546B2 (en) * | 2001-07-09 | 2010-05-11 | Austin Logistics Incorporated | System and method for updating contact records |
US20040100507A1 (en) | 2001-08-24 | 2004-05-27 | Omri Hayner | System and method for capturing browser sessions and user actions |
US6738456B2 (en) | 2001-09-07 | 2004-05-18 | Ronco Communications And Electronics, Inc. | School observation and supervisory system |
US6870916B2 (en) | 2001-09-14 | 2005-03-22 | Lucent Technologies Inc. | Targeted and intelligent multimedia conference establishment services |
US6856680B2 (en) * | 2001-09-24 | 2005-02-15 | Rockwell Electronic Commerce Technologies, Llc | Contact center autopilot algorithms |
US20030079020A1 (en) | 2001-10-23 | 2003-04-24 | Christophe Gourraud | Method, system and service provider for IP media program transfer-and-viewing-on-demand |
US6965886B2 (en) | 2001-11-01 | 2005-11-15 | Actimize Ltd. | System and method for analyzing and utilizing data, by executing complex analytical models in real time |
KR100563198B1 (en) | 2001-12-14 | 2006-03-21 | 에스케이 텔레콤주식회사 | Apparatus for Offering Event Image Mail Service using Multimedia Messaging Service and the Method Thereof |
US6801618B2 (en) | 2002-02-08 | 2004-10-05 | Etalk Corporation | System and method for implementing recording plans using a session manager |
US20050004828A1 (en) | 2003-05-27 | 2005-01-06 | Desilva Anura H. | System and method for preference scheduling of staffing resources |
-
2006
- 2006-03-30 US US11/393,286 patent/US8126134B1/en active Active
- 2006-11-07 CA CA002567259A patent/CA2567259A1/en not_active Abandoned
-
2012
- 2012-02-27 US US13/406,506 patent/US8873732B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8873732B2 (en) | 2014-10-28 |
US8126134B1 (en) | 2012-02-28 |
US20120224679A1 (en) | 2012-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8873732B2 (en) | Systems and methods for scheduling of outbound agents | |
US7734783B1 (en) | Systems and methods for determining allocations for distributed multi-site contact centers | |
US9020142B2 (en) | System and method for generating forecasts and analysis of contact center behavior for planning purposes | |
US20210056481A1 (en) | Method and system for generating staffing requirements for deferred work in a contact center environment | |
US7383199B2 (en) | Method for forecasting and managing multimedia contacts | |
US7254546B1 (en) | System and method for complex schedule generation | |
US8396204B2 (en) | Call center resource allocation | |
US8260649B2 (en) | Resource planning to handle contact volume across a plurality of contact channels | |
US9883037B1 (en) | Systems and methods in an electronic contact management system to estimate required staff levels for multi-skilled agents | |
US20050043986A1 (en) | Method and system for selecting a preferred contact center agent based on agent proficiency and performance and contact center state | |
US20040098295A1 (en) | Method and system for scheduling workload | |
US8577706B1 (en) | Method for agent scheduling for revenue and service channels in a skills-based routing environment | |
WO2004114641A1 (en) | Call processing system | |
US20080172286A1 (en) | System and method for forecasting contact volume | |
US20020147632A1 (en) | Contact center management | |
KR20200007334A (en) | Apparatus and method for managing counselor schedule | |
US20160171422A1 (en) | Method and System for Generating Staffing Requirements for Deferred Work in a Contact Center Environment | |
US11055645B2 (en) | Method and system for optimizing distribution of incentive budget for additional time interval allocation in a multi-week work schedule | |
US11528362B1 (en) | Agent performance measurement framework for modern-day customer contact centers | |
Srivastava et al. | VRS model: a model for estimation of efforts and time duration in development of IVR software system | |
Barroero et al. | Sustainable service level agreements | |
CA2571785A1 (en) | Systems and methods for performing long-term simulation | |
Wagenaar | Analysis of the Avis Car Rental South Africa Call Centre |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |