Intelligent outbound scheduling method and device and storage medium
By using a dynamic scheduling method to obtain the number of available seats and the concurrency ratio, the problem of seat load imbalance was solved, efficient outbound call task management was achieved, and the service continuity and outbound call efficiency of the customer contact center were improved.
Patent Information
- Application Number
- CN202511709366.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-20
- Publication Date
- 2026-03-13
AI Technical Summary
The lack of dynamic scheduling strategies in the existing customer contact center's outbound call task management leads to an imbalance in agent load, affecting outbound call efficiency.
By obtaining the number of available seats and preset concurrency ratio parameters, the number of customers to be called is dynamically determined, and the call is immediately routed to the target available seat after the call is connected, thus realizing closed-loop scheduling.
It improved seat utilization and outbound call efficiency, avoided long customer wait times or dropped calls, and enhanced service continuity and customer experience.
Smart Images

Figure CN121664929A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent customer service and communication dispatch technology, and in particular to an intelligent outbound call dispatch method, device and storage medium. Background Technology
[0002] Currently, customer contact centers typically rely on fixed thresholds or static rules for outbound call scheduling when managing outbound call tasks and controlling agent status. When multiple outbound call tasks need to be executed, the system cannot dynamically adjust the outbound call concurrency based on agent status, line resources, etc., which can easily lead to agent load imbalance and affect outbound call efficiency.
[0003] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0004] The main purpose of this application is to provide an intelligent outbound call scheduling method, device and storage medium, which aims to solve the technical problem of lack of coordination between outbound call scheduling strategy and real-time status of agent resources.
[0005] To achieve the above objectives, embodiments of this application provide an intelligent outbound call scheduling method, the intelligent outbound call scheduling method comprising: Get the queue of outbound call tasks and get the number of available agents currently in automatic call coordination mode; Based on the number of available seats and the preset concurrency ratio parameter, the number of customers to be called is determined. Based on the number of customers to be called, select a corresponding number of target outbound calling tasks from the queue of outbound calling tasks, and initiate outbound calls to the customers corresponding to the target outbound calling tasks. Once the outbound call is connected, the current call will be routed to the corresponding available agent.
[0006] In one embodiment, before the steps of obtaining the queue of outbound call tasks and obtaining the number of available agents currently in automatic call coordination mode, the intelligent outbound call scheduling method further includes: In response to an access request initiated by an agent, obtain the number of agent licenses currently in use; The number of occupied seat permits is compared with the preset total number of seat permits. If the number of occupied seat permits is less than the preset total number of seat permits, the seat is allowed to enter the automatic call mode, and the number of occupied seat permits is incremented by one. If the number of occupied seat permits is not less than the preset total number of seat permits, the access request of the seat is rejected until an agent who has entered the automatic call mode exits and releases the number of seat permits, so that the number of occupied seat permits is less than the preset total number of seat permits.
[0007] In one embodiment, the step of selecting a corresponding number of target outbound calling tasks from the queue of outbound calling tasks based on the number of customers to be called includes: Obtain the task attribute information of each outbound call task in the outbound call task queue; Based on the task attribute information, the queue of outbound call tasks is sorted according to a preset multi-level sorting rule; From the sorted queue of outbound call tasks, select outbound call tasks that are equal to the number of customers to be called, and use them as the target outbound call tasks.
[0008] In one embodiment, the step of routing the current call to the corresponding target available agent after the outbound call is connected includes: After a customer's outbound call is connected, the seat status of each agent currently in the automatic call mode is obtained, and candidate available agents are determined based on the seat status. Based on the available time of the candidate available seats, the candidate available seat with the longest available time is selected as the target available seat; The current call is routed to the target available agent, and the agent status of the target available agent is updated.
[0009] In one embodiment, after the steps of selecting a corresponding number of target outbound calling tasks from the queue of outbound calling tasks based on the number of customers to be called, and initiating outbound calls to the customers corresponding to the target outbound calling tasks, the intelligent outbound calling scheduling method further includes: If the outbound call fails, mark the outbound call status of the corresponding target outbound call task; For the target outbound call task that fails to make an outbound call, obtain retry configuration parameters, including the maximum number of retries and the retry interval; Determine whether the current cumulative number of retries for the target outbound call task that failed is less than the maximum number of retries; If the current cumulative number of retries is less than the maximum number of retries, then a timer is started based on the retry interval, and after the timer expires, the target outbound call task that failed is added back to the queue of outbound call tasks. If the current cumulative number of retries is not less than the maximum number of retries, then update the outbound call status of the target outbound call task that failed to make an outbound call, so as to suspend the outbound call operation of the target outbound call task that failed to make an outbound call.
[0010] In one embodiment, the step of obtaining the number of available agents currently in automatic call-through mode includes: Obtain the number of available seats currently in the automatic call-through mode and whose seat status is idle, and get the initial number of available seats; For the in-call seat whose status is occupied, obtain the dialogue text between the in-call seat and the customer; Based on the dialogue text, predict the remaining call time corresponding to the calling agent; When the remaining call time is less than a preset time threshold, the corresponding in-call agent will be determined as an agent that will soon be available. The number of available seats is determined based on the initial number of available seats and the number of seats that will become available soon.
[0011] In one embodiment, the step of predicting the remaining call time corresponding to the calling agent based on the dialogue text includes: Extract multidimensional semantic features from the dialogue text, including farewell speech recognition results, question loop signals, and turn-switching frequency; The multidimensional semantic features are fused with auxiliary features to obtain a multidimensional feature vector, wherein the auxiliary features include the average call duration of similar historical tasks and the cumulative duration of the current call; The multidimensional feature vector is input into a pre-trained prediction model to obtain a prediction result that includes the remaining call time corresponding to the calling agent.
[0012] In one embodiment, before the steps of obtaining the queue of outbound call tasks and obtaining the number of available agents currently in automatic call coordination mode, the intelligent outbound call scheduling method further includes: Detect the seat status of all agents currently in the automatic call mode, and obtain the cumulative occupancy time of each agent in the occupancy state; The cumulative occupancy time is compared with the occupancy time threshold to determine that the seats whose cumulative occupancy time exceeds the occupancy time threshold are overtime occupancy seats; The seat status corresponding to the timed-out seat is reset to idle to release the seat resources occupied by the timed-out seat.
[0013] This application embodiment also provides an intelligent outbound call scheduling device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. The computer program is configured to implement the steps of the intelligent outbound call scheduling method described above.
[0014] This application embodiment also provides a storage medium, which is a computer-readable storage medium, and stores a computer program on the storage medium. When the computer program is executed by a processor, it implements the steps of the intelligent outbound call scheduling method described above.
[0015] One or more technical solutions proposed in this application have at least the following technical effects: This application solves the resource imbalance problems in traditional outbound calling systems, such as "insufficient seats" or "waste of idle line resources," by dynamically determining the number of customers to be called based on the real-time number of available seats and preset concurrency ratio parameters. By accurately matching the number of tasks with the capacity of available seats before initiating outbound calls, it ensures that every connected customer call is promptly answered by a seat, avoiding long waiting times or dropped calls after the customer answers, thus improving service continuity and customer experience. Furthermore, by immediately routing the call to the target available seat after it is connected, a closed-loop scheduling mechanism of "schedule first, then dial, and assign immediately upon connection" is realized, significantly reducing invalid outbound calls and seat idle rates, achieving dynamic coordination between outbound call scheduling and seat resources, and effectively improving seat utilization and overall outbound call efficiency. Attached Figure Description
[0016] Figure 1 This is a flowchart illustrating the first embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 2 This is a flowchart illustrating the second embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 3 This is a flowchart illustrating the third embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 4 This is a flowchart illustrating the fourth embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 5 This is a flowchart illustrating the fifth embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 6 This is a flowchart illustrating the sixth embodiment of the intelligent outbound call scheduling method involved in the embodiments of this application; Figure 7 This is a schematic diagram of the structure of the intelligent outbound call dispatching device involved in the embodiments of this application.
[0017] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0018] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0019] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0020] Currently, customer contact centers typically rely on fixed thresholds or static rules for outbound call scheduling when managing outbound call tasks and controlling agent status. When multiple outbound call tasks need to be executed, the system cannot dynamically adjust the outbound call concurrency based on agent status, line resources, etc., which can easily lead to agent load imbalance and affect outbound call efficiency.
[0021] In view of the above problems, this application proposes an intelligent outbound call scheduling method, which obtains a queue of outbound call tasks and the number of idle agents currently in automatic call mode; determines the number of customers to be called based on the number of idle agents and a preset concurrency ratio parameter; selects a corresponding number of target outbound call tasks from the queue of outbound call tasks based on the number of customers to be called, and initiates outbound calls to the customers corresponding to the target outbound call tasks; after the outbound call is connected, the current call is routed to the corresponding target idle agent.
[0022] This application provides a solution that dynamically determines the number of customers to be called based on the real-time number of available seats and preset concurrency ratio parameters. This solves the resource imbalance problems in traditional outbound calling systems, such as "insufficient seats" or "waste of idle line resources" caused by blindly dialing concurrently. By accurately matching the number of tasks with the capacity of available seats before initiating outbound calls, it ensures that every connected customer call is promptly answered by a seat, avoiding long waiting times or dropped calls after the customer answers, thus improving service continuity and customer experience. Furthermore, by immediately routing the call to the target available seat after it is connected, a closed-loop scheduling mechanism of "schedule first, then dial, and assign immediately upon connection" is realized, significantly reducing invalid outbound calls and seat idle rates. This achieves dynamic coordination between outbound call scheduling and seat resources, effectively improving seat utilization and overall outbound call efficiency.
[0023] It should be noted that the executing entity in this embodiment can be a computing service device (such as a server, cloud platform, etc.) with data processing, network communication, and program execution functions, on which an intelligent outbound call scheduling program runs. Alternatively, it can be an electronic device, intelligent outbound call scheduling system, etc., capable of implementing the above functions. The core of the executing entity in this embodiment lies in its ability to interact with the agent management system (such as the CC service system) and the outbound call scheduling system (such as the Mars system) to complete functions such as outbound call task acquisition, agent status synchronization, outbound call initiation, and outbound call result feedback.
[0024] The following description uses an intelligent outbound call scheduling system as an example to illustrate this embodiment and the subsequent embodiments. It should be noted that the intelligent outbound call scheduling system is based on a dual-platform architecture of the CC service system and the Mars system, aiming to achieve cross-system collaboration between agent status and outbound call tasks. Specifically, the CC service system is responsible for agent management, the Mars system is responsible for outbound call scheduling, and the intelligent outbound call scheduling system, as the collaborative processing hub, obtains agent status information currently in automatic call coordination mode from the CC service system, obtains the queue of outbound call tasks from the Mars system, and then schedules the Mars system to make outbound call scheduling decisions. After the Mars system completes the outbound call operation, it feeds back the outbound call result to the CC service system to update the outbound call task status associated with the agent or trigger subsequent processes, thereby forming a closed-loop collaborative mechanism of "Mars scheduling outbound calls + CC managing agents".
[0025] Please refer to the intelligent outbound call scheduling method of the first embodiment proposed in this application. Figure 1 The method includes steps S10 to S40: Step S10: Obtain the queue of outbound call tasks and obtain the number of available agents currently in automatic call-through mode.
[0026] In this embodiment, the pending outbound call task queue refers to the list of customer follow-up or outbound call tasks that have not yet been completed and are generated by the business system (such as the CC service system) and pushed to the Mars system. Each pending outbound call task typically includes information such as customer contact information, business type tag, task urgency, historical interaction records, and retry configuration parameters.
[0027] Automatic call coordination mode refers to an intelligent outbound call collaboration state enabled by agents in the CC service system. In automatic call coordination mode, agents do not need to dial manually. Instead, the Mars system automatically selects the customer number from the queue of pending outbound calls and initiates the call according to the preset outbound call scheduling strategy. When the customer answers the phone, the system immediately routes the call to the agent, realizing a highly efficient collaborative operation mode of "transferring the call to the agent as soon as the customer answers".
[0028] Understandably, the core of the automated call coordination mode lies in "automation" and "coordination." On the one hand, outbound call initiation is automatically completed by the Mars system, avoiding the inefficiency and omissions of manual dialing; on the other hand, agents only intervene in the conversation after the customer has actually connected, significantly improving the effective call rate and agent utilization. The automated call coordination mode relies on an agent permission mechanism for access control and is linked to dynamic parameters such as the number of available agents, concurrency ratio, and line resources to ensure that the outbound call volume is always within the system's carrying capacity, thereby maximizing outbound call efficiency while ensuring service quality.
[0029] The number of available seats refers to the total number of seats currently in automatic call coordination mode that are not in a call or task processing state. The number of available seats is maintained in real time by the CC service system and synchronized to the Mars system. Optionally, the number of available seats can be determined by querying the seat status table maintained by the CC service system. The seat status table can be updated through the heartbeat mechanism of the seat client or call events (such as hang-up, connection).
[0030] As one possible implementation, steps S101 to S103 are included before step S10: Step S101: In response to the access request initiated by the agent, obtain the number of currently occupied agent licenses.
[0031] It should be noted that agent permissions are logical access credentials set up by the system to control the concurrent scale of automatic call coordination mode. This limits the maximum number of agents simultaneously in automatic call coordination mode, preventing outbound call dispatching from spiraling out of control or line resource exhaustion due to agent overload, thus ensuring the stability and efficiency of outbound call dispatching services. An access request refers to an agent actively initiating an operation command to enter automatic call coordination mode through the client interface (such as the operation panel of the CC service system), for example, a system call triggered by clicking the "Start Automatic Call Coordination" button. The number of occupied agent permissions refers to the total number of agents who have successfully entered automatic call coordination mode and are currently consuming system permission resources.
[0032] In this embodiment, when an agent initiates an access request, the system immediately queries the number of currently allocated agent licenses. This number of agent licenses is maintained by the CC service system and synchronized to the Mars system in real time for subsequent outbound call scheduling decisions. For example, the current license usage can be recorded and queried in real time through a license management service (such as a Redis-based or database-based counter). Upon receiving an agent's access request, the system immediately initiates a read operation with the license management service to obtain the number of currently occupied agent licenses.
[0033] Step S102: Compare the number of occupied seat permits with the preset total number of seat permits. If the number of occupied seat permits is less than the preset total number of seat permits, allow the seat to enter the automatic call mode and increment the number of occupied seat permits by one.
[0034] It should be noted that the preset total number of agent licenses is an upper limit pre-configured by the system based on the overall resource capacity (including the number of communication lines, server processing capacity, and business policies), representing the maximum number of concurrent automatic call agents that the system can support at the same time.
[0035] In this embodiment, after receiving an access request from an agent, the system first executes a license quantity verification logic. If the number of currently occupied agent licenses has not reached the upper limit (i.e., the remaining number of agent licenses is not 0), the agent is authorized to enter automatic call coordination mode, and the agent's status information is updated, such as being marked as "automatic call coordination ready," and the number of occupied agent licenses is incremented by 1. Once an agent successfully enters automatic call coordination mode, its status information will be synchronized to the Mars system, serving as a key input for calculating the current number of idle agents and determining the outbound call concurrency.
[0036] Step S103: If the number of occupied seat permits is not less than the preset total number of seat permits, then the access request of the seat is rejected until an agent who has entered the automatic call mode exits and releases the number of seat permits, so that the number of occupied seat permits is less than the preset total number of seat permits.
[0037] In this embodiment, agents enter automatic call mode in the CC service system. Each agent entering automatic call mode occupies one agent license. When the number of occupied agent licenses reaches the preset total number of agent licenses (i.e., the remaining number of agent licenses is 0), the system will directly reject new automatic call access requests, preventing other agents from entering automatic call mode. At this time, the agent will receive a clear rejection message, such as "Automatic call resources have reached the limit, please try again later," and will not be included in the Mars system's outbound call scheduling pool. Only when an agent actively exits automatic call mode (e.g., manually closes or abnormally goes offline), and the system detects the change in its status information, will it release the agent license it occupied, reducing the number of occupied agent licenses and allowing new agents to access. After this, if there are queued or retrying access requests, the agent license verification process can be triggered again.
[0038] This implementation method uses a seat permission mechanism to control the concurrent scale of the automatic call mode in real time, realizing the dynamic adjustment of the system's outbound call scale. This effectively avoids service instability or performance degradation caused by seat or line resource overload, thereby ensuring the efficiency of outbound call scheduling and the stability of system operation.
[0039] Step S20: Determine the number of customers to be called based on the number of available seats and the preset concurrency ratio parameter.
[0040] It should be noted that the concurrency ratio parameter is a coefficient (usually a value greater than or equal to 1) pre-configured by the system based on factors such as business strategy, line resources, and historical connection rate. It is used to control the number of outbound call requests that a unit of idle agents can initiate simultaneously.
[0041] In this embodiment, at the beginning of each scheduling cycle, the Mars system calculates the number of clients to be called based on the number of idle agents and the concurrency ratio. The calculation logic for determining the number of clients to be called is as follows: multiply the current number of idle agents by the concurrency ratio; the product is the number of calls the system should initiate at the current moment, i.e., number of clients to be called = concurrency ratio × number of idle agents. The calculation result needs to be rounded down (e.g., rounded down) to ensure that the number of tasks is an integer.
[0042] This implementation method allows the outbound call scale to be flexibly expanded and contracted according to the real-time changes in agent resources, which avoids line congestion or customer harassment caused by blindly making high-frequency outbound calls, and also prevents the waste of resources caused by idle agents.
[0043] Step S30: Based on the number of customers to be called, select a corresponding number of target outbound calling tasks from the queue of outbound calling tasks, and initiate outbound calls to the customers corresponding to the target outbound calling tasks.
[0044] It should be noted that the target outbound call task is the outbound call target that meets the current outbound call conditions and is selected from the queue of outbound call tasks according to the outbound call scheduling strategy (such as priority sorting, time window matching, customer tag filtering, etc.).
[0045] In this embodiment, the Mars system selects a corresponding number of outbound calling tasks from the head of the queue or in priority order based on the number of customers to be called, as the targets for this round of outbound calls (i.e., target outbound calling tasks). It then initiates automatic outbound calling requests to the customer numbers corresponding to these target outbound calling tasks through the communication gateway. Each time an outbound call is initiated, the system occupies one outbound calling line resource and marks the outbound calling status of the target outbound calling task as "in progress" to prevent duplicate scheduling.
[0046] Step S40: After the outbound call is connected, the current call is routed to the corresponding target available agent.
[0047] It should be noted that outbound call connection refers to the state where the customer answers the call and the Mars system confirms that a valid voice channel has been established. Target available agent refers to an automated call agent that is identified as available and capable of undertaking such outbound call tasks when the call is connected.
[0048] Specifically, once an outbound call is successfully connected, the Mars system immediately selects an available agent from the current outbound call scheduling pool (typically using strategies such as polling, minimum number of calls, longest idle time, or service type matching), and routes the connected customer call to the target available agent terminal through the CC service system, completing the voice connection between the customer and the agent. During this process, the system needs to occupy two communication lines simultaneously: one for calling the customer and the other for carrying the voice media stream on the agent's side, thus forming a complete two-way call link. At the same time, the system updates the agent status of the target available agent to "occupied" and removes it from the number of available agents to ensure the accuracy of subsequent scheduling calculations.
[0049] This embodiment obtains the queue of outbound call tasks and the number of idle agents currently in automatic call coordination mode. Based on the number of idle agents and a preset concurrency ratio, it dynamically calculates the number of customers to be called in this round and selects a corresponding number of target call tasks from the queue to initiate outbound calls. After the outbound call is connected, the system routes the call to the matched target idle agent in real time, completing the efficient connection between the customer and the agent. This embodiment realizes dynamic coordination and fine matching between outbound call tasks, agent resources, and communication lines, which not only significantly improves agent utilization and outbound call connection efficiency, but also effectively prevents system performance degradation or service interruption due to resource overload by combining agent permission control and concurrency ratio adjustment strategies. Thus, while ensuring customer experience and agent work efficiency, it also ensures the stability, scalability, and business controllability of the outbound call system.
[0050] Based on the above embodiments of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 3 In the intelligent outbound call scheduling method, step S10 includes steps S110 to S150: Step S110: Obtain the number of available agents currently in the automatic call mode and whose agent status is idle, and obtain the initial number of available agents.
[0051] It should be noted that the initial number of available seats refers to the number of available seats in automatic call coordination mode that are currently available for direct use by the system at the current scheduling time. The initial number of available seats is maintained in real time by the CC service system and synchronized to the Mars system through an internal interface, serving as the basis for outbound call task allocation.
[0052] Step S120: For the in-call seat whose status is occupied, obtain the dialogue text between the in-call seat and the customer.
[0053] It should be noted that an "in-call agent" refers to an agent currently in an outbound call in automatic call-sharing mode, and whose agent status is marked as "occupied". In this embodiment, the Mars system continuously collects the two-way voice stream between each in-call agent and its customer through its integrated Automatic Speech Recognition (ASR) service, and transcribes it into structured dialogue text for subsequent semantic analysis and behavior prediction.
[0054] Optionally, to balance processing overhead and real-time prediction, incremental speech recognition and processing can be adopted. This involves not waiting for the entire sentence to finish speaking. Specifically, based on the audio of the call between the agent and the customer, the audio is segmented and recognized in real-time according to a preset time window (e.g., every 2 seconds) to obtain corresponding local text fragments. These local text fragments are then concatenated in real-time into the current call's dialogue context buffer, resulting in continuously updated dialogue text. Subsequently, a semantic analysis module performs incremental feature extraction and inference on the continuously updated dialogue text, analyzing only newly added text content and dynamically updating the judgment of the call stage and the agent's intent based on existing context information. This approach avoids repeatedly processing the entire dialogue text, significantly reducing computational load and achieving extremely low-latency processing from speech to semantics.
[0055] Optionally, before performing semantic analysis on the dialogue text through the semantic analysis module, the dialogue text is preprocessed to remove filler words, interjections, and silence markers (such as "uh," "ah," "um," etc.) that do not contribute to actual semantics. Then, based on the preset business dictionary and word segmentation rules, the preprocessed dialogue text is finely segmented and labeled with parts of speech to obtain a structured word sequence. Furthermore, combined with the context information of the current dialogue, the sentence fragments in the word sequence caused by truncation or incomplete recognition are semantically completed to obtain a standard interactive text that is semantically coherent and suitable for analysis by the semantic analysis module, thereby improving the efficiency and accuracy of subsequent semantic feature extraction.
[0056] Step S130: Based on the dialogue text, predict the remaining call time corresponding to the calling agent.
[0057] It should be noted that the remaining call time refers to the estimated duration from the current moment until the call naturally ends. This is used to determine when agent resources can be released, thus providing a basis for subsequent agent pre-scheduling.
[0058] In this embodiment, step S130 includes steps S1310 to S1330: Step S1310: Extract the multidimensional semantic features of the dialogue text, including the farewell speech recognition result, the question loop signal, and the turn switching frequency.
[0059] It should be noted that the farewell phrase recognition result refers to the detection of expressions indicating the end of the conversation in the current dialogue using Natural Language Processing (NLP), such as "goodbye," "thank you," and "no need," and can further record the frequency, timing, and speaker role of the ending keywords. Problem closure signals refer to semantic markers that identify whether the customer or agent has clearly expressed that the problem has been resolved or the service has been completed, such as "understood" or "processed." Turn-taking frequency refers to the number of times the customer and agent alternate speaking per unit of time; its changing trend (such as a continuous decline) can reflect the decay of conversation activity, thus helping to determine whether the call is nearing its end.
[0060] Step S1320: Fuse the multidimensional semantic features with the auxiliary features to obtain a multidimensional feature vector, wherein the auxiliary features include the average call duration of similar historical tasks and the cumulative duration of the current call.
[0061] It should be noted that the average call duration for similar historical tasks refers to the average call duration calculated from completed call records with similar task attribute information retrieved from the historical task database based on the business type, customer tags, or agent skill group of the current outbound call task, serving as a priori statistical reference. The cumulative duration of the current call refers to the time elapsed from the moment the call was connected to the current prediction time, used to characterize the lifecycle stage of the current dialogue. The system normalizes the above semantic features and auxiliary features and then concatenates them to form a unified multi-dimensional feature vector for model inference.
[0062] Step S1330: Input the multidimensional feature vector into the pre-trained prediction model to obtain a prediction result containing the remaining call time corresponding to the calling agent.
[0063] In this embodiment, the prediction model employs a deep learning model based on Transformer or Long Short-Term Memory (LSTM) networks, which has been trained offline using a large amount of historical call data. Specifically, during training, the historical call text corresponding to each historical call data is acquired, and the historical call text is divided into multiple time segments according to a preset time window (e.g., every 2 seconds). For each time segment, the time interval from the corresponding moment of the time segment to the actual end moment of the call is calculated as the true remaining duration label for that time segment. Simultaneously, multi-dimensional semantic features are extracted from each time segment, and combined with auxiliary features such as the average call duration of similar historical tasks and the current cumulative call duration, to construct a training sample set composed of a feature vector sequence and its corresponding true remaining duration label sequence. By learning the mapping relationship between the feature vector sequence and the true remaining duration label sequence, the model can accurately capture the dynamic correlation between the progress of the conversation and the end of the call, thereby achieving the ability to predict the remaining call time based on real-time conversation content. In actual scheduling, the prediction results output by this prediction model will be used to determine whether the call center agents will become idle in the short term, thereby supporting the identification of "soon-to-be-idle agents" and resource pre-allocation decisions, and improving the pre-scheduling capability and agent resource utilization efficiency of the outbound calling system.
[0064] Step S140: When the remaining call time is less than a preset time threshold, the corresponding in-call agent is determined to be an agent that will soon be available.
[0065] It should be noted that the preset time threshold is a time critical value pre-configured by the system based on factors such as business response delay, time required for agent line switching, and average time taken to establish a route after an outbound call is connected. For example, 3 seconds is used to mark the state boundary that "agent resources will be released in a very short time".
[0066] When the predicted remaining call time for an in-call agent is lower than a preset time threshold, the system determines that the agent is about to finish their current call and return to an idle state, and therefore marks the agent as an agent about to become available. This marking is only used for scheduling pre-occupancy logic and does not change the agent's current occupancy status, nor does it affect the ongoing call process of the in-call agent. Thus, while ensuring the normal completion of the current call, the system can include soon-to-be-released agent resources in the outbound call task allocation scope in advance, effectively reducing the probability of dropped calls or waiting due to the lack of available agents after the customer is connected.
[0067] Step S150: Determine the number of available seats based on the initial number of available seats and the number of seats that will become available soon.
[0068] In this embodiment, the number of available seats does not refer only to seats that are currently physically idle, but rather to the available seat assessment value obtained by comprehensively considering both immediately available resources and resources that can be released in the short term.
[0069] Specifically, the system integrates the initial number of available seats with the number of seats that will become available soon, resulting in an expanded number of available seats: Available Seats = Initial Available Seats + Number of Seats That Will Be Available Soon. This number of available seats serves as the basis for subsequent outbound call concurrency control (such as calculating the number of customers to be called), enabling the Mars system to reserve seat resources that will be released in advance before a customer's call is connected, thereby significantly improving the seat matching success rate after the outbound call is connected.
[0070] Optionally, to avoid excessive pre-occupancy due to prediction errors, a weighting coefficient can be introduced to calculate the number of seats that will soon be available. For example: number of available seats = initial number of available seats + α × number of seats that will soon be available, where α is a preset confidence weight (0 < α ≤ 1), and its value can be dynamically adjusted according to historical prediction accuracy, business priority or system load status to achieve an adaptive balance between improving outbound call scheduling efficiency and ensuring the reliability of seat resource allocation.
[0071] Based on the above embodiments of this application, in the third embodiment of this application, the same or similar content as the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 3 Before step S10, the intelligent outbound call scheduling method further includes steps S104 to S106: Step S104: Detect the seat status of all agents currently in the automatic call mode, and obtain the cumulative occupancy time of each agent maintaining the occupancy status.
[0072] It should be noted that agent status includes two basic types: "idle" and "occupied." The occupied status indicates that the agent is currently undertaking an outbound call task and is in a call or task processing. The cumulative occupied time refers to the duration that the agent has been in the "occupied" state since the last time the agent status changed from "idle" to "occupied."
[0073] In this embodiment, the system periodically polls the CC service system or uses an event-driven approach to collect the current agent status and timestamps of agent status changes of all agents in automatic call mode in real time, and calculates the cumulative occupancy time of each agent based on this, as the basic data for anomaly judgment.
[0074] Step S105: Compare the cumulative occupancy time with the occupancy time threshold, and determine that the seats whose cumulative occupancy time exceeds the occupancy time threshold are overdue occupancy seats.
[0075] It should be noted that the occupation time threshold is a maximum reasonable occupation time limit (e.g., 30 minutes or 45 minutes) pre-set by the system based on business scenarios, average call duration distribution, etc. It is used to identify abnormal long-term occupation situations that may be caused by agents not hanging up properly, agents freezing abnormally, network interruption but status not being synchronized, etc. When the cumulative occupation time of an agent exceeds this occupation time threshold, the system determines that it is an agent occupying the seat beyond the time limit, and believes that it can no longer complete the current task or release resources normally, requiring intervention.
[0076] Step S106: Reset the seat status corresponding to the timed-out seat to idle to release the seat resources occupied by the timed-out seat.
[0077] It should be noted that the status reset operation is performed by the CC service system. Specifically, it includes updating the agent's status flag from "occupied" to "idle," releasing the number of agent licenses it occupies, and notifying the Mars system that the agent has become available again, ensuring that agent resources quickly flow back to the available scheduling pool. This status reset operation does not affect the actual user interface of the agent terminal (e.g., agents can still manually end abnormal sessions), but it ensures the accuracy and timeliness of the scheduling layer's view of resources.
[0078] Based on the above embodiments of this application, in the fourth embodiment of this application, the same or similar content as the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 4 In the intelligent outbound call scheduling method, step S30 includes steps S310 to S330: Step S310: Obtain the task attribute information of each outbound call task in the outbound call task queue.
[0079] In this embodiment, the task attribute information includes, but is not limited to, task urgency, business type label, task creation time, execution agent range, and target outbound call task identifier.
[0080] The urgency level of a task is a priority identifier assigned to it by the CC service system when generating outbound call tasks, based on preset business rules (such as customer level, event sensitivity, timeliness requirements, etc.). It is usually expressed in a hierarchical form, such as "high / medium / low" or "A / B / C" levels, to reflect the time sensitivity or business importance of the outbound call task.
[0081] The business type tag is used to identify the specific business scenario or service category to which the outbound call task belongs, such as "satisfaction follow-up" or "product recommendation".
[0082] The task creation time refers to the timestamp when the outbound call task was first generated and entered the outbound call task queue, which is used to measure the waiting time of the outbound call task in the outbound call task queue.
[0083] The scope of executing agents refers to the constraints that limit which agents can execute the outbound call task. These constraints can be expressed as department ID, agent skill group name, agent ID whitelist, etc. Outbound call tasks are set during the task generation phase to ensure that they are only assigned to agents with the corresponding permissions, professional capabilities, or business affiliation, thereby guaranteeing service compliance and execution accuracy.
[0084] The target outbound call task identifier is an ID field within the system that identifies the outbound call task to be called. It is used to accurately associate the outbound call task with the corresponding customer, agent and call record during scheduling, routing and log tracing.
[0085] Step S320: Sort the queue of outbound call tasks according to the task attribute information and a preset multi-level sorting rule.
[0086] In this embodiment, the multi-level sorting rule adopts a hierarchical priority strategy. Based on the business importance and time sensitivity of the task attribute information, multiple sorting dimensions are set in sequence, and each sorting dimension has a priority order.
[0087] For example, in a feasible multi-level sorting rule, tasks are sorted in descending order of priority: task urgency, business type tag priority, and creation time priority. Specifically, tasks are first sorted in descending order of urgency, with higher urgency tasks appearing earlier. For outbound call tasks with the same urgency, a secondary sort is performed based on the preset priority of the business type tag. For example, regulatory compliance tasks take precedence over marketing and promotion tasks, and the preset priority of this business type tag can be defined through a system configuration table. If the task attribute information at the first two levels is still the same, tasks are sorted in ascending order of creation time, following the "first-in, first-out" principle to ensure that long-term delayed tasks are not continuously ignored, guaranteeing the fairness and timeliness of scheduling.
[0088] It should be noted that the above multi-level sorting rules are configurable strategies. The sorting dimensions, priority order of each dimension, comparison direction (ascending / descending), and whether a particular level of rule is enabled can all be dynamically adjusted according to the actual business scenario. For example, during peak promotional periods, the priority of marketing and promotional business tags can be temporarily increased. This sorting method allows outbound call scheduling strategies to flexibly adapt to different business cycles or operational goals, significantly improving the system's business responsiveness and resource scheduling intelligence.
[0089] Step S330: From the sorted queue of outbound call tasks, select outbound call tasks that are equal to the number of customers to be called, and use them as the target outbound call tasks.
[0090] In one feasible implementation, the CC service system first obtains the original queue of outbound calling tasks (i.e., the outbound calling list) and sorts it according to preset multi-level sorting rules (such as task urgency, service type tag priority, task creation time, etc.). Then, based on the number of customers to be called determined in the preceding steps, the CC service system sequentially selects a corresponding number of outbound calling tasks from the head of the sorted queue as the target outbound calling tasks for this round, and pushes the target outbound calling task list to the Mars system. Upon receiving the target outbound calling task list, the Mars system initiates outbound calls sequentially, ensuring that high-priority tasks are dialed first. This method forwards task selection and priority decision-making to the CC service system, allowing the Mars system to focus on outbound call execution and agent routing, improving the flexibility and efficiency of the scheduling strategy.
[0091] In another feasible implementation, after the CC service system sorts the queue of outbound call tasks based on a preset multi-level sorting rule, it does not select target outbound call tasks. Instead, it directly pushes the complete sorted queue of outbound call tasks to the Mars system. Upon receiving the sorted queue, the Mars system automatically selects a corresponding number of tasks from the head of the queue as target outbound call tasks based on the current number of customers to be called, and executes the outbound call operation. This method retains the task selection logic within the Mars system, which is beneficial for centralized management of scheduling logic and is suitable for scenarios with high requirements for dynamic task adjustment (such as real-time insertion of high-priority tasks).
[0092] Optionally, to prevent low-priority tasks from being delayed for a long time, the urgency level of outbound call tasks that exceed the preset delay time can be automatically increased, so that they can obtain higher priority in subsequent sorting, thereby balancing scheduling efficiency and task coverage integrity.
[0093] This embodiment improves the response speed and completion rate of critical tasks through intelligent task priority scheduling based on multi-dimensional business attributes, and enhances the business adaptability and operational controllability of the outbound call system, effectively supporting the implementation of differentiated customer service and refined marketing strategies.
[0094] Based on the above embodiments of this application, in the fifth embodiment of this application, the same or similar content as the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 5 After step S30, the intelligent outbound call scheduling method includes steps S31 to S35: Step S31: If the outbound call fails, mark the outbound call status corresponding to the target outbound call task.
[0095] It should be noted that outbound call failures include, but are not limited to, situations such as the customer not answering, the line being busy, the call being rejected, the number being invalid, network abnormalities, or the call being interrupted before it is connected. After detecting that the outbound call result is a failure, the Mars system immediately updates the outbound call status of the target outbound call task to "outbound call failed" and records the reason for the failure and the failure timestamp, which will serve as the basis for subsequent retry decisions and statistical analysis.
[0096] Step S32: For the target outbound call task that failed, obtain retry configuration parameters, including the maximum number of retries and the retry interval.
[0097] It should be noted that the retry configuration parameters can be configured according to the business type. For example, overdue collection tasks can be configured with a maximum of 3 retries and a retry interval of 2 hours; while marketing recommendation tasks can be configured to allow only 1 retry and an interval of 24 hours.
[0098] Step S33: Determine whether the current cumulative number of retries for the target outbound call task that failed is less than the maximum number of retries.
[0099] Step S34: If the current cumulative number of retries is less than the maximum number of retries, then start timing based on the retry interval, and after the timing ends, add the target outbound call task that failed to make an outbound call back to the queue of outbound call tasks.
[0100] In this embodiment, the cumulative number of retries recorded for the failed outbound call task is obtained (initially 0, increasing after each retry) and compared with the maximum number of retries configured for the corresponding service type of the failed outbound call task. If the current cumulative number of retries has not yet reached the upper limit, delayed scheduling is started based on the preset retry interval. After the retry interval expires, the failed outbound call task is added back to the queue of pending outbound calls, and the Mars system initiates the outbound call again in the subsequent scheduling cycle.
[0101] Step S35: If the current cumulative number of retries is not less than the maximum number of retries, then update the outbound call status of the target outbound call task that failed to make an outbound call, so as to suspend the outbound call operation of the target outbound call task that failed to make an outbound call.
[0102] In this embodiment, when the current cumulative retries of a failed outbound call task have reached the maximum retries configured for its corresponding service type, it is determined that the task has no further value in automatically making outbound calls, and its outbound call status is updated to "retries exhausted" or "failed". This status change is executed by the Mars system and synchronized to the CC service system, which then reclaims the customer list corresponding to the task. Simultaneously, the task is suspended from being included in the queue of pending outbound calls in any subsequent scheduling cycle, and the automatic outbound call operation for it is terminated.
[0103] Optionally, when the current cumulative number of retries for a failed outbound call task has reached the maximum number of retries configured for its corresponding business type, the task can be transferred to a manual processing channel (e.g., generating a customer service follow-up work order), used to update the customer profile (e.g., marked as "multiple unanswered calls"), or removed from the active outbound call list to avoid unnecessary resource consumption.
[0104] Through the above mechanism, the system effectively avoids repeatedly disturbing customers with low willingness to respond while ensuring that other external tasks are fully reached, thereby improving outbound call compliance, resource utilization efficiency, and customer experience.
[0105] Based on the above embodiments of this application, in the sixth embodiment of this application, the same or similar content as the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 6 In the intelligent outbound call scheduling method, step S40 includes steps S410 to S430: Step S410: After the customer's outbound call is connected, obtain the seat status of each agent currently in the automatic call mode, and determine the candidate available agents based on the seat status.
[0106] It should be noted that agent status is maintained in real time by the CC service system, including two basic types: "Idle" and "Occupied". "Idle" indicates that the agent has entered automatic call-assistance mode and is not currently handling any calls or outbound tasks; "Occupied" indicates that the agent is handling outbound tasks. Candidate idle agents refer to the set of all agents in automatic call-assistance mode and whose status is "Idle" at the moment the customer answers the call.
[0107] In this embodiment, after detecting that the outbound call channel has been successfully established (i.e., the customer answers), the Mars system transfers the currently connected customer call session (including the call context and the corresponding target outbound call task identifier) to the CC service system. The CC service system, based on the task attribute information associated with the target outbound call task (such as service type tags, execution agent range, etc.), selects agents from its locally maintained idle agents that simultaneously meet the task constraints and status requirements as candidate idle agents for this round.
[0108] Optionally, available seats can be selectively filtered based on the range of available seats configured in the outbound call task (e.g., limiting the task to be performed only by specific departments, designated seat skill groups, or a predefined whitelist of seat IDs); only available seats that meet the requirements of the available seat range can be included in the candidate available seat set and participate in the subsequent selection process of target available seats.
[0109] Step S420: Based on the idle time of the candidate available seats, select the candidate available seat with the longest idle time as the target available seat.
[0110] It should be noted that idle time refers to the duration from the end of the last task and the change of status from "occupied" to "idle" for the agent until the current scheduling time. In this embodiment, the CC service system records the start timestamp of each idle agent and dynamically calculates the cumulative idle time during each scheduling. The system selects the agent with the longest idle time as the target idle agent, following the fair scheduling principle of "first come, first served," effectively avoiding some agents being idle for a long time while others are overloaded, thereby achieving workload balance among agents and improving the overall work efficiency and agent experience of the team.
[0111] For example, when a new outbound call task needs to be assigned to an agent, priority is given to agents that have been idle for a longer period of time (such as those that entered an idle state 30 minutes ago) rather than agents that have just been released (such as those that have only been idle for 1 minute), thereby balancing the task load of each agent, reducing resource idleness, and improving overall utilization.
[0112] Optionally, if multiple agents have the same idle time (e.g., they become idle at the same time due to the completion of batch tasks), a secondary sorting can be performed by combining the matching degree between agent skill tags and business types, the current terminal network quality, or the online stability of agents, in order to enhance the robustness and business adaptability of the agent allocation results.
[0113] Step S430: Route the current call to the target available agent and update the agent status of the target available agent.
[0114] In this embodiment, the Mars system bridges the connected customer media stream with the target idle agent's terminal device via SIP (Session Initiation Protocol) signaling or CTI (Computer Telephony Integration) interface, triggering interactive behaviors such as automatic screen pop-up, ringing, or direct connection on the agent's side, thereby establishing a two-way real-time voice channel between the customer and the agent, achieving seamless call connection. Simultaneously, the CC service system updates the agent's status from "idle" to "occupied" and records the start timestamp of this task for subsequent idle time statistics and timeout detection.
[0115] This embodiment adopts a seat allocation strategy based on idle time priority, which ensures that seat matching is completed quickly after the customer is connected, while effectively realizing fair scheduling and load balancing of seat resources. It avoids the phenomenon of "uneven workload" where some seats are idle for a long time while others are continuously running at high load, thereby improving the overall throughput, scheduling robustness and seat operation efficiency of the automatic call system.
[0116] This application provides an intelligent outbound call scheduling device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the intelligent outbound call scheduling method in the first embodiment above.
[0117] The following is for reference. Figure 7 The diagram illustrates a structural schematic of an intelligent outbound call scheduling device suitable for implementing embodiments of this application. The intelligent outbound call scheduling device in the embodiments of this application may include various hardware and software components for implementing the intelligent outbound call scheduling method. Figure 7 The intelligent outbound call dispatching device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0118] like Figure 7 As shown, the intelligent outbound call dispatching device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the intelligent outbound call dispatching device. The processing unit 1001, the ROM 1002, and the RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows the intelligent outbound call dispatching device to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows intelligent outbound call dispatching devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0119] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0120] The intelligent outbound call scheduling device provided in this application, employing the intelligent outbound call scheduling method in the above embodiments, can solve the technical problem of lack of coordination between outbound call scheduling strategy and real-time agent resource status. Compared with the prior art, the beneficial effects of the intelligent outbound call scheduling device provided in this application are the same as those of the intelligent outbound call scheduling method provided in the above embodiments, and other technical features in this intelligent outbound call scheduling device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0121] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0122] 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.
[0123] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, which are used to execute the intelligent outbound call scheduling method in the above embodiments.
[0124] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, radio frequency (RF), etc., or any suitable combination thereof.
[0125] The aforementioned computer-readable storage medium may be included in the intelligent outbound call dispatching device; or it may exist independently and not be assembled into the intelligent outbound call dispatching device.
[0126] The aforementioned computer-readable storage medium carries one or more programs. When the aforementioned one or more programs are executed by the intelligent outbound call scheduling device, the intelligent outbound call scheduling device: obtains a queue of outbound call tasks and obtains the number of available seats currently in automatic call coordination mode; determines the number of customers to be called based on the number of available seats and a preset concurrency ratio parameter; selects a corresponding number of target outbound call tasks from the queue of outbound call tasks based on the number of customers to be called, and initiates outbound calls to the customers corresponding to the target outbound call tasks; after the outbound call is connected, routes the current call to the corresponding target available seat.
[0127] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0128] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0129] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0130] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., computer programs) for executing the above-described intelligent outbound call scheduling method, which can solve the technical problem of lack of coordination between outbound call scheduling strategy and real-time status of agent resources. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the intelligent outbound call scheduling method provided in the above embodiments, and will not be repeated here.
[0131] This application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the intelligent outbound call scheduling method described above.
[0132] The computer program product provided in this application can solve the technical problem of lack of coordination between outbound call scheduling strategy and real-time status of agent resources. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as the beneficial effects of the intelligent outbound call scheduling method provided in the above embodiments, and will not be repeated here.
[0133] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent scope of this application.
[0134] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0135] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0136] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. An intelligent outbound call scheduling method, characterized in that, The intelligent outbound call scheduling method includes: Get the queue of outbound call tasks and get the number of available agents currently in automatic call coordination mode; Based on the number of available seats and the preset concurrency ratio parameter, the number of customers to be called is determined. Based on the number of customers to be called, select a corresponding number of target outbound calling tasks from the queue of outbound calling tasks, and initiate outbound calls to the customers corresponding to the target outbound calling tasks. Once the outbound call is connected, the current call will be routed to the corresponding available agent.
2. The intelligent outbound call scheduling method as described in claim 1, characterized in that, Before the steps of obtaining the queue of outbound call tasks and obtaining the number of available agents currently in automatic call coordination mode, the intelligent outbound call scheduling method further includes: In response to an access request initiated by an agent, obtain the number of agent licenses currently in use; The number of occupied seat permits is compared with the preset total number of seat permits. If the number of occupied seat permits is less than the preset total number of seat permits, the seat is allowed to enter the automatic call mode, and the number of occupied seat permits is incremented by one. If the number of occupied seat permits is not less than the preset total number of seat permits, the access request of the seat is rejected until an agent who has entered the automatic call mode exits and releases the number of seat permits, so that the number of occupied seat permits is less than the preset total number of seat permits.
3. The intelligent outbound call scheduling method as described in claim 1, characterized in that, The step of selecting a corresponding number of target outbound calling tasks from the queue of outbound calling tasks based on the number of customers to be called includes: Obtain the task attribute information of each outbound call task in the outbound call task queue; Based on the task attribute information, the queue of outbound call tasks is sorted according to a preset multi-level sorting rule; From the sorted queue of outbound call tasks, select outbound call tasks that are equal to the number of customers to be called, and use them as the target outbound call tasks.
4. The intelligent outbound call scheduling method as described in claim 1, characterized in that, After the outbound call is connected, the step of routing the current call to the corresponding target available agent includes: After a customer's outbound call is connected, the seat status of each agent currently in the automatic call mode is obtained, and candidate available agents are determined based on the seat status. Based on the available time of the candidate available seats, the candidate available seat with the longest available time is selected as the target available seat; The current call is routed to the target available agent, and the agent status of the target available agent is updated.
5. The intelligent outbound call scheduling method as described in claim 1, characterized in that, After the step of selecting a corresponding number of target outbound calling tasks from the queue of outbound calling tasks based on the number of customers to be called, and initiating outbound calls to the customers corresponding to the target outbound calling tasks, the intelligent outbound calling scheduling method further includes: If the outbound call fails, mark the outbound call status of the corresponding target outbound call task; For the target outbound call task that fails to make an outbound call, obtain retry configuration parameters, including the maximum number of retries and the retry interval; Determine whether the current cumulative number of retries for the target outbound call task that failed is less than the maximum number of retries; If the current cumulative number of retries is less than the maximum number of retries, then a timer is started based on the retry interval, and after the timer expires, the target outbound call task that failed is added back to the queue of outbound call tasks. If the current cumulative number of retries is not less than the maximum number of retries, then update the outbound call status of the target outbound call task that failed to make an outbound call, so as to suspend the outbound call operation of the target outbound call task that failed to make an outbound call.
6. The intelligent outbound call scheduling method as described in claim 1, characterized in that, The step of obtaining the number of available agents currently in automatic call-sharing mode includes: Obtain the number of available seats currently in the automatic call-through mode and whose seat status is idle, and get the initial number of available seats; For the in-call seat whose status is occupied, obtain the dialogue text between the in-call seat and the customer; Based on the dialogue text, predict the remaining call time corresponding to the calling agent; When the remaining call time is less than a preset time threshold, the corresponding in-call agent will be determined as an agent that will soon be available. The number of available seats is determined based on the initial number of available seats and the number of seats that will become available soon.
7. The intelligent outbound call scheduling method as described in claim 6, characterized in that, The step of predicting the remaining call time corresponding to the calling agent based on the dialogue text includes: Extract multidimensional semantic features from the dialogue text, including farewell speech recognition results, question loop signals, and turn-switching frequency; The multidimensional semantic features are fused with auxiliary features to obtain a multidimensional feature vector, wherein the auxiliary features include the average call duration of similar historical tasks and the cumulative duration of the current call; The multidimensional feature vector is input into a pre-trained prediction model to obtain a prediction result that includes the remaining call time corresponding to the calling agent.
8. The intelligent outbound call scheduling method as described in claim 1, characterized in that, Before the steps of obtaining the queue of outbound call tasks and obtaining the number of available agents currently in automatic call coordination mode, the intelligent outbound call scheduling method further includes: Detect the seat status of all agents currently in the automatic call mode, and obtain the cumulative occupancy time of each agent in the occupancy state; The cumulative occupancy time is compared with the occupancy time threshold to determine that the seats whose cumulative occupancy time exceeds the occupancy time threshold are overdue occupancy seats; The seat status corresponding to the timed-out seat is reset to idle to release the seat resources occupied by the timed-out seat.
9. An intelligent outbound call dispatching device, characterized in that, The intelligent outbound call scheduling device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the intelligent outbound call scheduling method as described in any one of claims 1 to 8.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the intelligent outbound call scheduling method as described in any one of claims 1 to 8.