CA1325686C - Method for predictive pacing of calls in a calling system - Google Patents
Method for predictive pacing of calls in a calling systemInfo
- Publication number
- CA1325686C CA1325686C CA000607111A CA607111A CA1325686C CA 1325686 C CA1325686 C CA 1325686C CA 000607111 A CA000607111 A CA 000607111A CA 607111 A CA607111 A CA 607111A CA 1325686 C CA1325686 C CA 1325686C
- Authority
- CA
- Canada
- Prior art keywords
- calls
- queue
- qmax
- call
- agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5158—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with automated outdialling systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/58—Arrangements providing connection between main exchange and sub-exchange or satellite
- H04Q3/62—Arrangements providing connection between main exchange and sub-exchange or satellite for connecting to private branch exchanges
- H04Q3/625—Arrangements in the private branch exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5175—Call or contact centers supervision arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5238—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing with waiting time or load prediction arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S379/00—Telephonic communications
- Y10S379/904—Auto-calling
Abstract
ABSTRACT OF THE DISCLOSURE
A system having calls substantially selected and dialed to customers at such a paced rate that the system will keep a group of agents at full occupancy with calls on which the system has detected voice answer. As the size of the agent group changes, this predictive pacing is adjusted so the answered calls do not have to be delayed while waiting for an available agent or agents do not have to wait for calls to become available.
TANDEM is a registered trademark of Tandem Computers, Inc.
NON STOP is a trademark of Tandem Computers, Inc.
CONTACT is a trademark of Rockwell International Corporation.
GALAXY is a registered trademark of Rockwell International Corporation.
A system having calls substantially selected and dialed to customers at such a paced rate that the system will keep a group of agents at full occupancy with calls on which the system has detected voice answer. As the size of the agent group changes, this predictive pacing is adjusted so the answered calls do not have to be delayed while waiting for an available agent or agents do not have to wait for calls to become available.
TANDEM is a registered trademark of Tandem Computers, Inc.
NON STOP is a trademark of Tandem Computers, Inc.
CONTACT is a trademark of Rockwell International Corporation.
GALAXY is a registered trademark of Rockwell International Corporation.
Description
~ &6CR047/CBPIFNL
132~6~
BACKGROUND OF THE INYENTION
The present inventlon relates in general to computer controlled outbound calling systems, and in particul~r to a system in which ~ group of agents can be kept busy with ~ minimum waiting period for any answered c~ll.
The present invention may ~e utilized in ~n environment such RS Rockwell Internation~l's G~laxy Automatic Call Distribution (ACD) system.
Three equipment groups comprise the Galsixy ACD: the digital switching network~ the voice switch interface hardware ~nd the agent and supervisor equipment.
The ~ill solid-st~te computer-controlled digital switch is the hub of the operating system. Analog volce paths are converted to ~igital si~nals and cross-connecte~i under computer control according to assignment and prlorities. Encomp~ssing the digital switch is the digltal-to-~n~log snd an~log-to-digital ch~innel bank equipment, which changes ~he ~nalog telephone signals to digital form for connection through the switch.
Conne~ted peripherzlly to this hub are the telephone trunks, the agent positions and other equipment.
Because the system operates under programmed computer con-trol, m~ny opereting options c~n be exercised by changes in pro-grsim p~r~imeters. Definition of primeiry and altern~te gates and the ~ssignment o~ trunks ~nd aigen~ positions to ~ 8~te Are made by t~ble cntries wh~ch c~n be ~lter~d ~s rapidly ~ operating .::
:. . ~ . .
,', .~ ' ~ ~ .
.
r.
~ ~SCR047/CBP/FNL
-~32~
` conditions dictate.
Incoming calls on trunks fissigned to ~ partlcul~r gate are routed in the exact order of arrival ~o ~ssoci~ted ~8ent positlons. If ~11 agents in that primsry gate are busy, calls m~y be handled by sn ~gent with h second~ry ~ssignment for that gate. A recorded voice announcement (which the c~lling party does not he~r~ identifies the origln of ~ call to the agent serving the call.
Incoming c~lls that c~nnot be hsndled immediately because ~11 agents are ~usy can be given ~n optlon~l delay announcement and placed in the incoming call queue, to be served ~s soon ~s an sgent is free. The queued c~lls ~re then ~lstributed : sequentially on ~ first-come-first serve basis. During nonpe~k calling periods, ~n agent completing ~ call is plflced ~t the 15 bottom of the call ~ssignment queue to ensure equit~ble work ] distribution ~mong ~gents. During pe~k periods when calls are waiting, the oldest call ls routed to the flrst available ~gent.
, The sgent set is ~ comp~ct, e~sy-to-use unit designed to -~ speed the handling of incoming c~lls ~nd to provlde rapid ~ccess .1 20 to supervisory ~ssist~nce when required. All sets utilize membrane switch technology, gre~tly reducing m~inten~nce bec~use the keys h~ve no movinK parts.
,, i s The master ~nd group supervisor position equipment employs control set simllar to the ~gPnt set and 8 CRT d~spl~y unit as :;
~ 25 well as a hefldsetlhandset. The supervi~or set includes fi~ l the ";i :, . .,,~
. . "~
~ 2 '~'`;' . .
,~., ". ' .,',~,~ .
, . .
,:
. .. :~ .
, ~6CR047/CBP/FNL
,_~
13256~6 functions of the agent set plus two outgolng line selectors, barge-in and monitor functions. The msster supervisor set also contains control keys to play back delay announcements and to record new announcements on the system del~y recorders.
Group supervisors monitor the opera~ing status of agents ~ssigned to the group and provide assistanee ~o the ~gents as requested. Such requests ~re dlsplayed on the CRT.
The master supervisor can monitor general system perfor-mance, ~s well as selectlvely monitor ~ndividual agent groups as desired, and can request and receive hard copy reports at any time. The master supervisor slso has ~he capability to change agent and trunk assignments by keyboard entry on the CRT.
Rockwell has, in addition to the Gfllaxy ACD which functions as described ln the previous p~ragraphs, an ad~unct system to the Galaxy ACD call~d the Gslaxy Contact System for MarXeting.
The Tandem Non Stop computer is the heart of the Cont~ct System wh1ch is ~he Galaxy Database ~ppl~cat~ons System for inboundtoutbound call man~gement. Like the Galaxy, the Tandem Non Stop architecture flssures continuous operation of application programs.
The b~sic Tandem Non Stop system contains two Call Processor Units (CPU's). Expansion of the system ~s achieved by ~ddin8 CPU's, cabinets, disk units and peripheral h~rdware to serve edditional CRT's as required. This modul~r growth is ~ccomplished with~n slots in the cabinets until ~hey are full.
:; .' ' ' ~ ' ' ~ . -.~, . . . . .
` ' , : . . - , . .
,~: ' ........... . .,. . :
. ~6CR047/CBP/FNL
-` ~32~6~
When ~his occurs, Another cablnet i~ ~dded. Four CPU's can be pl~ced in one cabinet, and there can be a total of $our CPU
cabinets in a system.
Just as in the Galaxy ACD, ~11 critic~l Tandem Non Stop components are replic~ted, partlcularly the processors, memory ~nd busses, wi~h all prooessors dolng useful, independent work.
:; A small portion of each processor's c~pacity is used to maint~in a backup of the other processor's activity. In the event one processor fails, the other processor lmmediately tskes over ~o continue oper~tions.
In ~dditlon to providing extremely f~st response times to the d~t~, e~ch disk drive on the Tandem Non Stop c~n b~
individu~lly replaced while the unit is online ~nd oper~ting.
Each disX unit has du~l disX controllers so that additional redundancy is again provided at this level of service.
The CRT's used in this system ~re Tandem's model 6526. The ~erminal has a 14-inch, non-glare, green phosphor screen. The CRT's are connected to the system with controller hardw&re th~t assures redundancy throughout, to achieve high reliability.
'' . . ..
~.
~3 :.~ 4 i.
'.-....... ' .
, ~ .
. ~. ..
':''' .
., . .
i32~6 . SUMMARY OF ~HE INVENTION
The present invention involves a system having calls autom~tically selected and dialed to customers at such a paced rate that the system will keep a group o~ agents at S nearly ~ull occupancy with calls on which the system has detected voice answers. As the size of the agent group :
changes, thi~ predictive pacing is adjusted so that answered ~ calls do not have to be annoyingly delayed while waiting for ;~ an available agent because the pacing rate is too high, nor , 10 do agents have to wait often ~or calls to become available because the pacing rate is too low.
- In accordance with an embodiment of the invention, .` a method o~ automatically selecting and dialing customer " ,. .
telephones at a paced rate and keeping a plurality of agent lS stations at full occupancy, is comprised of providing a , database containing telephone numbers to be called, .:, providing a computer for controlling the pacing of telephone J numbers to be called connected to the database, providing an ,:, ! automatic call distribution system for dialing the telephone , 20 numbers and establishing connection to the customer ;. telephone and connected to the`~computer, providing a :~ plurality of agent stations connected to the computer and to , the automatic call distribution system, determining the t maximum number, K, of calls to be in progress at any one timel initiating a new call only when there are less than K
.~, calls existing.
~ , , . . . .
' ' . ~, . :
:. ~ ., , . : , .
~ ~6CR047/CBP/FNL
: .
` ` ~32~6'~
BRIEF DESCRIPTION OF THE DRAWINGS
The features of the present invention which ~re belleved to be novel, ~re set forth wlth particul~rlty in the appended claims. The invention, together with further obJeets ~nd ~dv&ntRges, may best be understood by reference to the following description taken in con~unction with the ~ccompanying drawing, in the seversl $igures of which llke reference numerals identify :~ like elements, ~nd in which:
FIG. 1 is a general block diagr~m o~ ~ system implementing the method of the present invention.
~' :
., , . ., :.
, I
,.. ~;, . :
" .' "~' ' ~ ~6CR047/CBP/FNL
~ 3 ~
DESCRIPTION OF THE PREFERRED EMBODIMENT
The present ~nvention has general applicablllty but is most advantageously utili~ed in Rockwell International's G~laxy Contact System for MarXeting. An overview of this system will now be described.
The G~l~xy Cont~ct System for Marketing ls an integrated series of computer progr~ms designed to provide a business with a technique for conducting, m~naging, ~nd analyzing sales ~nd mar-.. . .
keting promotions. It is a complete telemarke~ng system runnlng on the Tandem Non Stop computer and integr~ted wlth the Galaxy ACD
10 for both inbound ~nd outbound c~lling. A d~ta link between the Tandem Non Stop computer and the Gal~xy provides for in~ormation exchange between the two systems. It automatlc~lly m~tches in bound calls to scripts so ~h~t call st~rtup time ls reduced and call personAl~2~tion can occur. Outbound Qutodi~ling with both 15 scheduled ~nd c~mpaign c~lling ls provided so that the c~ll volume can be incre~sed by eliminating Agent di~ling time and errors.
The G~laxy ContPct System for Marketing is ~ fully featured telemarketing software p~ck~ge lnte~r~ted wi~h the ~nbound and outbound calllng features ~f the Galaxy ACD. The system is 20 written in COBOL ~nd is designed to run on ~ multi-processor Tandem Non Stop computer~` The fault tolerance, rel~tional database, and on-line-transaction process~ng capabil~t~es of the Tandem computer ~re used to provide expandsbility and fast response for all applicQtions.
,", .
, ~ ~ . . . . .
:~ , . . : . - -, , ' ' , .
.:', ', . `
.
,~ .
~ ~6CR047/CBP/FNL
132~
, The Galaxy Contact System for Msrketing utilizes agent-and-system-controlled autodialing, extended DNIS, and trunk-to-agent ~ssignment fe~tures of the GalAxy ACD. Agent log-on with reconfigurfltion ch~nges, log-off~ ~nd ~gent available and un~vailable s~ate control are also implemented to interface with the Galaxy ACD.
The Galaxy Cont~ct System for Marketing pack~ge interfsc~s to the Galaxy ACD by way of the G~1AXY Cont~ct System Distributor software. This software is a prerequisite for the Galaxy Contact System for Marketing p~ckage. The Galsxy Cont~ct System Distributor software provides the data line protocol and the data message interfæce between the Galaxy ACD and ~pplication programs on the Tan~em Non Stop such as the Galaxy Cont~ct System for Marketlng.
On-line commands are provlded to cover all phases of system operstions so that offline processing is not required. A
multitude of reports ~re provided so that the performance of the ~gents, system, media, csmpaigns, and scrlpt org~nization can be ænalyzed for improvement steps. And flnally, the system is menu- and ~unction-key driven so that it is easy and en~oyable to use, thus le~ding to employee satisfaction and resultant `- productlvity increa~es~
.:.
' ~ 8 , ~, . .
~ .
',~ ' ' ' ' ' . . . .
. ~ 66CR047/CBP/FNL
~3256~
.
The system functions ~re those cap~bilities relsted to the support of the Galaxy Con~act System for Marketlng.
Several functlons within the Galsxy Contact System for Msrketing fsll lnto the system e~tegory. One of these is the control of ~ccess to the system festures by operators ~nd agents. Access $s allowed ~nd privileges are alloc~ted at log on, based upon the person's identifier and psssword. This lnformation 1~ validated and if access is allowed, then the associated security level is used to provide a selection menu.
Multiple levels of security are provlded.
ccess to functions is by selection menus and ~he use of func~ion keys. Function Xeys are provided to step ~hrough menus progressively and also to make a full ~ump to selected functions re~ardle~s of the current operation.
15The c~ll processing functlons handle the autom~tic : scheduling ~nd rescheduling of outbound cslls for preassigned .';
~gents and for the automatic presentation of scheduled cslls based on call priori~y and oall back date and time. The present invention provides a novel predictive p~slng algorithm for use ,~ 20 in outbound call processing.
The scrlpt management function provides for on-line : creation, nodlfication and deletion of scripts. Scripts are the ; instruction presented to the ~gent for his/her conversation wlth ,;, .. . --. ~ ~ , ,~ , . ..
, ,. : : -. 8SCR047/GBP/FNL
132~6~
BACKGROUND OF THE INYENTION
The present inventlon relates in general to computer controlled outbound calling systems, and in particul~r to a system in which ~ group of agents can be kept busy with ~ minimum waiting period for any answered c~ll.
The present invention may ~e utilized in ~n environment such RS Rockwell Internation~l's G~laxy Automatic Call Distribution (ACD) system.
Three equipment groups comprise the Galsixy ACD: the digital switching network~ the voice switch interface hardware ~nd the agent and supervisor equipment.
The ~ill solid-st~te computer-controlled digital switch is the hub of the operating system. Analog volce paths are converted to ~igital si~nals and cross-connecte~i under computer control according to assignment and prlorities. Encomp~ssing the digital switch is the digltal-to-~n~log snd an~log-to-digital ch~innel bank equipment, which changes ~he ~nalog telephone signals to digital form for connection through the switch.
Conne~ted peripherzlly to this hub are the telephone trunks, the agent positions and other equipment.
Because the system operates under programmed computer con-trol, m~ny opereting options c~n be exercised by changes in pro-grsim p~r~imeters. Definition of primeiry and altern~te gates and the ~ssignment o~ trunks ~nd aigen~ positions to ~ 8~te Are made by t~ble cntries wh~ch c~n be ~lter~d ~s rapidly ~ operating .::
:. . ~ . .
,', .~ ' ~ ~ .
.
r.
~ ~SCR047/CBP/FNL
-~32~
` conditions dictate.
Incoming calls on trunks fissigned to ~ partlcul~r gate are routed in the exact order of arrival ~o ~ssoci~ted ~8ent positlons. If ~11 agents in that primsry gate are busy, calls m~y be handled by sn ~gent with h second~ry ~ssignment for that gate. A recorded voice announcement (which the c~lling party does not he~r~ identifies the origln of ~ call to the agent serving the call.
Incoming c~lls that c~nnot be hsndled immediately because ~11 agents are ~usy can be given ~n optlon~l delay announcement and placed in the incoming call queue, to be served ~s soon ~s an sgent is free. The queued c~lls ~re then ~lstributed : sequentially on ~ first-come-first serve basis. During nonpe~k calling periods, ~n agent completing ~ call is plflced ~t the 15 bottom of the call ~ssignment queue to ensure equit~ble work ] distribution ~mong ~gents. During pe~k periods when calls are waiting, the oldest call ls routed to the flrst available ~gent.
, The sgent set is ~ comp~ct, e~sy-to-use unit designed to -~ speed the handling of incoming c~lls ~nd to provlde rapid ~ccess .1 20 to supervisory ~ssist~nce when required. All sets utilize membrane switch technology, gre~tly reducing m~inten~nce bec~use the keys h~ve no movinK parts.
,, i s The master ~nd group supervisor position equipment employs control set simllar to the ~gPnt set and 8 CRT d~spl~y unit as :;
~ 25 well as a hefldsetlhandset. The supervi~or set includes fi~ l the ";i :, . .,,~
. . "~
~ 2 '~'`;' . .
,~., ". ' .,',~,~ .
, . .
,:
. .. :~ .
, ~6CR047/CBP/FNL
,_~
13256~6 functions of the agent set plus two outgolng line selectors, barge-in and monitor functions. The msster supervisor set also contains control keys to play back delay announcements and to record new announcements on the system del~y recorders.
Group supervisors monitor the opera~ing status of agents ~ssigned to the group and provide assistanee ~o the ~gents as requested. Such requests ~re dlsplayed on the CRT.
The master supervisor can monitor general system perfor-mance, ~s well as selectlvely monitor ~ndividual agent groups as desired, and can request and receive hard copy reports at any time. The master supervisor slso has ~he capability to change agent and trunk assignments by keyboard entry on the CRT.
Rockwell has, in addition to the Gfllaxy ACD which functions as described ln the previous p~ragraphs, an ad~unct system to the Galaxy ACD call~d the Gslaxy Contact System for MarXeting.
The Tandem Non Stop computer is the heart of the Cont~ct System wh1ch is ~he Galaxy Database ~ppl~cat~ons System for inboundtoutbound call man~gement. Like the Galaxy, the Tandem Non Stop architecture flssures continuous operation of application programs.
The b~sic Tandem Non Stop system contains two Call Processor Units (CPU's). Expansion of the system ~s achieved by ~ddin8 CPU's, cabinets, disk units and peripheral h~rdware to serve edditional CRT's as required. This modul~r growth is ~ccomplished with~n slots in the cabinets until ~hey are full.
:; .' ' ' ~ ' ' ~ . -.~, . . . . .
` ' , : . . - , . .
,~: ' ........... . .,. . :
. ~6CR047/CBP/FNL
-` ~32~6~
When ~his occurs, Another cablnet i~ ~dded. Four CPU's can be pl~ced in one cabinet, and there can be a total of $our CPU
cabinets in a system.
Just as in the Galaxy ACD, ~11 critic~l Tandem Non Stop components are replic~ted, partlcularly the processors, memory ~nd busses, wi~h all prooessors dolng useful, independent work.
:; A small portion of each processor's c~pacity is used to maint~in a backup of the other processor's activity. In the event one processor fails, the other processor lmmediately tskes over ~o continue oper~tions.
In ~dditlon to providing extremely f~st response times to the d~t~, e~ch disk drive on the Tandem Non Stop c~n b~
individu~lly replaced while the unit is online ~nd oper~ting.
Each disX unit has du~l disX controllers so that additional redundancy is again provided at this level of service.
The CRT's used in this system ~re Tandem's model 6526. The ~erminal has a 14-inch, non-glare, green phosphor screen. The CRT's are connected to the system with controller hardw&re th~t assures redundancy throughout, to achieve high reliability.
'' . . ..
~.
~3 :.~ 4 i.
'.-....... ' .
, ~ .
. ~. ..
':''' .
., . .
i32~6 . SUMMARY OF ~HE INVENTION
The present invention involves a system having calls autom~tically selected and dialed to customers at such a paced rate that the system will keep a group o~ agents at S nearly ~ull occupancy with calls on which the system has detected voice answers. As the size of the agent group :
changes, thi~ predictive pacing is adjusted so that answered ~ calls do not have to be annoyingly delayed while waiting for ;~ an available agent because the pacing rate is too high, nor , 10 do agents have to wait often ~or calls to become available because the pacing rate is too low.
- In accordance with an embodiment of the invention, .` a method o~ automatically selecting and dialing customer " ,. .
telephones at a paced rate and keeping a plurality of agent lS stations at full occupancy, is comprised of providing a , database containing telephone numbers to be called, .:, providing a computer for controlling the pacing of telephone J numbers to be called connected to the database, providing an ,:, ! automatic call distribution system for dialing the telephone , 20 numbers and establishing connection to the customer ;. telephone and connected to the`~computer, providing a :~ plurality of agent stations connected to the computer and to , the automatic call distribution system, determining the t maximum number, K, of calls to be in progress at any one timel initiating a new call only when there are less than K
.~, calls existing.
~ , , . . . .
' ' . ~, . :
:. ~ ., , . : , .
~ ~6CR047/CBP/FNL
: .
` ` ~32~6'~
BRIEF DESCRIPTION OF THE DRAWINGS
The features of the present invention which ~re belleved to be novel, ~re set forth wlth particul~rlty in the appended claims. The invention, together with further obJeets ~nd ~dv&ntRges, may best be understood by reference to the following description taken in con~unction with the ~ccompanying drawing, in the seversl $igures of which llke reference numerals identify :~ like elements, ~nd in which:
FIG. 1 is a general block diagr~m o~ ~ system implementing the method of the present invention.
~' :
., , . ., :.
, I
,.. ~;, . :
" .' "~' ' ~ ~6CR047/CBP/FNL
~ 3 ~
DESCRIPTION OF THE PREFERRED EMBODIMENT
The present ~nvention has general applicablllty but is most advantageously utili~ed in Rockwell International's G~laxy Contact System for MarXeting. An overview of this system will now be described.
The G~l~xy Cont~ct System for Marketing ls an integrated series of computer progr~ms designed to provide a business with a technique for conducting, m~naging, ~nd analyzing sales ~nd mar-.. . .
keting promotions. It is a complete telemarke~ng system runnlng on the Tandem Non Stop computer and integr~ted wlth the Galaxy ACD
10 for both inbound ~nd outbound c~lling. A d~ta link between the Tandem Non Stop computer and the Gal~xy provides for in~ormation exchange between the two systems. It automatlc~lly m~tches in bound calls to scripts so ~h~t call st~rtup time ls reduced and call personAl~2~tion can occur. Outbound Qutodi~ling with both 15 scheduled ~nd c~mpaign c~lling ls provided so that the c~ll volume can be incre~sed by eliminating Agent di~ling time and errors.
The G~laxy ContPct System for Marketing is ~ fully featured telemarketing software p~ck~ge lnte~r~ted wi~h the ~nbound and outbound calllng features ~f the Galaxy ACD. The system is 20 written in COBOL ~nd is designed to run on ~ multi-processor Tandem Non Stop computer~` The fault tolerance, rel~tional database, and on-line-transaction process~ng capabil~t~es of the Tandem computer ~re used to provide expandsbility and fast response for all applicQtions.
,", .
, ~ ~ . . . . .
:~ , . . : . - -, , ' ' , .
.:', ', . `
.
,~ .
~ ~6CR047/CBP/FNL
132~
, The Galaxy Contact System for Msrketing utilizes agent-and-system-controlled autodialing, extended DNIS, and trunk-to-agent ~ssignment fe~tures of the GalAxy ACD. Agent log-on with reconfigurfltion ch~nges, log-off~ ~nd ~gent available and un~vailable s~ate control are also implemented to interface with the Galaxy ACD.
The Galaxy Cont~ct System for Marketing pack~ge interfsc~s to the Galaxy ACD by way of the G~1AXY Cont~ct System Distributor software. This software is a prerequisite for the Galaxy Contact System for Marketing p~ckage. The Galsxy Cont~ct System Distributor software provides the data line protocol and the data message interfæce between the Galaxy ACD and ~pplication programs on the Tan~em Non Stop such as the Galaxy Cont~ct System for Marketlng.
On-line commands are provlded to cover all phases of system operstions so that offline processing is not required. A
multitude of reports ~re provided so that the performance of the ~gents, system, media, csmpaigns, and scrlpt org~nization can be ænalyzed for improvement steps. And flnally, the system is menu- and ~unction-key driven so that it is easy and en~oyable to use, thus le~ding to employee satisfaction and resultant `- productlvity increa~es~
.:.
' ~ 8 , ~, . .
~ .
',~ ' ' ' ' ' . . . .
. ~ 66CR047/CBP/FNL
~3256~
.
The system functions ~re those cap~bilities relsted to the support of the Galaxy Con~act System for Marketlng.
Several functlons within the Galsxy Contact System for Msrketing fsll lnto the system e~tegory. One of these is the control of ~ccess to the system festures by operators ~nd agents. Access $s allowed ~nd privileges are alloc~ted at log on, based upon the person's identifier and psssword. This lnformation 1~ validated and if access is allowed, then the associated security level is used to provide a selection menu.
Multiple levels of security are provlded.
ccess to functions is by selection menus and ~he use of func~ion keys. Function Xeys are provided to step ~hrough menus progressively and also to make a full ~ump to selected functions re~ardle~s of the current operation.
15The c~ll processing functlons handle the autom~tic : scheduling ~nd rescheduling of outbound cslls for preassigned .';
~gents and for the automatic presentation of scheduled cslls based on call priori~y and oall back date and time. The present invention provides a novel predictive p~slng algorithm for use ,~ 20 in outbound call processing.
The scrlpt management function provides for on-line : creation, nodlfication and deletion of scripts. Scripts are the ; instruction presented to the ~gent for his/her conversation wlth ,;, .. . --. ~ ~ , ,~ , . ..
, ,. : : -. 8SCR047/GBP/FNL
2~i6g~
the customer. Scripts c~n be upd~ted during the convers~tion.
The system allows for up to 1000 scripts. Each scrlpt begins with a main firs~ lev~l wlth up ~o 99 lines of text. From the m~in script, branching to nlne subscripts can occur by the use of func~ion keys. Each subscript c~n ~gain branch to nine ~urther subscripts. This can continue in turn for eight levels. The function key choices with the description associ~ted with each is script ~nd subscript dependent. The us~ge of ~ny of these keys during script execution is autom~tic~lly tot~led end can be printed for ~n~lysis ~nd statistical purpvses.
Scripts are assigned to c~mpaiæns, DNIS numbers or trunk - identific~tions, and for def~ult situ~tions wi~h inbound calls when DNIS or trunk identifications are not provided.
15Unlque multlple campaigns c~n be construc~ed from the ; d~tabase of customer/prospect records~ The system 2110ws Up to l 9999 camp~igns to be d~fined. Once the selection criteria, such ., as "equal to" or "gre~ter than" is speci~ied for the desired data elements for ~ c~mpaign, then the system se~rches the data base for sll records satisfying the selection. Speclfic form letters And product brochures c~n be assigned to the c~mpaign.
During the executlon of the c~mpalgn, the ~gent can enter sales history ~nd notes lnto the cu~tomer/prospect record ~n addition to entering other key inform~tion. The apprspriate ,. ~
`'1 : .
, .~ :
-.. ~, ,, :
..
~ , '~ ' , ~' ' ~ ~ 86CR0471CBP/FNL
32~g~
.: ~
~orm letter(s) can be selected ~nd notes added. The system will automstlcally fill ln key information in the form letter to customize it for the customer/prospect.
M~ss m~ilings can be performed w~th the system. The supervisor mus~ de~ine the campaign ~nd select the letters (up to three per run) ~nd brochures (up to three per run). During the dslly call f~le bu~ld run, ths letters, labels an~ brochure selections will be queued for prin~ing.
A~ent Functions 10An sgent must successfully log onto the system before work cæn begin. The log-on requires personal identifiers for security on the TRndem Non Stop and agent performance on the Galaxy ACD. The extension number for the agent console must - also be entered. This information ~s validsted and sent to the : 15 Galaxy ACD along with the configuration data (assignments to ~' ~upervisor, information group and gateQ).
:~ An a8ent who has successfully logged onto the system ls I then presented a m~ster menu of functions svailable to the agent. From this menu, the ~gen~ who h&s speclfic cllents c3n 20 select to review the calls scheduled for the d~y. The system ; presents the scheduled calls to the agent's CRT screen. The ~ sgent can then inactivute selected calls for the d~y. These . .
c811s are ~hen rescheduled automatically for ~he next day.
After the preYiew session, the agent can select to begin call . : ~ . . . . .
, .: ~ .
. : ' : . . ..
,. . .
: : ~
.. . . . .
: 86CR047/CBPtFNL
~ 13~6~
proc2ssing of all the scheduled calls or to make a speclfic call. To make ~ specific c~11, the agent selects that menu option ~nd then selects the customerJprospect on the screen.
The agent then presses the DIAL funct~on key to have the c~ll ~utom~tlc~lly di~led.
~; If the agent does not have specific clients to call or is finished wi~h the scheduled calls, then the ~gent could elect to 8 lnto the eold/csmpaign calling mod~. In this mode th~ agent would wait for an inbound eall or ~ system-generated c~mpaign call. The processing with respect to the agent is ~lmost the same for both of these types of calls. The script ~ssoci~ted with the call type is presented to the agent upon connection of , ., the inbound call, If the call type csnnot be identified from ,-; the incoming digits on the trunk, i.e., unde~ined DNIS number, then ~ menu of ~vailsble camp~igns ls presented, ~nd the agent , is ~llowed to pick the most appropri~te.
;~ The ~gent uses function keys to progress through the scr~pt ~nd to ex~t from it to do call wrap-up. During wr~p-up, letters c~n be selected ~nd customized with up to 180 characters of ~-` 20 text. The system ~utomatically fills in other optional inform~tion, such ~s the date, t~me, salutstion, ~nd address, to . personali~e ~he letter.
SuPervisor_Functions . The cupervisor functions are protected from un~uthorized access by nonsupervisors at the time of logglng-on the system by ~.
. .
:. : ' : ~;, .' ' . .
:.-, , , j ' '-: .' , :, . .
~ S6CR047/CBP/FNL
~ ~32~6 the seeurity level intern~lly ~sslgned to the indlv~du~l. The individu~l successfully loggin~-on with ~ccess to supervisor ~ functions c~n ~lso perform ~gent functlons ~s well ~s the : exclusive supervisor functions. The master menu presented offers both agent and supervisor functions.
The supervisor is responsible for d~tabase management, report ~ener~t~ons, campsign ~nd script m~n~gement, ~nd c~ll pacing control. The supervisor csn rapidly ~ccess these functions through menu selections with function keys. The d~tab~se m~n~gement functions include customer/prospect record ~ddition, deletion ~nd modification beyond that allowed to the a~ents. This ~lso covers other databases, such ~s media ; analysls, f~eld rep and ~gent files, ~nd the configuration ~ssignments with respect to the Galaxy ACD for the ~gents.
A measure of the quality of ~ system is the v~riety and quantity of reports provided to the user. The Galaxy Contact System for Marketing provides a multitude of reports, ~11 menu selectable. The reports provide the inform~tion necessary to .~
ev~luate agent and system perform~nce, script orgRniz~tion, survey ~otals, s~les volumes, medi~ impact, field rep perform~nce, dat~bsse content and others.
For inst3nt~neous performance informfltion rel~tlve to ~n : ~gent, c~mpaign or the system, there are sever~l on-line dlsplays which c~n be requested to be displ~yed on the supervisor's screen. These displ~ys show a sn~pshot . .1 ,, ;`''.' . .~ , .
~ .
- : ~
:
. ~ Q6CR047/CBP/FNL
~ ~32~
` ..
of the st~tus; they are not upd~ted ln reAl time.
CA11- Pacin~
The novel call pacing m~nagement func~ions are provide~ for ~: system-controlled outbound calling with the Galaxy ACD. The S supervisor utilizes the call p~cing displ~y and update screen to ctiv~te and deac~ivate call p~cing. The supervisor specifies the ACD gate ~queue ~or a group of agents) for every new campaign. Once set up, in~ividual c~mpaigns can be activ~ted, temporarily deactlv~ted or removed from the system. The supervisor c~n use the ACD system g~te status display snd the ~; progress displ~y for informativn to be used in deciding how to .~ ad~ust the call rate.
A camp~ign which is ~ctivated for system-controlled ; ~utodi~ling will be ~utom~tic~lly controlled by the system.
:~. 15 C~lls will be sent to the Galaxy ACD at the pac~ng rate set by the system. A c~ll sent to the ACD for autodialing cont~ins the 10-digit phone number, the ACD gate number, ~nd the first, middle and last n~me of the person being called. The n~mes are :
dlsplayed for the ~gent at the time the call is connected to the ~gent if the op~ional Individual St~tion Displey Unit is imple-mented on the Gal~xy ACD. A c~ll whlch is detected ~or answer will be assigned to the first available agent ln the g~te.
Calls which sre del~yed may rece~Ye ~eco~dings ~nd music. When the agent is ~ssigned, the agen~ assignment and call identifi-cation are sent to the Tandem Non Stop for the Galaxy Contact ~i 14 :
, . . . . :
~: .
.
~ ~6CR047tCBP/FNL
132~6 System for Marketlng so th~t the customer/prospect record screen can be plaeed be~ore the agent. If ~ problem such ~s no ~nswer, :
busy, all trunks busy, or reorder tone 1s encounte~ed while placingthe C811, then the ACD in~orms ~he Tandem Non Stop ~nd GQlaxy 5 Contact System for M~rketlng. The Contact System will either requeue the call for retry After ~11 other scheduled calls or remove it from the calling 11st ~nd fl~g it ~s ~ problem. The supervisor c~n specify for esch problem condition whether retry or requeueing should be done if a problem is encountered.
The G~l~xy Contsct System for Marketlng requires 8 T~ndem Non Stop computer with ~ CRT termin~l for each ~gent. The number ~nd type of Tandem CPU's, disk and controllers, CPU memory, and I/O
interfaces to the CRT's all pl~y a part in the response t~me ; equation. The response time to be guaranteed, system loc~tion and 15 growth requirements ~11 have a p~rt in determining the conflgurat~on oE the Tandem Non Stop computer.
One of the m~or issues f~cing the designer of fl fully automated outbound dialing system is the problem o~ call pacingi that is, determining the r~te ~t which new c~ should be dialed 20 so that available g~te servers typic~lly such ~s agents, but also o~her devices such as ~nnouneers and recorders, are efficlently utilized while cslled psrties are not sub~ected to unacceptable delsys. The present invention provides an algorithm which may be ` u~ed to resolve the pac~ng issue.
In defining the algorithm, ~ssumptions h~ve been msde about :`
: .
; , ; 365R047tCBP/~NL
~ ~32~6~6 the environment surrounding the solution. The solution is assumed to be lmplemented on ~ tel~phone system c~pable of autom~tic c~ll distribu~ion ~equivalent to the Rockwell Galaxy ACD), interacting wlth a database system such as the T~ndem Non 5 Stop compu~er ss shown in FIG. 1. The c~ll pacing algorithm is envisloned ~s being ~ set of softw~re routines comprising a program execu~ing on a Tandem Non Stop computer 10 linked to an option~l dat~base computer 12 ~nd providing instructions to the ACD 14. This program will be c~lled the p~cer. The ob~ective of this pacing ~lgorithm is to initi~te new outgoing calls ~t a rate which minimizes the aver~ge delay in queue while msximizing the agent 16 utilization.
The telephone system used comprised of the ACD 14, is assumed to h~ve cert~in function~lity, including the c~p~bility of interacting with the datsb~se system 10, 12, the ~bility to route ~nd place outbound c~lls, to detect ~oice ~nswer, ~nd to place the resulting completed c~lls into a queue (g~te) for servicing. The inter~ction with the det~bsse system 10, 12, must include, as a minimum, the following:
20 1) The ~bility to accept di~ling instructlon~ from the database system 10, 12, and to notify the dat~base system 10, 12, of the results of ~he dial request, including inform~tion regarding the resulting system conne~tion. The dialing instructions should include lnform~tlon regarding the desired queue into which the call is to be placed, ~s ~ ` ~6CR0471CBP/FNL
~ 1~2~
well as un identifylng seri~l number or sequence designation by which the indlvidual dial reques~ may be referenced in ter communications.
-` 2) The ~bility to supply the dat~b~se system 10, 12, with inform~tion regsrding the connectlon of incoming and outgoing call-~, the st~tus of individu~l ~gents 16 ln the system, and the i stAte of the system queues, so that the d~tab~se system 10, 12, has ~n ~ccur~te current pioture of conditions within the ACD 14.
; The basic model is that the database system has ~ list of c~lls ~e.g. ~ campaign) to be placed ~hrough the ACD 14. These calls, when answered, will be pl~ced ln ~ queue and then routed to ~n ~gent 16 when Avsilable. For purposes of the model, all c~lls will always be routed to the same queue, with routing to second~ry ~' queues assumed to be very infrequent. The combin~tlonal effects :~. 15 of multiple c&mpaigns in a single queue are ~ssumed to be minimal, so ~hat they ~ppear ~o be a single campalgn. I~ is ~ slmpl~
extension to have multiple csmpalgns if each is ~ssigned to .. different queues.
~s, The method of call p~cing offers sever~l posi~ive fe~tures ~o `~ 20 the system designer. First, the method is capable of achieving a ~ zero maximum del~y ln queue. This may be ~ desir~ble oper~ting .~ strategy ln certaln end-user applications or in c~ses of extremely small numbers (1-5) of agen~s 16. Second, the number of c~lls beln~ h~ndled ls ~lw~ys limlted to an upper v~lue, so thfit adverse .
: .~
~' :,~ .: . .. . .
:, .
. ::
: -. '.: : : - . -.~ , .
~ 132~
: dis~ribution situ~tlons are ~voided which cause l~rge queues to form. Third, ~he pacing ~lgorithm sd~usts the pscing rate to schieve the desired del~y in queue, automatically ~ccountlng for differences ln ~verQge cflll setup t~mes ~nd ~vers~e ~gent holding times which will vsry from one c~mp~ign to ~nother. The ~d~ustments to the p~cing rate keep ~he aver~ge delay in queue at the desired value. Fourth, the p~cing algorithm also accounts for the number of ~gents participating in ~he c~mp~ign. If agents are . diver~ed to othPr work or are ~dded, ~he p~cing algorithm ~d~usts the ra~e ~o keep the aver~ge delay in queue ~t ~he desired value.
: Fin~lly~ calls m~y be p~ced with a large ~gent group to ~rhieve ne~rly 100% ~gent utilization while maint~ining &n ~ccept~bly small delay in queue.
The oper~ing procedure for the pacer is to deliver new calls to the ACD 14 so that the totsl number of c~lls being m~naged by the ACD is kept ~t ~ const~nt number. The value of this const~nt number determines the pacing r~te and the aver~ge del~y ~n queue.
;. C~lls being managed by the ACD 14 fall into one of three c~tegories:
~0 A) CQ11S in the process of being set-up, including route selection, trunk selection, dlaling, ~nd tone (ringback, bu~y, reorder, tri-tone, etc.) or voice ~nswer de~ectlon.
~) Calls ln queue, ~walting ~n ~vail~ble ~gent 16.
C) Cslls connected ~o an ~gent 16.
,:
:;
:`, .
.', ' , .
'' ' ' :, :
. . .
.. . .
.. . .
. " ' ' '' ' ,'. ~ ' ~ . , .
~ ~32~3~
:
The p~cer strlves to keep the tot~l of 211 calls in these c~tegories a constant K. At the beginning of the calling session, the pacer will initiate calls unt~l K diel requests ~re in ; progress by the ACD 14. If a di~l request is report~d by the ACD
5 14 to have f~lled during call set-up, a new dial request is initiflted. Simil~rly, if a call ls abandoned from queue, or when the sgent ~6 disconneets, new c~lls Qre initiated. Thls process is continued until the end of the session, when new calls are ceased ~ltogether.
. 10 The p~cer operates to calcul~te a value for K which will achieve the ob~ect~ve of controlling the delay in queue from c311 answer by the c~lled psr~y to c~ ssignment to an ~gent 16. The pPcer periodically ~d~usts the value of K from real-time call st~tistics supplied by ~he ACD 14 and from par~meters supplied by . 15 the system sup~rvisor.
''' CALL PACING CALCULATION ROUTINES
The Galaxy Contact System for Marketing contalns two ma~or c811 pacing routines, CALC and ALGO. Message tr~fic between 'these pscing routines and the ACD p~sses through the Communica-: ~O tlons Oriented Process (COP). This process transl~tes messages , ~nd ~lso maintains integrity ~nd st~tus.
The calcul~tlon rou~ine (CALC) maint~ns operational dat~, .:computes sverages, ~nd passes par~meter v~lues to the ALGO
routine. The ~ctivity within CALC requlred to satisfy ehch of '';~
~ 19 .
:;
.
~ '.
~ ' " ~ ~ ... .
:, :
~86CR047/CBP/FNL
~ ~32~
these functions ls controlled by the parameters recelved ut run time ~nd the specific processlng required for e~ch type of system ; mess~ge.
-~ A11 system mess&ges passed to C~LC generate updates to the 5 da~ set controlled by CALC. Additionally, the processing of di~1 ; rel~ted system mess~ges alwsys results in par~meters being passed to the ALGO routine.
:
PROCESSING ACTIVITY
: 10 The processing within CALC oan be logic~lly defi~ed ~s common ; oper~tions ~nd a set of three interdependent processlng modes, the St~rtup, the ~veraging, and the Ste~dy St~te modes. The set of p~r~me~ers passed to the ALGO routine is fixed, i.~. does not vary with processing ~ctivity. However, the specific v~lue of each of :;
:~ 15 the p~rameters p~ssed will change as CALC's processing mode ch~n~es.
The common processing sctlvities within CALC include m~inten-,,~
~nce of the extended memory bu~fer ~nd specific proce~sing vari-~bles. The vari~bles, or counts, include the number of c~lls in 20 setup, the number of calls in queue, ~nd the number of c~lls at ., .
agents. The SIGN-IN, AGENT ~VAILABLE, TRUNK-TO-A~E~T GONNECT, flnd SIGN OUT dRt~ mess~ges which ~re received from the ~CD are used to ,upd~e entrics in the extended memory bu~fer ~nd to est~blish the ;'.v~lue of the maximum number of ~gen~s work~ng, the se~tlng of the ;~25 processing indicdtor switch, DOKAY, ~nd to update the count of the :`~ 2~
;
. ~, . . . .
~ ~ , ':
:, . .
.. , , , . . , ,. - - ., .
~ ` 13~6~
i number ~f c811s ~ ~gents. The CALL DIALED AND QUEUED d~t~
message from the ACD is used to upd~t~ the number of c~lls in queue and the number of cRlls in setup. The output from the ~LGO routine i~ used ~o upd~te the value of the number of c~lls in setup. Note that the ~um~er of ~gents working snd the DOKAY
switch setting ~re key values ~n ALGO's processing after the ~ystem reache~ ste~dy ~tate. Simple sddi~ion and subtraction ~re used to update the c~ll disposi~ion counts ~s the messages `. are processed by CALC.
The first processlng mode, oper~tion~l mode switch v~lue of 0, ls known as st~rtup mode. In this mode, the data messages of importance ~re the AGENT AVAILABLE9 the SI~N OUT, and the : CALL DIALED ~ND QUEUED messages. Each time the AVAILABLE
mess~ge is received the memory buffer wlll be searched. I$ the message is from an ~gen~ not yet in the buffer, the ~gent count variable TOT~ENT will be increased by one snd the agen~'s ID
will be entered in the buffer. If the agent ID ls in the buffer, the message will be ignored. When a SIGN OUT mess~ge is processed for a known ~gent, and the ~gent's ID is in ~he buffer, the value of ~he ~gent count will be decre~sed by one . snd the buffer entry deleted. As e~ch CALL DIALED AND QUEUED
mess~ge is received, CALC will lncrement the diel request counter v~ri~ble DREQCNT by one. When the value of DREQCNT
reaches twice the v~lue of TOTGENT, the vAlue of the mode switch will be changed to 1 ~nd the ~verRglng switch will be set to !
'`, ~' ~..
..
.~,. ~ . , : ~ - t , ,','~' : . . ~ ' i 3 2 ~
true lndicating the end of startup mode activity.
The s~cond mode of oper~tion, operational mode swi~ch value equal to 1, is knnwn 8S ~ver~ging mode. In thls mode all messages are significant. Since none of the data needed for ~veraging ~s cont~1ned within the messages received, the CALC
routine stores intermedi~te vslues, mainly tlme st~mps, in the ; extended memory buffer. As AGENT AVAILABLE or SIGN OUT mess~ges : ~re processed the c~ll length vRriables are updated. In :~ ~ddltion, the total agent count end the extended memory buffer will be upd~ted ~s described in st~rtup processing. Each time a di~l message is received by CALC the ~veraglng counter variable ~ DOAVECNT will be incremented by one. Then the d~t~ accumulator varl~bles specific to ~ach dlsl message type will be upd~ted.
The specific processing o~ di~l type messsges is described in ~he computing averages subsection. When the value of DOAVECNT
. re&ches 100, the averages for c~ll setup time, Aver~ge queue .~ time, ~nd c~ll hold time will be extr~cted from the ~ppropriate :
:, field in the mess~ge from the COP, the number of working agents : will be ~sslgned to the control v~ri~ble CHNGCNT, ~nd the DOKAY
switch will be set t~ true. In ~ddition, the operational mode , ~witch v~lue wlll be changed to 2, the averaglng swi~ch will be `. ~et to f~lse, ~nd the steady st~te switch will be set ~o true, indicatlng the end of aver~ging mode activity.
The ~hird mode, oper~eion~l sw~tch value equ~l ~o 2, ls i~;
( 25 known 8S steady st~te mode. Once the CALC routine re~ches ~ .
~; 22 .
.
.
.. ..
:- . . . . .
d : ' - ' . - . ' , .
.
'"' ' ' ~, ' ' :' ' ." ' ''' ~32~6~
steady st~te operation, the only items of import~nce ~re the : tot~l number of sgents snd the total number of c~lls in the system. These parameters ~re the only values th~t are not held const~nt ln steady state. The AGENT AVAILABLE and SIGN OUT data messages Rre processed as previously described to upd~te the totel ~gent count, ~nd additionally, to set the DOKAY switch to true when the difference between the number of ~gents working and the vslue of CHNGCNT is 5 or more. The C~LC routine wlll remain in steady state mode until the progr~m is stopped.
PASSING VALUES
The specific value of each vari&ble passed ~o the ~LGO
: routine is controlled by the current setting, true or false, of the steady state switch v~riable STDYSTAT.
If the value of STDYSTAT is false, not at ste~dy state, the v~lue of all the p~rameters p~ssed will be zero (O) except for the value of the number of ~v~ ble ~gents. The current ,~ ~vailable agent count will be passed to ALGO.
: If the value of STDYSTAT is truep at steady state, the value of ~11 the parsmeters p~ssed will be equal to their computed and current v~lues.
. "
COMPUTING AVERAGES
The COP process will accumulate the data required ~o compute sverages for use by the CALG routine only when the ., .
:j .~.
.': ` : ' . , : :. ' . ~ ,, -. . .
:
,:
. -:.,:: -.. . .
. .
~ 32~
logic~l v~lue of the DOAVE switch is true And the value ofDOAVECNT is less thRn 100. An extended memory buffe~, cont~ining two tables, is required to compute the aver~ge setup time, the ~verage queue time, and the sverage call length values.
The data in the first table is used to compute the setup time and queue time vari~bles. This d~t~ is keyPd to the C~LL SERIAL
NUMBER field in ~he DIAL REQUEST messa~e~ Data in the second ~ble is used to computs the c~ll leng~h. The data in this table is linked to the AGENT ID ~ield in the 10 AGENT AVAILABLE snd SIGN OUT messages.
; When ~ copy of a DIAL REQUEST mess~ge is received, ~n entry in the $irst table will be cre~ted cont~ining the call seri~l number ~nd a timestamp. When the CALL DIALED and QUEUED mess~ge is received, the correspondin~ REQUEST entry will be found and the 15 ~verage setup time variables will be updated. A timestsmp will be added to the table which represents ~he beginning of the queue time.
When a TRUN~ ABANDONED mess~ge is received, the matching CALL
QUEUED entry will be found, in the first t~ble, and the queue time 20 variables will be upd~ted. The entry will then be purged rom the ' t~ble.
If ~n AGENT CONNECTED message ls received, ~he queue time values will be updated, ~nd the second t~ble will be se~rched for a m~tch with the agen~'s ID. When found, the entry ln the first 25 t~ble will be deleted ~nd thP entry in the second ~ble w111 be , ~ 24 , . .
: ~ . . ' ' ' ' .
; ~ , , .
, ., :
~ ~ 32~
upd ted with dat~ from the first t~ble entry plus ~ tlmestamp.
The Additional timest~mp represen~s the beginning of the call length time.
Fin~lly, when ei~her ~n AGENT AVAILABLE or SIGN OUT msssage S is rec~ived, the m~tching CONNECTED entry wlll be ~und in the second table dnd the Rver~ge call length var1dbles w~ll be updated. The entry will then be purged from the t~ble.
The averA~es will be ealculated once at the end of averaging mode. ~y convention, three vari~bles will be used for . 10 each of the ALGO parameters defined to be ~n ~ver~ge. The value ;~ for each of the ~ver~ged parameters w~ll be computed in ~he ~ following m~nner: SXXAVE = SXXTOT/SXXCNT
:.` The prefix (S) identifies the v~riable as ~ parameter ~..
passed in steady state oper~tion. The suffix tCNT) denotes the number of times the item was updated for ~veraging. The suffix (TOT) lndicates the sum of the updates to the item. The suffix - (AVE) denotes the computed aver~ge $or the item.
, .
.~ MAINTAINING D~TA
.~: 20 The tot~l d~t~ set mQint~ined by CALC, for u~e by the ALGO
.l routine, c~n be logieally divided into three groups. The groups are nsmed for the relative time tha~ the d~t~ is acquired or used. The first group ldentif~es the startup data values, the . second identifies the pre ste~dy st~te v~lues, ~nd the third contains the post ste~dy st~te variAbles.
i :~!
: ., ....
~ 25 . . .
;
. . . . .
. ...
., .
~, . .
.. .
. ,.
~;., . , .
~ -:..;.
~32~
STARTUP
* Oper~tionsl Mode Switch (OPMODESW) * M~ximum Time Permitted In Queue (MAXPQT) * Expected M~ximum Number o~ Agents (EXPMNAG) PRE STEADY STATE
* Average Que Time (PQTAVE) * Aver~ge Setup Time (PSTAVE~
* Average C&ll Length (PCLAVE) * Number of Calls in Queue (PNCQC~T) * Number of C~lls ~t Agents (PNCACNT) Number of Agents Avail~ble (PN MCNT) * Maximum Number of Calls in System (PMNCSCNT) POST STEADY STATE
* Re-compute constan~ switch (DOKAY) ~ 15 * Computed Aver~ge Queue Time (SQTAVE) -'. * Count of Updates to Queue Time (SQTCNT) * Value of Upd~tes to Queue Time (SQTTOT) `, * Computed Aver~ge Setup Time (SSTAVE) , * Count of Upd~tes to Setup Time (SSTTOT) ~ Computed Avereg~ Call Length (SCL~VE) * Count of Upd~tes to C~ll Length (SCLCNT) * Value of Upd~te~ to Call Length (SCLTOT) `:j * Number of C~lls in Queue (SNCQCNT) ', * Number of CR11S 1n SetUP (SNCSCNT) ~5 ~ Number of C~lls ~t ~gents (SNCACNT) * Number of Agents Av~ ble (SNAACNT~
. * M~ximum Number of Calls ln System (SMNCSCNT) ! 26 ., . , ~ , .
,', - . .
~. .
~" ~
86CR047/CBP/FNL 1~ 2 5 6 ALGORITHM ROUTINE
The ALGO routine contains two related types of computational ~ctivity. The flrst is used to eompute the desired constant number of messAges ~K) for the pacing sy~tem. The second produces the incrementRl number of mess~ges ~DR) required to m~int~in the ,~
5 system mess~e count ~t the desired level.
' COMPUTING K
The code needed to compute the value of K, the constant number of calls within the system, h~s been divided into three phaises. ALGO will perform the computation for K each time CALC
10 sets the DOKAY switch to true. After K has been recomputed, the switrh will be reset to f~lse.
Phase one ls the most involved part of the caloulation of K.
In this ph~se two par~llel comput~tions are performed which, at oonvergence, yield the value of the sver3ge delay in queue ~nd the 15 value of the rate of agent call connection. The first comput~tion 1 is coded as ~ straight line evaluation which provldes the v~lue of -, RATEA. The second computatton ls coded QS ~n iterative loop and ; provtdes the ~lue of RATEB. A lookup t~ble evalu~es ~ RATEA*SSTAVE (see below) if ~he ~bsolute value of RATEA*SSTAVE is ;~ 20 10 or less. If the v~lue is gre~ter th~n 10, the integer and fr~ctlon~l components w1ll be evQluated ~eparQtely. Then the two ~.~, results are multiplied together ~nd the sum divided in~o one. The ~ comput~tlons ~re linked in th~t the flrst supplles a tri~l value .~
:~' . .
..~
the customer. Scripts c~n be upd~ted during the convers~tion.
The system allows for up to 1000 scripts. Each scrlpt begins with a main firs~ lev~l wlth up ~o 99 lines of text. From the m~in script, branching to nlne subscripts can occur by the use of func~ion keys. Each subscript c~n ~gain branch to nine ~urther subscripts. This can continue in turn for eight levels. The function key choices with the description associ~ted with each is script ~nd subscript dependent. The us~ge of ~ny of these keys during script execution is autom~tic~lly tot~led end can be printed for ~n~lysis ~nd statistical purpvses.
Scripts are assigned to c~mpaiæns, DNIS numbers or trunk - identific~tions, and for def~ult situ~tions wi~h inbound calls when DNIS or trunk identifications are not provided.
15Unlque multlple campaigns c~n be construc~ed from the ; d~tabase of customer/prospect records~ The system 2110ws Up to l 9999 camp~igns to be d~fined. Once the selection criteria, such ., as "equal to" or "gre~ter than" is speci~ied for the desired data elements for ~ c~mpaign, then the system se~rches the data base for sll records satisfying the selection. Speclfic form letters And product brochures c~n be assigned to the c~mpaign.
During the executlon of the c~mpalgn, the ~gent can enter sales history ~nd notes lnto the cu~tomer/prospect record ~n addition to entering other key inform~tion. The apprspriate ,. ~
`'1 : .
, .~ :
-.. ~, ,, :
..
~ , '~ ' , ~' ' ~ ~ 86CR0471CBP/FNL
32~g~
.: ~
~orm letter(s) can be selected ~nd notes added. The system will automstlcally fill ln key information in the form letter to customize it for the customer/prospect.
M~ss m~ilings can be performed w~th the system. The supervisor mus~ de~ine the campaign ~nd select the letters (up to three per run) ~nd brochures (up to three per run). During the dslly call f~le bu~ld run, ths letters, labels an~ brochure selections will be queued for prin~ing.
A~ent Functions 10An sgent must successfully log onto the system before work cæn begin. The log-on requires personal identifiers for security on the TRndem Non Stop and agent performance on the Galaxy ACD. The extension number for the agent console must - also be entered. This information ~s validsted and sent to the : 15 Galaxy ACD along with the configuration data (assignments to ~' ~upervisor, information group and gateQ).
:~ An a8ent who has successfully logged onto the system ls I then presented a m~ster menu of functions svailable to the agent. From this menu, the ~gen~ who h&s speclfic cllents c3n 20 select to review the calls scheduled for the d~y. The system ; presents the scheduled calls to the agent's CRT screen. The ~ sgent can then inactivute selected calls for the d~y. These . .
c811s are ~hen rescheduled automatically for ~he next day.
After the preYiew session, the agent can select to begin call . : ~ . . . . .
, .: ~ .
. : ' : . . ..
,. . .
: : ~
.. . . . .
: 86CR047/CBPtFNL
~ 13~6~
proc2ssing of all the scheduled calls or to make a speclfic call. To make ~ specific c~11, the agent selects that menu option ~nd then selects the customerJprospect on the screen.
The agent then presses the DIAL funct~on key to have the c~ll ~utom~tlc~lly di~led.
~; If the agent does not have specific clients to call or is finished wi~h the scheduled calls, then the ~gent could elect to 8 lnto the eold/csmpaign calling mod~. In this mode th~ agent would wait for an inbound eall or ~ system-generated c~mpaign call. The processing with respect to the agent is ~lmost the same for both of these types of calls. The script ~ssoci~ted with the call type is presented to the agent upon connection of , ., the inbound call, If the call type csnnot be identified from ,-; the incoming digits on the trunk, i.e., unde~ined DNIS number, then ~ menu of ~vailsble camp~igns ls presented, ~nd the agent , is ~llowed to pick the most appropri~te.
;~ The ~gent uses function keys to progress through the scr~pt ~nd to ex~t from it to do call wrap-up. During wr~p-up, letters c~n be selected ~nd customized with up to 180 characters of ~-` 20 text. The system ~utomatically fills in other optional inform~tion, such ~s the date, t~me, salutstion, ~nd address, to . personali~e ~he letter.
SuPervisor_Functions . The cupervisor functions are protected from un~uthorized access by nonsupervisors at the time of logglng-on the system by ~.
. .
:. : ' : ~;, .' ' . .
:.-, , , j ' '-: .' , :, . .
~ S6CR047/CBP/FNL
~ ~32~6 the seeurity level intern~lly ~sslgned to the indlv~du~l. The individu~l successfully loggin~-on with ~ccess to supervisor ~ functions c~n ~lso perform ~gent functlons ~s well ~s the : exclusive supervisor functions. The master menu presented offers both agent and supervisor functions.
The supervisor is responsible for d~tabase management, report ~ener~t~ons, campsign ~nd script m~n~gement, ~nd c~ll pacing control. The supervisor csn rapidly ~ccess these functions through menu selections with function keys. The d~tab~se m~n~gement functions include customer/prospect record ~ddition, deletion ~nd modification beyond that allowed to the a~ents. This ~lso covers other databases, such ~s media ; analysls, f~eld rep and ~gent files, ~nd the configuration ~ssignments with respect to the Galaxy ACD for the ~gents.
A measure of the quality of ~ system is the v~riety and quantity of reports provided to the user. The Galaxy Contact System for Marketing provides a multitude of reports, ~11 menu selectable. The reports provide the inform~tion necessary to .~
ev~luate agent and system perform~nce, script orgRniz~tion, survey ~otals, s~les volumes, medi~ impact, field rep perform~nce, dat~bsse content and others.
For inst3nt~neous performance informfltion rel~tlve to ~n : ~gent, c~mpaign or the system, there are sever~l on-line dlsplays which c~n be requested to be displ~yed on the supervisor's screen. These displ~ys show a sn~pshot . .1 ,, ;`''.' . .~ , .
~ .
- : ~
:
. ~ Q6CR047/CBP/FNL
~ ~32~
` ..
of the st~tus; they are not upd~ted ln reAl time.
CA11- Pacin~
The novel call pacing m~nagement func~ions are provide~ for ~: system-controlled outbound calling with the Galaxy ACD. The S supervisor utilizes the call p~cing displ~y and update screen to ctiv~te and deac~ivate call p~cing. The supervisor specifies the ACD gate ~queue ~or a group of agents) for every new campaign. Once set up, in~ividual c~mpaigns can be activ~ted, temporarily deactlv~ted or removed from the system. The supervisor c~n use the ACD system g~te status display snd the ~; progress displ~y for informativn to be used in deciding how to .~ ad~ust the call rate.
A camp~ign which is ~ctivated for system-controlled ; ~utodi~ling will be ~utom~tic~lly controlled by the system.
:~. 15 C~lls will be sent to the Galaxy ACD at the pac~ng rate set by the system. A c~ll sent to the ACD for autodialing cont~ins the 10-digit phone number, the ACD gate number, ~nd the first, middle and last n~me of the person being called. The n~mes are :
dlsplayed for the ~gent at the time the call is connected to the ~gent if the op~ional Individual St~tion Displey Unit is imple-mented on the Gal~xy ACD. A c~ll whlch is detected ~or answer will be assigned to the first available agent ln the g~te.
Calls which sre del~yed may rece~Ye ~eco~dings ~nd music. When the agent is ~ssigned, the agen~ assignment and call identifi-cation are sent to the Tandem Non Stop for the Galaxy Contact ~i 14 :
, . . . . :
~: .
.
~ ~6CR047tCBP/FNL
132~6 System for Marketlng so th~t the customer/prospect record screen can be plaeed be~ore the agent. If ~ problem such ~s no ~nswer, :
busy, all trunks busy, or reorder tone 1s encounte~ed while placingthe C811, then the ACD in~orms ~he Tandem Non Stop ~nd GQlaxy 5 Contact System for M~rketlng. The Contact System will either requeue the call for retry After ~11 other scheduled calls or remove it from the calling 11st ~nd fl~g it ~s ~ problem. The supervisor c~n specify for esch problem condition whether retry or requeueing should be done if a problem is encountered.
The G~l~xy Contsct System for Marketlng requires 8 T~ndem Non Stop computer with ~ CRT termin~l for each ~gent. The number ~nd type of Tandem CPU's, disk and controllers, CPU memory, and I/O
interfaces to the CRT's all pl~y a part in the response t~me ; equation. The response time to be guaranteed, system loc~tion and 15 growth requirements ~11 have a p~rt in determining the conflgurat~on oE the Tandem Non Stop computer.
One of the m~or issues f~cing the designer of fl fully automated outbound dialing system is the problem o~ call pacingi that is, determining the r~te ~t which new c~ should be dialed 20 so that available g~te servers typic~lly such ~s agents, but also o~her devices such as ~nnouneers and recorders, are efficlently utilized while cslled psrties are not sub~ected to unacceptable delsys. The present invention provides an algorithm which may be ` u~ed to resolve the pac~ng issue.
In defining the algorithm, ~ssumptions h~ve been msde about :`
: .
; , ; 365R047tCBP/~NL
~ ~32~6~6 the environment surrounding the solution. The solution is assumed to be lmplemented on ~ tel~phone system c~pable of autom~tic c~ll distribu~ion ~equivalent to the Rockwell Galaxy ACD), interacting wlth a database system such as the T~ndem Non 5 Stop compu~er ss shown in FIG. 1. The c~ll pacing algorithm is envisloned ~s being ~ set of softw~re routines comprising a program execu~ing on a Tandem Non Stop computer 10 linked to an option~l dat~base computer 12 ~nd providing instructions to the ACD 14. This program will be c~lled the p~cer. The ob~ective of this pacing ~lgorithm is to initi~te new outgoing calls ~t a rate which minimizes the aver~ge delay in queue while msximizing the agent 16 utilization.
The telephone system used comprised of the ACD 14, is assumed to h~ve cert~in function~lity, including the c~p~bility of interacting with the datsb~se system 10, 12, the ~bility to route ~nd place outbound c~lls, to detect ~oice ~nswer, ~nd to place the resulting completed c~lls into a queue (g~te) for servicing. The inter~ction with the det~bsse system 10, 12, must include, as a minimum, the following:
20 1) The ~bility to accept di~ling instructlon~ from the database system 10, 12, and to notify the dat~base system 10, 12, of the results of ~he dial request, including inform~tion regarding the resulting system conne~tion. The dialing instructions should include lnform~tlon regarding the desired queue into which the call is to be placed, ~s ~ ` ~6CR0471CBP/FNL
~ 1~2~
well as un identifylng seri~l number or sequence designation by which the indlvidual dial reques~ may be referenced in ter communications.
-` 2) The ~bility to supply the dat~b~se system 10, 12, with inform~tion regsrding the connectlon of incoming and outgoing call-~, the st~tus of individu~l ~gents 16 ln the system, and the i stAte of the system queues, so that the d~tab~se system 10, 12, has ~n ~ccur~te current pioture of conditions within the ACD 14.
; The basic model is that the database system has ~ list of c~lls ~e.g. ~ campaign) to be placed ~hrough the ACD 14. These calls, when answered, will be pl~ced ln ~ queue and then routed to ~n ~gent 16 when Avsilable. For purposes of the model, all c~lls will always be routed to the same queue, with routing to second~ry ~' queues assumed to be very infrequent. The combin~tlonal effects :~. 15 of multiple c&mpaigns in a single queue are ~ssumed to be minimal, so ~hat they ~ppear ~o be a single campalgn. I~ is ~ slmpl~
extension to have multiple csmpalgns if each is ~ssigned to .. different queues.
~s, The method of call p~cing offers sever~l posi~ive fe~tures ~o `~ 20 the system designer. First, the method is capable of achieving a ~ zero maximum del~y ln queue. This may be ~ desir~ble oper~ting .~ strategy ln certaln end-user applications or in c~ses of extremely small numbers (1-5) of agen~s 16. Second, the number of c~lls beln~ h~ndled ls ~lw~ys limlted to an upper v~lue, so thfit adverse .
: .~
~' :,~ .: . .. . .
:, .
. ::
: -. '.: : : - . -.~ , .
~ 132~
: dis~ribution situ~tlons are ~voided which cause l~rge queues to form. Third, ~he pacing ~lgorithm sd~usts the pscing rate to schieve the desired del~y in queue, automatically ~ccountlng for differences ln ~verQge cflll setup t~mes ~nd ~vers~e ~gent holding times which will vsry from one c~mp~ign to ~nother. The ~d~ustments to the p~cing rate keep ~he aver~ge delay in queue at the desired value. Fourth, the p~cing algorithm also accounts for the number of ~gents participating in ~he c~mp~ign. If agents are . diver~ed to othPr work or are ~dded, ~he p~cing algorithm ~d~usts the ra~e ~o keep the aver~ge delay in queue ~t ~he desired value.
: Fin~lly~ calls m~y be p~ced with a large ~gent group to ~rhieve ne~rly 100% ~gent utilization while maint~ining &n ~ccept~bly small delay in queue.
The oper~ing procedure for the pacer is to deliver new calls to the ACD 14 so that the totsl number of c~lls being m~naged by the ACD is kept ~t ~ const~nt number. The value of this const~nt number determines the pacing r~te and the aver~ge del~y ~n queue.
;. C~lls being managed by the ACD 14 fall into one of three c~tegories:
~0 A) CQ11S in the process of being set-up, including route selection, trunk selection, dlaling, ~nd tone (ringback, bu~y, reorder, tri-tone, etc.) or voice ~nswer de~ectlon.
~) Calls ln queue, ~walting ~n ~vail~ble ~gent 16.
C) Cslls connected ~o an ~gent 16.
,:
:;
:`, .
.', ' , .
'' ' ' :, :
. . .
.. . .
.. . .
. " ' ' '' ' ,'. ~ ' ~ . , .
~ ~32~3~
:
The p~cer strlves to keep the tot~l of 211 calls in these c~tegories a constant K. At the beginning of the calling session, the pacer will initiate calls unt~l K diel requests ~re in ; progress by the ACD 14. If a di~l request is report~d by the ACD
5 14 to have f~lled during call set-up, a new dial request is initiflted. Simil~rly, if a call ls abandoned from queue, or when the sgent ~6 disconneets, new c~lls Qre initiated. Thls process is continued until the end of the session, when new calls are ceased ~ltogether.
. 10 The p~cer operates to calcul~te a value for K which will achieve the ob~ect~ve of controlling the delay in queue from c311 answer by the c~lled psr~y to c~ ssignment to an ~gent 16. The pPcer periodically ~d~usts the value of K from real-time call st~tistics supplied by ~he ACD 14 and from par~meters supplied by . 15 the system sup~rvisor.
''' CALL PACING CALCULATION ROUTINES
The Galaxy Contact System for Marketing contalns two ma~or c811 pacing routines, CALC and ALGO. Message tr~fic between 'these pscing routines and the ACD p~sses through the Communica-: ~O tlons Oriented Process (COP). This process transl~tes messages , ~nd ~lso maintains integrity ~nd st~tus.
The calcul~tlon rou~ine (CALC) maint~ns operational dat~, .:computes sverages, ~nd passes par~meter v~lues to the ALGO
routine. The ~ctivity within CALC requlred to satisfy ehch of '';~
~ 19 .
:;
.
~ '.
~ ' " ~ ~ ... .
:, :
~86CR047/CBP/FNL
~ ~32~
these functions ls controlled by the parameters recelved ut run time ~nd the specific processlng required for e~ch type of system ; mess~ge.
-~ A11 system mess&ges passed to C~LC generate updates to the 5 da~ set controlled by CALC. Additionally, the processing of di~1 ; rel~ted system mess~ges alwsys results in par~meters being passed to the ALGO routine.
:
PROCESSING ACTIVITY
: 10 The processing within CALC oan be logic~lly defi~ed ~s common ; oper~tions ~nd a set of three interdependent processlng modes, the St~rtup, the ~veraging, and the Ste~dy St~te modes. The set of p~r~me~ers passed to the ALGO routine is fixed, i.~. does not vary with processing ~ctivity. However, the specific v~lue of each of :;
:~ 15 the p~rameters p~ssed will change as CALC's processing mode ch~n~es.
The common processing sctlvities within CALC include m~inten-,,~
~nce of the extended memory bu~fer ~nd specific proce~sing vari-~bles. The vari~bles, or counts, include the number of c~lls in 20 setup, the number of calls in queue, ~nd the number of c~lls at ., .
agents. The SIGN-IN, AGENT ~VAILABLE, TRUNK-TO-A~E~T GONNECT, flnd SIGN OUT dRt~ mess~ges which ~re received from the ~CD are used to ,upd~e entrics in the extended memory bu~fer ~nd to est~blish the ;'.v~lue of the maximum number of ~gen~s work~ng, the se~tlng of the ;~25 processing indicdtor switch, DOKAY, ~nd to update the count of the :`~ 2~
;
. ~, . . . .
~ ~ , ':
:, . .
.. , , , . . , ,. - - ., .
~ ` 13~6~
i number ~f c811s ~ ~gents. The CALL DIALED AND QUEUED d~t~
message from the ACD is used to upd~t~ the number of c~lls in queue and the number of cRlls in setup. The output from the ~LGO routine i~ used ~o upd~te the value of the number of c~lls in setup. Note that the ~um~er of ~gents working snd the DOKAY
switch setting ~re key values ~n ALGO's processing after the ~ystem reache~ ste~dy ~tate. Simple sddi~ion and subtraction ~re used to update the c~ll disposi~ion counts ~s the messages `. are processed by CALC.
The first processlng mode, oper~tion~l mode switch v~lue of 0, ls known as st~rtup mode. In this mode, the data messages of importance ~re the AGENT AVAILABLE9 the SI~N OUT, and the : CALL DIALED ~ND QUEUED messages. Each time the AVAILABLE
mess~ge is received the memory buffer wlll be searched. I$ the message is from an ~gen~ not yet in the buffer, the ~gent count variable TOT~ENT will be increased by one snd the agen~'s ID
will be entered in the buffer. If the agent ID ls in the buffer, the message will be ignored. When a SIGN OUT mess~ge is processed for a known ~gent, and the ~gent's ID is in ~he buffer, the value of ~he ~gent count will be decre~sed by one . snd the buffer entry deleted. As e~ch CALL DIALED AND QUEUED
mess~ge is received, CALC will lncrement the diel request counter v~ri~ble DREQCNT by one. When the value of DREQCNT
reaches twice the v~lue of TOTGENT, the vAlue of the mode switch will be changed to 1 ~nd the ~verRglng switch will be set to !
'`, ~' ~..
..
.~,. ~ . , : ~ - t , ,','~' : . . ~ ' i 3 2 ~
true lndicating the end of startup mode activity.
The s~cond mode of oper~tion, operational mode swi~ch value equal to 1, is knnwn 8S ~ver~ging mode. In thls mode all messages are significant. Since none of the data needed for ~veraging ~s cont~1ned within the messages received, the CALC
routine stores intermedi~te vslues, mainly tlme st~mps, in the ; extended memory buffer. As AGENT AVAILABLE or SIGN OUT mess~ges : ~re processed the c~ll length vRriables are updated. In :~ ~ddltion, the total agent count end the extended memory buffer will be upd~ted ~s described in st~rtup processing. Each time a di~l message is received by CALC the ~veraglng counter variable ~ DOAVECNT will be incremented by one. Then the d~t~ accumulator varl~bles specific to ~ach dlsl message type will be upd~ted.
The specific processing o~ di~l type messsges is described in ~he computing averages subsection. When the value of DOAVECNT
. re&ches 100, the averages for c~ll setup time, Aver~ge queue .~ time, ~nd c~ll hold time will be extr~cted from the ~ppropriate :
:, field in the mess~ge from the COP, the number of working agents : will be ~sslgned to the control v~ri~ble CHNGCNT, ~nd the DOKAY
switch will be set t~ true. In ~ddition, the operational mode , ~witch v~lue wlll be changed to 2, the averaglng swi~ch will be `. ~et to f~lse, ~nd the steady st~te switch will be set ~o true, indicatlng the end of aver~ging mode activity.
The ~hird mode, oper~eion~l sw~tch value equ~l ~o 2, ls i~;
( 25 known 8S steady st~te mode. Once the CALC routine re~ches ~ .
~; 22 .
.
.
.. ..
:- . . . . .
d : ' - ' . - . ' , .
.
'"' ' ' ~, ' ' :' ' ." ' ''' ~32~6~
steady st~te operation, the only items of import~nce ~re the : tot~l number of sgents snd the total number of c~lls in the system. These parameters ~re the only values th~t are not held const~nt ln steady state. The AGENT AVAILABLE and SIGN OUT data messages Rre processed as previously described to upd~te the totel ~gent count, ~nd additionally, to set the DOKAY switch to true when the difference between the number of ~gents working and the vslue of CHNGCNT is 5 or more. The C~LC routine wlll remain in steady state mode until the progr~m is stopped.
PASSING VALUES
The specific value of each vari&ble passed ~o the ~LGO
: routine is controlled by the current setting, true or false, of the steady state switch v~riable STDYSTAT.
If the value of STDYSTAT is false, not at ste~dy state, the v~lue of all the p~rameters p~ssed will be zero (O) except for the value of the number of ~v~ ble ~gents. The current ,~ ~vailable agent count will be passed to ALGO.
: If the value of STDYSTAT is truep at steady state, the value of ~11 the parsmeters p~ssed will be equal to their computed and current v~lues.
. "
COMPUTING AVERAGES
The COP process will accumulate the data required ~o compute sverages for use by the CALG routine only when the ., .
:j .~.
.': ` : ' . , : :. ' . ~ ,, -. . .
:
,:
. -:.,:: -.. . .
. .
~ 32~
logic~l v~lue of the DOAVE switch is true And the value ofDOAVECNT is less thRn 100. An extended memory buffe~, cont~ining two tables, is required to compute the aver~ge setup time, the ~verage queue time, and the sverage call length values.
The data in the first table is used to compute the setup time and queue time vari~bles. This d~t~ is keyPd to the C~LL SERIAL
NUMBER field in ~he DIAL REQUEST messa~e~ Data in the second ~ble is used to computs the c~ll leng~h. The data in this table is linked to the AGENT ID ~ield in the 10 AGENT AVAILABLE snd SIGN OUT messages.
; When ~ copy of a DIAL REQUEST mess~ge is received, ~n entry in the $irst table will be cre~ted cont~ining the call seri~l number ~nd a timestamp. When the CALL DIALED and QUEUED mess~ge is received, the correspondin~ REQUEST entry will be found and the 15 ~verage setup time variables will be updated. A timestsmp will be added to the table which represents ~he beginning of the queue time.
When a TRUN~ ABANDONED mess~ge is received, the matching CALL
QUEUED entry will be found, in the first t~ble, and the queue time 20 variables will be upd~ted. The entry will then be purged rom the ' t~ble.
If ~n AGENT CONNECTED message ls received, ~he queue time values will be updated, ~nd the second t~ble will be se~rched for a m~tch with the agen~'s ID. When found, the entry ln the first 25 t~ble will be deleted ~nd thP entry in the second ~ble w111 be , ~ 24 , . .
: ~ . . ' ' ' ' .
; ~ , , .
, ., :
~ ~ 32~
upd ted with dat~ from the first t~ble entry plus ~ tlmestamp.
The Additional timest~mp represen~s the beginning of the call length time.
Fin~lly, when ei~her ~n AGENT AVAILABLE or SIGN OUT msssage S is rec~ived, the m~tching CONNECTED entry wlll be ~und in the second table dnd the Rver~ge call length var1dbles w~ll be updated. The entry will then be purged from the t~ble.
The averA~es will be ealculated once at the end of averaging mode. ~y convention, three vari~bles will be used for . 10 each of the ALGO parameters defined to be ~n ~ver~ge. The value ;~ for each of the ~ver~ged parameters w~ll be computed in ~he ~ following m~nner: SXXAVE = SXXTOT/SXXCNT
:.` The prefix (S) identifies the v~riable as ~ parameter ~..
passed in steady state oper~tion. The suffix tCNT) denotes the number of times the item was updated for ~veraging. The suffix (TOT) lndicates the sum of the updates to the item. The suffix - (AVE) denotes the computed aver~ge $or the item.
, .
.~ MAINTAINING D~TA
.~: 20 The tot~l d~t~ set mQint~ined by CALC, for u~e by the ALGO
.l routine, c~n be logieally divided into three groups. The groups are nsmed for the relative time tha~ the d~t~ is acquired or used. The first group ldentif~es the startup data values, the . second identifies the pre ste~dy st~te v~lues, ~nd the third contains the post ste~dy st~te variAbles.
i :~!
: ., ....
~ 25 . . .
;
. . . . .
. ...
., .
~, . .
.. .
. ,.
~;., . , .
~ -:..;.
~32~
STARTUP
* Oper~tionsl Mode Switch (OPMODESW) * M~ximum Time Permitted In Queue (MAXPQT) * Expected M~ximum Number o~ Agents (EXPMNAG) PRE STEADY STATE
* Average Que Time (PQTAVE) * Aver~ge Setup Time (PSTAVE~
* Average C&ll Length (PCLAVE) * Number of Calls in Queue (PNCQC~T) * Number of C~lls ~t Agents (PNCACNT) Number of Agents Avail~ble (PN MCNT) * Maximum Number of Calls in System (PMNCSCNT) POST STEADY STATE
* Re-compute constan~ switch (DOKAY) ~ 15 * Computed Aver~ge Queue Time (SQTAVE) -'. * Count of Updates to Queue Time (SQTCNT) * Value of Upd~tes to Queue Time (SQTTOT) `, * Computed Aver~ge Setup Time (SSTAVE) , * Count of Upd~tes to Setup Time (SSTTOT) ~ Computed Avereg~ Call Length (SCL~VE) * Count of Upd~tes to C~ll Length (SCLCNT) * Value of Upd~te~ to Call Length (SCLTOT) `:j * Number of C~lls in Queue (SNCQCNT) ', * Number of CR11S 1n SetUP (SNCSCNT) ~5 ~ Number of C~lls ~t ~gents (SNCACNT) * Number of Agents Av~ ble (SNAACNT~
. * M~ximum Number of Calls ln System (SMNCSCNT) ! 26 ., . , ~ , .
,', - . .
~. .
~" ~
86CR047/CBP/FNL 1~ 2 5 6 ALGORITHM ROUTINE
The ALGO routine contains two related types of computational ~ctivity. The flrst is used to eompute the desired constant number of messAges ~K) for the pacing sy~tem. The second produces the incrementRl number of mess~ges ~DR) required to m~int~in the ,~
5 system mess~e count ~t the desired level.
' COMPUTING K
The code needed to compute the value of K, the constant number of calls within the system, h~s been divided into three phaises. ALGO will perform the computation for K each time CALC
10 sets the DOKAY switch to true. After K has been recomputed, the switrh will be reset to f~lse.
Phase one ls the most involved part of the caloulation of K.
In this ph~se two par~llel comput~tions are performed which, at oonvergence, yield the value of the sver3ge delay in queue ~nd the 15 value of the rate of agent call connection. The first comput~tion 1 is coded as ~ straight line evaluation which provldes the v~lue of -, RATEA. The second computatton ls coded QS ~n iterative loop and ; provtdes the ~lue of RATEB. A lookup t~ble evalu~es ~ RATEA*SSTAVE (see below) if ~he ~bsolute value of RATEA*SSTAVE is ;~ 20 10 or less. If the v~lue is gre~ter th~n 10, the integer and fr~ctlon~l components w1ll be evQluated ~eparQtely. Then the two ~.~, results are multiplied together ~nd the sum divided in~o one. The ~ comput~tlons ~re linked in th~t the flrst supplles a tri~l value .~
:~' . .
..~
: .; .
~ .
..; .
,,,~,. .
. ~ .
... .
:
. ~
of RATEA to the second snd the second supplies ~ new value for ~v~ilable ~gents to the first.
:.
,.'~
P~r t A: RAT~A = ( TA - CAG ) / CL
:
: SYMBOL/DEFINITION
5 TA ~ Tot~l number of Agents working CL ----- C~ll Length averQged by CALC
CAG ---- Computed number of Av~ ble Agents. Initi~l value of C~G = O.
~ATEA -- An initial estim~te of the r~te of agent call connection `.:
P~rt B: Us~ng g, , and q as functions of i, and g(o) - f(o) - 1, i = 0, then , ~, :~, g~i+l) = (g(~) * RATEA * SSTAVE) / (1+1) :.~, f(i+l) = ~(1) + g(~+l) q(~l) = ((i~l) * f(i~l)~ - (f(i~ * RATEA ~ SSTAVE) D ~ q(i+l) * ~ ATEA*SSTAVE~RATEA
., The interectlve loop c~lcul~ion is repe~ted untll D reaches or :` exceeds MAXPQT. Then CAG = (RATEA * SSTAVE) - i ~ ~D * RATEA) ., 20 RATEB = (TA - CAG) / CL
. .
.;..
., .' :.~
.. . . .
.
... ~. . . .
.. ,...... ~ ' . : ~ ' . ~ :
- 86CR047/C~P/FNL
132~6~
~ S~MB~L/ DEFINITION
: RATE B -- An improved estimate of the rnte of ~gent c~ll connection.
T~ ------ To~al number of Agents working CL ------ C~ll Length ~ver~ged by C~LC
CAG ----- Compu~ed Number of Av~ ble Agents MAXPQT -- The maximum allow~le ~ver~ge delay ln queue, as specified by the system supervisor.
SSTAVE -- Ste~dy st~te Average call Setup Time ; 10 Phflse two of thP c~lculation tests ~or convergence ~nd sets he v~lue of the maximum number of c~lls zllowed in the queue.
Ph~se two loops b~ck to ph~se one until the computations have ` converged. Convergence is defined as "no significant vari~nce .. in ~che value of connection ra~e determlned in ph~se one". The v~lue for the number of sv~ ble ~gents at convergence is used to est~blish the v~lue for tAe m~ximum numb~r of c~lls ~llowed ln the queue, MAXQ.
MAXQ ~ CAG
If RATEA - RATEB > .0001 , then convergence exis~s.
~,7l 20 Phase three provides the value of K by adding the maximum `1 number of c~lls ~llowed in the queue from ph~se two to the value ~ of the number of ~gents working from CALC.
;`l '',`7 K = MAXQ + TA
;1, . 7 ' ~j! 29 ,~
,.~,, ,, :, , I I f~
,, ~ , ., ., :
~, ` '' ., ~ , , -:
. 86CR047/CBP/FNL
~` 132~6~
The following referenced qua~ions are set forth in Appendix A.
The v~lue ~ K is the maximum number of c~lls ~llowed to be in progress in the system ~t ~ny one time, ~s expressed by equa- tlon 7. The p~cing algorithm observes the number of c~lls in the ACD
5 system and inlti~tes ~ new outbound call only when there are less ~" th~n K calls in the ~ystem. The worst qu~uing case is that all ~gents ~re busy (NA=M), that no c~lls sre-be~nK set up (NS=O), and i~ th~t the remainder of the calls ~re in queue (NQ=QMAX). This is: the condition expressed by equ~tion 5, which is equatlon.7 and 8 ~; 10 with the abov@ v~lue substi~uted. The value K is c~lcul~ted so that the ~verage number of c~lls in queue (and hence the ~verage del~y in queue) will not exceed the desired delay.
The situation is ~nalyzed by asking what the probsb~lity is for every possible combination of calls, that is, list all the possible . , 15 w~ys to divi~e calls be~ween the set-up st~te, ~he queue state, snd the connected st~te, ~nd then ~ssign ~ probability to each for its frequency of occurrence.
The number of ldle servers NI c~n be computed by equations 9 ~nd 10. In equation 9, there ~re calls 1n queue, but not in 20 equa~ion 10. The number of c~lls ln queue can then be computed.
~, Equa~ions ll ~nd 12 describe the number of call~ in queue (NQ) :~ lf the number o~ c~lls in set-up (NS) is known. Then equation 13 .. ~ describes the probability of having ex~ctly NS calls in the set-up ~ .
,~. st~te. If necessary, equation 13 c~n be rewritten as equation 14.
25 Combinin~ these equ~tlons le~ds to equations 16, 17, and 18 .,;:~
?
. ? 3 0 .`: ', .
:, ., , . - - ~ ', ~ , ' ' .
, .-~ , .
. .; ~ ` ` . . '.:
,:,, , :
'~'`, : ~ , , !.................................................. . :
. .: ' ' , :
'':'' ' ' 8~CR047~CBP/FNL 1 3 2 ~ 6 ~ 6 , which tell us the ~verage number of c~lls in queue (Q) i~ ~ value for aMAx. R, and S is given. Unfortunately, QMAX is not known, for it is the qu~ntity to be determined.
So, QMAX is arbltrarily chosen snd the ~nswer is checked 5 beginning wi~h QMAX=l, we c~lcul~te equa~ion 17 ~nd determine a value for Q. We then use equ~tion 19 tv calculate the average del~y in queue (D). Chflnces ~re the delay is very small, QMAX is increased to 1 and equations 17 and 19 ~re calculated ag~in. As QMAX i~ increased D w~ll incre~se, until finally it exceeds the 10 specified value (DMAX). At this point equatisn 5 is used to solve for K.
It ls important to sssign ~ value to QMAX which is ~s large as possible, bec~use l~rge values of QMAX mean ~ high occupancy for the ~gents. Small values mean that too m~ny agents 8re idle, 15 w~iting for the next call. Idle ~gents cost money, for they ~re nonproductive. In contrast however, l~rge values of QMAX mean that completed calls remain in queue without being serviced by an ~gent. So QMAX is only as large as necessary to ~ust meet the ~ aver~ge delay which can be toler~ted.
:~ 20 The c~lculation of equation 17 requires numerous summations, each summation having exponents ~nd f~ctor~61s. Also, for each new 1 vslue of QMAX to be ~ried, the entire summation must be ,,~. recslculAted.
Equ~tions 1, 2 ~nd 3 give ~ method to c~lculate Q for any QMAX
25 if some informstion from the prevlous c~lculation for QMAX-l is ~!
;~
.
. .
, : :
'' ~ ''''' ~' ' ' ,. ~ . ~ "~'' ' ~6CR047/CBP/FNL
w i 3 2 ~ 6 ~ ~ ;
reteined. The number of steps ls reduced and l~rge ~ctors ~re no~
; calculated.
The set of equations l, 2 ~nd 3 were arrived ~t by exp~nding equ~tion 17 for two c~ses: QMAX ~nd QMAX-l. The difference 5 between these two series were noted, ~nd terms were arr~nged so : th~t the vfllue for Q ~t QMAX+l could be cnlcul~ted using the c~lcul~tions prev~ously done for Q ~t ~MAX. This collection of terms lesd to equ~tions l, 2 ~nd 3.
In equation 1, th~ function q(i+l) corresponds to Q in equation lO 17, where the v~lue of the independent variable, i+l, is the nex~
value of QM~X to ~e calculated ~nd checked. The value of f(i+l) needed in equation l is calcul~ted by uslng equation- 2 and 3. The necessary v~lues for f~ nd g(i) hdve been retsined from having calculated q(i) previously. The v~lues of ~ and S flre constsnts.
Finally, equation 4 corresponds to equation 19, ~nd is used to check Rg~inst the ~ccep~able delay DMAX. If the delay ls less than DMAX, then i is increased by 1 and equatlons ~, 2 and 3 are repeated.
. . ~
~ Finally, the value of R used ~bove comes from equ~tion 6, which :
20 uses the aver~ge value of idle servers (I). ~n initial v~lue R is determined by estimating ~ value for I. If the c~eck reveals 8 poor initial guess, then R is recalculated using the new value of I, Qnd ~ new value of QMAX l~ found~
'., :!
~,, : }
-`1 .:, 32 ., ' J
. ., ."'~ .
'~'~` .
., ,~ .' .
''` ' . ~ ' . ' ' : '-.,, . ~
,:
:'`' `. ~: ' , .';'`'` , .8~CR047/CBP/FNL
~32!~6~
H~ving de~ermined ~ vslue for QMAX, then K c~n be determined ~nd used ~or the POST STEADY STATE p~cing oper~tion.
COMPUrING DR
In order to provide the m~ximum processing efficiency, ~he ALGO routlne cont~lns two complementary ~ormul~s for computing the v~lue of DR. The formul~s, correspondlng to the two kinds o~ d~ta passed by the CALC routine, ~re outlined in the . rem~inder of this section.
. PRE STEADY STATE
Prior t~ ste~dy stste, the value of the const~nt K has no me~ning in terms of system oper~tlon. The oper~tion of the i .~ system requires a reflctive type of formula for computing the ::, number of calls to add to the syst*m. The symbolic expression .` ~f the b~sic formul~ is listed below.
, ., ~ 15 DR = (AG - (QC + SC) ) , i , SYMBOL/DEFINITION
l DR -- Incremental number of Disl Requests i AG -- The cu~rent number of Agents ~v~ ble :1 QC -- The number of Queued C~lls -.' 20 SC -- The number of Setup Calls , I
.~ 33 `,' ~ r , . -,,, ~
~6CR047/CBP/FNL
~32~
POST STEADY STATE
The value o~ the cons~ant K is slgnific~nt ln terms of the pacing operation once the system is ~t ste~dy st~te. The system requires use of ~ pred~ctive formul~ to compute the number of c~lls to ~dd to the system. The post ste~dy state symbollc formul~ is listed below.
DR = (K - AG - (TA ~ QC + SC) ) SYMBOL/DEFINITION
' DR -- Increment~l number of Dial Requests K -- The constant number of c811s desired within the system A~ -- The current number of Agents available TA -- The current Total number of Agents working ~, QC -- The number of Queued Calls -, SC -- The number of Setup Calls : ~i The lnv~ntion is not limited to the ~flrtlculsr det~ils of ~he ~pp~r~tus depicted ~nd other modifications and applic~tions , ~re contempl~ted. Certflin other changes may be mhde in ~he ., ~bove described appar~tu~ without dep~rtlng from the ~rue spirit ~:' snd scope o the lnvention hereln involved. It is intended, ~20 therefore, that th~ subJect matter in the ~bove depiction sh~ll jbe interpreted ~s illustrative ~nd not in a limlting sense.
.. 34 .~:
, .. . .
,.,. . ~ , .
;: -` 13~6~S
APPENDIX A
The vsriables of lnterest ~re defined as follows:
[K3 The tctal number of ealls being managed simultaneously by the ACD for ~his queue.
[M~ The number of servers for ~hls queue.
. .
[H] Aver~ge server hold time 1 [SJ Average calls set-up time (including the sdverse e$fect .~. of calls not completed) ..
~R] Rate of connection to server~
LQ~ Average number of calls ln thls queue [QMAX] Maximum permissible number of calls in this queue , [D~ Average del~y in queue - ~DMAX] Maximum permissible ~ver~ge delay ln queue [I~ Average number o$ idle servers q(i+1) - (i+l) * f(i+l) - f(i)* R * S (l) :~i .~, f (i+l) = f(i) ~ g(i~l) (2) : ,j ~ g(i+l) = g(i) * R ~ S / (i+l) (3) . ~, l D = q(i+1) * e ~S/R (4) R = (M - I)/H (6) K = NS ~ NQ + NA (7) where: NS = number of cslls being set up (disled, ', awaiting response~
:~ NQ = number of c~lls queued ~waiting a server ;.......................... NA = number of calls connected to s~rvers NI = number of idle servers , ., ,~ 35 , ~
. . .
. . ~ .
..,i "
... ,. ~ .
~ , , , ............................................. .
:.. :. :
. : :
, .
.:.', ?:
.-i ~ , ~6CR047/CBP/FNL
~2~
.
QMAX = K - M ( 8 K = QMAX ~ M ( 5 ) NI = O i f NS~-QMAX ( 9 ) NI = NS - QMAX i f NS>QMAX (10) ; ~ 5 NQ = QMAX - NS 1 f NS<QMAX ( 11 ) NQ = O i f NS~=QMAX ( 12 ) P(NS) = e~ R ~) (R * S)NS / NS! (13) P(NS) = F * tR * S)NS/NS! for O~NS<=K (14) where:
K
l/F = ~(R * S)i/i (15) " ~, i--O
J
;,' ~
., I = F ~ ~ (R ~ S)i(i - QM~)li! (16) 1 5 i=~
"';I
; ! QMAX- 1 .' j .
~' Q = F * ~ ~R * S)i(QMAX - i)/i! (17) ,' 1 i=O
,,.~
. ~
1 Q - I = QMAX - ( R * S ) ( 18 ) :, ., D = Q/R ~19 ) !
,:, '.i `!
-, 36 . L , . . .
~, ` .' ~ . .. . .
, ~' ' . ' . ': ' . . ' ' ., ~ ' ~ ` , ` ' ` ` .' ''.. : ~ ' ` , . .
'~,' ' : , . .
`". ` : ' `
. ` ' .
,.~,''~' ` , ' ` ~
~' . ' ' .
: , . '
~ .
..; .
,,,~,. .
. ~ .
... .
:
. ~
of RATEA to the second snd the second supplies ~ new value for ~v~ilable ~gents to the first.
:.
,.'~
P~r t A: RAT~A = ( TA - CAG ) / CL
:
: SYMBOL/DEFINITION
5 TA ~ Tot~l number of Agents working CL ----- C~ll Length averQged by CALC
CAG ---- Computed number of Av~ ble Agents. Initi~l value of C~G = O.
~ATEA -- An initial estim~te of the r~te of agent call connection `.:
P~rt B: Us~ng g, , and q as functions of i, and g(o) - f(o) - 1, i = 0, then , ~, :~, g~i+l) = (g(~) * RATEA * SSTAVE) / (1+1) :.~, f(i+l) = ~(1) + g(~+l) q(~l) = ((i~l) * f(i~l)~ - (f(i~ * RATEA ~ SSTAVE) D ~ q(i+l) * ~ ATEA*SSTAVE~RATEA
., The interectlve loop c~lcul~ion is repe~ted untll D reaches or :` exceeds MAXPQT. Then CAG = (RATEA * SSTAVE) - i ~ ~D * RATEA) ., 20 RATEB = (TA - CAG) / CL
. .
.;..
., .' :.~
.. . . .
.
... ~. . . .
.. ,...... ~ ' . : ~ ' . ~ :
- 86CR047/C~P/FNL
132~6~
~ S~MB~L/ DEFINITION
: RATE B -- An improved estimate of the rnte of ~gent c~ll connection.
T~ ------ To~al number of Agents working CL ------ C~ll Length ~ver~ged by C~LC
CAG ----- Compu~ed Number of Av~ ble Agents MAXPQT -- The maximum allow~le ~ver~ge delay ln queue, as specified by the system supervisor.
SSTAVE -- Ste~dy st~te Average call Setup Time ; 10 Phflse two of thP c~lculation tests ~or convergence ~nd sets he v~lue of the maximum number of c~lls zllowed in the queue.
Ph~se two loops b~ck to ph~se one until the computations have ` converged. Convergence is defined as "no significant vari~nce .. in ~che value of connection ra~e determlned in ph~se one". The v~lue for the number of sv~ ble ~gents at convergence is used to est~blish the v~lue for tAe m~ximum numb~r of c~lls ~llowed ln the queue, MAXQ.
MAXQ ~ CAG
If RATEA - RATEB > .0001 , then convergence exis~s.
~,7l 20 Phase three provides the value of K by adding the maximum `1 number of c~lls ~llowed in the queue from ph~se two to the value ~ of the number of ~gents working from CALC.
;`l '',`7 K = MAXQ + TA
;1, . 7 ' ~j! 29 ,~
,.~,, ,, :, , I I f~
,, ~ , ., ., :
~, ` '' ., ~ , , -:
. 86CR047/CBP/FNL
~` 132~6~
The following referenced qua~ions are set forth in Appendix A.
The v~lue ~ K is the maximum number of c~lls ~llowed to be in progress in the system ~t ~ny one time, ~s expressed by equa- tlon 7. The p~cing algorithm observes the number of c~lls in the ACD
5 system and inlti~tes ~ new outbound call only when there are less ~" th~n K calls in the ~ystem. The worst qu~uing case is that all ~gents ~re busy (NA=M), that no c~lls sre-be~nK set up (NS=O), and i~ th~t the remainder of the calls ~re in queue (NQ=QMAX). This is: the condition expressed by equ~tion 5, which is equatlon.7 and 8 ~; 10 with the abov@ v~lue substi~uted. The value K is c~lcul~ted so that the ~verage number of c~lls in queue (and hence the ~verage del~y in queue) will not exceed the desired delay.
The situation is ~nalyzed by asking what the probsb~lity is for every possible combination of calls, that is, list all the possible . , 15 w~ys to divi~e calls be~ween the set-up st~te, ~he queue state, snd the connected st~te, ~nd then ~ssign ~ probability to each for its frequency of occurrence.
The number of ldle servers NI c~n be computed by equations 9 ~nd 10. In equation 9, there ~re calls 1n queue, but not in 20 equa~ion 10. The number of c~lls ln queue can then be computed.
~, Equa~ions ll ~nd 12 describe the number of call~ in queue (NQ) :~ lf the number o~ c~lls in set-up (NS) is known. Then equation 13 .. ~ describes the probability of having ex~ctly NS calls in the set-up ~ .
,~. st~te. If necessary, equation 13 c~n be rewritten as equation 14.
25 Combinin~ these equ~tlons le~ds to equations 16, 17, and 18 .,;:~
?
. ? 3 0 .`: ', .
:, ., , . - - ~ ', ~ , ' ' .
, .-~ , .
. .; ~ ` ` . . '.:
,:,, , :
'~'`, : ~ , , !.................................................. . :
. .: ' ' , :
'':'' ' ' 8~CR047~CBP/FNL 1 3 2 ~ 6 ~ 6 , which tell us the ~verage number of c~lls in queue (Q) i~ ~ value for aMAx. R, and S is given. Unfortunately, QMAX is not known, for it is the qu~ntity to be determined.
So, QMAX is arbltrarily chosen snd the ~nswer is checked 5 beginning wi~h QMAX=l, we c~lcul~te equa~ion 17 ~nd determine a value for Q. We then use equ~tion 19 tv calculate the average del~y in queue (D). Chflnces ~re the delay is very small, QMAX is increased to 1 and equations 17 and 19 ~re calculated ag~in. As QMAX i~ increased D w~ll incre~se, until finally it exceeds the 10 specified value (DMAX). At this point equatisn 5 is used to solve for K.
It ls important to sssign ~ value to QMAX which is ~s large as possible, bec~use l~rge values of QMAX mean ~ high occupancy for the ~gents. Small values mean that too m~ny agents 8re idle, 15 w~iting for the next call. Idle ~gents cost money, for they ~re nonproductive. In contrast however, l~rge values of QMAX mean that completed calls remain in queue without being serviced by an ~gent. So QMAX is only as large as necessary to ~ust meet the ~ aver~ge delay which can be toler~ted.
:~ 20 The c~lculation of equation 17 requires numerous summations, each summation having exponents ~nd f~ctor~61s. Also, for each new 1 vslue of QMAX to be ~ried, the entire summation must be ,,~. recslculAted.
Equ~tions 1, 2 ~nd 3 give ~ method to c~lculate Q for any QMAX
25 if some informstion from the prevlous c~lculation for QMAX-l is ~!
;~
.
. .
, : :
'' ~ ''''' ~' ' ' ,. ~ . ~ "~'' ' ~6CR047/CBP/FNL
w i 3 2 ~ 6 ~ ~ ;
reteined. The number of steps ls reduced and l~rge ~ctors ~re no~
; calculated.
The set of equations l, 2 ~nd 3 were arrived ~t by exp~nding equ~tion 17 for two c~ses: QMAX ~nd QMAX-l. The difference 5 between these two series were noted, ~nd terms were arr~nged so : th~t the vfllue for Q ~t QMAX+l could be cnlcul~ted using the c~lcul~tions prev~ously done for Q ~t ~MAX. This collection of terms lesd to equ~tions l, 2 ~nd 3.
In equation 1, th~ function q(i+l) corresponds to Q in equation lO 17, where the v~lue of the independent variable, i+l, is the nex~
value of QM~X to ~e calculated ~nd checked. The value of f(i+l) needed in equation l is calcul~ted by uslng equation- 2 and 3. The necessary v~lues for f~ nd g(i) hdve been retsined from having calculated q(i) previously. The v~lues of ~ and S flre constsnts.
Finally, equation 4 corresponds to equation 19, ~nd is used to check Rg~inst the ~ccep~able delay DMAX. If the delay ls less than DMAX, then i is increased by 1 and equatlons ~, 2 and 3 are repeated.
. . ~
~ Finally, the value of R used ~bove comes from equ~tion 6, which :
20 uses the aver~ge value of idle servers (I). ~n initial v~lue R is determined by estimating ~ value for I. If the c~eck reveals 8 poor initial guess, then R is recalculated using the new value of I, Qnd ~ new value of QMAX l~ found~
'., :!
~,, : }
-`1 .:, 32 ., ' J
. ., ."'~ .
'~'~` .
., ,~ .' .
''` ' . ~ ' . ' ' : '-.,, . ~
,:
:'`' `. ~: ' , .';'`'` , .8~CR047/CBP/FNL
~32!~6~
H~ving de~ermined ~ vslue for QMAX, then K c~n be determined ~nd used ~or the POST STEADY STATE p~cing oper~tion.
COMPUrING DR
In order to provide the m~ximum processing efficiency, ~he ALGO routlne cont~lns two complementary ~ormul~s for computing the v~lue of DR. The formul~s, correspondlng to the two kinds o~ d~ta passed by the CALC routine, ~re outlined in the . rem~inder of this section.
. PRE STEADY STATE
Prior t~ ste~dy stste, the value of the const~nt K has no me~ning in terms of system oper~tlon. The oper~tion of the i .~ system requires a reflctive type of formula for computing the ::, number of calls to add to the syst*m. The symbolic expression .` ~f the b~sic formul~ is listed below.
, ., ~ 15 DR = (AG - (QC + SC) ) , i , SYMBOL/DEFINITION
l DR -- Incremental number of Disl Requests i AG -- The cu~rent number of Agents ~v~ ble :1 QC -- The number of Queued C~lls -.' 20 SC -- The number of Setup Calls , I
.~ 33 `,' ~ r , . -,,, ~
~6CR047/CBP/FNL
~32~
POST STEADY STATE
The value o~ the cons~ant K is slgnific~nt ln terms of the pacing operation once the system is ~t ste~dy st~te. The system requires use of ~ pred~ctive formul~ to compute the number of c~lls to ~dd to the system. The post ste~dy state symbollc formul~ is listed below.
DR = (K - AG - (TA ~ QC + SC) ) SYMBOL/DEFINITION
' DR -- Increment~l number of Dial Requests K -- The constant number of c811s desired within the system A~ -- The current number of Agents available TA -- The current Total number of Agents working ~, QC -- The number of Queued Calls -, SC -- The number of Setup Calls : ~i The lnv~ntion is not limited to the ~flrtlculsr det~ils of ~he ~pp~r~tus depicted ~nd other modifications and applic~tions , ~re contempl~ted. Certflin other changes may be mhde in ~he ., ~bove described appar~tu~ without dep~rtlng from the ~rue spirit ~:' snd scope o the lnvention hereln involved. It is intended, ~20 therefore, that th~ subJect matter in the ~bove depiction sh~ll jbe interpreted ~s illustrative ~nd not in a limlting sense.
.. 34 .~:
, .. . .
,.,. . ~ , .
;: -` 13~6~S
APPENDIX A
The vsriables of lnterest ~re defined as follows:
[K3 The tctal number of ealls being managed simultaneously by the ACD for ~his queue.
[M~ The number of servers for ~hls queue.
. .
[H] Aver~ge server hold time 1 [SJ Average calls set-up time (including the sdverse e$fect .~. of calls not completed) ..
~R] Rate of connection to server~
LQ~ Average number of calls ln thls queue [QMAX] Maximum permissible number of calls in this queue , [D~ Average del~y in queue - ~DMAX] Maximum permissible ~ver~ge delay ln queue [I~ Average number o$ idle servers q(i+1) - (i+l) * f(i+l) - f(i)* R * S (l) :~i .~, f (i+l) = f(i) ~ g(i~l) (2) : ,j ~ g(i+l) = g(i) * R ~ S / (i+l) (3) . ~, l D = q(i+1) * e ~S/R (4) R = (M - I)/H (6) K = NS ~ NQ + NA (7) where: NS = number of cslls being set up (disled, ', awaiting response~
:~ NQ = number of c~lls queued ~waiting a server ;.......................... NA = number of calls connected to s~rvers NI = number of idle servers , ., ,~ 35 , ~
. . .
. . ~ .
..,i "
... ,. ~ .
~ , , , ............................................. .
:.. :. :
. : :
, .
.:.', ?:
.-i ~ , ~6CR047/CBP/FNL
~2~
.
QMAX = K - M ( 8 K = QMAX ~ M ( 5 ) NI = O i f NS~-QMAX ( 9 ) NI = NS - QMAX i f NS>QMAX (10) ; ~ 5 NQ = QMAX - NS 1 f NS<QMAX ( 11 ) NQ = O i f NS~=QMAX ( 12 ) P(NS) = e~ R ~) (R * S)NS / NS! (13) P(NS) = F * tR * S)NS/NS! for O~NS<=K (14) where:
K
l/F = ~(R * S)i/i (15) " ~, i--O
J
;,' ~
., I = F ~ ~ (R ~ S)i(i - QM~)li! (16) 1 5 i=~
"';I
; ! QMAX- 1 .' j .
~' Q = F * ~ ~R * S)i(QMAX - i)/i! (17) ,' 1 i=O
,,.~
. ~
1 Q - I = QMAX - ( R * S ) ( 18 ) :, ., D = Q/R ~19 ) !
,:, '.i `!
-, 36 . L , . . .
~, ` .' ~ . .. . .
, ~' ' . ' . ': ' . . ' ' ., ~ ' ~ ` , ` ' ` ` .' ''.. : ~ ' ` , . .
'~,' ' : , . .
`". ` : ' `
. ` ' .
,.~,''~' ` , ' ` ~
~' . ' ' .
: , . '
Claims (3)
1. A method of automatically selecting and dialing customer telephones at a paced rate and keeping a plurality of agent stations at full occupancy, comprising:
providing a database containing telephone numbers to be called;
providing a computer for controlling the pacing of telephone numbers to be called connected to said database;
providing an automatic call distribution system for dialing the telephone numbers and establishing connection to the customer telephone and connected to said computer;
providing a plurality of agent stations connected to said computer and to said automatic call distribution system;
determining the maximum number, K, of calls to be in progress at any one time;
initiating a new call only when there are less than K calls existing.
providing a database containing telephone numbers to be called;
providing a computer for controlling the pacing of telephone numbers to be called connected to said database;
providing an automatic call distribution system for dialing the telephone numbers and establishing connection to the customer telephone and connected to said computer;
providing a plurality of agent stations connected to said computer and to said automatic call distribution system;
determining the maximum number, K, of calls to be in progress at any one time;
initiating a new call only when there are less than K calls existing.
2. The method described in claim 1, wherein the method further comprises calculating the maximum number, K, such that an average number, Q, of calls waiting in a queue does not exceed a selected delay, DMAX.
3. The method described in claim 2, wherein the method further comprises for a set-up state determining the number, NQ, of calls waiting in queue from the maximum permissible number, QMAX, of calls waiting in queue less a known number, NS, of calls dialed and waiting a response;
determining the probability P(NS) of having exactly NS
calls in the set-up state from P(NS) = e (-R*S) (R*S)NS/NS
where R is the rate of connection to agents and S is the average call set-up time, setting QMAX equal to a large value;
determining the average number, Q, of calls waiting in queue from Q = F * (R * S)i (QMAX-i)/i!
where l/F is (R * S)i/i!;
determining the average delay D, in queue from D=Q/R;
decreasing QMAX and recalculating Q until D exceeds DMAX;
and determining the value, K, from K=QMAX+M.
determining the probability P(NS) of having exactly NS
calls in the set-up state from P(NS) = e (-R*S) (R*S)NS/NS
where R is the rate of connection to agents and S is the average call set-up time, setting QMAX equal to a large value;
determining the average number, Q, of calls waiting in queue from Q = F * (R * S)i (QMAX-i)/i!
where l/F is (R * S)i/i!;
determining the average delay D, in queue from D=Q/R;
decreasing QMAX and recalculating Q until D exceeds DMAX;
and determining the value, K, from K=QMAX+M.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/245,097 US4881261A (en) | 1988-06-29 | 1988-06-29 | Method for predictive pacing of calls in a calling system |
CA000607111A CA1325686C (en) | 1988-06-29 | 1989-07-31 | Method for predictive pacing of calls in a calling system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/245,097 US4881261A (en) | 1988-06-29 | 1988-06-29 | Method for predictive pacing of calls in a calling system |
CA000607111A CA1325686C (en) | 1988-06-29 | 1989-07-31 | Method for predictive pacing of calls in a calling system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1325686C true CA1325686C (en) | 1993-12-28 |
Family
ID=25672918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000607111A Expired - Fee Related CA1325686C (en) | 1988-06-29 | 1989-07-31 | Method for predictive pacing of calls in a calling system |
Country Status (2)
Country | Link |
---|---|
US (1) | US4881261A (en) |
CA (1) | CA1325686C (en) |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845739A (en) | 1985-07-10 | 1989-07-04 | Fdr Interactive Technologies | Telephonic-interface statistical analysis system |
US5828734A (en) | 1985-07-10 | 1998-10-27 | Ronald A. Katz Technology Licensing, Lp | Telephone interface call processing system with call selectivity |
US5793846A (en) | 1985-07-10 | 1998-08-11 | Ronald A. Katz Technology Licensing, Lp | Telephonic-interface game control system |
US5359645A (en) | 1985-07-10 | 1994-10-25 | First Data Corporation Inc. | Voice-data telephonic interface control system |
US6678360B1 (en) | 1985-07-10 | 2004-01-13 | Ronald A. Katz Technology Licensing, L.P. | Telephonic-interface statistical analysis system |
US5185787A (en) * | 1989-06-26 | 1993-02-09 | First Data Resources, Inc. | Multiple party telephone control system with random dialing for polling |
US5014303A (en) * | 1989-12-18 | 1991-05-07 | Bell Communications Research, Inc. | Operator services using speech processing |
US5214688A (en) * | 1990-06-05 | 1993-05-25 | Inventions, Inc. | Method and apparatus for dynamic and interdependent processing of inbound calls and outbound calls |
US5181236A (en) * | 1990-09-25 | 1993-01-19 | Rockwell International Corporation | Automatic call returning method for call distributor with message record capability |
US5155763A (en) * | 1990-12-11 | 1992-10-13 | International Business Machines Corp. | Look ahead method and apparatus for predictive dialing using a neural network |
US5327490A (en) * | 1991-02-19 | 1994-07-05 | Intervoice, Inc. | System and method for controlling call placement rate for telephone communication systems |
US5309505A (en) * | 1991-05-20 | 1994-05-03 | Inventions, Inc. | Automated voice system for improving agent efficiency and improving service to parties on hold |
US5295184A (en) * | 1991-05-30 | 1994-03-15 | Davox Corporation | Dynamically adjustable call pacing system |
US5341412A (en) * | 1991-10-10 | 1994-08-23 | Executone Information Systems, Inc. | Apparatus and a method for predictive call dialing |
US5815566A (en) * | 1991-10-10 | 1998-09-29 | Executone Information Systems, Inc. | Apparatus and method for dynamic inbound/outbound call management and for scheduling appointments |
US5179589A (en) * | 1991-11-27 | 1993-01-12 | International Telesystems Corporation | Call progress pacing |
US5247569A (en) * | 1992-01-13 | 1993-09-21 | Intervoice, Inc. | System and method for controlling outbound and inbound calls in a telephone communication system |
US5335269A (en) * | 1992-03-12 | 1994-08-02 | Rockwell International Corporation | Two dimensional routing apparatus in an automatic call director-type system |
CA2090165C (en) * | 1992-04-01 | 1997-06-17 | Barbara I. Gaechter | Network based outbound call management |
CA2147601C (en) * | 1992-10-21 | 1998-08-25 | Norman J. Donaghue, Jr. | Integrated intelligent call blending |
US5594790A (en) * | 1993-01-14 | 1997-01-14 | Davox Corporation | Method for selecting and controlling the automatic dialing of a call record campaign |
CA2091658A1 (en) * | 1993-03-15 | 1994-09-16 | Matthew Lennig | Method and apparatus for automation of directory assistance using speech recognition |
AU7730694A (en) * | 1993-09-17 | 1995-04-03 | Executone Information Systems, Inc. | Apparatus and method for dynamic inbound/outbound call management and for scheduling appointments |
JPH07107526A (en) * | 1993-09-29 | 1995-04-21 | Toshiba Corp | Key telephone system |
CA2129942C (en) * | 1993-09-30 | 1998-08-25 | Steven Todd Kaish | Telecommunication network with integrated network-wide automatic call distribution |
US5436965A (en) * | 1993-11-16 | 1995-07-25 | Automated Systems And Programming, Inc. | Method and system for optimization of telephone contact campaigns |
US5561711A (en) * | 1994-03-09 | 1996-10-01 | Us West Technologies, Inc. | Predictive calling scheduling system and method |
US5642411A (en) * | 1994-04-25 | 1997-06-24 | Illinois Technology Transfer Llc | Anticipatory call distributor |
EP0687095A3 (en) | 1994-05-31 | 1999-08-18 | Rockwell International Corporation | Telecommunication system with internal predictive outdial calling system |
US5784452A (en) * | 1994-06-01 | 1998-07-21 | Davox Corporation | Telephony call center with agent work groups |
US5519773A (en) * | 1994-06-07 | 1996-05-21 | Siemens Colm Communications Inc. | Call sharing for inbound and outbound call center agents |
US5553133A (en) * | 1994-06-30 | 1996-09-03 | Siemens Rolm Communications, Inc. | System and method for predictive outdialing |
US5475813A (en) * | 1994-07-18 | 1995-12-12 | International Business Machines Corporation | Routing transactions in the presence of failing servers |
EP0696125A3 (en) | 1994-08-02 | 1999-06-02 | Rockwell International Corporation | Telecommunication system with inbound call responsive predictive outdialing system and method |
GB2293723B (en) * | 1994-09-28 | 1999-04-14 | Rockwell International Corp | Automatic call distributor with answer machine detection apparatus and method |
US5628004A (en) * | 1994-11-04 | 1997-05-06 | Optima Direct, Inc. | System for managing database of communication of recipients |
US5546452A (en) * | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
US5907601A (en) * | 1995-05-26 | 1999-05-25 | Eis International Inc. | Call pacing method |
JP3349032B2 (en) * | 1996-03-15 | 2002-11-20 | 株式会社東芝 | Call control method |
CA2181009C (en) * | 1996-07-11 | 1999-09-07 | Paul Erb | Multiple owner resource management |
US5987116A (en) * | 1996-12-03 | 1999-11-16 | Northern Telecom Limited | Call center integration with operator services databases |
US6104802A (en) | 1997-02-10 | 2000-08-15 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US6480600B1 (en) | 1997-02-10 | 2002-11-12 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
US7031442B1 (en) | 1997-02-10 | 2006-04-18 | Genesys Telecommunications Laboratories, Inc. | Methods and apparatus for personal routing in computer-simulated telephony |
US5905793A (en) * | 1997-03-07 | 1999-05-18 | Lucent Technologies Inc. | Waiting-call selection based on anticipated wait times |
US6192121B1 (en) | 1997-09-19 | 2001-02-20 | Mci Communications Corporation | Telephony server application program interface API |
US6782087B1 (en) | 1997-09-19 | 2004-08-24 | Mci Communications Corporation | Desktop telephony application program for a call center agent |
US6083280A (en) * | 1997-09-25 | 2000-07-04 | Eitel; Robert T. | Method of improving a processing efficiency of an automatic data processing system |
US6490350B2 (en) | 1997-09-30 | 2002-12-03 | Mci Communications Corporation | Monitoring system for telephony resources in a call center |
US6985943B2 (en) | 1998-09-11 | 2006-01-10 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US6711611B2 (en) | 1998-09-11 | 2004-03-23 | Genesis Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
US5991393A (en) * | 1997-11-04 | 1999-11-23 | Genesys Telecommunicaitons, Laboratories, Inc. | Method for telephony call blending |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US6122364A (en) * | 1997-12-02 | 2000-09-19 | Nortel Networks Corporation | Internet network call center |
GB2347583B (en) * | 1997-12-19 | 2003-03-12 | Blake Rice | Automated right-party contact telephone system |
US6754334B2 (en) * | 1997-12-31 | 2004-06-22 | Virtual Hold Technology, Llc | Automatic call director first in first out accessory |
US7907598B2 (en) | 1998-02-17 | 2011-03-15 | Genesys Telecommunication Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
US6449358B1 (en) * | 1998-02-17 | 2002-09-10 | Genesys Telecommunications Laboratories, Inc. | Method for predicting and managing call load by determining the optimum frequency of outbound call generation during an out-bound calling campaign from a call center |
US6332154B2 (en) | 1998-09-11 | 2001-12-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface |
US6278777B1 (en) | 1998-03-12 | 2001-08-21 | Ser Solutions, Inc. | System for managing agent assignments background of the invention |
US6137862A (en) * | 1998-03-16 | 2000-10-24 | Mci Communications Corporation | Failover mechanism for computer/telephony integration monitoring server |
US6879674B2 (en) | 1998-04-09 | 2005-04-12 | Cim Ltd. | System and method for providing an automatic telephone call back to a telephone line being used to access a computer network |
US6070142A (en) * | 1998-04-17 | 2000-05-30 | Andersen Consulting Llp | Virtual customer sales and service center and method |
US6134530A (en) * | 1998-04-17 | 2000-10-17 | Andersen Consulting Llp | Rule based routing system and method for a virtual sales and service center |
US6064973A (en) * | 1998-04-17 | 2000-05-16 | Andersen Consulting Llp | Context manager and method for a virtual sales and service center |
US6115693A (en) * | 1998-04-17 | 2000-09-05 | Andersen Consulting Llp | Quality center and method for a virtual sales and service center |
US6477559B1 (en) * | 1998-08-21 | 2002-11-05 | Aspect Communications Corporation | Method and apparatus for remotely accessing an automatic transaction processing system |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
US7302051B1 (en) * | 1998-09-28 | 2007-11-27 | Aspect Software, Inc. | System and method for providing an automatic telephone call back from information provided at a data terminal |
US7110526B1 (en) | 1998-10-14 | 2006-09-19 | Rockwell Electronic Commerce Technologies, Llc | Neural network for controlling calls in a telephone switch |
CA2256119C (en) | 1998-12-16 | 2002-02-12 | Ibm Canada Limited-Ibm Canada Limitee | Time slot based call pacing method and apparatus |
US6804346B1 (en) | 1999-07-13 | 2004-10-12 | Interactive Intelligence, Inc. | Staged predictive dialing system |
US20050002515A1 (en) * | 1999-07-13 | 2005-01-06 | Mewhinney Brian E. | Dialing techniques for a contact center |
US7092509B1 (en) | 1999-09-21 | 2006-08-15 | Microlog Corporation | Contact center system capable of handling multiple media types of contacts and method for using the same |
US6775378B1 (en) | 1999-10-25 | 2004-08-10 | Concerto Software, Inc | Blended agent contact center |
US6832203B1 (en) | 1999-11-05 | 2004-12-14 | Cim, Ltd. | Skills based contact routing |
US7929978B2 (en) | 1999-12-01 | 2011-04-19 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
US7230927B1 (en) | 1999-12-07 | 2007-06-12 | Aspect Software, Inc. | Non-blocking expandable call center architecture |
US6707906B1 (en) | 2000-03-13 | 2004-03-16 | Concerto Software, Inc. | Outbound calling system in a contact center |
US6956941B1 (en) * | 2000-04-12 | 2005-10-18 | Austin Logistics Incorporated | Method and system for scheduling inbound inquiries |
US6766011B1 (en) | 2000-06-16 | 2004-07-20 | Concerto Software, Inc. | Method and apparatus for controlling a contact center |
US7142662B2 (en) | 2000-07-11 | 2006-11-28 | Austin Logistics Incorporated | Method and system for distributing outbound telephone calls |
US7103173B2 (en) | 2001-07-09 | 2006-09-05 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US6807269B1 (en) | 2000-07-20 | 2004-10-19 | Cisco Technology, Inc. | Call management implemented using call routing engine |
US6778951B1 (en) | 2000-08-09 | 2004-08-17 | Concerto Software, Inc. | Information retrieval method with natural language interface |
US6674852B1 (en) | 2000-08-31 | 2004-01-06 | Cisco Technology, Inc. | Call management implemented using call routing engine |
US6801613B1 (en) | 2000-08-31 | 2004-10-05 | Cisco Technology, Inc. | Associating call appearance with data associated with call |
US6690789B1 (en) | 2000-08-31 | 2004-02-10 | Cisco Technology, Inc. | Fault tolerant telephony control |
US8868448B2 (en) | 2000-10-26 | 2014-10-21 | Liveperson, Inc. | Systems and methods to facilitate selling of products and services |
JP2002297900A (en) * | 2001-03-30 | 2002-10-11 | Ibm Japan Ltd | Control system for reception by businesses, user side terminal device, reception side terminal device, management server queue monitoring device, method of allocating reception side terminals, and storage medium |
US6778660B2 (en) | 2001-04-06 | 2004-08-17 | Concerto Software, Inc. | Customer interaction system |
US7715546B2 (en) | 2001-07-09 | 2010-05-11 | Austin Logistics Incorporated | System and method for updating contact records |
US7054434B2 (en) | 2001-07-09 | 2006-05-30 | Austin Logistics Incorporated | System and method for common account based routing of contact records |
US8416943B2 (en) * | 2001-07-31 | 2013-04-09 | Aspect Software, Inc. | System and method for distributing customer contacts |
US7010115B2 (en) * | 2001-12-13 | 2006-03-07 | Rockwell Electronic Commerce Technologies, Llc | System and method for predictive contacts |
US6941320B2 (en) * | 2002-01-25 | 2005-09-06 | Edward Mandel | Contact center dynamic record delivery |
US7376570B2 (en) * | 2002-03-21 | 2008-05-20 | Fujitsu Limited | System and method for customer satisfaction survey and analysis for off-site customer service |
US7376228B2 (en) * | 2002-12-18 | 2008-05-20 | Castel, Inc. | Call center management systems |
US7184541B2 (en) * | 2003-12-11 | 2007-02-27 | General Electric Capital Corporation | Method and apparatus for selecting an agent to handle a call |
US7813489B2 (en) * | 2004-06-30 | 2010-10-12 | Aspect Software, Inc. | System and method for minimizing queue callback faults |
US8036374B2 (en) * | 2005-05-16 | 2011-10-11 | Noble Systems Corporation | Systems and methods for detecting call blocking devices or services |
US8781092B2 (en) * | 2005-05-16 | 2014-07-15 | Noble Systems Corporation | Systems and methods for callback processing |
US8738732B2 (en) | 2005-09-14 | 2014-05-27 | Liveperson, Inc. | System and method for performing follow up based on user interactions |
US9432468B2 (en) | 2005-09-14 | 2016-08-30 | Liveperson, Inc. | System and method for design and dynamic generation of a web page |
US20070116239A1 (en) * | 2005-10-11 | 2007-05-24 | Yaniv Jacobi | Method and system for providing telephone communications between a website visitor and a live agent |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US8126134B1 (en) * | 2006-03-30 | 2012-02-28 | Verint Americas, Inc. | Systems and methods for scheduling of outbound agents |
US8064589B2 (en) * | 2008-06-20 | 2011-11-22 | Aspect Software, Inc. | Estimating number of agents for multiple chat channels |
US8762313B2 (en) | 2008-07-25 | 2014-06-24 | Liveperson, Inc. | Method and system for creating a predictive model for targeting web-page to a surfer |
US8799200B2 (en) | 2008-07-25 | 2014-08-05 | Liveperson, Inc. | Method and system for creating a predictive model for targeting webpage to a surfer |
US8805844B2 (en) | 2008-08-04 | 2014-08-12 | Liveperson, Inc. | Expert search |
JP5941903B2 (en) | 2010-04-07 | 2016-06-29 | ライブパーソン, インコーポレイテッド | System and method for dynamically enabling customized web content and applications |
US9350598B2 (en) | 2010-12-14 | 2016-05-24 | Liveperson, Inc. | Authentication of service requests using a communications initiation feature |
US8918465B2 (en) | 2010-12-14 | 2014-12-23 | Liveperson, Inc. | Authentication of service requests initiated from a social networking site |
US8943002B2 (en) | 2012-02-10 | 2015-01-27 | Liveperson, Inc. | Analytics driven engagement |
US9781263B2 (en) * | 2012-02-23 | 2017-10-03 | Avaya Inc. | Context-based dynamic adjustment to pacing algorithm |
US8805941B2 (en) | 2012-03-06 | 2014-08-12 | Liveperson, Inc. | Occasionally-connected computing interface |
CN102611807A (en) * | 2012-03-08 | 2012-07-25 | 北京神州数码思特奇信息技术股份有限公司 | Missed call processing method |
US9563336B2 (en) | 2012-04-26 | 2017-02-07 | Liveperson, Inc. | Dynamic user interface customization |
US9672196B2 (en) | 2012-05-15 | 2017-06-06 | Liveperson, Inc. | Methods and systems for presenting specialized content using campaign metrics |
US9813559B1 (en) | 2012-06-27 | 2017-11-07 | Noble Systems Corporation | Addressing trunk-related resource deficiencies for a predictive dialer using a dynamic pacing algorithm |
US8675839B1 (en) | 2012-06-27 | 2014-03-18 | Noble Systems Corporation | Reporting unavailable trunk-related resources for a predictive dialer using a dynamic pacing algorithm |
US20140149168A1 (en) * | 2012-11-26 | 2014-05-29 | Georgiy Shashkov | Outbound dialing pace |
US9258424B2 (en) | 2013-05-24 | 2016-02-09 | Avaya Inc. | Prioritize contact numbers of customers in real time |
US9118764B2 (en) | 2013-08-09 | 2015-08-25 | Avaya Inc. | Method and system to determine and employ best contact opportunity |
US11386442B2 (en) | 2014-03-31 | 2022-07-12 | Liveperson, Inc. | Online behavioral predictor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3989899A (en) * | 1975-04-08 | 1976-11-02 | Daniel Norwich | Telephone scheduling system |
US4599493A (en) * | 1984-08-28 | 1986-07-08 | Tbs International, Inc. | Multi-line telephone control system |
-
1988
- 1988-06-29 US US07/245,097 patent/US4881261A/en not_active Expired - Lifetime
-
1989
- 1989-07-31 CA CA000607111A patent/CA1325686C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US4881261A (en) | 1989-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1325686C (en) | Method for predictive pacing of calls in a calling system | |
US5946388A (en) | Method and apparatus for priority queuing of telephone calls | |
US6134530A (en) | Rule based routing system and method for a virtual sales and service center | |
US5903877A (en) | Transaction center for processing customer transaction requests from alternative media sources | |
US6088444A (en) | Method and apparatus for value-based queuing of telephone calls | |
US5784452A (en) | Telephony call center with agent work groups | |
US6600822B2 (en) | Method for telephony call blending | |
EP1039732B1 (en) | Improved skill-based call routing | |
EP0740450B1 (en) | Method and apparatus for skill-based routing in a call center | |
JP3167510B2 (en) | Telephone usage monitoring method and system | |
CA2314378C (en) | Modification of voice prompting based on prior communication in a call center | |
US5715306A (en) | Automatic call distribution system with user definable logging and method therefor | |
US20020067821A1 (en) | Telephone call centre performance evaluation | |
US5652791A (en) | System and method for simulating operation of an automatic call distributor | |
KR19990064287A (en) | Customer queue facility | |
EP0551715A2 (en) | System and method for controlling outbound and inbound calls in a telephone communication system | |
US20040179672A1 (en) | System and method for updating contact records | |
CA2232722A1 (en) | Method and apparatus for automatic call distribution | |
WO1998015107A1 (en) | System and method for modeling and modifying a telephone call path routed by a telephonic switch | |
US8630404B2 (en) | Iterative scheduling and campaign management | |
US6466664B1 (en) | Time slot based call pacing method and apparatus | |
US7206400B2 (en) | Method and system for data field reuse | |
EP0622937A2 (en) | A method of rapidly assessing damage to outside loop plant | |
EP0470415A2 (en) | Call tagging user information in a telephonic environment | |
EP0687095A2 (en) | Telecommunication system with internal predictive outdial calling system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |