Dynamic adjustment of timing of handover between different pairing policies

By dynamically adjusting the multiplier and buffer values of the SLA period, the problem of SLA being too static in the contact center environment is solved, the efficiency and resource utilization of call and agent pairing are improved, and the revenue and customer satisfaction of service providers are optimized.

CN120457670APending Publication Date: 2025-08-08AFINITI AI LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202380083737.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-08
Filing Date
2023-12-07
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

In the prior art, the service level agreement (SLA) period between the service provider and the enterprise client is too static, resulting in the sudden influx of a large number of calls in the contact center environment, which cannot be effectively adjusted, resulting in the call being unable to pair with the agent within the specified time, affecting the service provider's service fee income and resource utilization efficiency.

Method used

By dynamically adjusting the SLA period, adjusting the multiplier and buffer values based on the current environment status of the contact center to generate an SLA formula that is more suitable for the current environment, and dynamically adjusting the pairing strategy to optimize resource utilization and customer satisfaction.

Benefits of technology

It realizes dynamic adjustment of the SLA period when the contact center environment fluctuates, improves the efficiency of call and agent pairing, reduces resource waste, and optimizes service fee income and customer satisfaction of service providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120457670A_ABST
    Figure CN120457670A_ABST
Patent Text Reader

Abstract

A method is provided that includes obtaining time data indicating a first time interval. A first time interval is determined based on an expected latency for the paired contact and a first weight value. The method also includes obtaining pairing data indicating a first plurality of contact-agent pairs performed using the first pairing policy. A first portion of the first plurality of contact-seat pairs is performed within a first time interval, and a second portion of the first plurality of contact-seat pairs is performed outside the first time interval. The method further includes determining a number of contact-agent pairs included in the second portion, modifying the first weight value based on the determined number, thereby generating a second weight value; and determining a second time interval based on the expected latency and a second weight value. The at least one contact-seat pair included in the second portion is within a second time interval.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments are disclosed that involve dynamic adjustment of the timing of exchanging different pairing strategies. Background Art

[0002] There are many scenarios where tasks need to be assigned to agents. For example, when a customer calls an airline's customer service center to request a refund for their flight, an airline agent might need to be assigned to handle the call. Pairing strategies can be used to select the agent to pair with the call.

[0003] Examples of matching strategies that can be used to pair customer calls with agents include a "first-in, first-out" (FIFO) strategy, a performance-based routing (PBR) strategy, and a behavior-based matching (BP) strategy. The basic principles of FIFO, PBR, and BP strategies are known in the art, and therefore this disclosure does not provide a detailed explanation of these strategies. It should be noted that there are various types of BP strategies. For example, information regarding different types of BP strategies is provided in U.S. Patents Nos. 9,300,802, 9,781,269, 9,787,841, 9,930,180, and 10,757,262, all of which are incorporated herein by reference.

[0004] Using an appropriate pairing strategy to pair tasks (e.g., customer calls) with agents is crucial not only for the efficient utilization of agents and contact center computing resources, but also for customer satisfaction. For example, in a scenario where customers #1 and #2 are waiting to speak to an agent, and both agents #1 and #2 are currently available, if customer #1 contacts the customer center before customer #2 does, and if agent #1 becomes available before agent #2, then under the FIFO strategy, customer #1 will be paired with agent #1, and customer #2 will be paired with agent #2. However, if customer #1 calls to inquire about purchasing a specific product, and agent #2 (not agent #1) is the sales representative for that product, then it would be better to pair customer #1 with agent #2 rather than agent #1. Therefore, FIFO is not the optimal pairing strategy in this scenario.

[0005] As mentioned above, using an appropriate matching strategy to pair tasks with agents is crucial not only for efficient utilization of agents and contact center resources but also for customer satisfaction. Therefore, service providers are offering improved matching strategies for pairing agents with tasks to the companies that own the agents (e.g., airlines). It is important to note that in this disclosure, the companies for which service providers offer matching strategies (e.g., the airlines in the example above) are referred to as corporate customers.

[0006] There are multiple types of pairing strategies. For example, a first type of pairing strategy (e.g., a FIFO strategy) is configured to pair tasks with agents immediately when they become available, and this first pairing strategy may be pre-configured in an enterprise client or be the default pairing strategy for the enterprise client. In contrast, a second type of pairing strategy (e.g., a BP strategy) may be configured to wait for more tasks and / or more agents to become available, hoping that an agent more suitable for the currently available tasks (than the currently available agent) will become available later, and / or the second type of pairing strategy may be configured to pair tasks with agents in a non-sequential order. In some examples, if a service provider's pairing strategy is of the second type (e.g., a BP strategy) and the enterprise client decides to use the service provider's pairing strategy, the enterprise client may decide to use the service provider's pairing strategy in conjunction with its pre-configured pairing strategy. The rationale for using multiple pairing strategies may be that enterprise clients generally do not want their customers to wait too long before being paired with an agent, believing that longer wait times can negatively impact customer satisfaction. Each task is typically associated with a maximum wait time for the service provider's pairing policy to pair the task with an agent before the pairing module requires the task to be paired with the enterprise client's preconfigured or default pairing policy instead of the service provider's pairing policy.

[0007] The length of the maximum wait time can be set by the service provider and / or the enterprise client. In this disclosure, the length of the maximum wait time is also referred to as the service level agreement (SLA) period. The SLA period between service provider A and enterprise client B may indicate the maximum wait time that service provider A's matchmaking strategy (also known as the matchmaking algorithm) should wait to pair a contact with an agent. After the maximum wait time, enterprise client B will pair a contact using a preconfigured matchmaking strategy (i.e., a strategy that differs from service provider A's). The service fee paid by enterprise client B to service provider A may depend on a percentage of the number of matches service provider A creates within the SLA period. Therefore, for this and other reasons listed below, it is crucial that service provider A correctly sets the SLA period. Summary of the Invention

[0008] There are several challenges. For example, existing technologies use SLA periods (also known as maximum wait times) that are too static for contact center environments. For example, before the Christmas and New Year holidays, a clothing store's customer service center might suddenly receive a large number of calls from customers seeking gifts. In this situation, regardless of the type of matching strategy used (e.g., pre-configured matching strategies or those implemented by the service provider), many calls will not be matched with an agent within the SLA period.

[0009] However, as mentioned above, the service fee paid by the enterprise client to the service provider may depend on the percentage and / or number of matches created within the SLA period according to the service provider's pairing policy. Therefore, if too many calls are not paired with agents within the SLA period, it will be disadvantageous to the service provider. Therefore, the SLA period needs to be dynamically adjusted according to the contact center environment.

[0010] Therefore, in one aspect of an embodiment of the present disclosure, a method is provided. The method includes obtaining time data indicating a first time interval, wherein the first time interval is determined based on an expected wait time of contacts for pairing and a first weight value. The method also includes obtaining pairing data indicating a first plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is executed within the first time interval, and a second portion of the first plurality of contact-agent pairings is executed outside the first time interval. The method also includes determining a number of contact-agent pairings included in the second portion, and based on the determined number, modifying the first weight value to generate a second weight value. The method also includes determining a second time interval based on the expected wait time and the second weight value, wherein at least one contact-agent pairing included in the second portion is within the second time interval.

[0011] In another aspect of an embodiment of the present disclosure, a method is provided. The method includes obtaining time data indicating a first time interval, wherein the first time interval is determined based on an expected wait time of contacts for pairing, a first weight value, and a first buffer value. The method also includes obtaining pairing data indicating a first plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is executed within the first time interval, and a second portion of the first plurality of contact-agent pairings is executed outside the first time interval. The method also includes determining a number of contact-agent pairings included in the second portion, and based on the determined number of contact-agent pairings included in the second portion, modifying the first buffer value to generate a second buffer value. The method also includes determining a second time interval based on the expected wait time, the first weight value, and the second buffer value, wherein at least one contact-agent pairing included in the second portion of the first plurality of contact-agent pairings is within the second time interval.

[0012] In another aspect of the embodiments of the present disclosure, a computer program comprising instructions is provided. When the instructions are executed by a processing circuit of a node, the node is caused to perform the method of any one of the above embodiments.

[0013] In another aspect of the embodiments of the present disclosure, a carrier containing the computer program of the above embodiments is provided, wherein the carrier is one of an electronic signal, an optical signal, a radio signal and a computer-readable storage medium.

[0014] In another aspect of the embodiments of the present disclosure, a node is provided, which includes a processing circuit and is configured to execute the method of any one of the above embodiments.

[0015] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate various embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1A A system according to some embodiments is shown.

[0017] Figure 1B A pairing policy switching scheme according to some embodiments is shown.

[0018] Figure 1C An example communication system is shown in accordance with some embodiments.

[0019] Figure 1D An example communication system is shown in accordance with some embodiments.

[0020] Figure 1E An example communication system is shown in accordance with some embodiments.

[0021] Figure 2 A process according to some embodiments is shown.

[0022] Figure 3A and 3B A method of adjusting an SLA period according to some embodiments is shown.

[0023] Figure 4 A process according to some embodiments is shown.

[0024] Figure 5 A process according to some embodiments is shown.

[0025] Figure 6 An apparatus according to some embodiments is shown. DETAILED DESCRIPTION

[0026] FIG1A illustrates a system 100 according to some embodiments. The system 100 includes a pairing module 102, a pairing strategy selector 104, and an SLA period adjuster 106. Figure 1A The pairing module 102 , the pairing strategy selector 104 , and the SLA period adjuster 106 are shown as three separate entities, but in some embodiments, two or more of these three separate entities may be included in a single entity.

