Agent scheduling method and device for outbound task in intelligent outbound system

CN122554573APending Publication Date: 2026-08-11BAIRONG ZHIXIN (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-22
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0004]然而,固定并发数的分配方式在实际运行中容易引发一系列问题

Benefits of technology

[0007]相较于现有技术,本申请第一方面提供的智能外呼系统中外呼任务的坐席调度方法,通过在任务启动阶段将当前可用坐席数直接作为并发坐席数开始外呼,避免了因预设并发数高于可用资源而导致任务无法启动或长时间等待的问题,实现了零等待起呼,显著缩短了任务响应延迟。同时,通过根据未处理案件数量与当前并发坐席数的动态比对结果,实时对并发坐席数进行增加或减少调整,使得坐席资源的分配始终与任务实际负载相匹配。当案件积压时自动升并发以加速处理,当案件临近完结时自动降并发以释放冗余资源。从而在保障任务处理效率的前提下最大化释放闲置坐席供其他任务使用,实现了坐席资源在任务内与任务间的动态按需调度,既避免了资源空转浪费,又防止了任务因资源配置不足而积压延迟,最终在整体系统层面显著提升了坐席资源的利用效率和外呼任务的处理效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122554573A_ABST
    Figure CN122554573A_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for agent scheduling of outbound calling tasks in an intelligent outbound calling system. The method includes: acquiring an outbound calling task, which includes a first number of cases and a preset concurrent number; determining the currently available number of agents; if the currently available number of agents is less than the preset concurrent number, then using the currently available number of agents as the concurrent number of agents, and processing the first number of cases in the outbound calling task; adjusting the current concurrent number of agents based on a second number of unprocessed cases in the outbound calling task and the current concurrent number of agents, and using the adjusted concurrent number of agents to process the unprocessed cases in the outbound calling task. This achieves zero-wait call initiation, significantly shortening task response latency. Simultaneously, it enables dynamic on-demand scheduling of agent resources within and between tasks, avoiding resource waste and preventing task backlog and delays due to insufficient resource allocation, thereby improving the utilization efficiency of agent resources and the processing efficiency of outbound calling tasks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent outbound calling technology, and in particular to a method for scheduling outbound calling tasks in an intelligent outbound calling system, a device for scheduling outbound calling tasks in an intelligent outbound calling system, a computer device, a computer-readable storage medium, and a computer program product. Background Technology

[0002] An intelligent outbound calling system refers to a platform that utilizes artificial intelligence (AI) technology to automate the management and execution of outbound calling tasks. An intelligent outbound calling system includes outbound calling tasks and agents. An outbound calling task is a one-time batch call work unit that the system needs to execute. An agent is a logical or physical resource unit within the system that executes a specific outbound call.

[0003] To ensure efficient execution of outbound calling tasks and control resource consumption, the system needs to allocate a certain number of agent seats to each calling task for concurrent call processing based on task requirements and resource configuration. Currently, a preset fixed concurrency number is used to allocate agent seats for an outbound calling task. Specifically, system administrators or operations personnel pre-set a fixed number of concurrent agent seats (e.g., 1000) based on experience when creating an outbound calling task. After the outbound calling task starts, the system allocates and locks the corresponding number of agent seats and begins concurrent outbound calls simultaneously. After the task is completed, all occupied agent seats are released back to the resource pool for use by other tasks.

[0004] However, allocating a fixed concurrency level can easily lead to a series of problems in actual operation. First, when the preset concurrency level is higher than the actual number of available agents, tasks will fail to start or wait for a long time due to insufficient resources, resulting in both outbound call delays and idle resources. Second, if the task volume is much smaller than the preset concurrency level (e.g., only 100 cases but 1000 agents are allocated), a large number of agents are ineffectively occupied, resulting in wasted resources. Conversely, if the task volume is huge but the concurrency level is set too low, it will lead to slow outbound call processing and serious task backlog. It is clear that a fixed concurrency level will cause rigid system resource scheduling, resulting in wasted system resources, task processing delays, or low task processing efficiency. Summary of the Invention

[0005] The purpose of this application is to provide a method for scheduling outbound call tasks in an intelligent outbound call system, a device for scheduling outbound call tasks in an intelligent outbound call system, a computer device, a computer-readable storage medium, and a computer program product, so as to improve the utilization rate of agent resources in the intelligent outbound call system and improve the processing efficiency of outbound call tasks.

[0006] To address the aforementioned technical problems, this application provides the following technical solutions: The first aspect of this application provides a method for agent scheduling of outbound calling tasks in an intelligent outbound calling system. The method includes: acquiring an outbound calling task, which includes a first number of cases and a preset number of concurrent calls; determining the number of currently available agents; if the number of currently available agents is less than the preset number of concurrent calls, then using the number of currently available agents as the number of concurrent agents and processing the first number of cases in the outbound calling task; adjusting the current number of concurrent agents based on a second number of unprocessed cases in the outbound calling task and the current number of concurrent agents, and using the adjusted number of concurrent agents to process the unprocessed cases in the outbound calling task.

[0007] Compared to existing technologies, the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in the first aspect of this application avoids the problem of tasks failing to start or experiencing long waiting times due to the preset concurrency exceeding available resources by directly using the currently available number of agents as the concurrent agent count at the task initiation stage. This achieves zero-wait call initiation and significantly shortens task response latency. Simultaneously, by dynamically comparing the number of unprocessed cases with the current concurrent agent count, the concurrent agent count is adjusted in real time, ensuring that agent resource allocation always matches the actual task load. When cases accumulate, concurrency is automatically increased to accelerate processing; when cases are nearing completion, concurrency is automatically decreased to release redundant resources. This maximizes the release of idle agents for other tasks while ensuring task processing efficiency, achieving dynamic on-demand scheduling of agent resources within and between tasks. This avoids resource waste and prevents task backlog and delays due to insufficient resource allocation, ultimately significantly improving the utilization efficiency of agent resources and the processing efficiency of outbound calling tasks at the overall system level.

[0008] In other embodiments provided in this application, adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents includes: determining whether to adjust the current number of concurrent agents according to a preset period based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents; if adjustment is determined, adjusting the current number of concurrent agents according to a preset step size; if no adjustment is determined, maintaining the current number of concurrent agents.

[0009] By introducing preset scheduling cycles and preset adjustment steps, the adjustment behavior of concurrent agent numbers is constrained within a fixed time window and a controllable range of change, avoiding drastic fluctuations in the number of concurrent agents caused by instantaneous fluctuations in case volume or frequent changes in system status. This effectively suppresses the jitter of resource scheduling and significantly improves the stability of the intelligent outbound calling system.

