IP Library Granted Patent US 12,407,780
Granted Patent B2
US 12,407,780 · App. 18/309,807 · Granted Sep 2, 2025

Training modeling engines to predict contact center agent demand

Inventors: Qiumin Dong (SuZhou, CN); Periyaven Naiken Gopalla (Burlingame, CA); Tao Huang (Hangzhou, CN); Wei Ji (San Jose, CA); Nicholas Troy Johnson (Argyle, TX); Eunkyung Kim (Glendale, CA); Bilung Lee (Los Angeles, CA); Vijay Venkataswamy Parthasarathy (San Jose, CA); Amarakota Madhu Vamsi (Andhra Pradesh, IN)
Assignee: Zoom Communications, Inc.
H04M3/5238G06N20/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,407,780
App. No.
18/309,807
Granted
Sep 2, 2025
Kind
B2
Abstract

A contact center server obtains historical contact center data of a contact center by tracking contact center conditions. The contact center server trains, based on the historical contact center data, multiple modeling engines to generate agent demand data representing a number of agents working at a given time. The contact center server trains, based on the historical center contact center data and performance data of the multiple modeling engines, a combination engine to generate a combination of one or more modeling engines from the multiple modeling engines. The contact center server provides an output representing the trained combination engine and the multiple modeling engines.

Claims (47)

1. A method, comprising:

obtaining historical contact center data of a contact center by tracking contact center conditions at a contact center server;

training, based on the historical contact center data, multiple modeling engines to generate agent demand data representing a number of agents working at a given time;

training, based on the historical center contact center data and performance data of the multiple modeling engines, a combination engine to generate a combination of one or more modeling engines from the multiple modeling engines, wherein training the combination engine leverages an error metric corresponding to an error between a measured average user wait time and an average user wait time calculated based on at least one of the multiple modeling engines; and

providing an output representing the trained combination engine and the trained multiple modeling engines.

2. The method of claim 1 , comprising:

receiving an input representing a service level target, wherein training the multiple modeling engines and training the combination engine is based on the service level target, wherein the service level target represents a proportion of contact center users who are connected to a contact center agent within a given time period after requesting connection to the contact center agent.

3. The method of claim 1 , wherein the historical contact center data comprises at least one of a number of agents working, user volume data, engagement length data, contact center user wait time data, or contact center agent availability data.

4. The method of claim 1 , wherein the historical contact center data comprises a user wait time distribution and a number of agents available for a set of time ranges.

5. The method of claim 1 , comprising:

receiving a request to determine the number of agents working at a future time;

generating, using the combination engine, the combination of the one or more modeling engines from the multiple modeling engines; and

determining, using the combination of the one or more modeling engines, the number of agents working at the future time.

6. The method of claim 1 , wherein the multiple modeling engines comprise at least one of a weighted weekly moving average engine, a long short-term memory engine, or a time-series forecasting engine.

7. The method of claim 1 , comprising:

adding additional data to the historical contact center data after initially training the multiple modeling engines; and

further training the multiple modeling engines based on the additional data.

8. The method of claim 1 , wherein the multiple modeling engines include a first modeling engine that takes into account contact center conditions of previous days, a second modeling engine that takes into account contact center conditions of a same day of previous weeks, and a third modeling engine that takes into account contact center conditions of a current month of a previous year.

9. A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations comprising:

obtaining historical contact center data of a contact center by tracking contact center conditions at a contact center server;

training, based on the historical contact center data, multiple modeling engines to generate agent demand data representing a number of agents working at a given time;

training, based on the historical center contact center data and performance data of the multiple modeling engines, a combination engine to generate a combination of one or more modeling engines from the multiple modeling engines, wherein training the combination engine leverages an error metric corresponding to an error between a measured average user wait time and an average user wait time calculated based on at least one of the multiple modeling engines; and

providing an output representing the trained combination engine and the trained multiple modeling engines.

10. The computer readable medium of claim 9 , the operations comprising:

receiving an input representing a service level target, wherein training the multiple modeling engines is based on the service level target, wherein the service level target represents a proportion of contact center users who are connected to a contact center agent within a given time period after requesting connection to the contact center agent.

11. The computer readable medium of claim 9 , wherein the historical contact center data comprises at least one of a number of agents working, engagement length data, contact center user wait time data, or contact center agent availability data.

12. The computer readable medium of claim 9 , wherein the historical contact center data comprises a user wait time distribution.

13. The computer readable medium of claim 9 , the operations comprising:

receiving a request to determine the number of agents working at a future time;