[0027] Pairing module 102 is configured to pair one or more tasks (e.g., calls from airline customers) with agents (e.g., airline agents). Task-to-agent pairing can be performed using a pairing policy selected by pairing policy selector 104. For example, pairing policy selector 104 may select the BP policy and send an indication to pairing module 102 indicating that the BP policy will be used for pairing. For example, each task may have a policy identifier flag associated with it, where the value of the flag is associated with a specific pairing policy (e.g., a value of "0" indicates that the service provider pairing policy will be used, and a value of "1" indicates that the default pairing policy will be used). SLA period adjuster 106 is configured to adjust the SLA period length and indicate to pairing module 102 and / or pairing policy selector 104 that the adjusted SLA period length can be used for subsequent pairing. For example, the value of the policy identifier flag for each task may be determined based on the current SLA period length and the latency of the task. How SLA period adjuster 106 adjusts the SLA period will be described in detail below.

[0028] As described above, in some cases, the system 100 may use a pairing strategy provided by a service provider to pair its customers with its agents. In these cases, because the enterprise client does not want its customers to wait too long before being paired with an agent, the system 100 may first associate the service provider's pairing strategy (which may not achieve the fastest pairing) with a task within a specific time interval (i.e., the SLA period), and then associate a different pairing strategy (which generally achieves the fastest pairing) with the task within any time period after the specific time interval.

[0029] Figure 1C An example communication system 100A is shown. In this example, the communication system 100A is a contact center system. Figure 1C As shown, the communication system 100A may include a central switch 110. The central switch 110 may receive incoming contacts (e.g., callers) or support outbound connections to contacts via a telecommunications network (not shown). The central switch 110 may include contact routing hardware and software to facilitate routing contacts between one or more contact centers, or to one or more private branch exchanges (PBXs) and / or automatic call distributors (ACDs) or other queuing or switching components, including other internet-based, cloud-based, or other networked contact-agent hardware or software-based contact center solutions.

[0030] Central switch 110 may not be required, for example, if there is only one contact center, or if there is only one PBX / ACD routing component in communication system 100A. If more than one contact center is part of communication system 100A, each contact center may include at least one contact center switch (e.g., contact center switches 120A and 120B). Contact center switches 120A and 120B may be communicatively coupled to central switch 110. In embodiments, various topologies of routing and network components may be configured to implement a contact center system.

[0031] Each contact center switch in each contact center can be communicatively coupled to multiple (or "pools") of agents. Each contact center switch can support a certain number of agents (or "seats") logged in at one time. At any given time, a logged-in agent may be available and waiting to be connected to a contact, or a logged-in agent may be unavailable for any of a number of reasons, such as connecting to another contact, performing certain post-call functions, such as recording information about the call, or taking an interruption.

[0032] exist Figure 1C In the example shown in FIG, central switch 110 routes contacts to one of two contact centers via contact center switch 120A and contact center switch 120B, respectively. Each of contact center switches 120A and 120B is shown as having two agents. Agents 130A and 130B can be logged into contact center switch 120A, and agents 130C and 130D can be logged into contact center switch 120B.

[0033] The communication system 100A may also be communicatively coupled to integration services from, for example, third-party vendors. Figure 1C In the example of FIG. 1 , paired node 140 can be communicatively coupled to one or more switches in a switch system of communication system 100A, such as central switch 110, contact center switch 120A, or contact center switch 120B. In some embodiments, a switch of communication system 100A can be communicatively coupled to multiple paired nodes. In some embodiments, paired node 140 can be embedded within a component of the contact center system (e.g., embedded within a switch or otherwise integrated with the switch). Paired node 140 can receive information from a switch (e.g., contact center switch 120A) about agents logged into the switch (e.g., agents 130A and 130B) and about incoming contacts via another switch (e.g., central switch 110) or, in some embodiments, from a network (e.g., the Internet or a telecommunications network) (not shown).

[0034] A contact center can include multiple pairing nodes. In some embodiments, one or more pairing nodes can be pairing node 140 or components of one or more switches, such as central switch 110 or contact center switches 120A and 120B. In some embodiments, a pairing node can determine which pairing node can handle pairing for a particular contact. For example, a pairing node can alternate between enabling pairing via a behavioral pairing (BP) strategy and enabling pairing using a first-in, first-out (FIFO) strategy. In other embodiments, a pairing node (e.g., a BP pairing node) can be configured to emulate other pairing strategies.

[0035] Figure 1D A second example communication system 100B is shown. Figure 1D As shown, communication system 100B may include one or more agent endpoints 151A and 151B and one or more contact endpoints 152A and 152B. Agent endpoints 151A and 151B may include agent terminals and / or agent computing devices (e.g., laptop computers, mobile phones). Contact endpoints 151A and 151B may include contact terminals and / or contact computing devices (e.g., laptop computers, mobile phones). Agent endpoints 151A and 151B and / or contact endpoints 152A and 152B may connect to Contact Center as a Service (CCaaS) 170 via the Internet or the Public Switched Telephone Network (PSTN), depending on the capabilities of the endpoint devices.

[0036] Figure 1E An example communication system 100C is shown with an example configuration of CCaaS 170. For example, CCaaS 170 may include multiple data centers 180A and 180B. Data centers 180A and 180B may be physically separate, even in different countries and / or continents. Data centers 180A and 180B may communicate with each other. For example, one data center may be a backup for the other; thus, in some embodiments, only one data center 180A or 180B may receive agent endpoints 151A and 151B and contact endpoints 152A and 152B at a time.

[0037] Each data center 180A, 180B includes a network decentralization zone (DMZ) device 171A, 171B, respectively, configured to receive agent endpoints 151A, 151B and contact endpoints 152A, 152B communicatively connected to CCaaS via the Internet. DMZ devices 171A, 171B can operate outside a firewall to connect with agent endpoints 151A, 151B and contact endpoints 152A, 152B, while the remaining components of data centers 180A, 180B can be within the firewall (except for telephony DMZ devices 172A, 172B, which can also be outside the firewall). Similarly, each data center 180A, 180B includes telephony DMZ devices 172A, 172B, respectively, configured to receive agent endpoints 151A, 151B and contact endpoints 152A, 152B communicatively connected to CCaaS via the PSTN. The telephony DMZ devices 172A and 172B may operate outside the firewall to connect with the agent endpoints 151A, 151B and contact endpoints 152A, 152B, while the remaining components of the data center 180A, 180B (excluding the web DMZ devices 171A, 171B) may be inside the firewall.

[0038] Furthermore, each data center 180A, 180B may include one or more nodes 173A, 173B and 173C, 173D, respectively. All nodes 173A, 173B, 173C, 173D may communicate with the web DMZ devices 171A, 171B and the phone DMZ devices 172A, 172B, respectively. In some embodiments, only one node in each data center 180A, 180B may communicate with both the web DMZ devices 171A, 171B and the phone DMZ devices 172A, 172B at a time.

[0039] Each node 173A, 173B, 173C, 173D may have one or more pairing modules 174A, 174B, 174C, 174D, respectively. Figure 1C In the pairing module 140 of the communication system 100A, the pairing modules 174A, 174B, 174C, and 174D can pair contacts to agents. For example, the pairing module can alternate between enabling pairing via a behavioral pairing (BP) module and using a first-in, first-out (FIFO) module. In other embodiments, a pairing module (e.g., a BP module) can be configured to emulate other pairing strategies.

[0040] Now go to Figure 1E , the disclosed CCaaS communication system (eg, Figure 1B and / or Figure 1C) can support multi-tenancy so that multiple contact centers (or contact center operations or enterprises) can operate on a shared environment. That is, multiple tenants, each with its own non-overlapping set of agents, can be handled by the disclosed CCaaS communication system, where each agent only interacts with contacts of a single tenant. CCaaS 170 Figure 1E It is shown as including two tenants 190A and 190B. Back Figure 1D For example, multiple tenants can be supported by node 173A supporting tenant 190A, while node 173B supports tenant 190B. In another embodiment, data center 180A supports tenant 190A, while data center 180B supports tenant 190B. In another example, multiple tenants can be supported by shared machines or shared virtual machines; such that node 173A can support both tenants 190A and 190B, and similarly so for nodes 173B, 173C, and 173D.

[0041] In other embodiments, the system may be configured for a single tenant within a dedicated environment, such as a dedicated machine or dedicated virtual machine.

[0042] Figure 1B It shows how the system 100 can associate different pairing strategies at different times to pair tasks with agents. Figure 1B During the first period 122, the pairing strategy of the service provider (eg, BP strategy) is used to pair tasks; but during the second period 124 (ie, after the first period 122), a different pairing strategy (hereinafter referred to as "default pairing strategy") is used to pair tasks.

[0043] For example, the length of first period 122 may be determined by the current SLA period length. There are different types of SLA periods: Agent_SLA period and Contact_SLA period. Agent_SLA period indicates how long an agent can wait to be paired with a task under the service provider's pairing policy before the default pairing policy must be used. Contact_SLA period indicates how long a customer (contact) can wait to be paired with an agent under the service provider's pairing policy before the default pairing policy must be used.

[0044] In one example, the Agent_SLA period (aka "Agent_SLA") and the Contact_SLA period (aka "Contact_SLA") can be represented as the following functions:

[0045] Agent_SLA = Multiplier * Average_Agent_Wait_Time (AAWT) + Buffer

[0046] Contact_SLA = Multiplier * Estimated_Waiting_Time (EWT) + Buffer

[0047] Agent_Wait_Time indicates how long the agent waits before being assigned a task. In one example, Agent_Wait_Time = Agent_Connect_Time_for_Call_N – Agent_Free_Time_from_Call_N-1 (e.g., if the agent becomes free from call N-1 at time 9:05:00 and is connected to call N at time 9:05:50, then Agent_Wait_Time is 50 seconds).

[0048] Average_Agent_Wait_Time is the average of the Agent_Wait_Times for a group of agents (eg, Average_Agent_Wait_Time between 9:00 and 10:00 is the average of the Agent_Wait_Times for a group of agents at the contact center between 9:00 and 10:00).

[0049] Estimated_Waiting_Time (EWT) indicates how long the contact is expected to wait before being paired with an agent. For example,

[0050]

[0051]

[0052] The multiplier in the Agent_SLA and Contact_SLA functions is any positive real number that can be used to weight Average_Agent_Wait_Time and / or Estimated_Waiting_Time. For example, for both Contact_SLA and Agent_SLA, the multiplier could be 1.2 (note that the multiplier for Agent_SLA can be the same as or different from the multiplier for Contact_SLA). In some embodiments, the multiplier can vary based on priority (e.g., the priority of the call), such that higher priorities are associated with lower multipliers, while lower priorities are associated with higher multipliers. The logic behind this relationship between multiplier and priority is that the more important the call, the shorter the wait time should be.

[0053] Buffer is another factor that influences SLAs. For example, the buffer for Contact_SLA might be 30 seconds, while the buffer for Agent_SLA might be 100 seconds. Similar to the multiplier, the buffer might vary based on priority (e.g., call priority). Higher priorities should have lower buffer values, while lower priorities should have higher buffer values. The logic behind this relationship is the same as that between multiplier and priority.

[0054] When the default pairing policy (e.g., FIFO policy) is used for pairing tasks (e.g., during second period 124), the standard deviation of agent / contact wait times can be very low because agents and contacts are paired sequentially. In contrast, when the service provider's pairing policy (e.g., BP policy) is used for pairing tasks (e.g., during first period 122), the standard deviation can be much higher because the service provider's pairing policy pairs contacts and agents in a non-sequential manner. For example, if contact #1 and contact #2 are both paired using the default pairing policy, and the actual wait time for contact #1 is 10 seconds, and the actual wait time for contact #2 is 400 seconds, the average wait time is 205 seconds. In contrast, if contact #3 and contact #4 are both paired using the service provider's pairing policy, and the actual wait time for contact #3 is 200 seconds, and the actual wait time for contact #4 is 210 seconds, the average wait time is 205 seconds.

[0055] Even though the average wait time for any task may be the same regardless of whether the task is associated with the default pairing policy or the service provider's pairing policy, the service provider's pairing policy (despite the fact that contact #2 has a longer wait time) may provide higher performance than the default pairing policy. For example, the first performance measure of the results of contact #1 and contact #2 paired using the service provider's pairing policy may be higher than the second performance measure of the results of contact #3 and contact #4 paired using the default pairing policy. Therefore, in the SLA function provided above, a buffer value is provided to adjust the SLA period (i.e., the maximum wait time) to allow for a longer standard deviation in agent / contact pairings when using the service provider's pairing policy.

[0056] Unfortunately, the above Agent_SLA and Contact_SLA formulas are too static for contact center environments, especially during periods of sudden influx of activity in the contact center (e.g., promotional periods, holidays). For example, if the default pairing strategy (i.e., a pairing strategy that is not the service provider's pairing strategy) matches more than a threshold number of contact-agent pairs after the SLA period, there may be an EWT / AAWT calculation problem. This problem may occur for a variety of reasons, including the following. For example, there may be (1) a sudden increase in the Average Handle Time (AverageHandleTime), (2) insufficient evidence to correctly calculate the EWT / AAWT for a particular skill or queue, (3) a complex client environment due to priority, call overflow, or other reasons, or (4) other fluctuations in the contact center environment.

[0057] Tables 1 to 3 provided below illustrate the problem of using a static SLA formula - that is, too many tasks (e.g., contacts) are paired with agents after the SLA period. Table 1 shows the status of contacts waiting in the queue at time t0 when the SLA period is 200 seconds.

[0058] Table 1

[0059]

[0060] In Tables 1-3, "Wait Time" indicates the duration of time during which a particular contact has been waiting for pairing, and "Flag" indicates the particular pairing strategy that should be used to pair the particular contact (eg, 0 for a first pairing strategy and 1 for a second pairing strategy).

[0061] In Table 1, the "wait time" for all contacts C1-C5 is less than 200 seconds (i.e., the SLA period). Therefore, all contacts are assigned to the first pairing strategy (e.g., the service provider's pairing strategy). Table 2 shows the status of the contacts waiting in the pairing queue at time t = t1 (e.g., 100 seconds after t0), while the SLA period remains equal to 200 seconds.

[0062] Table 2

[0063]

[0064] During the time interval t0 to t1, C4 is paired, and C6 and C7 are newly added to the pairing queue. Therefore, in Table 2, C4 is no longer in the queue, but C6 and C7 are. Since 100 seconds have passed, the "wait times" of the remaining contacts C1, C2, C3, and C5 in Table 2 have increased by 100 seconds. Therefore, the "wait times" of C1 and C2 are greater than the SLA period (i.e., 200 seconds). Therefore, the second pairing strategy (corresponding to a "flag" value of 1) is now associated with C1 and C2 and must be used to pair them. Since the "wait times" of C3, C5, C6, and C7 are less than the SLA period, the first pairing strategy (corresponding to a "flag" value of 0) is associated with C3, C5, C6, and C7, respectively.

[0065] Table 3 shows the status of contacts waiting in the pairing queue at time t=t2 (eg, 200 seconds after t0) when the SLA period is equal to 200 seconds.

[0066] Table 3

[0067]

[0068] During the time interval from t1 to t2, C1 was paired using the default pairing policy, and C8 was newly added to the pairing queue. Therefore, in Table 3, the queue does not include C1 but does include C8. Furthermore, in Table 3, the "Waiting Time" of C3 and C5 exceeds the SLA period (i.e., 200 seconds), so the second pairing policy (corresponding to a "Flag" value of 1) is now newly associated with C3 and C5 and must be used to pair them. Therefore, C2, C3, and C5 are now each associated with the second pairing policy. Conversely, since the "Waiting Time" of C6, C7, and C8 is less than the SLA period, the first pairing policy (corresponding to a "Flag" value of 0) is associated with C6, C7, and C8.

[0069] As shown above, if too many tasks (e.g., calls) are paired with agents after the SLA period, it may cause unfair disadvantages to the service provider who provides the pairing strategy. Figure 1B As mentioned above, when using a service provider's pairing policy, the service provider's pairing policy can only be used during the SLA period, and the default pairing policy must be used after the SLA period. In this scenario, the service fee paid by the enterprise client to the service provider may depend on the number of pairings generated by the service provider's pairing policy and / or the percentage of pairings generated by the service provider's pairing policy within the SLA period.

[0070] Therefore, if a task (e.g., a call) is paired with an agent by the default pairing policy after the SLA period, the service provider may not be able to collect any service fees from the pairing, and the contact center may not benefit from the superior technical resource allocation implemented by the service provider's pairing policy over the default pairing policy. However, this limitation is unfair when even the default pairing policy cannot pair a task with an agent before the SLA period expires. For example, as shown in Tables 1 through 3 provided above, contact C2 remains unpaired even after the pairing policy used to pair contact C2 switches from the first pairing policy (corresponding to a "flag" value of 0) to the second pairing policy (corresponding to a "flag" value of 1). Therefore, this delay in task pairing, initially associated with the service provider's pairing policy, is not actually caused by the implementation of the service provider's pairing policy. Instead, the delay in pairing is caused by a sudden increase in the number of tasks (e.g., calls) to be handled or other fluctuations in the contact center environment, as discussed elsewhere herein.

[0071] Furthermore, if the aforementioned Agent_SLA and Contact_SLA formulas are too static to compensate for the complexity of contact center environments, traditional contact center systems will consume valuable system resources (such as bandwidth, processing power, and memory) to swap the service provider's matching strategy with the default matching strategy, without accelerating contact center matching. This consumption of system resources is particularly concerning when the contact center is operating at high capacity due to a large influx of system requests (e.g., many callers on hold, etc.).

[0072] Therefore, the SLA period needs to be adjusted effectively and dynamically according to the conditions of the contact center environment.

[0073] Therefore, in some embodiments, the SLA settings (i.e., the parameters of the above-mentioned SLA function, such as the multiplier and buffer) can be dynamically adjusted based on the current contact center environment. Methods for dynamically adjusting SLA settings include: Figure 2 The two processes 200 and 250 are shown in FIG.

[0074] Process 200 - Handling the situation where the default pairing policy does not complete enough pairings within the SLA period

[0075] Process 200 may begin at step s202. Step s202 includes determining the percentage of task-agent pairs that were paired using a default pairing policy (i.e., a pairing policy different from the service provider's pairing policy) after the expiration of an SLA period (e.g., Contact_SLA). That is, step s202 may also include determining a first SLA period (e.g., Initial Contact_SLA). As described above, Contact_SLA may be defined as: Contact_SLA = Multiplier * Estimated_Waiting_Time + Buffer. In one example, the value of the Multiplier is 1.2, and the value of the Buffer is 30 (meaning Initial Contact_SLA = 1.2 * EWT + 30).

[0076] Process 200 can then proceed to step s204. Step s204 includes determining whether the percentage determined in step s202 is i) greater than a first threshold percentage, or ii) less than or equal to a second threshold percentage. For example, the first threshold percentage is 0.5%, 1%, 2%, 3%, 5%, or 10%, while the second threshold percentage is approximately 0%, 0.5%, or 1%. If either of conditions (i) and (ii) is met, an OFF SLA issue exists.

[0077] If, after the SLA period expires, a condition greater than a first threshold percentage of pairings occurs, then the EWT / AAWT calculation is incorrect. In this case, process 200 may proceed to step s206. Step s206 includes adjusting the value of the multiplier. More specifically, in this case, step s206 includes increasing the value of the multiplier to make the SLA period more closely resemble the actual current contact center environment.

[0078] If, after the SLA period expires, a second threshold percentage of pairings has not occurred, this may indicate that the EWT / AAWT calculation is incorrect. In this case, a failsafe may be required to ensure that the SLA period is not incorrectly too lenient. Therefore, process 200 may proceed to step s206. Step s206 adjusts the value of the multiplier. More specifically, in this case, step s206 includes reducing the value of the multiplier by a set value.

[0079] Process 200 - Example Scenario #1 - Percentage Greater Than First Threshold Percentage

[0080] Figure 3A Shows a scenario like this: Figure 3AAs shown, after the expiration of the initial SLA period 302 (obtained via the Contact_SLA formula), 20% of the calls paired with agents using the default pairing strategy (e.g., FIFO strategy) are paired. In this scenario, the percentage determined in step s202 will be 20%.

[0081] If the first threshold percentage is 9%, in step s204, it will be determined that the percentage determined in step s202 is greater than the first threshold percentage. Then, process 200 will proceed to step s206a. Step s206a includes adjusting the initial Contact_SLA formula by increasing the value of the multiplier based on the percentage determined in step s212. In some embodiments, the initial Contact_SLA formula is (Initial Multiplier initial )) × EWT + Buffer. The initial Contact_SLA formula can be adjusted as follows: Contact_SLA' = (Initial Multiplier + Modified Multiplier) modifier )) *EWT + buffering.

[0082] Here, the initial multiplier is equal to the multiplier value in the initial Contact_SLA formula, and Contact_SLA' corresponds to Figure 3A 304. The modified multiplier can be determined based on the percentage determined in step s202. For example, the modified multiplier can be equal to the determined percentage / 100 (also known as the ratio). Thus, in the above example, the ratio can be 20 / 100 = 0.2.

[0083] In the above example, since the value of the initial multiplier is equal to 1.2 and the value of the buffer is equal to 30, the adjusted Contact_SLA formula can be expressed as: Contact_SLA' = (1.2 + 0.2) × EWT + 30.

[0084] In some scenarios, even after adjusting the Contact_SLA formula, the percentage determined in step s202 may still be higher than the first threshold percentage. Figure 3A As shown, even after the Contact_SLA period is updated from the initial period 302 to the adjusted period 304, there may still be a scenario where 10% of calls using the default PS pairing are still paired after the adjusted Contact_SLA period 304 expires.

[0085] Therefore, according to some embodiments, steps s202 to s206 may be repeated (meaning the Contact_SLA formula may be repeatedly updated) until the percentage determined in step s202 is no longer greater than the first threshold percentage. In other words, if Figure 3A As shown, the Contact_SLA period can be continuously extended (ie, continuously moved to the right), so that the percentage of calls paired using the default pairing strategy that are outside the Contact_SLA period becomes smaller and smaller.

[0086] Flow 200 - Example Scenario #2 - Percentage is less than or equal to a second threshold percentage

[0087] Figure 3B Shows a scenario like this: Figure 3B After the expiration of the initial Contact_SLA period 352 shown, 0.8% (or in another example, 0%) of the calls paired using the default pairing strategy (eg, FIFO strategy) are paired. In this scenario, the percentage determined in step s202 would be 0.8%.

[0088] If the second threshold percentage is 1%, in step s204, it will be determined that the percentage determined in step s202 is less than the second threshold percentage. Process 200 will then proceed to step s216. Step s216 includes adjusting the initial Contact_SLA formula by reducing the value of the multiplier by a set value based on the percentage determined in step s202. As described above, the initial Contact_SLA formula can be expressed as follows: Contact_SLA = Multiplier * Estimated_Waiting_Time + Buffer.

[0089] There are many ways to reduce the value of the multiplier. In one example, the multiplier value can be adjusted by reducing the multiplier value by a predetermined percentage (eg, 10%).

[0090] In another example, the multiplier value can be adjusted by multiplying the initial multiplier by the percentage of matches that occurred before the SLA period expired (i.e., 0.992). More specifically, in this example, the adjusted Contact_SLA formula can be expressed as follows: Contact_SLA' = Contact_SLA = (Initial Multiplier * Multiplier Reduction) Reduction )) × EWT + buffer. The multiplier reduction is 0.992.

[0091] In another example, the multiplier value may be adjusted by subtracting a value determined based on the percentage determined in step s202. More specifically, in this example, the adjusted Contact_SLA formula may be expressed as follows: Contact_SLA' = Contact_SLA = (initial multiplier - multiplier reduction) × EWT + buffer. Here, Contact_SLA' corresponds to the initial multiplier value in Figure 3B In the adjusted Contact_SLA period 354 shown, the initial multiplier is equal to the multiplier value in the initial Contact_SLA formula, and the multiplier reduction amount can be equal to the initial multiplier * the predetermined amount (PredeterminedAmount). Therefore, where the initial Contact_SLA period formula is 1.4*EWT+30 and the predetermined amount value is equal to 0.1, the adjusted Contact_SLA period formula will be (1.4-(1.4*0.1))*EWT+30=1.26*EWT+30. Similar to the example scenario #1 above, steps s202-s206 can be repeated (meaning that the Contact_SLA formula can be repeatedly updated) until the percentage determined in step s202 is no longer less than or equal to the second threshold percentage. In other words, as Figure 3B As shown, the Contact_SLA period can continue to shorten (i.e., can continue to move to the left), such that an increasing percentage of calls paired using the default pairing strategy fall outside the Contact_SLA period. In summary, these techniques attempt to maintain a contact center in an environment where, after the SLA period expires, the percentage of calls paired using the default pairing strategy hovers between a first threshold percentage and a second threshold percentage.

[0092] Process 204 - Handling situations where the service provider's pairing strategy does not achieve sufficient pairings within the SLA period

[0093] If the number of pairings in the service provider's pairing policy is greater than the first threshold percentage after the SLA period expires (and the number of pairings in the default pairing policy is less than the first threshold percentage after the SLA period expires), then the calculation of the EWT and / or AAWT may be correct. However, the buffer value of the SLA formula may need to be adjusted to account for the operation of the service provider's pairing policy that may execute pairings out of order.

[0094] Therefore, according to some embodiments, after executing process 200, which adjusts the multiplier value, process 250 may be executed to adjust the buffer value. Process 250 may begin at step s252. Assuming the adjusted SLA period (e.g., adjustedContact_SLA) = 1.2*EWT + 30, step s252 includes determining the percentage of contacts / agents that were paired using the service provider's pairing strategy after the adjustedContact_SLA period expires. After determining this percentage, process 250 may proceed to step s254.

[0095] Step s254 includes determining whether the percentage is i) greater than a third threshold percentage, or ii) less than or equal to a fourth threshold percentage. For example, the third threshold percentage is 1%, 2%, 3%, 4%, or 5%, and the fourth threshold percentage is close to 0%. For example, if no pairings close to 0% occur after the SLA period expires, the buffer value should be reduced as a failsafe to ensure that the SLA is not mistakenly too lenient. In this case, process 250 may proceed to step s256. Step s256 includes reducing the buffer value by a set value.

[0096] Example Scenario #1 of Process 250—Percentage Greater Than Third Threshold Percentage

[0097] Consider a scenario where, after the expiration of the Contact_SLA period (e.g., the Contact_SLA obtained from process 202), 20% of calls paired using the service provider's pairing policy are paired. Here, the percentage determined in step s252 would be 20%. In step s254, a determination is made as to whether the percentage is greater than a third threshold percentage. If the third threshold percentage is 3%, in step s254, it is determined that the percentage is greater than the third threshold percentage, and process 250 may proceed to step s256. Since the percentage determined in step s252 is greater than the third threshold percentage, in step s256, the Contact_SLA formula may be adjusted by adjusting the buffer value based on the determined percentage.

[0098] For example, the adjusted Contact_SLA formula can be determined as follows: Contact_SLA = Multiplier * EWT + Initial Buffer Value (Buffer initial )+Modify the buffer value (Buffer Modifier). For example, the modified buffer value can be a set value such as 1, 5, 10, 15, 20, 25, 30, etc. The modified buffer value can be a predetermined percentage of the initial buffer value (1%, 2%, 3%, 5%, 10%, 15%, 20%, 25%, 50%, etc.). In some examples, the modified buffer value can have a variable value based on the length of time since the Contact_SLA function was last adjusted. In some examples, the modified buffer value can have a variable value based on the number of times the Contact_SLA function has been adjusted within a set time period. In some embodiments, the modified buffer value = Ratio * 100, where the Ratio is equal to the percentage determined in step s252 divided by 100. Therefore, if the percentage is 20%, the Ratio is 0.2. Then, the modified buffer value will be 20 seconds. Since Contact_SLA is 1.2*EWT+30, the adjusted Contact_SLA is 1.2*EWT+50.

[0099] In some embodiments, steps 252 - 256 may be repeated (meaning that Contact_SLA may be continuously adjusted) until the percentage is no longer greater than the third threshold percentage.

[0100] Example Scenario #2 of Process 250—Percentage Less Than or Equal to Fourth Threshold Percentage

[0101] Consider a scenario where, after the expiration of the Contact_SLA (e.g., the Contact_SLA obtained from process 202), 0.8% (or in another example, 0%) of the calls that were paired using the service provider's pairing policy were paired. Here, the percentage determined in step s252 is 0.8%. In step s254, a determination is made as to whether the percentage is less than or equal to a fourth threshold percentage. In the event that the percentage is less than or equal to the fourth threshold percentage, process 250 may proceed to step s256. In step s256, the Contact_SLA formula may be adjusted. A new Contact_SLA is always determined based on the previous Contact_SLA. Thus, in the event that the previous SLA was Contact_SLA = 1.2*EWT + 30, the updated SLA would be Contact_SLA' = Multiplier*EWT + Initial Buffer Value - Buffer Reduction Amount. Reduction ).

[0102] Note that this reduction—i.e., the value of the buffer reduction amount—can be performed in a variety of ways. For example, the buffer reduction amount can be a predetermined amount (e.g., 5, 10, 15, 20, 30 seconds), or the buffer reduction amount can be a predetermined percentage of the initial buffer value (1%, 2%, 3%, 5%, 10%, 15%, 20%, 25%, 50%, etc.). In some examples, the buffer reduction amount can have a variable value based on the length of time since the Contact_SLA function was last adjusted. In some examples, the buffer reduction amount can have a variable value based on the number of times the Contact_SLA function has been adjusted within a set time period. In some embodiments, the buffer reduction value = ratio * 100, where the ratio is equal to the percentage determined in step s256 divided by 100. Thus, if the percentage is 0.8%, the ratio would be 0.008. The buffer reduction amount would then be 0.8 seconds.

[0103] Similar to the above example scenario #1, steps s252-s256 may be repeated (meaning the Contact_SLA formula may be repeatedly updated) until the percentage determined in step s202 is no longer less than or equal to the fourth threshold percentage. In summary, these techniques attempt to maintain a contact center environment in which, after the SLA period expires, the percentage of matches made using the service provider's matchmaking policy hovers between the third and fourth threshold percentages.

[0104] Looking back at the examples shown in Tables 1-3 provided above, by adjusting the SLA period, more tasks (eg, contacts) can be paired using the pairing strategy of the service provider, so that the performance of the pairing strategy of the service provider can be fairly evaluated.

[0105] Table 4 shows the status of contacts waiting in the pairing queue at time t=t2 (e.g., 200 seconds after t0) when the SLA period is updated to 300 seconds, according to an embodiment of the present disclosure (compared to Table 3 provided above, where the SLA period is set to 200 seconds and is unchanged from the initial SLA period length).

[0106] Table 4

[0107]

[0108] In contrast to Table 3, in Table 4, the "wait time" of C3 and C5 is less than the SLA period (i.e., 300 seconds), so the first pairing strategy (corresponding to a "flag" value of 0) can be used to pair all contacts C3, C5, C6, C7, and C8 in the queue.

[0109] Figure 4A process 400 is shown according to some embodiments. The process 400 may begin at step s402. Step s402 includes obtaining time data indicating a first time interval, wherein the first time interval is determined based on an expected wait time of contacts for pairing and a first weight value. Step s404 includes obtaining pairing data indicating a first plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is executed within the first time interval and a second portion of the first plurality of contact-agent pairings is executed outside the first time interval. Step s406 includes determining a number of contact-agent pairings included in a second portion. Step s408 includes modifying the first weight value based on the determined number to generate a second weight value. Step s410 includes determining a second time interval based on the expected wait time and the second weight value, wherein at least one contact-agent pairing included in the second portion is within the second time interval.

[0110] In some embodiments, process 400 includes determining a first ratio of the determined number of contact-agent pairs included in the second portion to a total number of the first plurality of contact-agent pairs, comparing the first ratio to a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold or less than or equal to the second threshold, wherein the first weight value is modified if the first ratio is greater than the first threshold or less than or equal to the second threshold, and the second threshold is less than the first threshold.

[0111] In some embodiments, the first ratio is greater than a first threshold, and modifying the first weight value includes increasing the first weight value.

[0112] In some embodiments, the second time interval is calculated based on (first weight value+modified weight value)*expected wait time, and the modified weight value is determined based on the first ratio.

[0113] In some embodiments, the modified weight value is equal to the first ratio.

[0114] In some embodiments, the first ratio is less than or equal to a second threshold, and modifying the first weight value includes decreasing the first weight value.

[0115] In some embodiments, the second time interval is calculated based on (first weight value−modified weight value)*expected wait time, and the modified weight value is determined based on the first ratio.

[0116] In some embodiments, the modified weight value is equal to the first weight value×a1, where a1 is a ratio of the number of contact-agent pairs included in the first portion to the total number of the first plurality of contact-agent pairs.

[0117] In some embodiments, process 400 includes obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within a second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval; determining a number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings; modifying a second weight value based on the determined number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings to generate a third weight value; and determining a third time interval based on the expected wait time and the third weight value, wherein at least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairings is within the third time interval.

[0118] In some embodiments, process 400 includes obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within a second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval; determining a number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings; modifying a first buffer value based on the determined number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings to generate a second buffer value; and determining a third time interval based on an expected wait time, a second weight value, and the second buffer value, wherein the second time interval is determined based on the expected wait time, the second weight value, and the first buffer value, and at least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairings is within the third time interval.

[0119] In some embodiments, process 400 includes determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to a total number of the second plurality of contact-agent pairs; comparing the second ratio to a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold or less than or equal to the second threshold, wherein modifying the first buffer value if the second ratio is greater than the first threshold or less than or equal to the second threshold, and the second threshold is less than the first threshold.

[0120] In some embodiments, the second ratio is greater than a first threshold, and modifying the first buffer value includes increasing the first buffer value.

[0121] In some embodiments, the third time interval is calculated based on (second weight value×expected waiting time)+first buffer value+modified buffer value, and the modified buffer value is determined based on the second ratio.

[0122] In some embodiments, the modified buffer value is equal to the second ratio×100.

[0123] In some embodiments, the second ratio is less than or equal to a second threshold, and modifying the first buffer value includes decreasing the first buffer value.

[0124] In some embodiments, the third time interval is calculated based on (second weight value×expected waiting time)+first buffer value−modified buffer value, and the modified buffer value is determined based on the second ratio.

[0125] In some embodiments, the modified buffer value is equal to the first buffer value×a1, where a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of contact-agent pairs in the second plurality.

[0126] In some embodiments, process 400 includes obtaining updated pairing data indicating a third plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is executed within a third time interval and a second portion of the third plurality of contact-agent pairings is executed outside the third time interval; determining a number of contact-agent pairings included in the second portion of the third plurality of contact-agent pairings; modifying a second buffer value based on the determined number of contact-agent pairings included in the second portion of the third plurality of contact-agent pairings to generate a third buffer value; and determining a fourth time interval based on the expected latency and the third buffer value, wherein at least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairings is within the fourth time interval.

[0127] In some embodiments, process 400 includes performing contact-agent pairing using a first pairing strategy during a third time interval and performing contact-agent pairing using a second pairing strategy outside of the third time interval.

[0128] Figure 5A process 500 is shown according to some embodiments. The process 500 may begin at step s502. Step s502 includes obtaining time data indicating a first time interval, wherein the first time interval is determined based on an expected wait time of contacts for pairing, a first weight value, and a first buffer value. Step s504 includes obtaining pairing data indicating a first plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is executed within the first time interval and a second portion of the first plurality of contact-agent pairings is executed outside the first time interval. Step s506 includes determining a number of contact-agent pairings included in the second portion. Step s508 includes modifying the first buffer value based on the determined number of contact-agent pairings included in the second portion to generate a second buffer value. Step s510 includes determining a second time interval based on the expected wait time, the first weight value, and the second buffer value, wherein at least one contact-agent pairing included in the second portion of the first plurality of contact-agent pairings is within the second time interval.

[0129] In some embodiments, process 500 includes determining a first ratio of a determined number of contact-agent pairs included in a second portion of the first plurality of contact-agent pairs to a total number of the first plurality of contact-agent pairs; comparing the first ratio to a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold or less than or equal to the second threshold, wherein modifying the first buffer value if the first ratio is greater than the first threshold or less than or equal to the second threshold, and the second threshold is less than the first threshold.

[0130] In some embodiments, the first ratio is greater than a first threshold, and modifying the first buffer value includes increasing the first buffer value.

[0131] In some embodiments, the second time interval is calculated based on (first weight value×expected waiting time)+first buffer value+modified buffer value, and the modified buffer value is determined based on the first ratio.

[0132] In some embodiments, the modified buffer value is equal to the first ratio×100.

[0133] In some embodiments, the first ratio is less than or equal to a second threshold, and modifying the first buffer value includes decreasing the first buffer value.

[0134] In some embodiments, the second time interval is calculated based on (first weight value×expected waiting time)+first buffer value−modified buffer value, and the modified buffer value is determined based on the first ratio.