[0010] In other embodiments provided in this application, determining whether to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents includes: determining the ratio of the second number of unprocessed cases in the outbound call task to the current number of concurrent agents; if the ratio is greater than a first preset threshold, determining to increase the current number of concurrent agents; if the ratio is less than a second preset threshold, determining to decrease the current number of concurrent agents.

[0011] By using the ratio of unprocessed cases to the current number of concurrent agents as the criterion for scheduling decisions, the system achieves precise quantification of the matching degree between task load and resource supply, avoiding misjudgments caused by relying on a single dimension (case volume or agent count only), and improving the accuracy of scheduling.

[0012] In other embodiments provided in this application, adjusting the current number of concurrent seats according to a preset step size includes: determining the number of adjustments in the current cycle; adjusting the preset step size according to the number of adjustments and a first quantity to obtain the current step size, wherein the adjustment amount is positively correlated with the number of adjustments and negatively correlated with the first quantity; and adjusting the current number of concurrent seats using the current step size.

[0013] By using the number of adjustments and the total number of cases as the basis for dynamic adjustment of the step size, the concurrent adjustment range can be increased with the adjustment frequency to quickly approach the target value. At the same time, it automatically converges according to the task scale to avoid over-adjustment, thus realizing the adaptive convergence and fine control of the scheduling strategy.

[0014] In other embodiments provided in this application, adjusting the current number of concurrent agents according to a preset step size includes: in the current period, determining the average duration of cases processed in outbound call tasks; if the average duration is greater than a first preset duration, adjusting the current number of concurrent agents according to a step size increased based on the preset step size; if the average duration is less than a second preset duration, adjusting the current number of concurrent agents according to a step size decreased based on the preset step size.

[0015] By using the average processing time of processed cases as a feedback signal for step size adjustment, the concurrent adjustment range can dynamically adapt to changes in the actual processing efficiency of agents. When agents' proficiency improves, resource release is automatically accelerated, and resource investment is proactively increased when processing bottlenecks occur, thus achieving adaptive collaboration between scheduling strategies and business execution.

[0016] In other embodiments provided in this application, the method further includes: determining the hang-up rate of processed cases in the outbound call task; if the hang-up rate is greater than a preset rate value, then determining that the average duration is less than a second preset duration; if the hang-up rate is less than or equal to the preset rate value, then determining that the average duration is not less than a second preset duration.

[0017] By using the hang-up rate as a proxy metric for average processing time, and leveraging its lower computational cost and more real-time response, the computational overhead of the scheduling system is significantly reduced without sacrificing decision accuracy, thereby improving decision-making efficiency in high-concurrency scenarios.

[0018] In other embodiments provided in this application, before adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, the method further includes: if the first number is greater than the preset number of cases, increasing the current number of concurrent agents by a specified step, and using the increased number of concurrent agents to process the unprocessed cases in the outbound call task; if the first number is less than or equal to the preset number of cases, adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, and using the adjusted number of concurrent agents to process the unprocessed cases in the outbound call task.

[0019] By predicting the scale of resource demand based on the initial total number of cases when a task is started, and by directly executing proactively increasing concurrency for ultra-large tasks to seize the processing opportunity, the system avoids the initial processing bottleneck caused by ratio-driven gradual scheduling, thus achieving rapid response in sudden large task scenarios.

[0020] A second aspect of this application provides a seat scheduling device for outbound calling tasks in an intelligent outbound calling system. The device includes: an acquisition module for acquiring outbound calling tasks, wherein the outbound calling tasks include a first number of cases and a preset number of concurrent calls; a determination module for determining the number of currently available seats; a processing module for using the number of currently available seats as the number of concurrent seats if the number of currently available seats is less than the preset number of concurrent calls, and processing the first number of cases in the outbound calling task; and an adjustment module for adjusting the number of currently available seats according to a second number of unprocessed cases in the outbound calling task and the current number of concurrent seats, and using the adjusted number of concurrent seats to process the unprocessed cases in the outbound calling task.

[0021] A third aspect of this application provides a computer device including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method of the first aspect.

[0022] A fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method of the first aspect.

[0023] The fifth aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the method of the first aspect.

[0024] The agent scheduling device for outbound calling tasks in the intelligent outbound calling system provided in the second aspect of this application, the computer equipment provided in the third aspect, the computer-readable storage medium provided in the fourth aspect, and the computer program product provided in the fifth aspect have the same or similar beneficial effects as the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in the first aspect. Attached Figure Description

[0025] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily understood by reading the following detailed description with reference to the accompanying drawings. In the drawings, several embodiments of this application are illustrated by way of example and not limitation, with the same or corresponding reference numerals denoteing the same or corresponding parts, wherein: Figure 1 This is a schematic diagram illustrating the application scenario of the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to the embodiments of this application; Figure 2 This is a flowchart illustrating the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to an embodiment of this application. Figure 1 ; Figure 3 This is a flowchart illustrating the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to an embodiment of this application. Figure 2 ; Figure 4 This is a schematic diagram of the structure of the agent scheduling device for outbound calling tasks in the intelligent outbound calling system of this application embodiment. Figure 1 ; Figure 5 This is a schematic diagram of the structure of the agent scheduling device for outbound calling tasks in the intelligent outbound calling system of this application embodiment. Figure 2 ; Figure 6 This is a schematic diagram of the structure of the computer device in the embodiments of this application. Detailed Implementation

[0026] Exemplary embodiments of this application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of this application are shown in the drawings, it should be understood that this application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of this application and to fully convey the scope of this application to those skilled in the art.

[0027] It should be noted that, unless otherwise stated, the technical or scientific terms used in this application shall have the ordinary meaning as understood by one of ordinary skill in the art to which this application pertains.

[0028] It should be noted that the user data, data acquisition, and / or use involved in the embodiments of this application strictly comply with the laws, regulations, and industry standards of relevant countries and regions. The collection and acquisition of data involved in the embodiments of this application are all done in advance by actively prompting or prominently displaying information to inform users and obtaining authorization, or by obtaining full authorization from all parties. The processing, manipulation, forwarding, and use of data involved in the embodiments of this application are all carried out on the premise that the user or relevant party is fully informed and authorized. In implementing the various embodiments of this application, the types of data or information, scope of use, and usage scenarios that may be involved are informed to users or relevant parties and authorization is obtained through appropriate means. The specific methods of notification and authorization may vary according to the actual situation, and this application is not limited in this regard. The processing of personal information involved in the embodiments of this application is carried out under the premise of having a legal basis (such as obtaining the consent of the personal information subject or being necessary for the performance of a contract), and is only processed within the prescribed or agreed scope. Sensitive personal information such as biometric information, medical and health information, financial account information, and precise location information involved in the embodiments of this application are all processed under the premise of having a specific purpose and sufficient necessity, and with the separate authorization and consent of the user or relevant party. In some embodiments of this application, if the user or related party refuses to process personal information other than the information necessary for the basic functions, it will not affect the use of the basic functions of the embodiments of this application.

