Abstract:
An automatic list scheduling (“ALS”) system monitors usage of calling lists by an administrator where the administrator terminates usage of a calling list based on various measured parameters. The ALS system is configure to learn the conditions associated with the measured parameters and, in one embodiment, recommends to the administrator when to terminate use of a current calling list in favor of another list. A learning mode gathers various samples of the measured parameters associated with calling lists, and analyzes the sample to determine a threshold value. Upon monitoring the measured values for subsequent usage of calling lists, the current measured parameters are compared to the threshold value to determine whether to generate a recommendation to the administrator. In one embodiment, the time zone of the called party and the applicable calling window is used to determine whether the current list can continued to be used.

Description:
BACKGROUND 
     Contact centers may originate communications, such as telephone calls, for various purposes. Telecommunications equipment commonly referred to as a “dialer” has the capability to originate a large number of telephone calls to various called parties and connect answered calls to available agents. A dialer is designed to keep the workforce of agents engaged in calls answered by called parties, as opposed to, e.g., answering machines. 
     The dialer processes a list of numbers to automatically dial, and upon detecting various conditions, the dialer may abandon the call and attempt to originate another call. For example, calls may be abandoned by the dialer upon reaching a no-answer condition, telephone number disconnected indication, out-of-service indication, or calls that are answered by an answering machine or voice-mail system. In each case, there is no party for the agent to talk to. Thus, it is possible for the dialer to originate a number of calls in order for the available agent to speak with a party. Once a called party answers, that call can be connected to an available agent. 
     Contact centers may handle outgoing call campaigns for various purposes. Contact centers may have campaigns for debt collection, conducting surveys, soliciting donations, and telemarketing. Each of these campaigns may be associated with one or more calling lists, which are lists of telephone numbers to be called. For example, a political survey campaign may have a corresponding set of calling lists, which are called at different times and pertain to different elections. Depending on the campaign, such as a survey for a national election, the calling list may be national in scope and cover a number of time zones. 
     When dialing numbers using a particular calling list, various factors may impact the success rate of the campaign. In one case, success can be a measure of the percentage of time agents are utilized in talking with called parties, as opposed to waiting to talk. In some instances, it may be necessary to switch from using one calling list to another to ensure that agents are being efficiently utilized. Determining when the appropriate time to switch a calling list can require significant experience. If a list is encountering poor performance (e.g., agents are not fully utilized), it may be due to some exigent circumstance that warrants suspending use of the calling list and starting another, or it may be due to normal fluctuations that do not warrant suspending the calling list. 
     Thus, it is desirable to have an automatic mechanism that provides a flexible and accurate determination of when to switch a calling list in a contact center to ensure that agent productivity is maximized. It is further desirable that such mechanisms are easy to administer and flexible to operate. 
     BRIEF SUMMARY 
     In general, embodiments of the present invention pertain to processing a calling list and switching to another calling list when conditions are appropriate. Determining the appropriate conditions, in one embodiment, is based on observing an administrator manually switching out a first calling list for a second calling list. In this mode, referred to as a learning mode, the system observes one or more measured parameters and determines the basis for swapping the calling list. In a control mode, the system then monitors the measured parameters, and applies the basis to the currently used calling list. The system then recommends terminating the currently used calling list or actually swaps the currently used calling list for another calling list when appropriate. 
     In various embodiments, the measured parameters may comprise one or more of: time, call completion rate, agent utilization, and other similar parameters. In one embodiment, in the control mode, the system may recommend or actually control the swapping of a calling list. In other modes, the administrator may review, edit, or adjust the measured parameters or the determined threshold values used by the system to recommend swapping, or actually control the replacement, of a calling list. 
     As is discussed in greater detail below, the subject matter disclosed herein may be implemented as a computer-controlled apparatus, a method, a computing system, or as an article of manufacture such as a computer-readable storage medium. These and various other features will be apparent from the following Detailed Description and the associated drawings. 
     This Summary is provided to exemplify concepts at a high level form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that address any or all disadvantages noted in any part of this disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein: 
         FIG. 1  shows an architecture of a contact center which may employ the various technologies disclosed herein; 
         FIG. 2  discloses the concept of calling windows as it pertains to calling lists; 
         FIG. 3  discloses a high level overview of using different calling lists at different times; 
         FIG. 4  illustrates one embodiment of a process flow disclosing a learning mode and a control mode for determining when to swap a calling list; 
         FIG. 5  illustrates another embodiment of measuring a performance parameter over time for determining when to swap a calling list; 
         FIG. 6  illustrates one embodiment of measuring usage of a calling list over time as a basis for determining when to swap a calling list; and 
         FIG. 7  one embodiment of a processing device for practicing the technologies and concepts herein. 
     
    
    
     DETAILED DESCRIPTION 
     Various embodiments for practicing the technologies disclosed herein are described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the technologies disclosed are shown. Indeed, the embodiments disclosed herein are provided so that this disclosure will satisfy applicable legal requirements and should not be construed as limiting or precluding other embodiments applying the teachings and concepts disclosed herein. Like numbers in the drawings refer to like elements throughout. 
     Exemplary Contact Center Architecture 
       FIG. 1  shows one embodiment of a contact center architecture  100  illustrating the various technologies disclosed herein. The contact center architecture  100  shown in  FIG. 1  may involve voice calls that originate from the contact center. Although many aspects of contact center operation are disclosed in the context of voice calls, in various embodiments, the contact center may process other forms of communication such as, for example, facsimiles, emails, text messages, video calls, and chat messages. That is, in various embodiments, a call center may be considered as a contact center. However, for purposes of this disclosure, the term “contact center” is used throughout, although it is understood that the principles may apply to a center that handles only telephone calls. 
     In particular embodiments, the contact center may employ a dialer  150 , such as a predictive dialer, to originate outbound calls on behalf of an agent at a rate designed to meet various criteria. Depending on the embodiment, the dialer  150  may directly interface with voice trunks using facilities  116   d  to a public switched telephone network (“PSTN”)  115  for originating calls. In these embodiments, a call may be routed by the PSTN  115  and may comprise various types of facilities, including, but not limited to: T1 trunks, SONET based fiber optic networks, ATM networks, PSTN trunks  116   d , or other facilities  116   e ,  116   c . Further, depending on the embodiment, after a call is originated and answered by a party, the dialer  150  may connect the call with an agent or place the call in a queue for a next available agent. In the latter case, announcements or music may be provided to the party as the party waits in the queue. Similar to the other components within the contact center architecture  100 , depending on the embodiment, the dialer  150  may comprise one or more software modules executing on a processing device hardware platform. 
     In various embodiments, outbound calls may originate from the dialer  150  processing a dialing or calling list made up of a collection of records including telephone numbers of targeted parties that is retrieved from the data store  175  that is accessible over a local network  170 . In one embodiment the data store  175  can be a database that stores the calling list, and may contain other information on the targeted party. For example, each record may also include the targeted party&#39;s mailing or residential address. In certain embodiments, the data store  175  may be integrated with the dialer  150 . 
     The calling list may include hundreds or thousands of records, and these may not be sorted in any particular order, but may be dialed in sequence. Specifically, in various embodiments, the calling list may or may not have records that are grouped together on some logical basis. For example, one calling list may have records for telephone numbers based on the east coast, whereas another calling list may have records for telephone numbers based on the west coast. In other examples, the calling list may have records based in both areas, and a filter can be used to access records according to desired criteria, such as in a certain time zone. Use of separate lists or applying a filter to a single list is considered functionally equivalent. 
     Depending on the embodiment, outbound voice calls may originate to parties using a variety of different phone types. For instance, a party may receive a call at a conventional analog telephone  110   b  connected to the PSTN  115  using an analog plain old telephone service (“POTS”) line  116   a . A party may also receive a call at a mobile device  110   c , such as a smart phone or tablet, which wirelessly communicates with a mobile service provider (“MSP”)  112 . A call to a mobile device  110   c  may be routed from the PSTN  115  using an integrated services digital network (“ISDN”) interface  116   b  or other types of interfaces that are well known to those skilled in the art. In addition, the MSP  112  may also route a call to a party that was received as packetized voice, referred to herein as voice-over-IP (“VoIP”), from an Internet provider  123   b  using Internet-based protocols. In turn, the call may have been routed to the Internet provider  123   b  over a trunk  116   c  from the dialer  155 . For convenience, unless indicated otherwise, the term “trunk” refers to any type of facility  116   c ,  116   d , or  116   e  providing voice calls to, or from, the contact center, regardless of the type of protocol or technology used. Specifically, a “trunk,” as referred to herein, is not limited to time-division multiplexing (“TDM”) technology. 
     Voice calls may also be received by a party employing a so-called “IP phone,” “VoIP phone,” or “soft phone”  110   a . In one embodiment, this device may comprise a computing device  105 , such as a laptop, desktop, or computing tablet that interfaces with a headphone/microphone combination, also referred to as a “headset”  106 . An IP phone may use a digital voice control protocol and may process packetized voice data according to various Internet based voice protocols, such as session initiated protocol (“SIP”). The call may be conveyed by other types of Internet providers  123   a , such as a cable company providing Internet access services over a coaxial cable facility  116   e . Those skilled in the art will recognize that a variety of protocols and facilities may be used to convey voice calls. 
     Once outbound calls have been answered, they may be routed over facilities  165  to agents for servicing. That is, after a call is originated by the dialer  150  and a called party answers, the call may be connected with an agent. The physical area at which the agent sits is often referred to as an agent “position” and these positions are often grouped into clusters that are managed by a supervisor, who may monitor calls and the agents&#39; productivity. According to various embodiments, an agent typically uses a computing device, such as a computer  160   a - 160   c  and a voice device  161   a - 161   c . In particular embodiments, data may be provided to an agent&#39;s workstation computer  160   a - 160   c  over facilities  168  along with routing the call to the agent&#39;s workstation voice device  161   a - 161   c  over other facilities  165 . The combination of computer  160   a - 160   c  and voice device  161   a - 161   c  may be referred to as a “workstation.” Thus, the workstation collectively has a data capability and a voice capability, though separate devices may be used. In some instances, “workstation” may be used in reference to specifically either the data or voice capability at the agent&#39;s position, as appropriate to the context. For example, “routing the call to the agent&#39;s workstation” means routing a call to a voice device  161   a - 161   c  at the agent&#39;s position. Similarly, “routing the call to the agent” means routing a call to the appropriate equipment at an agent&#39;s position. 
     Depending on the embodiment, the voice device used by an agent may be a soft phone device exemplified by a headset  161   a  connected to the computer  160   a . The soft phone device may be a virtual telephone implemented in part by an application program executing in a computer. The voice device may also comprise an Internet Protocol (“IP”) based headset  161   b  or a conventional phone  161   c . Thus, use of the term “phone” is intended to encompass all these types of voice devices used by an agent. 
     Further, in various embodiments, a CTI server  145  may be incorporated in the contact center architecture  100  to control, monitor, and/or coordinate other components of the architecture  100 . As is described in greater detail below, the CTI server  145  may interact with the dialer  150  to coordinate call processing. For instance, in particular embodiments, the CTI server  145  may control the processing and selection of calling lists used by the dialer  150 . In addition, in particular embodiments, the CTI server  145  (and/or dialer  150 ) may also monitor various components of the architecture  100 . For example, the CTI server  145  may monitor performance parameters such as agent utilization rate, right party connect rate, the calling windows for particular calling lists, and/or the current abandonment rate for the dialer  150 . In addition, the CTI server  145  (and/or dialer  150 ) may monitor actions taken by an administrator from his workstation  180 . 
     The above components may be referred to as a “computing device,” “processing device,” or “system.” This equipment may incorporate a local data store  175  and/or interface with an external data store. Further, the above components may be located remotely from (or co-located with) other components. Furthermore, one or more of the components may be implemented on a single processing device to perform the functions described herein. For example, in various embodiments, the functionality of the dialer  150  may also be incorporated with other contact center components. 
     In addition, the contact center architecture  100  may be provided as a hosted solution, where the call processing functionality is provided as a communication service (a so-called “communication-as-a-service” or “CaaS”) to a contact center operator. There is no requirement that the components identified above actually be located or controlled by a contact center operator. 
     In addition, depending on the embodiment, the agent positions may be co-located in a single physical contact center or multiple physical contact centers. The agents may be remotely located from the other components of the contact center, and may also be remotely located from each other, sometimes referred to as a “virtual contact center.” In particular instances, a virtual contact center may describe a scenario in which agents work at home, using their own computers and telephones as workstations. In some configurations, a single physical location of the contact center may not be readily identifiable. For instance, this may occur when the call processing functions are provided as a service in a hosted cloud computing environment and the agents positions are located in their individual residences. 
     Swapping Calling Lists 
     Calling lists may be used by a contact center for originating calls for a particular campaign. Calling lists may further be segregated based on various factors, including the type of campaign, geographical area, etc. Thus, telephone numbers (or simply “numbers”) in one calling list may pertain to a political survey campaign, whereas numbers in another list may pertain to a telemarketing campaign. Campaigns may last for a few days, few weeks, or longer. 
     In addition, calling lists may be segregated or generated based on time zones of the telephone numbers contained therein. In other words, geographical locations sharing a common time zone form the basis for grouping records in a calling list. This arrangement facilitates adherence to the appropriate calling windows. A calling window defines a time period when it is allowable to call a party. The time period is always expressed in terms of the local time of the called party. For example, various federal or state regulations may limit when certain types of calls may be made relative to the local time of the called party. Specifically, in some embodiments, telemarketing calls may be limited to being made between 8:00 a.m. and 9:00 p.m. of the called party. States may offer more restrictive calling windows, and contact centers frequently may implement an even narrower calling window based on their internal policies. 
     This concept is illustrated in  FIG. 2 . The diagram  200  illustrates a time line  202 , which represents hours in a day. A calling window  204  is shown that may comport with certain federal regulations, such as when the calls cannot start earlier than 8:00 a.m., or go past 9:00 p.m. Some contact center operators may define their own calling window, involving a narrower calling window  206 , which opens at 9:00 a.m. and closes at 8:30 p.m. The appropriate calling window may be impacted by various considerations and may be defined on a per-campaign basis taking into account per-state or national regulations, and other factors. 
     The local time of the called party may not be the same as the local time of the originating contact center, since the contact center typically originates calls across the U.S. and possibly internationally. Thus, the calling window, the time zone of the contact center, and the time zone of the called party must all be considered before initiating a call to the called party. For practical purposes, the time zone can be equated to a location of the called party. Thus, if the contact center is in the same time zone as the called party, then the contact center can originate calls during the calling window based on its own time. However, when the called party is in another time zone, the calls must be adjusted appropriately. In most instances, each time zone represents a shift of one hour. 
     For example, if the contact center is located in the “Eastern Standard Time” (“EST”) zone, then 9:00 a.m. EST is 6:00 a.m. in the “Pacific Standard Time” (“PST”) zone. Thus, the contact center must wait two hours before it is 8:00 a.m. in the PST zone, which typically is the earliest time at which calls may be offered in the PST zone. As expected, a contact center located in the EST zone largely directs calls in the early morning to the east coast of the U.S., and then as the day progresses, directs calls further westward. At the end of the day, the contact center may continue to direct calls to the west coast, while the calling window on the east coast has closed. 
     This natural movement from east-to-west is sometimes referred to as a “follow-the-sun” strategy. That is, the calling window opens on the east coast where the sun rises, and travels westward, where the sun sets. The time zone difference for locales in the U.S. can be up to six hours. Thus, the beginning/ending of a calling window may be up to six hours from another calling window. This also impacts the selection of calling lists, which may be broken down into time zones. 
       FIG. 3  illustrates one follow-the-sun strategy with respect to selecting calling lists. In  FIG. 3 , the diagram  300  illustrates geography associated with the east coast  350  on the right side, and with geography on the west coast  352  on the left side. For purposes of illustration, this span could represent up to at least six time zones. The timeline  302  proceeds from right to left, in accordance with the sun rising on the east coast first, and proceeding to the west coast. 
     The first calling list may be the ADT Calling List  310 . This is the “Atlantic Daylight Time” (“ADT”) zone that covers portions of Newfoundland, which is east of the U.S. Although not part of the U.S., this time zone is in North America and many contact centers may originate calls to other countries in North America. Thus, if the contact center is located in the EST zone, then when it is 8:00 a.m. at the contact center, it is already 9:00 a.m. in the ADT zone. Thus, the contact center could start calling the ADT Calling List  310  as soon as 7:00 a.m. EST. However, it may not be appropriate for the contact center to originate calls in the EST zone at that time using list  315   a  or  315   b  until the appropriate calling window opens, which is assumed to be 8:00 a.m. EST. At 8:00 a.m. EST, the contact center may begin using the EST Calling List A  315   a . Based on various conditions, the contact center may then switch over to EST Calling List B  315   b . Meanwhile, during this time the contact center can continue using the ADT Calling List  310 . 
     At 9:00 a.m. EST, the contact center can begin dialing calls from the “Central Standard Time” (“CST”) zone, as it is now 8:00 a.m. in this time zone. Again, the contact center may begin with CST Calling List A  320   a , and then switch over to CST Calling List B  320   b  as conditions warrant. 
     Similarly, at 10:00 a.m. EST the contact center can start using the “Mountain Standard Time” (“MST”) Calling List  325 . Further, at 11:00 a.m. EST, the contact center can then start using the PST Calling List  330   a  and  330   b.    
     At the end of the day, the contact center must terminate the use of the eastern most calling lists first. Namely, the use of the ADT Calling List  310  needs to cease by 8:00 p.m. EST, which is 9:00 p.m. ADT. Similarly, calls using the EST Calling Lists  315   a ,  315   b  must cease at 9:00 p.m. EST. Finally, calls using the PST Calling Lists  330   a ,  330   b  must cease at midnight at the contact center, which is 9:00 p.m. PST. 
     Thus, it can be seen that as calling windows open beginning in the east, the appropriate eastern oriented calling lists can be used for originating calls. Further, as the calling windows close, the eastern oriented calling lists are the first to terminate and the western oriented calling lists are the last to terminate. The number of time zones in the North America geographic area is shown in Table 1. While the table includes a number of familiar U.S. time zones, such as Eastern, Central, Mountain, and Pacific, the number of applicable time zones for North America includes other time zones. When mapping a calling list to a time zone, consideration must be given to various anomalies, such as certain municipalities that do not change from standard to daylight savings times, as well some areas which incorporate a time zone that is offset by 30 minutes, as opposed to a full hour. The Universal Time Coordinate (“UTC”) shown in Table 1 is the offset hours reference. 
     
       
         
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Abbreviation 
                 Full name 
                 Time Zone 
               
               
                   
               
             
             
               
                 ADT 
                 Atlantic Daylight Time 
                 UTC - 3 hours 
               
               
                 AKDT 
                 Alaska Daylight Time 
                 UTC - 8 hours 
               
               
                 AKST 
                 Alaska Standard Time 
                 UTC - 9 hours 
               
               
                 AST 
                 Atlantic Standard Time 
                 UTC - 4 hours 
               
               
                 CDT 
                 Central Daylight Time 
                 UTC - 5 hours 
               
               
                 CST 
                 Central Standard Time 
                 UTC - 6 hours 
               
               
                 EDT 
                 Eastern Daylight Time 
                 UTC - 4 hours 
               
               
                 EGST 
                 Eastern Greenland Summer Time 
                 UTC 
               
               
                 EGT 
                 East Greenland Time 
                 UTC - 1 hour 
               
               
                 EST 
                 Eastern Standard Time 
                 UTC - 5 hours 
               
               
                 HADT 
                 Hawaii-Aleutian Daylight Time 
                 UTC - 9 hours 
               
               
                 HAST 
                 Hawaii-Aleutian Standard Time 
                 UTC - 10 hours 
               
               
                 MDT 
                 Mountain Daylight Time 
                 UTC - 6 hours 
               
               
                 MST 
                 Mountain Standard Time 
                 UTC - 7 hours 
               
               
                 NDT 
                 Newfoundland Daylight Time 
                 UTC - 2:30 hours 
               
               
                 NST 
                 Newfoundland Standard Time 
                 UTC - 3:30 hours 
               
               
                 PDT 
                 Pacific Daylight Time 
                 UTC - 7 hours 
               
               
                 PMDT 
                 Pierre &amp; Miquelon Daylight Time 
                 UTC - 2 hours 
               
               
                 PMST 
                 Pierre &amp; Miquelon Standard Time 
                 UTC - 3 hours 
               
               
                 PST 
                 Pacific Standard Time 
                 UTC - 8 hours 
               
               
                 WGST 
                 Western Greenland Summer Time 
                 UTC - 2 hours 
               
               
                 WGT 
                 West Greenland Time 
                 UTC - 3 hours 
               
               
                   
               
             
          
         
       
     
     It is not necessarily the case that when a calling window opens for a particular time zone that the corresponding calling list for that time zone is started and continuously used until the calling window for the time zone closes. Rather, an administrator may selectively start and stop a calling list during the applicable calling window. For example, returning to  FIG. 3 , there may be multiple calling lists for the EST that could be used (e.g., EST Calling List A  315   a  and EST Calling List B  315   b ). The administrator may start one list and then swap it out for another list based on monitoring various conditions. Or, the administrator may start both calling lists, stop both, and then restart one or the other calling list later in the shift. 
     For example, the EST Calling Lists may be used early morning, and then stopped around lunchtime EST. Instead, at that time when EST individuals are at lunch, the contact center may focus on processing the CST Calling Lists, which are on CST, since lunchtime in the CST is an hour away. Once lunch passes in the EST, the EST Calling Lists may be resumed, and instead the CST Calling List may be suspended. A similar approach may be used with calling lists in the MST and PST zones. Thus, within a calling window, there may be times where the ability to reach called parties peaks and diminishes. 
     Thus, it is not uncommon for the contact center administrator to cease using one calling list and start using another calling list within a calling window. This is referred to as “switching-in” a calling list (e.g., to start using the list for processing calls) and “switching-out” (to cease using the list for processing calls) during a day, as well as “swapping” calling lists. There are many factors that an administrator may consider when swapping calling lists. The above example has largely focused on time zones and calling windows, which is one basis for swapping lists. 
     Other factors may include how well the calling list is performing, which may involve how well the agents are being utilized. As noted above, there may be certain times of the day that a calling list is not performing well, as for example, during lunchtime. Other times may include certain times of the day when school-age children arrive at home. This can be a time when parents, who are not working, come home from running errands and are available to answer the phone. 
     Measuring how well a calling list is performing can be accomplished by observing a particular parameter designed as a performance indicator. This is referred to herein as the “measured performance parameter” (“MPP”) One metric that may be used as the MPP is a value indicating how many calls are answered by the desired or right party—so called “right party connects” (“RPC”). An RPC is when the intended party answers, as opposed to an answering machine answering, a no-answer condition being encountered, or some other outcome occurs. The RPC rate can be influenced by various factors, which may not be readily ascertainable by the contact center administrator. For example, during periods of poor weather, including periods of extreme heat, people may generally stay indoors, and therefore may be more likely at home to answer the phone. On the other hand, after a period of inclement weather when the weather moderates, people may be more likely to go outside of their home, and unavailable to answer their phone. Thus, local weather patterns are one variable that can impact the performance of a calling list. Obviously, such weather patterns may greatly vary in different parts of the country, and hence, can vary between and within time zones. The administrator may observe that a particular calling list is underperforming, but may not necessarily be able to identify the causes for this. Often times, the administrator does not really need to understand why the performance is lagging. 
     Other MPPs include the number of sales or “conversions” that agents are completing. A convention is a successful outcome, whether it involves soliciting a membership, a sale, donation, pledge, etc. Conversions may be influenced by the RPC rate and other factors as well. However, it is possible to have a low RPC rate, but have a higher conversion rate. For some contact centers, the conversion rate, as opposed to the RPC rate, is more important as the MPP for measuring the success rate of calls on a particular calling list. 
     Another MPP metric may be the abandonment rate of calls. The abandonment rate measures how many calls that are attempted, but do not actually connect to an agent. Calls that may not be connected to an agent involve calls to numbers that are disconnected or answered by an answering machine or for which the call is terminated because an agent is not currently available. The abandonment rate of calls may be measured and monitored by the contact center administrator and used as a basis for switching out one list for another. 
     The particular MPP that is used as the basis for swapping lists can vary from embodiment to embodiment. However, assuming the administrator is not randomly swapping calling lists, the administrator is using one or more MPPs in determining whether to replace one calling list for another. 
     Exemplary Process Flow 
     As described above, an administrator may manually monitor one or more MPPs associated with using a calling list, and based on experience, may decide to swap one list for another. Various decisions, which may not even be cognizable by the administrator, may be involved in deciding to swap a list. One approach is to mimic the administrator&#39;s experience by using an automated list scheduling system (“ALS system”) to learn from the administrator&#39;s actions by observing the various parameters when the administrator manually swaps a calling list. The ALS system then applies what it has learned to control swapping of calling lists in the future. 
     One process flow illustrating how the administrator&#39;s actions can be learned and applied by an ALS system to manage the scheduling of calling lists is shown in  FIG. 4 . Depending on the embodiment, the logical operations described herein may be implemented (1) as a sequence of computer implemented acts or one or more program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. For instance, the ALS system may reside on the dialer  150  or on a separate device such as the CTI server  145 . The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states, operations, structural devices, acts, or modules. These operations, structural devices, acts, and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. Greater or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in a different order than those described herein. 
     The process  400  begins with receiving a selection of a set of calling lists identified by the administrator in operation  402 . Identification of the set of calling lists does not necessarily require that each calling list will actually be used. Rather, this indicates the set of calling lists that may be used, depending on circumstances. The administrator defines an initial calling list to use at the beginning of the day and this initial calling list is retrieved in operation  406 . Typically, this list is selected based in part on time zones and calling windows, since only certain geographical areas may be called at certain times of the day. Specifically, returning to the example of using the U.S. as the calling area, at the beginning of the day, the eligible calling lists are likely to contain east coast oriented numbers, since these are first to be eligible in a conventional calling window. In operation  408 , the calling list is used to commence dialing operations. For instance, in particular embodiments, this operation  408  entails the ALS system instructing the dialer  150  on which calling list to begin using to originate outbound calls. 
     Throughout the process, an operation  412  is continuously performed to determine if the end of day has been reached. More specifically, this operation could be at the end of the last calling window for which calls could be made. For example, if the western-most time zone is the PST, then there is a time limit when use of the corresponding calling list must cease. If the end of day is reached in operation  412 , then the process stops. Otherwise, the process continues with operation  416 . 
     In operation  416 , a threshold condition of a MPP is monitored. More specifically, at least one MPP is monitored to determine if it has exceeded a threshold value. Multiple MPPs may be monitored, with corresponding threshold values. The MPP(s) may include one or more of those identified above, which include answering rate, conversion rate, right party connect rate, agent utilization rate, etc. These MPPs, as well as others identified by a contact center administrator, may be defined as threshold variables that are monitored, or the ALS system may observe a variety of parameters and may identify which parameters are significant in determining when to switch-out a calling list. Although reference is made to the ALS system swapping or switching-out a list, in various embodiments, the ALS system may merely provide an indication that the current list should be switched out. For example, in particular embodiments, the ALS system provides an indication to the dialer  150  that the current list should be switched out and that the dialer  150  should begin to use another calling list. 
     Returning to  FIG. 4 , after monitoring the MPP(s) in operation  416 , the process divides into one of two modes of operation. The first mode  418  is the “monitor mode”  418  and the second mode is the “automatic mode”  419 . The monitor mode  418  is also referred to as the “learning mode” as it is in this mode that the administrator&#39;s calling list usage and the MPPs are monitored. This involves recording the values of the MPPs over time in operation  420 , which are correlated with the associated calling list and noted when the administrator swaps one calling list for another. 
     These data values are analyzed using various algorithms known in the art to determine a pattern and a threshold value for each of the corresponding MPPs in operation  421 . Frequently, a number of data values are required before a confidence level is obtained in determining the relevant MPPs and corresponding threshold values. The process loops back to operation  412 , where (assuming the end of day has not been reached), additional data points of the MPPs are monitored and collected in operation  416 . In some embodiments the administrator may define the appropriate MPPs, whereas in other embodiments, the ALS system may monitor a large set of parameters to determine which MPPs are relevant. 
     The other mode of operation is the “automatic mode”  419 . The automatic mode refers to the mode where the pattern analysis is used to recommend, or actually control, swapping a calling list. This may require a period of time before the supervisor&#39;s calling list changes are monitored sufficiently and analyzed so as to develop guidelines for swapping the calling list. In some embodiments, the monitor mode requires a period of time sufficient to develop confidence levels for the threshold values of the corresponding MPPs. In some instances, the criteria used to trigger swapping may be relatively simple and allow a high degree of confidence in a short period of time for the monitor mode, whereas in other cases it may be more complicated and require a longer period of time for the monitor mode. 
     In the automatic mode  419 , the next step is determining whether the threshold for the applicable MPP(s) has been reached in operation  422 . This threshold is based on whether the monitored criterion (or criteria) has reached a specific value associated with switching-out the calling list. If not, then the process loops back to monitor subsequent values by returning to process  412 . 
     Once the threshold has been reached in operation  422 , this may trigger the swapping (switching-out) of the calling list. More specifically, at this point the action taken may depend on the embodiment. For example, in operation  424 , the action may depend on whether a “recommend” or “control” mode of operation is currently selected. The recommend mode continues to operation  426  where a recommendation is provided to the administrator to switch-out the calling list. The recommendation can be provided in various ways. For instance, in one embodiment, a dashboard is presented to the administrator with a current value of the MPP, along with a threshold value at which a recommendation is provided to switch-out the list. The recommendation can be indicated via an icon or text message on the dashboard. In addition, a text message, email message, or other alerting means can be provided to the administrator. The recommend mode allows the administrator to have the ultimate control as to when a calling list is swapped, and allows the administrator to address and monitor other activities in the contact center. 
     Assuming the administrator responds to the notification in operation  428  to switch-out the current calling list, the switch-out of the calling list occurs in operation  430 . In other instances, the administrator may chose to continue using the existing list. Assuming the list is switched-out, the process then loops back to operation  408  where use of the new list is started. 
     If the control mode of operation is implemented, then in operation  424 , the ALS system automatically swaps the current calling list with the next list in operation  430 . At this point, the process loops back to operation  408  where the new list is started. 
     When changing to a new list, there are two decisions involved. First, there is the decision whether to terminate using the current list and change to another list. This is accomplished by monitoring the threshold value of the appropriate MPP. Second, there is a decision of what new list should be used to replace the current list. In some embodiments, an ordered sequence of calling lists may be defined, so that in effect, the decision of what should be the next list is already made. This sequence of lists can be defined by the administrator beforehand. The sequence may be determined by, for example, the order in which the applicable calling windows for the lists open. 
     Alternatively, a separate process can be defined for determining the next calling list to start. For example, if there are multiple calling lists that could be selected, the calling list with the lowest penetration rate, or the earliest date for completion, could be given preference over other lists. Thus, a priority parameter for determining which of several lists should be used can be defined for determining which of several eligible lists should be used. Lists may require a certain penetration rate at which point usage of the list for the campaign may be terminated. 
     Examples of Monitoring Measured Performance Parameters 
       FIG. 5  illustrates a generic example of monitoring a MPP, determining an average, and then using the acquired information to determine when a threshold value is reached. In  FIG. 5 , the diagram  500  depicts the MPP that is monitored, as indicated by the y-axis  505 . The MPP could be time, cumulative usage, conversion rate, completed sales volume, agent utilization, including any of the above mentioned metrics. This MPP is shown as graphed against time, which is depicted in the x-axis  510 . Specifically, in one embodiment, the time reflects the intra-day calling window time for a given day. Thus, the time could represent a few hours, or the entire shift of eight, twelve, or more hours. 
     The MPP is depicted by a solid line  515  that varies with time. Presumably, this value varies and is continuously measured. The dotted line  520  may reflect a cumulative average of the MPP over a prior time period (or some average metric). If it is an average value, then this could be a daily average, weekly average, a running average, or a value based on some other time period. As shown in the  FIG. 5 , the MPP has a portion  540  that starts out below the average value  520 , peaks above the average value, encounters a second valley  545  below the average value, peaks again above the average value, and then commences a gradual downhill trend  555 . At a certain point  525 , a threshold value of the MPP may be reached that is defined as a percentage  530 , A % that is below the average value, which triggers the replacement of the calling list. 
       FIG. 5  could represent the MPP as observed by an administrator and used for manually swapping a calling list. The administrator may monitor the MPP and decide to replace the list once the threshold percentage  530  is reached. In a learning mode,  FIG. 5  can represent the ALS system monitoring the same MPP, so that when the same parameter(s) reaches a threshold value, the ALS system then automatically swaps out the calling list, or recommends to the administrator to swap out the calling list. 
     Frequently, the triggering of a calling list to be swapped may not be as simple as monitoring a single MPP, but may involve monitoring several parameters. There may be several MPPs that must be analyzed, and the trigger is based on an inter-relationship of the MPPs. For example, in instances in which the call campaign involves telemarketing, if agents are particularly successful in converting potential customers (thereby reflecting, e.g., a high revenue), it may be acceptable to have a lower average agent utilization (to an extent). However, if the purpose of the call campaign is to seek political donations, then an agent utilization rate may be more important and the average solicitation per call may not be so important. 
     In various embodiments, the MPPs may be generated by the call handling system based on existing measurements and metrics that are generated during the normal course of operation. These values can be provided to the ALS system that read and processes the values in accordance with the concepts disclosed herein. 
     Cumulative Time as Measured Performance Parameter 
       FIG. 6  illustrates another embodiment of monitoring a MPP, which is cumulative usage of the calling list, with respect to time. The diagram  600  illustrates the MPP of cumulative time as the y-axis  605 , which measures the calling list cumulative usage. The time is measured on the x-axis  610 , and depicts time during a shift. 
     In  FIG. 600 , the cumulative time is depicted in whole numbers of hours, although minutes or seconds could have been used. Hence, a “stair-cased” graph is produced. For each hour on the time (X) axis, the MPP, which is cumulative usage, is incremented by one. In this embodiment, the calling list is started at 1:00 p.m. and its use has incremented by four hours by 5:00 p.m. The specific value of the cumulative hours is not material. The administrator may regularly swap out a calling list after four hours of use, and so the MPP is “hours of use” and the threshold for swapping out the list is four hours. 
     In other embodiments, the threshold criteria could be a combination of metrics. For example, a calling list may be swapped out once it has been used for a minimum of 3 hours and the connect rate drops below a certain percentage. Other criteria can be used to structure a combination of variables that must be met before the calling list usage is terminated. 
     Learning Algorithm 
     The learning mode involves learning when to automatically swap out a calling list. Thus, in various embodiments, the learning mode may involve the ALS system developing some type of predictive model for determining when to swap out a calling list. For instance, in particular embodiments, the learning mode may involve the ALS system performing pattern recognition based on data for a number of MPPs during past times when calling lists were swapped out. Further, this may involve the ALS system developing model(s) based on one or more different types of classifiers such as binary classifiers (e.g., logistic regression and/or support vector machine) and/or probabilistic classifiers (e.g., Naive Bayes) as well as performing feature selection and/or feature extraction to identify the appropriate MPPs. 
     Depending on the number of MPPs monitored, the complexity of the predictive model, and the required accuracy of the model, the threshold may be established after conducting an analysis on MPPs associated with a small number of occurrences of swapping out calling lists. However, this is typically not the case since monitoring one or more swapping out of calling lists over a short period of time performed by one or two administrators may result in establishing a threshold that may not be representative of how future swaps should occur (e.g., a low confidence level of the established threshold). Thus, it is typically more desirable for the learning mode to involve observing a plurality of manual swaps conducted by multiple administrators over a number of different past periods of time so that the appropriate MPPs and thresholds having higher confidence levels can be determined. 
     Further, it is noted that in various embodiments, the ALS system performing the learning mode process is favored over simply having the contact center administrators identify the appropriate MPPs and thresholds for when calling lists should be swapped out. This is because in many instances, the thresholds for swapping out calling lists may be dependent on a number of different combinations of the MPPs that only the ALS system may be able to deduct from analyzing the historical MPPs data. 
     For example, the ALS system may conduct the learning mode process on data for a number of swaps made by administrators over several charity fund raising outbound call campaigns and “learn” that the appropriate threshold for swapping out a calling list during one of these campaigns is when MPP “A” is between 0 and 100 units and MPP “B” is 25% below the average value for MPP “B.” However, the ALS system may also “learn” that the appropriate threshold is when MPP “A” is between 100 and 120 units and MPP “B” is only 15% below the average value for MPP “B.” That is, the ALS system may conclude from the learning mode process that there are multiple combinations of values (e.g., measurements) for the applicable MPPs that may be considered an appropriate threshold for swapping out a calling list. 
     Therefore, in many instances, the ALS system performing the learning mode process provides a significant improvement over a process involving administrators simply identifying the appropriate MPPs to monitor and thresholds for swapping out calling lists. That is to say, although the learning mode carried out by the ALS system may be based on data involving administrators manually swapping out calling lists, in many instances, the ALS system is able to more effectively analyze the MPPs, identify patterns and the applicable MPPs using predictive modeling, and establish thresholds that signal when calling lists should be swapped out. In fact, in many instances, an administrator may not even know which MPPs should be monitored, let alone the different combinations of measures (thresholds) for the applicable MPPs that signal when calling lists should be swapped out. 
     However, with that said, the administrator may be able to manually identify applicable MPPs and/or thresholds or alter the MPPs and/or thresholds derived by the ALS system in some embodiments. For these embodiments, a graphical user interface may be provided to the administrator to view the observed and derived MPPs and thresholds over time, and allow the administrator to edit them accordingly. Therefore, although the administrator may not know in some instances the cumulative conditions as to when calling lists should be swapped out, a summary of the MPPs and thresholds identified by the ALS system can be presented to and edited by the administrator. 
     Calling List Filters 
     The above examples are based on using separate calling lists, and swapping in one calling list for another. The calling lists can be distinguished as being assigned for different campaigns, agent groups, time zones, etc. However, it is not necessary that these logically distinct sets of telephone numbers are structured as being in different calling lists. Rather, a single calling list can be defined where logically distinct sets of numbers are identified by using a list filter. 
     For example, consider multiple lists, each having only numbers in a single time zone. Selecting a list for use in a dialer means that only numbers in that time zone will be called. On the other hand, a single common list could be defined, where each number includes an indication of its time zone. A filter can be defined that retrieves or selects number from a given time zone. Thus, application of a filter acting on time zone data functions to provide the same result as a single list including only the numbers from a given time zone. Consequently, application of a filter to a master list to segregate numbers having a common characteristic is considered as equivalent to defining separate lists with each having a common characteristic. 
     Correlating Campaign Type with Measured Performance Parameter 
     The monitored MPPs may depend on the type of campaign type. Thus, the ALS system may use the type of campaign to determine which set of MPPs to monitor, and which threshold values are appropriate to signal a change of list. For example, in a survey-oriented campaign, the MPP may be the right party connect (“RPC”) rate. Since the purpose of the campaign is to obtain survey results from a person in the household, ensuring a high RPC rate may be the most important MPP to monitor. If a MPP drops below a certain level, then another list may be used that may have a higher MPP. In this case, a revenue-per-agent parameter would be inappropriate as a MPP, since there are no sales in this campaign. 
     However, if the campaign is a telemarketing campaign, then perhaps a revenue-per-agent is a suitable MPP. In this case, if the calling list is generating a high sales level for the agents, then it may not matter that the RPC is low. In other types of campaigns, other sets of MPPs may be appropriate. The MPP(s) used may be determined in part by the type of the calling campaign. Thus, the ALS system can also take into consideration the type of calling campaign that is being monitored in the learning mode, and determine a set of thresholds that are to be applied for that type of campaign in the control mode. 
     Exemplary Computer Processing Device 
       FIG. 7  is an exemplary schematic diagram of a computer processing system that may be used in embodiments of various architectures, such as architecture  200  shown in  FIG. 2 , to practice the technologies disclosed herein. In general, the term “computer processing system” may be exemplified by, for example, but without limitation: a personal computer, server, desktop computer, tablets, smart phones, notebooks, laptops, distributed systems, servers, blades, gateways, switches, and the like, as well as any combination of devices or entities adapted to perform the functions described herein. 
     As shown in  FIG. 7 , the processing system  700  may include one or more processors  701  that may communicate with other elements within the processing system  700  via a bus  705 . The processor  701  may be implemented as one or more complex programmable logic devices (“CPLD”), microprocessors, multi-core processors, digital signal processors (“DSP”), system-on-a-chip (“SOC”), co-processing entities, application-specific integrated circuits (“ASIC”), field programmable gate arrays (“FPGA”), programmable logic arrays (“PLA”), hardware accelerators, other circuitry, or the like. 
     In one embodiment, the processing system  700  may also include one or more communications interfaces  702  for communicating data via a network  270  with various external devices. In various embodiments, communication may be via wired, optical, or wireless networks (or a combination thereof). The communication may use a variety of data transmission protocols, such as fiber distributed data interface (FDDI), Ethernet, asynchronous transfer mode (“ATM”), or frame relay. 
     The input/output controller  703  may also communicate with one or more input devices or peripherals using an interface such as, but not limited to: a keyboard, a mouse, a touch screen/display input, microphone, pointing device, etc. The input/output controller  703  may also communicate with output devices or peripherals, such as displays, printers, speakers, headsets, banner displays, etc. These may be used, in part, to receive Administrator input. 
     The processor  701  may be configured to execute instructions stored in volatile memory  706 , non-volatile memory  707 , or other forms of computer readable storage media accessible to the processor  701 . The volatile memory may comprise various types of memory technologies, including, but not limited to: random access memory (“RAM”), dynamic random access memory (“DRAM”), static random access memory (“SRAM”), and other forms well known to those skilled in the art. The non-volatile memory may comprise various technologies, including, but not limited to: storage media such as hard disks, floppy disks, read only memory (“ROM”), programmable read only memory (“PROM”), electrically erasable read only memory (“EPROM”), flash memory, and other forms well known to those skilled in the art. 
     The non-volatile memory  707  may store program code and data, which also may be loaded into the volatile memory  706  at execution time. For example, the non-volatile memory  707  may store one or more modules  709  that may perform the above-mentioned process flows and/or operating system code  708  containing instructions for performing the process and/or functions associated with the technologies disclosed herein. The list scheduling module(s)  709  may also manage the lists, including monitoring data in the learning mode, and controlling the lists in the control mode. The measure performance parameters may be stored in related data  710 . The data in the non-volatile memory may be copied (not shown) in the volatile memory  706  at run time. The volatile memory  706  and/or non-volatile memory  707  may be used to store other information including, but not limited to: records, applications, programs, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, or the like. These may be executed or processed by, for example, the processor  701  and may form a part of, or may interact with, the module(s)  709 . 
     The technologies described herein may be implemented in various ways, including as computer program products comprising memory storing instructions causing a processor to perform the operations associated with the above technologies. The computer program product may comprise a non-transitory (tangible) computer readable storage medium storing applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like (also referred to herein as executable instructions, instructions for execution, program code, and/or similar terms). Such non-transitory computer readable storage media include all the above identified computer readable media (including volatile and non-volatile media), but does not include a transitory, propagating signal, nor does it encompass a non-tangible computer readable medium. Non-volatile computer readable storage medium may specifically comprise: a floppy disk, flexible disk, hard disk, magnetic tape, compact disc read only memory (“CD-ROM”), compact disc compact disc-rewritable (“CD-RW”), digital versatile disc (“DVD”), Blu-ray™ disc (“BD”), any other non-transitory optical medium, and/or the like. Non-volatile computer readable storage medium may also comprise read-only memory (“ROM”), programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), electrically erasable programmable read-only memory (“EEPROM”), flash memory, and/or other technologies known to those skilled in the art.