[0135] In some embodiments, the modified buffer value is equal to the first buffer value×a1, where a1 is a ratio of the number of contact-agent pairs included in the first portion of the first plurality of contact-agent pairs to the total number of the first plurality of contact-agent pairs.

[0136] In some embodiments, process 500 includes obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within a second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval; determining a number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings; modifying a second buffer value based on the determined number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings to generate a third buffer value; and determining a third time interval based on the expected wait time, the first weight value, and the third buffer value, wherein at least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairings is within the third time interval.

[0137] In some embodiments, process 500 includes performing contact-agent pairing using a first pairing strategy outside of a second time interval, and performing contact-agent pairing using a second pairing strategy during the second time interval.

[0138] In some embodiments, process 500 includes obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within a second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval; determining a number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings; modifying a first weight value based on the determined number of contact-agent pairings included in the second portion of the second plurality of contact-agent pairings to generate a second weight value; and determining a third time interval based on the expected wait time, the second weight value, and the second buffer value, wherein at least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairings is within the third time interval.

[0139] In some embodiments, process 500 includes determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to the total number of contact-agent pairs in the second plurality; comparing the second ratio to a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold or less than or equal to the second threshold, wherein the first weight value is modified if the second ratio is greater than the first threshold or less than or equal to the second threshold, and the second threshold is less than the first threshold.

[0140] In some embodiments, the second ratio is greater than a first threshold, and modifying the first weight value includes increasing the first weight value.

[0141] In some embodiments, the third time interval is calculated based on (first weight value+modified weight value)*expected waiting time+second buffer value, and the modified weight value is determined based on the second ratio.

[0142] In some embodiments, the modified weight value is equal to the second ratio.

[0143] In some embodiments, the second ratio is less than or equal to a second threshold, and modifying the first weight value includes decreasing the first weight value.

[0144] In some embodiments, the third time interval is calculated based on (first weight value−modified weight value)*expected waiting time+second buffer value, and the modified weight value is determined based on the second ratio.

[0145] In some embodiments, the modified weight value is equal to the first weight value×a1, where a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of contact-agent pairs in the second plurality.

[0146] In some embodiments, process 500 includes obtaining updated pairing data indicating a third plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is executed within a third time interval and a second portion of the second plurality of contact-agent pairings is executed outside the third time interval; determining a number of contact-agent pairings included in the second portion of the third plurality of contact-agent pairings; modifying a second weight value based on the determined number of contact-agent pairings included in the second portion of the third plurality of contact-agent pairings to generate a third weight value; and determining a fourth time interval based on the expected wait time, the second buffer value, and the third weight value, wherein at least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairings is within the fourth time interval.

[0147] Figure 6 is a block diagram of an apparatus 600 for implementing one or more of the pairing module 102, the pairing strategy selector 104, and / or the SLA period adjuster 106 according to some embodiments. Figure 6As shown, apparatus 600 may include: processing circuitry (PC) 602, which may include one or more processors (P) 655 (e.g., a general-purpose microprocessor and / or one or more other processors, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), etc.), which may be co-located within a single housing or a single data center, or may be geographically distributed (i.e., apparatus 600 may be a distributed computing apparatus); a network interface 648, which includes a transmitter (Tx) 645 and a receiver (Rx) 647 for enabling apparatus 600 to send and receive data with other nodes connected to a network 110 (e.g., an Internet Protocol (IP) network), network interface 648 being connected (directly or indirectly) to network 110 (e.g., network interface 648 may be wirelessly connected to network 110, in which case network interface 648 is connected to an antenna device); and a local storage unit (also referred to as a "data storage system") 608, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 602 includes a programmable processor, a computer program product (CPP) 641 may be provided. CPP 641 includes a computer-readable medium (CRM) 642 storing a computer program (CP) 643 including computer-readable instructions (CRI) 644. CRM 642 can be non-transitory computer-readable media, such as magnetic media (e.g., a hard drive), optical media, or a storage device (e.g., random access memory, flash memory). In some embodiments, CRI 644 of computer program 643 is configured such that, when executed by PC 602, the CRI causes apparatus 600 to perform the steps described herein (e.g., the steps described herein with reference to the flowcharts). In other embodiments, apparatus 600 can be configured to perform the steps described herein without requiring code. That is, for example, PC 602 can consist solely of one or more ASICs. Thus, features of the embodiments described herein can be implemented in hardware and / or software.

[0148] Overview of Examples

[0149] A1. A method (400), comprising:

[0150] acquiring (s402) time data indicating a first time interval, wherein the first time interval is determined based on an expected waiting time for a contact to be paired and a first weight value;

[0151] obtaining (s404) pairing data indicative of a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is performed within the first time interval and a second portion of the first plurality of contact-agent pairings is performed outside the first time interval;

[0152] determining (s406) the number of contact-agent pairs included in the second portion;

[0153] Based on the determined amount, modifying (s408) the first weight value to generate a second weight value; and

[0154] A second time interval is determined (s410) based on the expected waiting time and the second weight value, wherein

[0155] At least one contact-agent pairing included in the second portion is within the second time interval.

[0156] A2. The method according to embodiment A1, comprising:

[0157] determining a first ratio of the determined number of contact-agent pairs included in the second portion to a total number of the first plurality of contact-agent pairs;

[0158] The first ratio is compared with a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold or less than or equal to the second threshold, wherein

[0159] modifying the first weight value if the first ratio is greater than the first threshold or less than or equal to the second threshold, and

[0160] The second threshold is smaller than the first threshold.

[0161] A3. The method according to embodiment A2, wherein

[0162] the first ratio is greater than the first threshold, and

[0163] Modifying the first weight value includes increasing the first weight value.

[0164] A4. The method according to embodiment A2 or A3, wherein

[0165] calculating the second time interval based on (the first weight value+the modified weight value)*the expected waiting time, and

[0166] The modified weight value is determined based on the first ratio.

[0167] A5. The method of embodiment A4, wherein the modified weight value is equal to the first ratio.

[0168] A6. The method according to embodiment A2, wherein

[0169] the first ratio is less than or equal to the second threshold, and

[0170] Modifying the first weight value includes decreasing the first weight value.

[0171] A7. The method according to embodiment A2 or A6, wherein

[0172] calculating the second time interval based on (the first weight value-modified weight value)*the expected waiting time, and

[0173] The modified weight value is determined based on the first ratio.

[0174] A8. The method of embodiment A7, wherein the modified weight value is equal to the first weight value×a1, wherein a1 is the ratio of the number of contact-agent pairs included in the first portion to the total number of the first plurality of contact-agent pairs.

[0175] A9. The method according to any one of embodiments A1 to A8, comprising:

[0176] obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using the first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within the second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval;

[0177] determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs;

[0178] modifying the second weight value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a third weight value; and

[0179] A third time interval is determined based on the expected waiting time and the third weight value, wherein

[0180] At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

[0181] A10. The method according to any one of embodiments A1 to A8, comprising:

[0182] obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within the second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval;

[0183] determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs;

[0184] modifying the first buffer value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a second buffer value; and

[0185] A third time interval is determined based on the expected waiting time, the second weight value, and the second buffer value, wherein

[0186] determining the second time interval based on the expected waiting time, the second weight value, and the first buffer value, and

[0187] At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

[0188] A11. The method according to embodiment A10, comprising:

[0189] determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to a total number of the second plurality of contact-agent pairs;

[0190] The second ratio is compared with a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold or less than or equal to the second threshold, wherein

[0191] modifying the first buffer value if the second ratio is greater than the first threshold or less than or equal to the second threshold, and

[0192] The second threshold is smaller than the first threshold.

[0193] A12. The method according to embodiment A11, wherein

[0194] the second ratio is greater than the first threshold, and

[0195] Modifying the first buffer value includes increasing the first buffer value.

[0196] A13. The method of embodiment A11 or A12, wherein

[0197] Calculating the third time interval based on (the second weight value×the expected waiting time)+the first buffer value+the modified buffer value, and

[0198] The modified buffer value is determined based on the second ratio.

[0199] A14. The method of embodiment A13, wherein the modified buffer value is equal to the second ratio×100.

[0200] A15. The method of embodiment A11, wherein

[0201] the second ratio is less than or equal to the second threshold, and

[0202] Modifying the first buffer value includes decreasing the first buffer value.

[0203] A16. The method of embodiment A11 or A15, wherein

[0204] Calculating the third time interval based on (the second weight value×the expected waiting time)+the first buffer value−the modified buffer value, and

[0205] The modified buffer value is determined based on the second ratio.

[0206] A17. The method of embodiment A16, wherein the modified buffer value is equal to the first buffer value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of the second plurality of contact-agent pairs.

[0207] A18. The method of any one of embodiments A10 to A17, comprising:

[0208] obtaining updated pairing data indicating a third plurality of contact-agent pairings executed using the second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is executed within the third time interval and a second portion of the third plurality of contact-agent pairings is executed outside the third time interval;

[0209] determining a number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs;

[0210] modifying the second buffer value based on the determined number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs to generate a third buffer value; and

[0211] A fourth time interval is determined based on the expected waiting time and the third buffer value, wherein

[0212] At least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairs is within the fourth time interval.

[0213] A19. The method of any one of embodiments A10 to A18, comprising:

[0214] performing contact-agent pairing using the first pairing strategy during the third time interval, and

[0215] Outside the third time interval, contact-agent pairing is performed using the second pairing strategy.

[0216] B1. A method (500), comprising:

[0217] Acquiring (s502) time data indicating a first time interval, wherein the first time interval is determined based on an expected waiting time for a paired contact, a first weight value, and a first buffer value;