[0029] Traditional intelligent outbound calling systems allocate seats to outbound calling tasks by setting a fixed number of concurrent users. This leads to problems such as tasks failing to start when available resources are insufficient, resources being wasted when there are few cases, and low processing efficiency when there are many cases.

[0030] The root cause of this technical problem lies in the fact that traditional scheduling schemes rigidly bind task concurrency configuration to actual resource supply and real-time business load. On the one hand, the preset concurrency number only reflects the manager's subjective expectations but cannot perceive the dynamic changes in available agent resources at the underlying system level, leading to a disconnect between resource allocation and supply capacity. On the other hand, the concurrency number is fixed after a task starts, lacking a real-time feedback loop with business indicators such as remaining cases and processing efficiency, resulting in resource usage not being able to elastically scale as the task lifecycle progresses. This open-loop, static, and unidirectional resource allocation model fundamentally severs the linkage between scheduling strategies and system status and business needs, causing the system to lose its ability to adaptively adjust on demand, ultimately manifesting as low resource utilization and an imbalance in task processing efficiency.

[0031] In view of this, embodiments of this application provide a method for scheduling outbound call tasks in an intelligent outbound call system, a device for scheduling outbound call tasks in an intelligent outbound call system, a computer device, a computer-readable storage medium, and a computer program product. By decoupling the preset concurrency of a task from the actual number of available seats, it enables immediate initiation of calls with minimal available resources, breaking the bottleneck of waiting due to insufficient resources in traditional solutions. Simultaneously, by constructing a dynamic feedback loop between the number of unprocessed cases and the current number of concurrent seats, the concurrency scale automatically scales with the task load. This transforms the concurrent scheduling of outbound call tasks from static preset to dynamic adaptive, enabling resource allocation to have both startup and operational flexibility, thereby establishing a real-time dynamic balance between system resource supply and business processing needs.

[0032] First, the application scenarios of the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in the embodiments of this application will be described.

[0033] Figure 1 This is a schematic diagram illustrating the application scenario of the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to the embodiments of this application. See [link / reference]. Figure 1 As shown, this scenario can include: an intelligent outbound calling system.

[0034] The intelligent outbound calling system includes: Task Control Center: Used to maintain the status and target concurrency settings of outbound call tasks; Available seat monitor: used to detect the number and status of idle / busy seats in the system in real time; Resource scheduling engine: used to schedule concurrent resources, monitor resource usage, and calculate allocation strategies; Decision engine: Used to output scheduling suggestions based on indicators such as case volume, agent efficiency, and case / agent ratio; Task executor: Used to initiate specific concurrent outbound call requests based on scheduling results.

[0035] When a user has an outbound call need, they create an outbound call task in the intelligent outbound call system. The task control center sets the basic configuration, including the total number of cases and the preset concurrency level. After the task starts, the agent monitor can detect the number of idle agents in the system in real time. The resource scheduling engine obtains the current number of available agents and compares it with the preset concurrency level. If the number of available agents is less than the preset concurrency level, the task executor immediately starts the outbound call with the current number of available agents as the actual concurrent agent count and marks the task as a reduced-concurrency call task. During the execution of the outbound call task, the decision engine, according to a preset scheduling cycle, determines whether to increase or decrease concurrency based on the number of unprocessed cases and the current number of concurrent agents, combined with a case / agent ratio threshold. If adjustment is needed, the resource scheduling engine increases or decreases the number of concurrent agents according to a preset step size, marking agents to be closed during reduced concurrency and smoothly releasing them after the current call ends. The above scheduling process is triggered periodically until all cases are processed, the task status changes to completed, and all occupied agent resources are released back to the resource pool.

[0036] In the intelligent outbound calling system, outbound calling tasks are also equipped with an automatic concurrency adjustment switch and a reduced concurrency dialing switch. The automatic concurrency adjustment switch controls whether the task enables dynamic increase / decrease concurrency scheduling. When the switch is on, the system automatically adjusts the number of concurrent agents for the task based on indicators such as case volume, available agents, case / agent ratio threshold, and historical processing efficiency. The reduced concurrency dialing switch (i.e., whether the task supports reduced concurrency dialing) controls whether the task is allowed to initiate calls with an actual number of agents lower than the preset concurrency. Only tasks with this switch enabled can execute the minimum available resources for initiation and subsequent agent increase / decrease logic. Tasks without the reduced concurrency dialing switch enabled must wait until the system's idle agents reach or exceed the preset concurrency before initiating an outbound call.

[0037] Furthermore, during task execution, the agent sizing function must be enabled only if the task's concurrency reduction dialing switch is active. Based on the comparison between the target value after concurrency reduction and the current actual number of outbound calls, the system can dynamically switch the task between concurrency reduction dialing and normal task states. When the target value after concurrency reduction equals the current actual number of outbound calls, it indicates that the system's desired concurrency level matches the number of agents currently used by the task. No agents need to be immediately reclaimed; the task state only needs to be switched from concurrency reduction dialing to normal task, and the agent configuration number updated to the target value. The task will then be scheduled according to normal task mode. When the target value after concurrency reduction is greater than the current actual number of outbound calls, it indicates that although the system wants to reduce the preset concurrency limit, the actual available resources are still sufficient, and the task can continue to run with the current number of agents. In this case, only the agent configuration number is updated, and the task state remains as concurrency reduction dialing; agent reclamation is not performed. When the target value after concurrency reduction is less than the current actual number of outbound calls, it indicates that the system needs to forcibly reduce the task's actual resource usage. At this point, the task status is changed from a reduced-concurrency call task to a normal task. Simultaneously, the task's agent configuration number is updated, and the remaining agents are marked as pending shutdown. Marked agents are automatically released after the current call ends and will not be assigned new outbound call cases, thus achieving lossless and smooth resource reclamation.

[0038] Next, the seat scheduling method for outbound calling tasks in the intelligent outbound calling system provided in the embodiments of this application will be described in detail.

[0039] Figure 2 This is a flowchart illustrating the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to an embodiment of this application. Figure 1 See Figure 2 As shown, the method may include: S21: Obtain outbound call tasks, which include a first number of cases and a preset number of concurrent calls.