generating the combination of the one or more modeling engines from the multiple modeling engines; and

determining, using the generated combination, the number of agents working at the future time.

14. The computer readable medium of claim 9 , wherein the multiple modeling engines comprise at least one of a weighted weekly moving average engine or a long short-term memory engine.

15. The computer readable medium of claim 9 , the operations comprising:

adding data to the historical contact center data after initially training the multiple modeling engines; and

further training the multiple modeling engines based on the data added to the historical contact center data.

16. An apparatus comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

obtaining historical contact center data of a contact center by tracking contact center conditions at a contact center server;

training, based on the historical contact center data, multiple modeling engines to generate agent demand data representing a number of agents working at a given time;

training, based on the historical center contact center data and performance data of the multiple modeling engines, a combination engine to generate a combination of one or more modeling engines from the multiple modeling engines, wherein training the combination engine leverages an error metric corresponding to an error between a measured average user wait time and an average user wait time calculated based on at least one of the multiple modeling engines; and

providing an output representing the trained combination engine and the trained multiple modeling engines.

17. The apparatus of claim 16 , the processor configured to execute the instructions stored in the memory to:

receive an input representing a service level target, wherein training the combination engine is based on the service level target, wherein the service level target represents a proportion of contact center users who are connected to a contact center agent within a given time period after requesting connection to the contact center agent.

18. The apparatus of claim 16 , wherein the historical contact center data comprises at least one of engagement length data, contact center user wait time data, or contact center agent availability data.

19. The apparatus of claim 16 , wherein the historical contact center data comprises a number of agents available for a set of time ranges.

20. The computer readable medium of claim 9 , wherein the combination is generated by at least one of weighted sum-based combination, model ensembling, or federation that does not modify the modeling engines and allows the modeling engines to run independently of one another and independently of the combination engine.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2023
From: DONG, QIUMIN; GOPALLA, PERIYAVEN NAIKEN; HUANG, TAO; JI, WEI; JOHNSON, NICHOLAS TROY; KIM, EUNKYUNG; LEE, BILUNG; PARTHASARATHY, VIJAY VENKATASWAMY; VAMSI, AMARAKOTA MADHU
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 063550/0310 →
Continuity (1)
Related Publication 20240364815A1 · Oct 31, 2024
References Cited (18)
US 9912813B2 · Vymenets et al. · 2018 [cited by applicant]
US 20070274502A1 · Brown · 2007 [cited by applicant]
US 20140211933A1 · Vymenets et al. · 2014 [cited by applicant]
US 20180091654A1 · Miller et al. · 2018 [cited by applicant]
US 20200334615A1 · Benjamin · 2020 [cited by examiner]
US 20210271925A1 · Yocum · 2021 [cited by examiner]
US 20220027837A1 · D'Attilio · 2022 [cited by examiner]
US 20220180276A1 · Silverman · 2022 [cited by examiner]
US 20220263703A1 · McConnell et al. · 2022 [cited by applicant]
US 20230015083A1 · Shete et al. · 2023 [cited by applicant]
AU 2021311838A1 · 2023 [cited by applicant]
What is Erlang C and how is it used for call centers? https://www.techtarget.com/searchunifiedcommunications/definition/Erlang-C, Rahul Awati, Apr. 27, 2023, 7 pages. [cited by applicant]
Medium.com, Facebook/prophet in 2023 and beyond, https://medium.com/@cuongduong_35162/facebook-prophet-n-2023-and-beyond-c5086151c138, Cuong Duong, Feb. 26, 7 pages. [cited by applicant]
Prophet, Forecasting at scale, https://facebook.github.io/prophet/, Apr. 16, 2023, 4 pages. [cited by applicant]
Predicting Demand for 311 Non-Emergency Municipal Services: An Adaptive Space-Time Kernel Approach, Li Xu, Mei-Po Kwan, Sara McLafferty, Shaowen Wang, Department of Geography and Geographic Information Science, Universi… [cited by applicant]
Google Research, Federated Learning: Collaborative Machine Learning without Centralized Training Data—Google AI Blog, Brendan McMahan and Daniel Ramage, Research Scientists, https://ai.googleblog.com/2017/04/federated-l… [cited by applicant]
IBM, What is federated learning? IBM Research Blog, Kim Martineau, https://research.ibm.com/blog/what-is-federated-learning, Aug. 24, 2022, 8 pages. [cited by applicant]
International Search Report and Written Opinion mailed on Aug. 13, 2024 in corresponding PCT Application No. PCT/US2024/026952. [cited by applicant]