[0218] obtaining (s504) pairing data indicative of a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is performed within the first time interval and a second portion of the first plurality of contact-agent pairings is performed outside the first time interval;

[0219] determining (s506) the number of contact-agent pairs included in the second portion;

[0220] modifying (s508) the first buffer value based on the determined number of contact-agent pairs included in the second portion, thereby generating a second buffer value; and

[0221] A second time interval is determined (s510) based on the expected waiting time, the first weight value and the second buffer value, wherein

[0222] At least one contact-agent pairing included in the second portion of the first plurality of contact-agent pairs is within the second time interval.

[0223] B2. The method according to embodiment B1, comprising:

[0224] determining a first ratio of the determined number of contact-agent pairs included in the second portion of the first plurality of contact-agent pairs to a total number of the first plurality of contact-agent pairs;

[0225] The first ratio is compared with a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold or less than or equal to the second threshold, wherein

[0226] modifying the first buffer value if the first ratio is greater than the first threshold or less than or equal to the second threshold, and

[0227] The second threshold is smaller than the first threshold.

[0228] B3. The method according to embodiment B2, wherein

[0229] the first ratio is greater than the first threshold, and

[0230] Modifying the first buffer value includes increasing the first buffer value.

[0231] B4. The method according to embodiment B2 or B3, wherein

[0232] calculating the second time interval based on (the first weight value×the expected waiting time)+the first buffer value+the modified buffer value, and

[0233] The modified buffer value is determined based on the first ratio.

[0234] B5. The method of embodiment B4, wherein the modified buffer value is equal to the first ratio×100.

[0235] B6. The method according to embodiment B2, wherein

[0236] the first ratio is less than or equal to the second threshold, and

[0237] Modifying the first buffer value includes decreasing the first buffer value.

[0238] B7. The method according to embodiment B2 or B6, wherein

[0239] calculating the second time interval based on (the first weight value×the expected waiting time)+the first buffer value−the modified buffer value, and

[0240] The modified buffer value is determined based on the first ratio.

[0241] B8. The method of embodiment B7, wherein the modified buffer value is equal to the first buffer value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the first plurality of contact-agent pairs to the total number of the first plurality of contact-agent pairs.

[0242] B9. The method of any one of embodiments B1 to B8, comprising:

[0243] obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using the first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within the second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval;

[0244] determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs;

[0245] modifying the second buffer value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a third buffer value; and

[0246] A third time interval is determined based on the expected waiting time, the first weight value, and the third buffer value, wherein

[0247] At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

[0248] B10. The method of any one of embodiments B1 to B9, comprising:

[0249] outside the second time interval, performing contact-agent pairing using the first pairing strategy, and

[0250] During the second time interval, contact-agent pairing is performed using a second pairing strategy.

[0251] B11. The method of any one of embodiments B1 to B8 or B10, comprising:

[0252] obtaining updated pairing data indicating a second plurality of contact-agent pairings executed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is executed within the second time interval and a second portion of the second plurality of contact-agent pairings is executed outside the second time interval;

[0253] determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs;

[0254] modifying the first weight value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a second weight value; and

[0255] A third time interval is determined based on the expected waiting time, the second weight value, and the second buffer value, wherein

[0256] At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

[0257] B12. The method according to embodiment B11, comprising:

[0258] determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to a total number of the second plurality of contact-agent pairs;

[0259] The second ratio is compared with a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold or less than or equal to the second threshold, wherein

[0260] modifying the first weight value if the second ratio is greater than the first threshold or less than or equal to the second threshold, and

[0261] The second threshold is smaller than the first threshold.

[0262] B13. The method according to embodiment B12, wherein

[0263] the second ratio is greater than the first threshold, and

[0264] Modifying the first weight value includes increasing the first weight value.

[0265] B14. The method of embodiment B12 or B13, wherein

[0266] Calculating the third time interval based on (the first weight value+the modified weight value)*the expected waiting time+the second buffer value, and

[0267] The modified weight value is determined based on the second ratio.

[0268] B15. The method of embodiment B14, wherein the modified weight value is equal to the second ratio.

[0269] B16. The method of embodiment B12, wherein

[0270] the second ratio is less than or equal to the second threshold, and

[0271] Modifying the first weight value includes decreasing the first weight value.

[0272] B17. The method of embodiment B12 or B16, wherein

[0273] The third time interval is calculated based on (the first weight value-the modified weight value)*the expected waiting time+the second buffer value, and

[0274] The modified weight value is determined based on the second ratio.

[0275] B18. The method of embodiment B17, wherein the modified weight value is equal to the first weight value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of the second plurality of contact-agent pairs.

[0276] B19. The method of any one of embodiments B11 to B18, comprising:

[0277] obtaining updated pairing data indicating a third plurality of contact-agent pairings executed using the second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is executed within the third time interval and a second portion of the second plurality of contact-agent pairings is executed outside the third time interval;

[0278] determining a number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs;

[0279] modifying the second weight value based on the determined number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs to generate a third weight value; and

[0280] A fourth time interval is determined based on the expected waiting time, the second buffer value, and the third weight value, wherein

[0281] At least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairs is within the fourth time interval.

[0282] C1. A computer program (643) comprising instructions (644), which, when executed by a processing circuit (602) of a node, causes the node to perform the method described in any one of the above embodiments.

[0283] C2. A carrier embodying the computer program according to embodiment C1, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer-readable storage medium (642).

[0284] D1. A node (600) comprising processing circuitry and configured to perform the method of any one of embodiments A1 to A19 and B1 to B19.

[0285] E1. A node is configured as:

[0286] acquiring (s402) time data indicating a first time interval, wherein the first time interval is determined based on an expected waiting time for a contact to be paired and a first weight value;

[0287] obtaining (s404) pairing data indicative of a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is performed within the first time interval and a second portion of the first plurality of contact-agent pairings is performed outside the first time interval;

[0288] determining (s406) the number of contact-agent pairs included in the second portion;

[0289] Based on the determined amount, modifying (s408) the first weight value to generate a second weight value; and

[0290] A second time interval is determined (s410) based on the expected waiting time and the second weight value, wherein

[0291] At least one contact-agent pairing included in the second portion is within the second time interval.

[0292] E2. The method of embodiment E1, wherein the node is further configured to perform the method of any one of embodiments A2-A19.

[0293] F1. A node is configured as:

[0294] Acquiring (s502) time data indicating a first time interval, wherein the first time interval is determined based on an expected waiting time for a paired contact, a first weight value, and a first buffer value;

[0295] obtaining (s504) pairing data indicative of a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings is performed within the first time interval and a second portion of the first plurality of contact-agent pairings is performed outside the first time interval;

[0296] determining (s506) the number of contact-agent pairs included in the second portion;

[0297] modifying (s508) the first buffer value based on the determined number of contact-agent pairs included in the second portion, thereby generating a second buffer value; and

[0298] A second time interval is determined (s510) based on the expected waiting time, the first weight value and the second buffer value, wherein

[0299] At least one contact-agent pairing included in the second portion of the first plurality of contact-agent pairs is within the second time interval.

[0300] F2. The method of embodiment F1, wherein the node is further configured to perform the method of any one of embodiments B2 to B19.

[0301] G1. An apparatus (600), comprising:

[0302] processing circuitry (602); and

[0303] A memory (641) comprising instructions executable by the processing circuitry, whereby the apparatus is operable to perform the method according to any one of embodiments A1 to B19.

[0304] in conclusion

[0305] Although various embodiments are described herein, it should be understood that these embodiments are intended to be illustrative and non-limiting examples only. Therefore, the breadth and scope of the present disclosure should not be limited by any of the exemplary embodiments described above. Furthermore, unless otherwise indicated herein or clearly contradicted by the context, the present disclosure encompasses any combination of the above elements and all possible variations thereof.

[0306] In addition, although the processes described above and shown in the accompanying drawings are presented in the form of a sequence of steps, this is for ease of explanation only. Therefore, it is conceivable to add certain steps, omit certain steps, rearrange the order of steps, and perform certain steps in parallel.

Claims

1. A method (400) comprising: acquiring (s402) time data indicative of a first time interval, wherein the first time interval is determined based on an expected waiting time for a contact to be paired and a first weight value; obtaining ( s404 ) pairing data indicating a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings was performed within the first time interval and a second portion of the first plurality of contact-agent pairings was performed outside the first time interval; determining (s406) the number of contact-agent pairs included in the second portion; Based on the determined amount, modifying (s408) the first weight value to generate a second weight value; and Based on the expected waiting time and the second weight value, a second time interval is determined (s410), wherein: At least one contact-agent pairing included in the second portion is within the second time interval.

2. The method according to claim 1, comprising: determining a first ratio of the determined number of contact-agent pairs included in the second portion to a total number of the first plurality of contact-agent pairs; The first ratio is compared with a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold, or less than or equal to the second threshold, wherein If the first ratio is greater than the first threshold or less than or equal to the second threshold, modify the first weight value, and The second threshold is smaller than the first threshold.

3. The method according to claim 2, wherein: the first ratio is greater than the first threshold, and Modifying the first weight value includes increasing the first weight value.

4. The method according to claim 2 or 3, wherein: The second time interval is calculated based on the following method: (the first weight value + the modified weight value) * the expected waiting time, and The modified weight value is determined based on the first ratio.

5. The method according to claim 4, wherein The modified weight value is equal to the first ratio.