[0040] Outbound call tasks refer to a one-time batch call work unit that needs to be executed in an intelligent outbound call system, and are the basic object of scheduling and management. An outbound call task may include: task identifier, total number of cases (i.e., the first quantity), preset concurrent number, task status, automatic adjustment switch status, reduced concurrent dialing switch status, current actual concurrent number of agents, number of unprocessed cases (i.e., the second quantity), and case data list.

[0041] Here, a case refers to a single call service unit to be executed in an outbound call task; it is the smallest granular object processed in an outbound call task. Each case must contain at least the called number, call parameters, and service attribute information.

[0042] Taking a smart collection outbound calling scenario of a bank's credit card center as an example, the outbound calling task includes: Outbound call task name: M1 overdue collection task on February 12, 2026; The first number of cases: 50,000 (i.e., a list of customers whose payments are overdue by less than 30 days and require outbound calls on the same day); Preset concurrency: 800 seats (the maximum concurrency limit for this task set by the administrator based on historical experience); Task status: Pending execution; Automatic adjustment switch: On; Concurrent dialing reduction switch: On; Current concurrent seats: 0 (before task started); Unprocessed cases: 50,000 (when the task is started).

[0043] When outbound calling tasks need to be processed through the intelligent outbound calling system, the business system imports the case data (such as customer lists, contact numbers, call time windows, etc.) into the intelligent outbound calling system in batches via interface calls. Simultaneously, operations personnel set scheduling strategy parameters such as the preset concurrency count, automatic adjustment switch, and concurrency reduction dialing switch for the task in the task configuration interface. After receiving the above information, the task control center generates a unique identifier for the task, initializes the task status (usually "new" or "pending scheduling"), associates and binds the case data with the configuration parameters, and finally writes the task into the scheduling queue. The resource scheduling engine pulls the outbound calling tasks to be executed from the scheduling queue, completing the formal acquisition of the task.

[0044] S22: Determine the number of seats currently available.

[0045] The number of currently available seats refers to the total number of logical or physical seats in the intelligent outbound calling system that are idle at a certain moment and can be immediately assigned to execute outbound calling tasks.

[0046] The number of currently available agent seats can be monitored in real time by the available agent seat monitor. The monitor continuously listens for status change events of all agent resources in the system (including idle, busy, post-processing, offline, locked, etc.) and periodically collects the real-time status of each agent through a heartbeat mechanism or status reporting interface. When the resource scheduling engine initiates a query request for the number of available agents, the monitor immediately filters the status of all agent resources in the system and counts the number of agents whose current status is "idle" and who are not locked by any task or marked as "pending closure". After the count is completed, the monitor returns this value to the resource scheduling engine in real time as the current number of available agents.

[0047] S23: If the number of currently available seats is less than the preset concurrent number, then the number of currently available seats will be used as the concurrent number of seats, and the first number of cases in the outbound call task will be processed.

[0048] If the number of currently available agents is less than the preset concurrency limit, it means that the actual number of idle agents that the system can schedule cannot meet the maximum concurrency requirements of the task. If a traditional fixed concurrency solution is used, the task will fail to start or be blocked for a long time. However, by using the number of currently available agents as the number of concurrent agents and processing the first number of cases in the outbound call task, outbound calls can be started immediately without waiting for resources to be available, completely eliminating task start delays and converting unavailable waiting time into effective outbound call processing time.

[0049] When the resource scheduling engine determines that the number of currently available agents is less than the preset concurrency limit for the task, and the task has enabled the reduced-concurrency dialing switch, the system immediately executes the minimum available resource call initiation process. The task executor obtains the current list of idle agents from the available agent monitor, directly locks a number of agent resources equal to the number of currently available agents, and assigns these agents to the outbound call task. Simultaneously, the task control center changes the task's status from queued or awaiting scheduling to executing, and marks the task type as a reduced-concurrency dialing task. Then, the task executor retrieves a batch of outbound cases equal to the number of available agents from the case queue and initiates outbound call requests in parallel using the locked agent resources. After each agent completes an outbound call, the system updates the agent's status in real time and immediately retrieves the next unprocessed case from the case queue to continue the outbound call, forming a continuous case-agent pipeline processing.

[0050] If the number of available agents is greater than or equal to the preset concurrency level, the system determines that resources are sufficient and initiates outbound calls directly using the preset concurrency level as the actual number of concurrent agents. The task executor immediately locks a number of agent resources equal to the preset concurrency level, sets the task status to "in execution," and marks it as a normal task. Simultaneously, it retrieves the corresponding number of outbound cases from the case queue and initiates calls in parallel. Subsequently, if the task has an automatic concurrency adjustment switch enabled, the decision engine will still dynamically evaluate whether it is necessary to further increase concurrency (e.g., continue to expand capacity based on the preset concurrency when the case volume is huge) or actively reduce concurrency (e.g., manual or policy-triggered downsizing when the case volume is extremely small) until the task is completed.

[0051] After initiating an outbound call task with the current number of available seats, the system monitors the resource status and business load changes in real time during task execution through the available seat monitor and decision engine, providing a basis for decision-making for subsequent dynamic concurrency adjustments.

[0052] S24: Adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, and use the adjusted number of concurrent agents to process the unprocessed cases in the outbound call task.

[0053] When adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, the ratio of the number of unprocessed cases (second number) to the current number of concurrent agents can be calculated and compared with a preset increase / decrease threshold. If the ratio is higher than the first preset threshold, the number of concurrent agents is increased; if the ratio is lower than the second preset threshold, the number of concurrent agents is decreased.

[0054] Alternatively, the difference between the number of unprocessed cases (the second quantity) and the current number of concurrent agents can be calculated, and this difference can be compared with preset thresholds. If the difference is greater than a first preset threshold, the current resources are considered relatively insufficient, and the number of concurrent agents is increased. If the difference is less than a second preset threshold, the current resources are considered relatively abundant, and the number of concurrent agents is decreased. The difference threshold method directly reflects the absolute surplus / shortage of resources under pressure. For outbound call scenarios with stable case volume and small fluctuations, this method is preferred because it can achieve accurate and efficient agent scheduling due to the lower resource consumption of subtraction calculation compared to division calculation.

