Systems and methods for synchronizing agent staffing and customer call volume in a contact center
The method synchronizes agent staffing with customer call volume in contact centers by estimating future call volumes and offering transparent callback options, addressing inefficiencies and improving customer satisfaction and operational efficiency.
Patent Information
- Application Number
- JP2025536111
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-23
- Filing Date
- 2023-12-11
- Publication Date
- 2025-12-23
AI Technical Summary
Contact centers face challenges in managing customer call volume and agent staffing, leading to inefficiencies such as increased customer wait times and labor costs due to inaccurate staffing predictions and limited callback options, which affect customer satisfaction and operational efficiency.
A method for synchronizing agent staffing with customer call volume by estimating future call volumes using historical data, determining preferred callback windows, and communicating suggested callback times to customers, thereby optimizing staffing and improving customer experience.
Enhances customer satisfaction by providing transparent callback options based on historical and forecasted data, reducing wait times, and optimizing contact center efficiency by aligning staffing with call demand.
Smart Images

Figure 2025541889000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 63 / 435,110, entitled "SYSTEMS AND METHODS FOR SYNCHRONIZING AGENT STAFFING AND CUSTOMER CALL VOLUME IN CONTACT CENTERS," filed December 23, 2022, which has been converted to pending U.S. Patent Application No. 18 / 121,237, also entitled "SYSTEMS AND METHODS FOR SYNCHRONIZING AGENT STAFFING AND CUSTOMER CALL VOLUME IN CONTACT CENTERS," filed March 14, 2023. [Background technology]
[0002] The present invention relates generally to the field of contact centers, and more particularly to managing customer call volume and agent staffing within contact centers. More particularly, but not exclusively, the present invention relates to managing customer call routing decisions to improve customer call intervals in overloaded contact centers, reduce customer hold times, and optimize or synchronize agent staffing with customer call volume. Summary of the Invention
[0003] The present invention includes a method for synchronizing agent staffing and customer call volume within a contact center. The method includes estimating the number of agents to staff the contact center during a specified future time, estimating the number of customer calls expected during the specified future time using historical data, and performing a first comparison of the number of agents to the expected customer calls for the specified future time. Based on the first comparison, the method further includes determining one or more preferred contact center callback windows within the specified future time, the one or more preferred contact center callback windows being selected based on overall customer call volume relative to the estimated number of agents to staff the contact center during the specified future time. Next, the method includes communicating with a customer to request one or more preferred customer-selected callback times, and then performing a second comparison of the one or more preferred contact center callback windows with the one or more preferred customer-selected callback times. Based on the second comparison, the method further includes providing the customer with one or more suggested callback times, the one or more suggested callback times selected to synchronize overall customer call volume with the number of agents staffing the contact center, the preferred contact center callback window, and the preferred customer-selected callback time to improve the customer experience while simultaneously improving contact center efficiency during the specified time.
[0004] These and other features of the present application will become more apparent from a consideration of the following detailed description of exemplary embodiments taken in conjunction with the drawings and the appended claims. [Brief explanation of the drawings]
[0005] A more complete understanding of the present invention will be more readily apparent as the invention becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings, in which like reference symbols indicate like elements and in which: [Figure 1] 1 shows a schematic block diagram of a computing device according to an exemplary embodiment of the present invention and / or on which an exemplary embodiment of the present invention may be enabled or practiced. [Figure 2] 1 shows a schematic block diagram of a communications infrastructure or contact center according to an exemplary embodiment of the present invention and / or in which an exemplary embodiment of the present invention may be enabled or implemented; [Figure 3] 1 is a chart illustrating a method for synchronizing agent staffing with customer call volume within a contact center, according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0006] For the purposes of promoting an understanding of the principles of the present invention, the description will now be made using specific language and with reference to exemplary embodiments illustrated in the drawings. However, it will be apparent to those skilled in the art that detailed materials provided in the examples may not be required to practice the present invention. In other instances, well-known materials or methods have not been described in detail to avoid obscuring the present invention. As used herein, language specifying non-limiting examples and illustrations includes "eg," "ie," "for example," "for instance," and the like. Furthermore, throughout this specification, references to "an embodiment," "one embodiment," "present embodiments," "exemplary embodiments," "certain embodiments," and the like mean that a particular feature, structure, or characteristic described in connection with a given embodiment may be included in at least one embodiment of the present invention. Particular features, structures, or characteristics may be combined in any suitable combinations and / or subcombinations in one or more embodiments or embodiments. Those skilled in the art will recognize from this disclosure that various embodiments may be computer-implemented using many different types of data processing equipment, and that the embodiments may be implemented as an apparatus, a method, or a computer program product.
[0007] The flowcharts and block diagrams provided in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to exemplary embodiments of the present invention. In this regard, it will be understood that each block of the flowcharts and / or block diagrams, or a combination of blocks thereof, may represent a module, segment, or portion of program code having one or more executable instructions for implementing the specified logical function(s). Similarly, it will be understood that each block of the flowcharts and / or block diagrams, or a combination of blocks thereof, may be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that performs particular operations or functions. Such computer program instructions may also be stored in a computer-readable medium that can instruct a computer or other programmable data processing apparatus to function in a particular manner, such that the program instructions in the computer-readable medium can instruct a computer or other programmable data processing apparatus to function in a particular manner, to produce an article of manufacture containing instructions that implement the functions or operations specified in each block of the flowcharts and / or block diagrams, or a combination of blocks thereof.
[0008] Before proceeding with a detailed description of the present invention, an exemplary computing device and contact center system will be discussed in connection with Figures 1 and 2, respectively. As will be appreciated by those skilled in the art, the computing device and contact center system are provided as exemplary environments in which aspects of the present disclosure may be readily implemented, but it should be understood that the methods and systems disclosed herein may not be limited to such use unless expressly set forth herein. Accordingly, the following description in connection with Figures 1 and 2 is intended to provide a general discussion of enabling technology and background information regarding contact center systems and their operation. The discussion, which is particularly relevant to the present invention, continues with reference to Figure 3, which provides methods of implementation and operation thereof in similar and analogous environments.
[0009] Computing Devices The systems and methods of the present invention may be computer-implemented using many different forms of data processing equipment, such as digital microprocessors and associated memory, executing appropriate software programs. By way of background, Figure 1 shows a schematic block diagram of an exemplary computing device 100 in accordance with and / or on which embodiments of the present invention may be enabled or practiced. It should be understood that Figure 1 is provided as a non-limiting example.
[0010] Computing device 100 may be implemented, for example, via firmware (e.g., an application-specific integrated circuit), hardware, or a combination of software, firmware, and hardware. It will be understood that each of the servers, controllers, switches, gateways, engines, and / or modules (which may collectively be referred to as servers or modules) in the following figures may be implemented via one or more of computing devices 100. As an example, various servers may be processes running on one or more processors of one or more computing devices 100 that execute computer program instructions and may interact with other systems or modules to perform various functions described herein. Unless specifically limited otherwise, functionality described in connection with multiple computing devices may be integrated into a single computing device, or various functionality described in connection with a single computing device may be distributed across several computing devices. Furthermore, in connection with any of the computing systems described herein, the various servers and computer devices may be located on computing device 100 that is local (i.e., on-site) or remote (i.e., off-site or in a cloud computing environment), or some combination thereof.
[0011] As shown in the illustrated example, computing device 100 may include a central processing unit or processor 105 and a main memory 110. Computing device 100 may also include a storage device 115, a removable media interface 120, a network interface 125, an input / output controller 130, and one or more input / output devices 135, which may include a display device 135A, a keyboard 135B, and a pointing device 135C, as shown. Computing device 100 may further include additional elements, such as a memory port 140, a bridge 145, an input / output port, one or more additional input / output devices 135D, 135E, 135F, and a cache memory 150 in communication with processor 105.
[0012] Processor 105 may be any logic circuit that processes instructions fetched from main memory 110. For example, process 105 may be implemented by an integrated circuit, such as a microprocessor, microcontroller, or graphics processing unit, or by a field programmable gate array or application-specific integrated circuit. As shown, processor 105 may communicate directly with cache memory 150 via a secondary bus or backside bus. Main memory 110 may be one or more memory chips that can store data and allow the stored data to be directly accessed by central processing unit 105. Storage device 115 may provide storage for an operating system. Unless otherwise limited, computing device 100 may include an operating system and software capable of performing the functions described herein.
[0013] As shown in the illustrated example, computing device 100 may include a wide variety of input / output devices 135, one or more of which may be connected via input / output controller 130. Input devices may include, for example, a keyboard 135B and a pointing device 135C (e.g., a mouse or optical pen). Output devices may include, for example, a video display device, speakers, and a printer. Computing device 100 may also support one or more removable media interfaces 120. More generally, input / output devices 135 may include any conventional devices for performing the functions described herein.
[0014] Unless otherwise limited, computing device 100 may be, but is not limited to, any workstation, desktop computer, laptop or notebook computer, server machine, virtual machine, mobile phone or smartphone, portable telecommunications device, or any other type of computing device capable of performing the functions described herein. Computing device 100 may include multiple devices and resources connected by a network. As used herein, a network includes one or more computing devices, machines, clients, client nodes, client machines, client computers, endpoints, or endpoint nodes that communicate with one or more other such devices. A network may be a private or public switched telephone network (PSTN), a wireless carrier network, a local area network, a private wide area network, a public wide area network such as the Internet, or the like, in which connections are established using a communication protocol. More generally, unless otherwise limited, it should be understood that computing device 100 may communicate with other computing devices 100 over any type of network using any communication protocol. Furthermore, a network may be a virtual network environment in which various network components are virtualized.
[0015] Contact Center 2, there is shown a communications infrastructure or contact center system 200 in accordance with and / or in which exemplary embodiments of the present invention may be enabled or implemented. It should be understood that the term "contact center system" may be used herein to refer to the system shown in FIG. 2 and / or its components, while the term "contact center" may be used more generally to refer to customer service providers (such as particular customer service providers that provide customer service through contact center system 200) and / or the organizations or businesses to which those customer service is provided.
[0016] By way of background, customer service providers generally provide many types of services through contact centers. Such contact centers may be staffed with employees or customer service agents (or simply “agents”), who serve as an interface between a company, enterprise, government agency, or organization (hereinafter interchangeably referred to as an “organization” or “enterprise”) and people, such as users, individuals, or customers (hereinafter interchangeably referred to as “individuals” or “customers”). For example, contact center agents may take customer orders, resolve customer problems regarding products or services already received, or help customers make purchasing decisions. Within a contact center, such interactions between contact center agents and external entities or customers may occur via various communication channels, such as via voice (e.g., telephone calls or voice over IP, i.e., VoIP calls), video (e.g., video conferencing), text (e.g., email and text chat), screen sharing, co-browsing, etc.
[0017] Referring specifically to FIG. 2 , contact centers generally strive to provide quality service to customers while minimizing costs and / or maximizing efficiency. To facilitate this goal, contact centers may include many different systems and modules, as shown in exemplary contact center system 200. Contact center system 200 can engage and manage interactions in which automated processes (or bots) or human agents communicate with customers. It should be understood that contact center system 200 may be a business or enterprise's in-house facility for performing sales and customer service functions. Alternatively, contact center system 200 may be operated by a third-party service provider contracted to provide services to another organization. Furthermore, contact center system 200 may be deployed on enterprise-specific or third-party service provider equipment and / or in a remote computing environment, such as a private or public cloud environment. Contact center system 200 may include software applications that run on-premise and / or remotely. Accordingly, various components of contact center system 200 may be distributed across various geographic locations and / or housed locally.
[0018] Unless specifically limited otherwise, any of the computing elements of the present invention may be implemented within a cloud-based or cloud computing environment. As used herein, "cloud computing" or simply "cloud" is defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned through virtualization, released with minimal management effort or service provider interaction, and then scaled accordingly. Cloud computing can consist of a variety of characteristics (e.g., on-demand self-service, wide area network access, resource pooling, rapid scalability, scalable services, etc.), service models (e.g., Software as a Service ("SaaS"), Platform as a Service ("PaaS"), Infrastructure as a Service ("IaaS")), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.). A cloud execution model, often referred to as a "serverless architecture," generally involves a service provider dynamically managing the allocation and provisioning of remote servers to achieve a desired function.
[0019] 2, the components or modules of contact center 200 include a plurality of customer devices 205A, 205B, 205C, a communications network (or simply "network") 210, a switch / media gateway 212, a call controller 214, an interactive media response (IMR) server 216, a routing server 218, a storage device 220, a statistics (or "stat") server 226, a plurality of agent devices 230A, 230B, 230C each including workbins 232A, 232B, 232C, a multimedia / social media server 234, a knowledge management server 236 coupled to a knowledge system 238, a chat server 240, a web server 242, a workforce engagement management ("WEM") server 243, an interaction server 244, a universal contact server 246, a network controller 248 ... 2 or in any of the following figures may be implemented via any type of computing device, including the example computing device 100 of FIG. 1. As can be seen, the contact center system 200 generally manages resources (e.g., employees, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone, email, chat, or other communication mechanisms. Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functions, emergency response, telemarketing, order taking, etc.
[0020] A customer desiring to receive service from the contact center system 200 may initiate inbound communications (e.g., phone calls, emails, chats, etc.) to the contact center system 200 via a customer device 205. FIG. 2 shows three such customer devices, namely, customer devices 205A, 205B, and 205C, but any number may be present. The customer device 205 may be, for example, a communication device such as a telephone, smartphone, computer, tablet, or laptop. According to the functionality described herein, a customer may generally use the customer device 205 to initiate, manage, and conduct communications with the contact center system 200, such as phone calls, emails, chats, text messages, etc.
[0021] Inbound and outbound communications to and from customer device 205 may traverse network 210, the nature of which typically depends on the type of customer device and mode of communication used. By way of example, network 210 may include telephone, cellular, and / or data service communication networks. Network 210 may be a private or public switched telephone network, a local area network, a private wide area network, and / or a public wide area network such as the Internet. Additionally, network 210 may include any wireless carrier network.
[0022] With regard to the switch / media gateway 212, it may be coupled to the network 210 to transmit and receive telephone calls between customers and the contact center system 200. The switch / media gateway 212 may include a telephone or communication switch configured to act as a central switch for agent-level routing within the center. The switch may be a hardware switching system or implemented via software. For example, the switch 215 may include an automatic call distributor, a private branch exchange ("PBX"), an IP-based software switch, and / or any other switch with dedicated hardware and software configured to receive customer interactions from the Internet and / or the telephone network and route those interactions to, for example, one of the agent devices 230. Thus, generally, the switch / media gateway 212 establishes a connection between the customer device 205 and the agent device 230, thereby establishing a voice connection between the customer and the agent. As further shown, the switch / media gateway 212 may be coupled to a call controller 214, which functions, for example, as an adapter or interface between the switch and other routing, monitoring, and communication processing components of the contact center system 200. The call controller 214 may be configured to process PSTN calls, VoIP calls, etc. For example, the call controller 214 may include computer-telephony integration software for interfacing with switches / media gateways and other components. The call controller 214 may include a session initiation protocol ("SIP") server for processing SIP calls. The call controller 214 may also extract data about incoming interactions, such as the customer's phone number, IP address, or email address, and then communicate them to other contact center components as it processes the interaction.
[0023] Regarding the interactive media response (IMR) server 216, it can be configured to enable self-help or virtual assistant functionality. Specifically, the IMR server 216 can be similar to an interactive voice response (IVR) server, except that the IMR server 216 is not limited to voice and can also cover various media channels. In one example illustrating voice, the IMR server 216 can be configured with an IMR script to query a customer about their needs. For example, a bank contact center may tell a customer via an IMR script to "press 1" if they want to get their account balance. Through ongoing interaction with the IMR server 216, the customer can receive service without needing to speak with an agent. The IMR server 216 can also be configured to determine the reason the customer is contacting the contact center so that the communication can be routed to the appropriate resource.
[0024] With respect to the router or routing server 218, it may function to route incoming interactions. The routing server 218 may perform predictive routing, whereby incoming interactions are routed to resources calculated to produce the best outcome for the customer and / or the contact center. For example, functionality within the routing server 218 may select the most appropriate agent and route the communication thereto. This agent selection may be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent may be based on a routing strategy or algorithm implemented by the routing server 218. In doing so, the routing server 218 may query data related to the incoming interaction, such as data related to the particular customer, available agents, and type of interaction, which may be stored in certain databases as described in more detail below. Once an agent is selected, the routing server 218 may interact with the call controller 214 to route (i.e., connect) the incoming interaction to a corresponding agent device 230. As part of this connection, information about the customer may be provided to the selected agent via the agent device 230. This information is intended to improve the service that agents provide to their customers.
[0025] With respect to data storage, contact center system 200 may include one or more mass storage devices, generally represented by storage device(s) 220, for storing data related to the contact center's functions. For example, storage device 220 may store customer data maintained in customer database 222. Such customer data may include customer profiles, contact information, service level agreements, and interaction history (e.g., details of previous interactions with particular customers, including the nature of previous interactions, trend data, wait times, handling times, and actions taken by the contact center to resolve customer issues). As another example, storage device 220 may store agent data in agent database 223. Agent data maintained by contact center system 200 may include agent availability and agent profiles, schedules, skills, handling times, etc. As another example, storage device 220 may store interaction data in interaction database 224. The interaction data may include data related to numerous past interactions between customers and the contact center. More generally, unless otherwise specified, it should be understood that storage device 220 may include databases and / or be configured to store data related to any of the types of information described herein, with those databases and / or data accessible to other modules or servers of contact center system 200 to facilitate the functions described herein. For example, a server or module of contact center system 200 may query such a database to retrieve data stored therein or transmit data thereto for storage. Storage device 220 may take the form of, for example, any conventional storage medium and may be housed locally or operated from a remote location.
[0026] With respect to stat server 226, it may be configured to record and aggregate data related to the performance and business aspects of contact center system 200. Such information may be accumulated by stat server 226 and made available to other servers and modules, such as reporting server 248, which may then use the data to generate reports used to manage the business aspects of the contact center and to perform automated actions in accordance with the functionality described herein. Such data may relate to the status of contact center resources, such as average wait times, abandonment rates, agent occupancy rates, and others as required by the functionality described herein.
[0027] The agent devices 230 of the contact center 200 may be communication devices configured to interact with the various components and modules of the contact center system 200 to facilitate the functionality described herein. The agent devices 230 may further include computing devices configured to communicate with the servers of the contact center system 200, perform business-related data processing, and interface with customers via voice, chat, email, and other multimedia communication mechanisms in accordance with the functionality described herein. While FIG. 2 shows three such agent devices 230, any number may be present.
[0028] With regard to the multimedia / social media server 234, it may be configured to facilitate media interactions (other than voice) with the customer device 205 and / or the web server 242. Such media interactions may relate to, for example, email, voicemail, chat, video, text messaging, web, social media, collaborative browsing, etc. The multimedia / social media server 234 may take the form of any IP router conventional in the art, having dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.
[0029] With respect to the knowledge management server 234, it may be configured to facilitate interactions between customers and a knowledge system 238. Generally, the knowledge system 238 may be a computer system capable of receiving questions or queries and providing answers in response thereto. The knowledge system 238 may be included as part of the contact center system 200 or may be operated remotely by a third party. The knowledge system 238 may include an artificial intelligence computer system capable of answering questions posed in natural language by retrieving information from sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted to the knowledge system 238 as reference material, as is well known in the art.
[0030] With respect to chat server 240, it may be configured to conduct, orchestrate, and manage electronic chat communications with customers. Generally, chat server 240 is configured to conduct and maintain chat conversations and generate chat transcripts. Such chat communications may be conducted by chat server 240 such that customers communicate with automated chatbots, human agents, or both. In an exemplary embodiment, chat server 240 may function as a chat orchestration server that allocates chat conversations to chatbots and available human agents. In such cases, the processing logic of chat server 240 may be rules driven to leverage intelligent workload distribution among available chat resources. Chat server 240 may also implement, manage, and facilitate chat functionality and associated user interfaces (UIs), including those generated on either customer device 205 or agent device 230. The chat server 240 may be configured to transfer chats between automated and human sources within a single chat session with a particular customer, such that a chat session may be transferred from a chatbot to a human agent or from a human agent to a chatbot. The chat server 240 may also be coupled to the knowledge management server 234 and the knowledge system 238 to receive suggestions and answers to inquiries posed by the customer during the chat, such that links to related articles may be provided.
[0031] With respect to web server 242, such a server may be included to provide site hosts for various social interaction sites to which customers subscribe, such as Facebook, Twitter, and Instagram. While illustrated as part of contact center system 200, it should be understood that web server 242 may be provided by a third party and / or maintained remotely. Web server 242 may also serve web pages to businesses or organizations supported by contact center system 200. For example, customers may view web pages to receive information about products and services of particular businesses. Within such businesses' web pages, mechanisms may be provided for initiating interactions with contact center system 200, for example, via web chat, voice, or email. One example of such a mechanism is a widget that may be deployed on a web page or website hosted on web server 242. As used herein, a widget refers to a user interface component that performs a specific function. In some embodiments, a widget may include a graphical user interface control that may be overlaid on a web page displayed to customers via the Internet. A widget may include buttons or other controls that display information, such as in a window or text box, or allow a customer to access a particular function, such as sharing or opening a file or initiating a communication. In some implementations, a widget includes a user interface component with a portable portion of code that can be installed and executed within a separate web page without being compiled. Some widgets include corresponding or additional user interfaces and may be configured to access various local resources (e.g., calendar or contact information on the customer device) or remote resources over a network (e.g., instant messaging, email, or social networking updates).
[0032] With regard to the WEM server 243, it may be configured to host and enable a set of features focused on improving employee engagement in contact centers, which may be broadly referred to as “workforce engagement management” (or “WEM”). The WEM server 243 may provide solutions that help simplify the agent experience and drive results and employee satisfaction. The WEM server 243 may include capabilities such as call logging, screen recording, quality management, performance management, voice and text analytics, and gamification, as well as capabilities related to workforce management (or “WFM”) and workforce optimization (“WFO”). Broadly speaking, WFM ensures that the right resources are present at the right time for service, while WFO provides the ability to monitor and act on the content of interactions through quality management and interaction analytics. In addition to these capabilities, WEM further ensures that engaging the agents who deliver the service ensures a prerequisite for enabling the contact center to provide effective customer service over the long term. In doing so, the WEM server 243 may provide functionality aimed at enabling the contact center to improve metrics related to employee recognition, attrition, and talent development. Additionally, WEM recognizes a shift within the contact center industry from a focus on labor productivity optimization and labor cost management, i.e., workforce optimization, to a more employee-centric focus on engaging agents throughout the entire employment lifecycle. WEM applications are designed to increase agent engagement by automating tasks related to scheduling, coaching, quality management, performance management, etc. More specifically, the WEM server 243 can include core applications such as interaction recording across all channels, quality monitoring with automated scoring, workforce management with AI-infused scheduling and forecasting, performance management, voice and data analytics, etc.The WEM server 243 can further provide functionality such as gamification, robotic process automation, voice authentication, predictive analytics, chatbots, customer engagement hubs, tools for building custom applications, and AI and analytics. For example, AI-incorporated algorithms can prepare more accurate agent schedules, customer insights, routing, and the like, taking into account more variables and having greater predictive power. Furthermore, many of the tedious tasks associated with quality monitoring can be automated, thereby saving time and money and improving agent engagement. Other functionality can include any of the associated features described herein as understood and enabled by one of ordinary skill in the art. Such enablement can include connectivity with any of the other servers, devices, and data sources described herein.
[0033] With respect to the interaction server 244, it may be configured to manage the contact center's deferrable activities and the routing of those activities to human agents for completion. As used herein, deferrable activities include back-office work that can be performed offline, such as replying to emails, participating in training, and other activities that do not involve real-time communication with customers. As an example, the interaction server 244 may be configured to interact with the routing server 218 to select an appropriate agent to handle each deferrable activity. Once a deferrable activity is assigned to a particular agent, the selected agent is prompted for the activity so that it appears on the selected agent's agent device 230. The deferrable activity may appear in a work bin 232 as a task for the selected agent to complete. The functionality of the work bin 232 may be implemented via any conventional data structure, such as a linked list, an array, or the like. Each of the agent devices 230 may include a work bin 232, with work bins 232A, 232B, and 232C maintained within agent devices 230A, 230B, and 230C, respectively. As an example, the work bin 232 may be maintained in a buffer memory of the corresponding agent device 230 .
[0034] With respect to universal contact server (“UCS”) 246, it may be configured to retrieve information stored in customer database 222 and / or send information thereto for storage in that database. For example, UCS 246 may be utilized as part of a chat function to facilitate maintaining a history of how chats with particular customers were handled, which may then be used as a reference for how future chats should be handled. More generally, UCS 246 may be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and best times to contact. To do this, UCS 246 may be configured to identify data related to each customer's interaction history, such as, for example, data regarding comments from agents, customer communication history, etc. Each of these data types may then be stored in customer database 222 or other modules and retrieved as needed by the functions described herein.
[0035] With respect to reporting server 248, it may be configured to generate reports from data accumulated and aggregated by statistics server 226 or other sources. Such reports may include near real-time or historical reports and may relate to the status of contact center resources and performance characteristics, such as average wait times, abandonment rates, agent occupancy, etc. Reports may be generated automatically or in response to specific requests from requestors (e.g., agents, administrators, contact center applications, etc.). The reports may then be used to manage contact center operations in accordance with the functionality described herein.
[0036] Regarding the media services server (or “media server”) 249, it may be configured to provide audio and / or video services to support contact center functions. According to functionality described herein, such functions may include IVR or IMR system prompts (e.g., playing audio files), music on hold, voicemail / self-recording, multi-person recording (e.g., of audio and / or video calls), voice recognition, dual tone multi frequency (DTMF) recognition, fax, audio and video transcoding, secure real-time transport protocol (SRTP), audio conferencing, video conferencing, coaching (e.g., support for a trainer to listen to a dialogue between a customer and an agent and for a trainer to provide comments to an agent without the customer hearing the comments), call analysis, keyword discovery, etc. The media server 249 may store media content locally. In other embodiments, such as those discussed below in connection with Figures 4-5, the media server 249 can extend such functionality by orchestrating remote storage of media files on agent devices and sharing those media files between agent devices to achieve desired functionality.
[0037] With respect to analytics module 250, it may be configured to provide systems and methods for performing analytics on data received from multiple different data sources, as may be required by the functionality described herein. According to an exemplary embodiment, analytics module 250 may also generate, update, train, and modify predictors or models 252 based on collected data, such as, for example, customer data, agent data, and interaction data. Models 252 may include customer or agent behavioral models. Behavioral models are used to predict, for example, customer or agent behavior in various situations, thereby enabling embodiments of the present invention to adjust interactions based on such predictions or allocate resources in preparation for predicted characteristics of future interactions, thereby improving overall contact center performance and customer experience. While analytics module 250 is illustrated as being part of a contact center, it will be understood that such behavioral models may also be implemented in customer systems (or, as used herein, the “customer side” of an interaction) and used to the benefit of the customer.
[0038] According to an example embodiment, analytics module 250 may have access to data stored in storage device 220, including customer database 222 and agent database 223. Analytics module 250 may also have access to interaction database 224, which stores data related to interactions and interaction content (e.g., interaction transcripts and events detected therein), interaction metadata (e.g., customer identifier, agent identifier, medium of the interaction, interaction length, interaction start and end times, department, tagged categories), and application settings (e.g., interaction path through the contact center). Additionally, as discussed more below, analytics module 250 may be configured to retrieve data stored in storage device 220 for use in developing and training algorithms and models 252, for example, by applying machine learning techniques.
[0039] One or more of the included models 252 may be configured to predict customer or agent behavior and / or aspects related to contact center operations and performance. Additionally, one or more of the models 252 may be used for natural language processing, including, for example, intent recognition. The models 252 may be developed based on 1) known first-principles equations describing the system, 2) data resulting in an empirical model, or 3) a combination of known first-principles equations and data. When developing models for use in the present embodiments, first-principles equations are often not available or easily derived, so building empirical models based on collected and stored data may generally be preferred. To adequately capture the relationships between manipulated / disturbance variables and controlled variables of a complex system, it may be preferable for the models 252 to be nonlinear. This is because nonlinear models can represent curvilinear relationships between manipulated / disturbance variables and controlled variables, rather than the linear relationships common in complex systems such as those discussed herein. Given the aforementioned requirements, machine learning, neural network, or deep learning approaches are currently preferred for implementing the models 252. For example, such models can be developed based on empirical data using sophisticated regression algorithms.
[0040] Analysis module 250 may further include optimizer 254. As will be appreciated, an optimizer may be used to minimize a "cost function," which is a mathematical representation of a desired objective or system behavior, subject to a set of constraints. Because model 252 may be nonlinear, optimizer 254 may be a nonlinear programming optimizer. However, it is contemplated that the present invention may be implemented using a variety of different types of optimization approaches, individually or in combination, including, but not limited to, linear programming, quadratic programming, mixed-integer nonlinear programming, stochastic programming, global nonlinear programming, genetic algorithms, particle / swarm techniques, and the like.
[0041] According to an example embodiment, model 252 and optimizer 254 may be used together in optimization system 255. For example, analytics module 250 may utilize optimization system 255 as part of an optimization process in which aspects of contact center performance and operations are optimized or at least improved. This may include, for example, aspects related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functionality related to automated processes.
[0042] The various components, modules, and / or servers in FIG. 2 and other figures herein may each include one or more processors that execute computer program instructions and interact with other system components to perform the various functions described herein. Such computer program instructions may be stored in memory implemented using standard memory devices. While each of the server functions is described as being provided by a particular server, it should be recognized that the functions of various servers may be combined or integrated into a single server, or that the functions of a particular server may be distributed across one or more other servers. Furthermore, the terms “interaction” and “communication” are used interchangeably and generally refer to any real-time and non-real-time interactions using any communication channel of the contact center. Access to and control of components of the contact system 200 may be affected through user interfaces (UIs) that may be generated on the customer device 205 and / or the agent device 230.
[0043] 3, the functionality and operation associated with the present invention will be discussed in accordance with an exemplary embodiment. However, before proceeding, some background on how contact centers function will be provided, as well as highlighting some exemplary operational shortcomings of traditional customer-contact center interactions that the present invention is intended to address.
[0044] Contact centers generally attempt to match the number of agents working during a specified time with expected customer call volume to prevent the contact center from becoming overloaded with customer calls, which in turn increases agent stress or anxiety and leads to customer dissatisfaction due to longer than normal or excessive wait times. Currently, contact centers generally rely on managers or supervisors (hereinafter "supervisors") to develop staffing plans. If a supervisor is experienced, i.e., if the supervisor has worked in the contact center long enough to understand and recognize fluctuations in call volume (ebb and flow) during specific events or times, the supervisor can successfully match agent staffing with call volume without causing undue confusion or chaos. Inexperienced supervisors may simply be good at matching agent staffing with customer call volume, and they may overstaff the contact center, thereby increasing labor costs, or they may understaff the contact center, thereby increasing customer hold times and causing dissatisfaction among waiting customers. Even experienced supervisors may be off the mark when attempting to staff agents for customer call volume due to the many difficult to predict or unknown variables that may occur. By way of example, some difficult to predict or unknown variables may include, but are not limited to, new product releases, seasonal events (e.g., back-to-school or holiday shopping), and changes in laws, rules, or regulations.
[0045] Cable and utility companies often handle excessive customer call volume during storms or power outages. Sometimes, these companies offer limited callback services to customers, where the customer hears an automated voice that gives them the option of remaining on hold with an agent or receiving a call back at some unknown time in the future. Typically, the automated voice informs the customer that a callback will occur based on the customer's position in the queue, which is determined by the customer's initial call. However, the customer's position in the queue is too vague to provide customers with a meaningful way to predict when a callback may occur. Interestingly, cable and utility companies are perhaps one step ahead in offering limited callback options, since most other companies, including contact centers, simply keep customers on hold for frustratingly long periods of time.
[0046] Therefore, it should be appreciated that managing fluctuations in customer call volume through agent staffing, by relying on supervisor experience or by providing limited callback services, such as cable and utility companies, is difficult because these types of solutions are too often inaccurate and inefficient. Another possible solution to the fluctuation problem is using chatbots to reduce the number of calls routed to live agents. Although chatbot technology is rapidly developing, there may be customers who are uncomfortable interacting with chatbots and other customers who only require speaking with a live agent. Therefore, a better way to handle fluctuations in customer call volume relative to agent staffing in a contact center is needed to improve the customer experience and simultaneously improve contact center efficiency.
[0047] This application proposes a method and system for managing fluctuations in customer call volume relative to agent staffing within a contact center using workforce management (WFM) and interactive voice response (IVR) routing technologies to streamline and improve customer and contact center experiences. By way of example, the proposed method and system provides transparency to customers about the best time to talk to the contact center or by offering customers various callback windows, which are defined by historical and forecasted call volume data in conjunction with forecasted staffing needs. The proposed method and system operates to change the model not only of how contact centers engage with customers, but also of when they engage with customers, and vice versa, by utilizing forecasted call volume and agent staffing availability to determine when a call or callback will best serve the customer while also improving contact center efficiency.
[0048] Referring specifically now to FIG. 3 , flowchart 300 discloses a method for synchronizing agent staffing and customer call volume in a contact center by utilizing any of the computer-implemented components, modules, or servers described in connection with FIG. 2 . By way of example, according to one embodiment of the present invention, the following steps may be performed utilizing WEM server 243 ( FIG. 2 ). In step 302, the method includes estimating the number of agents to staff the contact center during a specified future time. By way of example, the specified future time may be a future work shift in which agents need to be staffed at the contact center. Estimating the number of agents to staff the contact center during the specified future time may include receiving (e.g., uploading or transmitting) a staffing schedule for the specified future time to WEM server 243. In step 304, historical data is used to estimate the number of customer calls expected during the specified future time. In one embodiment, the historical data includes, but is not limited to, at least the number of past customer calls received by the contact center during the past time, the agent staffing during the past time, the average call length during the past time, and customer complaints during the past time. Additionally or alternatively, estimating the number of customer calls expected during a specified future time period includes determining an average call duration of customer calls received during a past time period, the specified future time period being chronologically aligned with the past time period.
[0049] At step 306, the method includes performing a first comparison of the number of agents to the customer calls expected for the specified future time. By way of example, the first comparison may determine whether the contact center is receiving too few calls for the number of agents scheduled for the specified future time, or whether it is receiving too many calls for the number of agents scheduled for the specified future time.
[0050] In step 308, based on the first comparison, the method further includes determining one or more preferred contact center callback windows within the specified future time period, where the one or more preferred contact center callback windows are selected based on overall customer call volume relative to the estimated number of agents staffed at the contact center during the specified future time period. In one embodiment of the present invention, the first comparison uses average customer call durations based on past times chronologically similar to the specified future time period. The number of identified callback windows may change throughout the work shift as some agents end or begin their work shifts, other agents leave for scheduled absences, call volume increases or decreases, or some combination thereof. Additionally or alternatively, determining preferred contact center callback windows within the specified future time period includes modifying the number of preferred contact center callback windows based on anticipated topics to be discussed between agents and customers. In the new product launch example, the most important topics may be those that agents can respond to quickly, while other topics may require longer explanations by agents or more complex interactions between agents and customers.
[0051] At step 310, the method includes communicating with the customer to request one or more preferred customer-selected callback times. In one embodiment, such communication includes interacting with the customer using written communication, oral communication, interactive voice response (IVR) communication, or some combination thereof. By way of example, the IVR communication may include providing the customer with a selectable menu of preferred contact center callback windows.
[0052] At step 312, the method includes performing a second comparison of preferred contact center callback windows to preferred customer-selected callback times. In one embodiment, the second comparison acts to match or align customer needs with contact center demands. By way of example, if preferred contact center callback windows are labeled as Windows A, B, D, and G, and preferred customer-selected callback times fall only within Windows A and D, the method identifies customer-selected callback times that occur within Windows A and D as times to be offered to the customer.
[0053] At step 314, based on the second comparison described above, the method further includes providing one or more suggested callback times to the customer. The suggested callback times are selected to synchronize the overall customer call volume with the number of agents staffed at the contact center, the preferred contact center callback window, and the preferred customer-selected callback time. Thus, the methods and systems of the present invention may operate to synchronize, optimize, and / or align these four variables to improve the customer experience and improve contact center efficiency during a specified time. Furthermore, the methods and systems of the present invention may operate to provide customers with transparency regarding the best time to call by flattening the curve of fluctuations in contact center call volume, which may beneficially minimize contact center overload and reduce customer hold times.
[0054] As will be understood by those skilled in the art, many of the various features and configurations described above in connection with certain exemplary embodiments can be further selectively applied to form other possible embodiments of the present invention. For the sake of brevity and in consideration of the capabilities of those skilled in the art, each possible iteration will not be provided or discussed in detail, but all combinations and possible embodiments encompassed by the following certain claims, or otherwise, are intended to be part of this application. Furthermore, from the above description of certain exemplary embodiments of the present invention, those skilled in the art will recognize improvements, changes, and modifications. Such improvements, changes, and modifications within the skill of those skilled in the art are also intended to be covered by the appended claims. Furthermore, the above relates only to the described embodiments of the present application, and it should be apparent that numerous changes and modifications can be made herein without departing from the spirit and scope of the present application, as defined by the following claims and their equivalents.
Claims
1. 1. A method for synchronizing agent staffing and customer call volume within a contact center, comprising: estimating the number of agents to staff the contact center during a specified future time; using historical data to estimate an expected number of customer calls during said specified future time period; performing a first comparison of the number of agents to the expected customer calls for the specified future time; determining one or more preferred contact center callback windows within the specified future time period based on the first comparison, the one or more preferred contact center callback windows being selected based on overall customer call volume relative to the estimated number of agents to staff the contact center during the specified future time period; communicating with the customer to request one or more preferred customer-selected callback times; performing a second comparison of the one or more preferred contact center callback windows and the one or more preferred customer-selected callback times; and providing the customer with one or more suggested callback times based on the second comparison, the one or more suggested callback times selected to synchronize the overall customer call volume with the number of agents staffed at the contact center, the preferred contact center callback window, and the preferred customer-selected callback time to improve the customer experience while simultaneously improving efficiency of the contact center during the specified time.
2. 2. The method of claim 1, wherein the historical data includes at least a number of past customer calls received by the contact center during a past time period, agent staffing during the past time period, average call length during the past time period, and customer complaints during the past time period.
3. 2. The method of claim 1, wherein estimating the number of agents to staff the contact center during the specified future time comprises receiving a staffing schedule for the specified future time.
4. 2. The method of claim 1, wherein estimating the number of customer calls expected during the specified future time includes determining an average call duration of customer calls received during a past time, the specified future time being chronologically aligned with the past time.
5. 2. The method of claim 1, wherein performing the first comparison between the number of agents and the expected customer calls for the specified future time includes determining whether the contact center will receive too few calls for the number of agents scheduled for the specified future time or too many calls for the number of agents scheduled for the specified future time.
6. The method of claim 5 , wherein the first comparison uses an average customer call duration based on a past time that is chronologically similar to the specified future time.
7. 2. The method of claim 1, wherein determining the one or more preferred contact center callback windows within the specified future time period comprises modifying a number of the preferred contact center callback windows based on expected topics to be discussed between the agent and the customer.
8. 10. The method of claim 1, wherein communicating with the customer to request the one or more preferred customer-selected callback times comprises interacting with the customer using written communication, oral communication, interactive voice response (IVR) communication, or any combination thereof.
9. The method of claim 8 , wherein the IVR communication includes providing the customer with a selectable menu of the preferred contact center callback windows.
10. providing the customer with one or more suggested callback times includes interacting with the customer using interactive voice response (IVR) communications; The method of claim 1 , wherein the IVR communication includes providing the customer with a selectable menu of the suggested callback times.
11. 1. A system for synchronizing agent staffing with customer call volume within a contact center, the system comprising: a database of past customer calls received by the contact center; a processor; a memory that stores instructions that, when executed by the processor, cause the processor to: determining a number of agents to staff the contact center during a specified future time; using said database of past customer calls to estimate the number of customer calls expected during said specified future time; performing a first analysis of the number of agents compared to the estimated customer calls for the specified future time; determining, based on the first analysis, one or more preferred contact center callback windows within the specified future time period, the one or more preferred contact center callback windows being selected based on overall customer call volume relative to the estimated number of agents to staff the contact center during the specified future time period; communicating with the customer to request one or more preferred customer-selected callback times; performing a second analysis of the one or more preferred contact center callback windows and the one or more preferred customer selected callback times; and providing one or more suggested callback times to the customer based on the second analysis, the one or more suggested callback times selected to synchronize the overall customer call volume with the number of agents staffed at the contact center, the preferred contact center callback window, and the preferred customer-selected callback time to improve the customer experience while simultaneously improving efficiency of the contact center during the specified future time.
12. 12. The system of claim 11, wherein communicating with the customer to request one or more preferred customer-selected callback times includes using a workforce management system to provide an automated message to the customer or using the workforce management system to provide an automated message to at least one of the agents for transmission to the customer.
13. 12. The system of claim 11, wherein providing the customer with one or more suggested callback times includes using the workforce management system to provide an automated message to the customer or using the workforce management system to provide an automated message to at least one of the agents for transmission to the customer.
14. 12. The system of claim 11, wherein providing the customer with one or more suggested callback times to simultaneously improve efficiency of the contact center includes flattening a call volume curve during the specified future time period.
15. 12. The system of claim 11, wherein the database of past customer calls includes at least a number of past customer calls received by the contact center during a past time period, agent staffing during the past time period, average call length during the past time period, and customer complaints during the past time period.
16. 12. The system of claim 11, wherein performing the first analysis includes determining whether the contact center receives too few calls for the number of agents scheduled for the specified future time or too many calls for the number of agents scheduled for the specified future time.
17. 12. The system of claim 11, wherein determining the one or more preferred contact center callback windows within the specified future time period includes modifying a number of the preferred contact center callback windows based on expected topics to be discussed between the agent and the customer.
18. 12. The system of claim 11, wherein communicating with the customer to request the one or more preferred customer-selected callback times comprises interacting with the customer using written communication, oral communication, interactive voice response (IVR) communication, or any combination thereof.
19. 20. The system of claim 18, wherein the IVR communication includes providing the customer with a selectable menu of the preferred contact center callback windows.
20. providing the customer with one or more suggested callback times includes interacting with the customer in an interactive voice response (IVR) communication; The system of claim 11 , wherein the IVR communication includes providing the customer with a selectable menu of the suggested callback times.