6. The method according to claim 2, wherein: the first ratio is less than or equal to the second threshold, and Modifying the first weight value includes decreasing the first weight value.

7. The method according to claim 2 or 6, wherein: The second time interval is calculated based on the following method: (the first weight value - the modified weight value) * the expected waiting time, and The modified weight value is determined based on the first ratio.

8. The method according to claim 7, wherein: The modified weight value is equal to the first weight value×a1, Here, a1 is a ratio of the number of contact-agent pairs included in the first portion to the total number of the first plurality of contact-agent pairs.

9. The method according to any one of claims 1 to 8, comprising: Retrieve updated pairing data indicating a second plurality of contact-agent pairings performed using the first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is performed within the second time interval and a second portion of the second plurality of contact-agent pairings is performed outside the second time interval; determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs; modifying the second weight value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a third weight value; and The third time interval is determined based on the expected waiting time and the third weight value, wherein: At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

10. The method according to any one of claims 1 to 8, comprising: Retrieve updated pairing data indicating a second plurality of contact-agent pairings performed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is performed within the second time interval and a second portion of the second plurality of contact-agent pairings is performed outside the second time interval; determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs; modifying the first buffer value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a second buffer value; and A third time interval is determined based on the expected waiting time, the second weight value, and the second buffer value, wherein: determining the second time interval based on the expected waiting time, the second weight value, and the first buffer value, and At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

11. The method according to claim 10, comprising: determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to a total number of the second plurality of contact-agent pairs; The second ratio is compared with a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold, or less than or equal to the second threshold, wherein: If the second ratio is greater than the first threshold or less than or equal to the second threshold, modifying the first buffer value, and The second threshold is smaller than the first threshold.

12. The method according to claim 11, wherein the second ratio is greater than the first threshold, and Modifying the first buffer value includes increasing the first buffer value.

13. The method according to claim 11 or 12, wherein: The third time interval is calculated based on the following method: (the second weight value×the expected waiting time)+the first buffer value+the modified buffer value, and The modified buffer value is determined based on the second ratio.

14. The method according to claim 13, wherein The modified buffer value is equal to the second ratio×100.

15. The method according to claim 11, wherein the second ratio is less than or equal to the second threshold, and Modifying the first buffer value includes decreasing the first buffer value.

16. The method according to claim 11 or 15, wherein: The third time interval is calculated based on the following method: (the second weight value×the expected waiting time)+the first buffer value−the modified buffer value, and The modified buffer value is determined based on the second ratio.

17. The method according to claim 16, wherein The modified buffer value is equal to the first buffer value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of the second plurality of contact-agent pairs.

18. The method according to any one of claims 10 to 17, comprising: Retrieving updated pairing data indicating a third plurality of contact-agent pairings performed using the second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is performed within the third time interval and a second portion of the third plurality of contact-agent pairings is performed outside the third time interval; determining a number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs; modifying the second buffer value based on the determined number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs to generate a third buffer value; and A fourth time interval is determined based on the expected waiting time and the third buffer value, wherein: At least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairs is within the fourth time interval.

19. The method according to any one of claims 10 to 18, comprising: performing contact-agent pairing using the first pairing strategy during the third time interval, and Outside the third time interval, contact-agent pairing is performed using the second pairing strategy.

20. A method (500) comprising: Acquiring (s502) time data indicating a first time interval, wherein the first time interval is determined based on an expected waiting time for a paired contact, a first weight value, and a first buffer value; obtaining ( s504 ) pairing data indicating a first plurality of contact-agent pairings performed using a first pairing strategy, wherein a first portion of the first plurality of contact-agent pairings was performed within the first time interval and a second portion of the first plurality of contact-agent pairings was performed outside the first time interval; determining (s506) the number of contact-agent pairs included in the second portion; modifying (s508) the first buffer value based on the determined number of contact-agent pairs included in the second portion, thereby generating a second buffer value; and A second time interval is determined (s510) based on the expected waiting time, the first weight value and the second buffer value, wherein: At least one contact-agent pairing included in the second portion of the first plurality of contact-agent pairs is within the second time interval.

21. The method according to claim 20, comprising: determining a first ratio of the determined number of contact-agent pairs included in the second portion of the first plurality of contact-agent pairs to a total number of the first plurality of contact-agent pairs; The first ratio is compared with a first threshold and / or a second threshold to determine whether the first ratio is greater than the first threshold or less than or equal to the second threshold, wherein: If the first ratio is greater than the first threshold or less than or equal to the second threshold, modifying the first buffer value, and The second threshold is smaller than the first threshold.

22. The method according to claim 21, wherein the first ratio is greater than the first threshold, and Modifying the first buffer value includes increasing the first buffer value.

23. The method according to claim 21 or 22, wherein The second time interval is calculated based on the following method: (the first weight value×the expected waiting time)+the first buffer value+the modified buffer value, and The modified buffer value is determined based on the first ratio.

24. The method according to claim 23, wherein The modified buffer value is equal to the first ratio×100.

25. The method of claim 21, wherein the first ratio is less than or equal to the second threshold, and Modifying the first buffer value includes decreasing the first buffer value.

26. The method according to claim 21 or 25, wherein The second time interval is calculated based on the following method: (the first weight value×the expected waiting time)+the first buffer value−the modified buffer value, and The modified buffer value is determined based on the first ratio.

27. The method according to claim 26, wherein The modified buffer value is equal to the first buffer value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the first plurality of contact-agent pairs to the total number of the first plurality of contact-agent pairs.

28. The method according to any one of claims 20 to 27, comprising: Retrieve updated pairing data indicating a second plurality of contact-agent pairings performed using the first pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is performed within the second time interval and a second portion of the second plurality of contact-agent pairings is performed outside the second time interval; determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs; modifying the second buffer value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a third buffer value; and A third time interval is determined based on the expected waiting time, the first weight value, and the third buffer value, wherein: At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

29. The method according to any one of claims 20 to 28, comprising: outside the second time interval, performing contact-agent pairing using the first pairing strategy, and During the second time interval, contact-agent pairing is performed using a second pairing strategy.

30. The method according to any one of claims 20 to 27 or 29, comprising: Retrieve updated pairing data indicating a second plurality of contact-agent pairings performed using a second pairing strategy, wherein a first portion of the second plurality of contact-agent pairings is performed within the second time interval and a second portion of the second plurality of contact-agent pairings is performed outside the second time interval; determining a number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs; modifying the first weight value based on the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to generate a second weight value; and A third time interval is determined based on the expected waiting time, the second weight value, and the second buffer value, wherein: At least one contact-agent pairing included in the second portion of the second plurality of contact-agent pairs is within the third time interval.

31. The method according to claim 30, comprising: determining a second ratio of the determined number of contact-agent pairs included in the second portion of the second plurality of contact-agent pairs to a total number of the second plurality of contact-agent pairs; The second ratio is compared with a first threshold and / or a second threshold to determine whether the second ratio is greater than the first threshold or less than or equal to the second threshold, wherein: If the second ratio is greater than the first threshold or less than or equal to the second threshold, modify the first weight value, and The second threshold is smaller than the first threshold.

32. The method according to claim 31, wherein the second ratio is greater than the first threshold, and Modifying the first weight value includes increasing the first weight value.

33. The method according to claim 31 or 32, wherein The third time interval is calculated based on the following method: (the first weight value + the modified weight value) * the expected waiting time + the second buffer value, and The modified weight value is determined based on the second ratio.

34. The method according to claim 33, wherein The modified weight value is equal to the second ratio.

35. The method of claim 31 , wherein: the second ratio is less than or equal to the second threshold, and Modifying the first weight value includes decreasing the first weight value.

36. The method according to claim 31 or 35, wherein The third time interval is calculated based on the following method: (the first weight value - the modified weight value) * the expected waiting time + the second buffer value, and The modified weight value is determined based on the second ratio.

37. The method according to claim 36, wherein The modified weight value is equal to the first weight value×a1, wherein a1 is a ratio of the number of contact-agent pairs included in the first portion of the second plurality of contact-agent pairs to the total number of the second plurality of contact-agent pairs.

38. A method according to any one of claims 30 to 37, comprising: obtaining updated pairing data indicating a third plurality of contact-agent pairings executed using the second pairing strategy, wherein a first portion of the third plurality of contact-agent pairings is executed within the third time interval and a second portion of the second plurality of contact-agent pairings is executed outside the third time interval; determining a number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs; modifying the second weight value based on the determined number of contact-agent pairs included in the second portion of the third plurality of contact-agent pairs to generate a third weight value; and A fourth time interval is determined based on the expected waiting time, the second buffer value, and the third weight value, wherein: At least one contact-agent pairing included in the second portion of the third plurality of contact-agent pairs is within the fourth time interval.

39. A computer program (643) comprising instructions (644) which, when executed by a processing circuit (602) of a node, cause the node to perform the method of any one of the preceding claims.

40. A carrier containing a computer program according to claim 39, wherein The carrier is one of an electronic signal, an optical signal, a radio signal and a computer-readable storage medium (642).

41. A node (600) comprising processing circuitry and configured to perform the method according to any one of claims 1 to 38.

Citation Information

Patent Citations

  • Techniques for decisioning behavioral pairing in a task assignment system

    US10757262B1

  • Techniques for behavioral pairing in a contact center system

    US9300802B1

  • Techniques for hybrid behavioral pairing in a contact center system

    US9781269B2

  • Techniques for hybrid behavioral pairing in a contact center system

    US9787841B2

  • Techniques for behavioral pairing in a contact center system

    US9930180B1