[0055] Alternatively, a processing rate trend model can be constructed based on case processing speed data from historical scheduling cycles. This involves collecting the case reduction amount for each of the past N cycles, calculating the case consumption rate (cases / second), and its slope. Simultaneously, combined with the current remaining case volume, the estimated completion time required to fully process the remaining cases is predicted. If the estimated completion time is significantly shorter than the target completion time (e.g., more than 2 hours ahead), concurrency should be reduced to avoid resource idleness. If the estimated completion time exceeds the target completion time (e.g., due to overdue risk), concurrency should be increased to accelerate processing. This trend prediction method bridges the gap between current state assessment and future demand prediction, enabling proactive responses to business peaks and troughs. It is particularly suitable for complex outbound call environments with dynamically changing case volumes and fluctuating processing efficiency. It transforms scheduling decisions from reactive remediation to proactive prediction, effectively avoiding task backlogs or excessive resource reservations by proactively identifying resource mismatch risks and adjusting concurrency levels. This achieves a forward-looking dynamic balance between resource supply and business demand while ensuring service levels.

[0056] The specific number of concurrent seats that can be increased or decreased can be set to a fixed value or a dynamic value, depending on the actual situation.

[0057] Once the system adjusts the concurrent agent count based on the decision engine's output, the task executor immediately uses the adjusted concurrent agent count to continue processing unprocessed cases in outbound call tasks. If concurrency is increased, the system retrieves and locks newly added idle agents from the available agent monitor, and simultaneously retrieves the corresponding number of pending outbound calls from the case queue, with the newly added agents initiating calls in parallel. If concurrency is decreased, the system marks agents to be closed, automatically releasing them after their current call ends, without assigning new cases, and the remaining agents continue processing unprocessed cases. This adjustment process can be triggered cyclically according to the scheduling cycle. After each adjustment, the task executor continuously pulls cases from the case queue, assigns agents, and initiates outbound calls at the latest concurrency scale, forming a dynamically adapted pipeline processing loop. When the task executor detects that there are no unprocessed cases in the case queue (i.e., the second count is zero), and all assigned cases have been completed (regardless of success, failure, hang-up, or retry), the task control center changes the task status from "in execution" to "completed" and releases all agent resources occupied by the task for scheduling by other pending tasks in the resource pool. At this point, the entire lifecycle of the outbound call task has been completed.

[0058] As described above, the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in this application avoids the problem of tasks failing to start or experiencing long waiting times due to the preset concurrency exceeding available resources by directly using the currently available agent number as the concurrent agent number to start outbound calls during the task startup phase. This achieves zero-wait call startup and significantly shortens task response latency. Simultaneously, by dynamically comparing the number of unprocessed cases with the current concurrent agent number, the concurrent agent number is adjusted in real time, ensuring that agent resource allocation always matches the actual task load. When cases accumulate, concurrency is automatically increased to accelerate processing; when cases are nearing completion, concurrency is automatically decreased to release redundant resources. This maximizes the release of idle agents for other tasks while ensuring task processing efficiency, achieving dynamic on-demand scheduling of agent resources within and between tasks. This avoids resource waste and prevents task backlog and delays due to insufficient resource allocation, ultimately significantly improving the utilization efficiency of agent resources and the processing efficiency of outbound calling tasks at the overall system level.

[0059] Furthermore, as a response to Figure 2 As a refinement and extension of the method shown, this application embodiment also provides a seat scheduling method for outbound calling tasks in an intelligent outbound calling system.

[0060] Figure 3 This is a flowchart illustrating the agent scheduling method for outbound calling tasks in the intelligent outbound calling system according to an embodiment of this application. Figure 2 See Figure 3 As shown, the method may include: S31: Obtain outbound call tasks, which include a first number of cases and a preset number of concurrent calls.

[0061] S32: Determine the number of seats currently available.

[0062] S33: If the number of currently available seats is less than the preset concurrent number, then the number of currently available seats will be used as the concurrent number of seats, and the first number of cases in the outbound call task will be processed.

[0063] Steps S31, S32, and S33 here are implemented in the same way as steps S21, S22, and S23 in the aforementioned embodiments. Please refer to the relevant descriptions in the aforementioned embodiments, which will not be repeated here.

[0064] In some embodiments, when the initial number of cases (the first quantity) is much larger than the normal scale, waiting for a periodic ratio judgment to trigger a gradual increase in concurrency will result in slow initial processing speed and excessively long task backlog due to scheduling response delays. To achieve rapid pre-deployment of resources for large tasks and seize processing windows, an active increase in concurrency can be pre-executed before the scheduling cycle intervenes, thereby significantly reducing the peak response delay of large tasks. That is, determining whether the first quantity is greater than the preset number of cases.

[0065] The first number here refers to the initial number of cases in the outbound call task.

[0066] The preset case count refers to the threshold set in advance by the system or administrator to determine whether an outbound call task is considered an overloaded task. For example, if the preset case count is set to 10,000, then the first task with more than 10,000 cases will be judged as an overloaded task and trigger an active concurrency escalation strategy.

[0067] S34: If the first number is greater than the preset number of cases, the current number of concurrent agents will be increased by a specified step size, and the increased number of concurrent agents will be used to process the unprocessed cases in the outbound call task.

[0068] If the number of cases exceeds the preset number, it means that the current outbound call task is a very large-scale task. If the scheduling is done according to the normal ratio, the processing may be delayed due to insufficient initial concurrency. Therefore, the system proactively increases the number of concurrent agents by a specified step size before the periodic scheduling intervention, so as to realize the rapid pre-positioning of resources.

[0069] The specified step size here is generally larger than the basic adjustment step size (i.e., the preset step size) in regular periodic scheduling. For example, the preset step size is 50 seats, while the specified step size for proactively increasing concurrency for ultra-large tasks can be set to 200 seats to achieve rapid pre-positioning of resources and quickly increase the processing capacity in the early stage of the task.

[0070] S35: If the first number is less than or equal to the preset number of cases, then according to the preset cycle, determine whether to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents.

[0071] If the first number is less than or equal to the preset number of cases, it means that the current outbound call task is a regular task and does not require special resource allocation. Therefore, the system will proceed with the periodic ratio judgment and scheduling according to the normal process, and make regular adjustments to increase or decrease the concurrency based on the dynamic comparison between the number of unprocessed cases and the current number of concurrent agents.

[0072] The preset period here refers to the fixed time interval at which the system triggers concurrent scheduling decisions. The specific value of the preset period is set by the system administrator according to the business sensitivity requirements (e.g., 30 seconds, 1 minute, or 5 minutes). At the end of each period, the decision engine automatically obtains the number of unprocessed cases (the second quantity) and the current number of concurrent agents to determine whether to perform an increase or decrease in concurrency. The preset period ensures that scheduling behavior is executed discretely and regularly, avoiding frequent and ineffective adjustments caused by instantaneous fluctuations in case volume, and reserving sufficient resource release and observation windows for the system, thus ensuring the stability of the scheduling system.

[0073] In some embodiments, the number of cases changes dynamically and the reasonable concurrency scale cannot be predicted. In order to avoid resource waste or processing backlog caused by hard-coding fixed values ​​based on experience, the ratio of unprocessed cases to the current number of concurrent agents can be calculated in real time and compared with a preset threshold to achieve quantitative matching and automatic calibration of concurrency scale and business load.

[0074] Specifically, step S35 above may include: S35a: Determine the ratio of the second number of unprocessed cases in the outbound call task to the current number of concurrent agents.

[0075] When determining the second number of unprocessed cases in an outbound call task, the remaining number of unprocessed cases can be atomically updated by using the case queue counter maintained in real time by the task control center. When a case is assigned to an agent or an outbound call is completed, the second number at the current moment can be read directly from the counter.

[0076] When determining the current number of concurrent seats, the task current concurrency counter maintained by the task control center can be used to update the current actual total number of seats occupied by the task in real time each time seats are allocated, released or concurrency is adjusted. When the scheduling decision needs to read the counter, the real-time value of the counter can be returned directly.

[0077] Next, the ratio of the second number of unprocessed cases in the outbound call task to the current number of concurrent agents is calculated, and this ratio is compared with the first preset threshold and the second preset threshold.

[0078] S35b: If the ratio is greater than the first preset threshold, then determine to increase the current number of concurrent seats.

[0079] If the ratio is greater than the first preset threshold, it means that the number of remaining cases is too high relative to the number of concurrent agents, the processing capacity is insufficient, and there is a risk of task backlog and timeout. Therefore, it is necessary to increase the concurrency to speed up the processing, that is, to determine to increase the current number of concurrent agents.

[0080] S35c: If the ratio is less than the second preset threshold, then determine to reduce the current number of concurrent seats.

[0081] If the ratio is less than the second preset threshold, it means that the number of remaining cases is too small relative to the number of concurrent agents, resulting in wasted resources. Therefore, it is necessary to reduce the concurrency to free up redundant agents for other tasks, i.e., determine to reduce the current number of concurrent agents.

[0082] It should be noted that the first and second preset thresholds mentioned above can be the same, or the first preset threshold can be greater than the second preset threshold. This allows for setting a reasonable buffer in the ratio threshold judgment, avoiding frequent increases and decreases in concurrency due to small fluctuations in the number of cases, thereby effectively suppressing scheduling oscillations and improving system stability.

[0083] S36: If the adjustment is determined, the current number of concurrent agents is adjusted according to the preset step size, and the adjusted number of concurrent agents is used to process the unprocessed cases in the outbound call task.

[0084] The adjustment is confirmed when the current ratio of caseload to concurrent agents exceeds a reasonable threshold, necessitating a change in concurrency to restore balance. Next, the system executes specific operations to increase or decrease the number of concurrent agents according to a preset step size, and then sends the adjusted configuration to the task executor for effect.

[0085] The preset step size used when adjusting the number of concurrent agents can be a fixed value or a dynamically changing value. A dynamically changing preset step size can adaptively adjust the increase or decrease in concurrency based on the number of adjustments, task size, or agent processing efficiency. This allows for rapid approach to the target concurrency in the early stages of a task and fine convergence in the later stages to avoid over-adjustment, achieving a dynamic balance between scheduling efficiency and stability.

[0086] In some embodiments, high-volume tasks require frequent and multiple increases in concurrency. A fixed step size can lead to slow concurrency ramp-up and a prolonged processing window. To accelerate the approach to the target concurrency while avoiding overshoot, the preset step size can be dynamically adjusted using a step size that is positively correlated with the number of adjustments and negatively correlated with the first quantity.

[0087] Specifically, step S36 above may include: S36a: In the current cycle, determine the number of adjustments already made.

[0088] The number of adjustments made within the current period refers to the cumulative number of times the system has performed operations to increase or decrease the number of concurrent agents for the outbound call task from the start of the current scheduling period to the decision time.

[0089] When determining the number of adjustments, the system atomically increments the cumulative number of adjustments for the task after each concurrent seat adjustment operation by using the scheduling counter maintained by the task control center. The number of adjustments is then read directly from this counter during the current cycle decision.

[0090] S36b: Adjust the preset step size based on the number of adjustments and the first quantity to obtain the current step size. The adjustment amount is positively correlated with the number of adjustments and negatively correlated with the first quantity.

[0091] The more times adjustments have been made, the longer the task has been pending and the more urgent the resource requirements become. Therefore, the step size should be gradually increased to quickly approach the target concurrency. The larger the initial case volume (first quantity) of the task, the more abundant the resource redundancy space and the higher the risk of over-adjustment. Therefore, the step size increase should be relatively gradual to avoid resource surges. Taking a task with an initial case volume (first quantity) of 20,000 and a preset step size of 50 seats as an example, let the adjustment frequency coefficient = 10 (i.e., each adjustment increases the step size by 10 seats) and the first quantity coefficient = 0.5 (used to reduce the step size increase). Then, the current step size = preset step size + (adjustment frequency × 10) × (10,000 / first quantity). When the number of adjustments is 3, the current step size = 50 + (3 × 10) × 0.5 = 50 + 15 = 65 seats. When the number of adjustments is 10, the current step size = 50 + (10 × 10) × 0.5 = 50 + 50 = 100 seats.

[0092] Furthermore, the current step size adjustment range is also subject to dual constraints: the task's preset maximum concurrent agent count (upper limit) and the minimum available resource call start constraint (lower limit, usually not less than 1 agent). This prevents the concurrent scale from exceeding the system's capacity or causing task processing interruption due to dynamic changes in the step size. If the current calculated step size exceeds the upper limit, the upper limit value is used as the actual step size. If it is lower than the lower limit, the lower limit value is used as the actual step size, ensuring that concurrent adjustments always operate within the system's safety boundaries.

[0093] S36c: Adjust the current number of concurrent seats using the current step size.

[0094] In some embodiments, agent processing efficiency may fluctuate beyond expectations due to changes in business complexity or proficiency. In order to dynamically adapt the concurrency adjustment range to the actual processing capacity, the average case processing time can be used as a step size correction factor to achieve coordinated adaptation between scheduling strategy and agent execution efficiency.

[0095] Specifically, step S36 above may include: S361: In the current cycle, determine the average case duration of cases processed in outbound call tasks.

[0096] The average case duration of processed cases in an outbound call task refers to the arithmetic average of the total time consumed from the start of the task to the current moment, from the agent initiating the call to the end of the call (including success, failure, hanging up, and retry), divided by the total number of completed cases.

[0097] The average duration is obtained by the task executor through real-time recording of the start and end timestamps of each call, periodically accumulating the total call duration of completed cases, atomically updating the completed case counter, and directly reading the ratio of the total duration to the number of completed cases when the scheduling decision is triggered.

[0098] S362: If the average duration is greater than the first preset duration, the current number of concurrent seats will be adjusted according to the step size after the preset step size is increased.

[0099] If the average processing time exceeds the first preset time, it means that the current agent's processing efficiency is lower than expected, the cases are taking too long, and there is a risk of task backlog. Therefore, the concurrency is increased according to the step size based on the preset step size, so as to make up for the insufficient processing capacity of a single agent by expanding the capacity.

[0100] S363: If the average duration is less than the second preset duration, the current number of concurrent seats will be adjusted according to the step size after the preset step size is reduced.

[0101] If the average duration is less than the second preset duration, it means that the current agent's processing efficiency is higher than expected, the single agent's processing capacity is sufficient, and there is a risk of resource redundancy. Therefore, the concurrency is reduced according to the step size after the preset step size, so as to free up the excess agents for other tasks and avoid the waste of resources.

[0102] The first preset duration and the second preset duration can be the same, or the second preset duration can be less than the first preset duration. A second preset duration less than the first preset duration means that a reasonable efficiency buffer is set in the average processing time determination, avoiding frequent increases or decreases in the step size due to small fluctuations in processing time, thereby effectively suppressing scheduling oscillations and improving system stability.

[0103] In the process of comparing the average duration with the first and second preset durations, relying on the average duration for decision-making may lead to response delays or excessive computational overhead. In order to quickly determine the agent processing efficiency, the average duration can be inferred from the comparison of the hang-up rate with the preset rate value, so as to achieve low-overhead and high-efficiency scheduling decisions.

[0104] Specifically, step S36 above may also include: S3601: Determine the hang-up rate of processed cases in outbound call tasks.

[0105] The hang-up rate refers to the percentage of completed outbound call cases where the called party actively hangs up within a preset time after the call is connected, or the system identifies the call as invalid. The system records the connection status and hang-up timestamp of each call in real time through the task executor, counts the number of cases where the called party actively hangs up after the call is connected or the system determines the call as invalid, and divides this number by the total number of completed call cases. This ratio is directly read as the current hang-up rate during scheduling decisions.

[0106] S3602: If the hang-up rate is greater than the preset rate value, then the average duration is determined to be less than the second preset duration.

[0107] If the hang-up rate is greater than the preset rate, it means that the current outbound call quality of the agents or the customer's intention is low, a large number of calls are hung up quickly, and the actual effective call duration is short. Therefore, it is inferred that the average processing time is less than the second preset time. As a result, the system performs concurrency reduction according to the step size after the preset step size is reduced, in order to release redundant resources and avoid inefficient idle time.

[0108] S3603: If the hang-up rate is less than or equal to the preset rate value, then the average duration is determined to be no less than the second preset duration.

[0109] If the hang-up rate is less than or equal to the preset rate value, it means that the current agent's outbound call quality or customer intent is normal and the proportion of invalid calls is low. Therefore, it is inferred that the average processing time is not less than the second preset time. Thus, the system maintains the original step size or increases the step size, thereby triggering an active increase in concurrency.

[0110] S37: If it is determined that no adjustment is needed, the current number of concurrent seats will be maintained.

[0111] If no adjustment is made, it means that the ratio of the current number of cases to the number of concurrent agents is within a reasonable threshold range. The system will maintain the current number of concurrent agents unchanged, and trigger the ratio calculation and threshold judgment again when the next scheduling cycle arrives, forming a periodic steady-state monitoring closed loop.

[0112] Finally, a specific example will be used to illustrate the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in the embodiments of this application.

[0113] Taking a bank's credit card collection outbound call task as an example, the system creates an "M2 Overdue Collection" task with a first quantity (total number of cases) of 30,000 and a preset concurrent call count of 1,000 seats, with automatic adjustment and reduced concurrent call switching enabled. When the task starts, only 200 seats are currently available, so the system immediately starts calling with 200 seats, and the task is marked as a reduced concurrent call task. After running for 10 minutes, the remaining number of cases is 28,000, and the current concurrent call count is 200 seats, resulting in a case count / seat ratio of 140, which is higher than the first preset threshold (100). The decision engine determines that the concurrent call count needs to be increased, increasing it to 250 seats in a preset step of 50 seats. After running for 30 minutes, other tasks release resources, increasing the number of available seats. The decision engine continuously and periodically checks, and each time the ratio exceeds the threshold, it increases the concurrent call count in steps, gradually increasing the concurrent call count to 600 seats. After running for 2 hours, the remaining number of cases dropped to 5000, with 600 concurrent seats and a ratio of 8.3, which is lower than the second preset threshold (20). The system determined that concurrency needed to be reduced, decreasing the number of seats to 550 in a preset step of 50 seats, and marking 50 seats as pending closure, to be smoothly released after the current call ends. Subsequently, as the number of cases continued to decrease, the system performed the concurrency reduction operation multiple times, marking seats to be closed and reclaiming resources without loss each time. When the remaining number of cases finally reached zero, the task status changed to "completed," and all occupied seats were released back to the resource pool. Throughout the process, the system achieved dual optimization of resource utilization and task processing efficiency through the minimum available resources for call initiation, ratio threshold-driven increases and decreases, and smooth release mechanisms.

[0114] This concludes the description of the agent scheduling method for outbound calling tasks in the intelligent outbound calling system provided in this application embodiment.

[0115] Based on the same inventive concept, this application also provides a seat scheduling device for outbound calling tasks in an intelligent outbound calling system.

[0116] Figure 4 This is a schematic diagram of the structure of the agent scheduling device for outbound calling tasks in the intelligent outbound calling system of this application embodiment. Figure 1 See Figure 4 As shown, the device may include: The acquisition module 41 is used to acquire outbound call tasks, which include a first number of cases and a preset number of concurrent calls.

[0117] Module 42 is used to determine the number of seats currently available.

[0118] The processing module 43 is used to take the number of currently available seats as the number of concurrent seats and process the first number of cases in the outbound call task if the number of currently available seats is less than the preset number of concurrent calls.

[0119] The adjustment module 44 is used to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, and to use the adjusted number of concurrent agents to process the unprocessed cases in the outbound call task.

[0120] Furthermore, as a response to Figure 4 In a refinement and extension of the illustrated device, this application embodiment also provides a seat scheduling device for outbound calling tasks in an intelligent outbound calling system.

[0121] Figure 5 This is a schematic diagram of the structure of the agent scheduling device for outbound calling tasks in the intelligent outbound calling system of this application embodiment. Figure 2 See Figure 5 As shown, the device may include: The acquisition module 51 is used to acquire outbound call tasks, which include a first number of cases and a preset number of concurrent calls.

[0122] Module 52 is used to determine the number of seats currently available.

[0123] The processing module 53 is used to take the number of currently available seats as the number of concurrent seats and process the first number of cases in the outbound call task if the number of currently available seats is less than the preset number of concurrent calls.

[0124] The concurrency module 54 is used to increase the current number of concurrent agents by a specified step if the first number is greater than the preset number of cases, and to use the increased number of concurrent agents to process the unprocessed cases in the outbound call task.

[0125] The adjustment module 55 is used to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents if the first number is less than or equal to the preset number of cases, and to use the adjusted number of concurrent agents to process the unprocessed cases in the outbound call task.

[0126] The adjustment module 55 is specifically used to determine whether to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents according to a preset cycle; if adjustment is determined, the current number of concurrent agents is adjusted according to a preset step size; if no adjustment is determined, the current number of concurrent agents is maintained.

[0127] The adjustment module 55 is specifically used to determine the ratio of the second number of unprocessed cases in the outbound call task to the current number of concurrent agents; if the ratio is greater than the first preset threshold, it is determined to increase the current number of concurrent agents; if the ratio is less than the second preset threshold, it is determined to decrease the current number of concurrent agents.

[0128] The adjustment module 55 is specifically used to determine the number of adjustments in the current cycle; adjust the preset step size according to the number of adjustments and the first quantity to obtain the current step size, wherein the adjustment amount is positively correlated with the number of adjustments and negatively correlated with the first quantity; and adjust the current number of concurrent seats using the current step size.

[0129] The adjustment module 55 is specifically used to adjust the current number of concurrent agents according to a preset step size, including: in the current period, determining the average case duration of cases processed in the outbound call task; if the average duration is greater than a first preset duration, adjusting the current number of concurrent agents according to the step size after increasing the preset step size; if the average duration is less than a second preset duration, adjusting the current number of concurrent agents according to the step size after decreasing the preset step size.

[0130] The adjustment module 55 is also used to determine the hang-up rate of the cases processed in the outbound call task; if the hang-up rate is greater than the preset rate value, the average duration is determined to be less than the second preset duration; if the hang-up rate is less than or equal to the preset rate value, the average duration is determined to be not less than the second preset duration.

[0131] It should be noted that the description of the above device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0132] Based on the same inventive concept, this application also provides a computer device.

[0133] Figure 6 This is a schematic diagram of the structure of the computer device in an embodiment of this application. See also... Figure 6 As shown, the computer device may include: a memory 61, a processor 62, and a computer program stored on the memory 61, wherein the processor 62 executes the computer program to implement the methods described in the foregoing embodiments.

[0134] It should be noted that the description of the above computer device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the computer device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0135] Based on the same inventive concept, embodiments of this application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the methods described in the foregoing embodiments.

[0136] It should be noted that the description of the above computer-readable storage medium embodiments is similar to the description of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the computer-readable storage medium embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0137] Based on the same inventive concept, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the methods described in the foregoing embodiments.

[0138] It should be noted that the descriptions of the above computer program product embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the computer program product embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0139] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for agent scheduling of outbound calling tasks in an intelligent outbound calling system, characterized in that, The method includes: Obtain outbound call tasks, wherein the outbound call tasks include a first number of cases and a preset number of concurrent calls; Determine the number of seats currently available; If the number of currently available seats is less than the preset concurrent number, then the number of currently available seats is used as the concurrent number of seats, and the first number of cases in the outbound call task are processed. Based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, the current number of concurrent agents is adjusted, and the unprocessed cases in the outbound call task are processed using the adjusted number of concurrent agents.

2. The method according to claim 1, characterized in that, The step of adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents includes: According to a preset cycle, based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, it is determined whether to adjust the current number of concurrent agents; If the adjustment is determined, the current number of concurrent seats will be adjusted according to the preset step size; If no adjustments are made, the current number of concurrent seats will be maintained.

3. The method according to claim 2, characterized in that, The step of determining whether to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents includes: Determine the ratio of a second number of unprocessed cases in the outbound call task to the current number of concurrent agents; If the ratio is greater than the first preset threshold, then it is determined that the current number of concurrent seats should be increased; If the ratio is less than the second preset threshold, then it is determined that the current number of concurrent seats will be reduced.

4. The method according to claim 2, characterized in that, The adjustment of the current number of concurrent seats according to a preset step size includes: In the current cycle, determine the number of adjustments already made; The preset step size is adjusted based on the number of adjustments and the first quantity to obtain the current step size, wherein the adjustment amount is positively correlated with the number of adjustments and negatively correlated with the first quantity; The current number of concurrent seats is adjusted using the current step size.

5. The method according to claim 2, characterized in that, The adjustment of the current number of concurrent seats according to a preset step size includes: In the current cycle, determine the average case duration of the cases processed in the outbound call task; If the average duration is greater than the first preset duration, the current number of concurrent seats will be adjusted according to the step size after the preset step size is increased; If the average duration is less than the second preset duration, the current number of concurrent seats will be adjusted according to the step size after the preset step size is reduced.

6. The method according to claim 5, characterized in that, The method further includes: Determine the hang-up rate of the processed cases in the outbound call task; If the hang-up rate is greater than a preset rate value, then the average duration is determined to be less than a second preset duration. If the hang-up rate is less than or equal to a preset rate value, then the average duration is determined to be no less than a second preset duration.

7. The method according to any one of claims 1 to 6, characterized in that, Before adjusting the current number of concurrent agents based on a second number of unprocessed cases in the outbound call task and the current number of concurrent agents, the method further includes: If the first number is greater than the preset number of cases, the current number of concurrent agents is increased by a specified step size, and the increased number of concurrent agents is used to process the unprocessed cases in the outbound call task. If the first number is less than or equal to the preset number of cases, then the step of adjusting the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, and using the adjusted number of concurrent agents to process the unprocessed cases in the outbound call task is executed.

8. A seat scheduling device for outbound calling tasks in an intelligent outbound calling system, characterized in that, The device includes: The acquisition module is used to acquire outbound call tasks, wherein the outbound call tasks include a first number of cases and a preset number of concurrent calls; The determination module is used to determine the number of currently available seats; The processing module is used to, if the number of currently available seats is less than the preset concurrent number, use the number of currently available seats as the concurrent number of seats and process the first number of cases in the outbound call task. The adjustment module is used to adjust the current number of concurrent agents based on the second number of unprocessed cases in the outbound call task and the current number of concurrent agents, and to process the unprocessed cases in the outbound call task using the adjusted number of concurrent agents.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.