U.S. patent application number 10/247171 was filed with the patent office on 2004-03-25 for determining statistics about the behaviour of a call center at a past time instant.
Invention is credited to McCormack, Tony.
Application Number | 20040057416 10/247171 |
Document ID | / |
Family ID | 31992451 |
Filed Date | 2004-03-25 |
United States Patent
Application |
20040057416 |
Kind Code |
A1 |
McCormack, Tony |
March 25, 2004 |
Determining statistics about the behaviour of a call center at a
past time instant
Abstract
Call center supervisors require information about the
performance of call center agents in order to manage them
appropriately. Previously this information has been provided in two
general forms. Current information in the form of statistics such
as queue lengths, numbers of active agents, etc. and historical
information in the form of aggregate data such as the average
waiting time over a 15 minute period. At present supervisors have
no means of accessing information about the state of a call center
at a particular past time instant. The present invention provides
this information by using a pegging engine to extrapolate from
statistics about behaviour of the call center at a past time
instant to values of those statistics at a required past time
instant. Information about events occurring in the call center is
used in order to carry out this extrapolation.
Inventors: |
McCormack, Tony; (Galway,
IE) |
Correspondence
Address: |
William M. Lee, Jr.
Lee, Mann, Smith, McWilliams, Sweeney & Ohlson
P.O. Box 2786
Chicago
IL
60690-2786
US
|
Family ID: |
31992451 |
Appl. No.: |
10/247171 |
Filed: |
September 19, 2002 |
Current U.S.
Class: |
370/352 ;
370/401 |
Current CPC
Class: |
H04M 3/51 20130101; H04M
3/5175 20130101 |
Class at
Publication: |
370/352 ;
370/401 |
International
Class: |
H04M 003/00 |
Claims
1. A method of determining statistics about the behaviour of a call
center at a required past time instant said method comprising the
steps of: (i) storing sets of values of statistics about the
behaviour of the call center at a plurality of time intervals, each
set of values being associated with a particular time instant; (ii)
accessing information about past events occurring in the call
center from an event database; (iii) accessing from said stored
sets of values, a first set of values whose associated time instant
is a known time from said required past time instant; (iv)
extrapolating from said first set of values to an output set of
values whose associated time instant is the required time instant,
by using information accessed from the event database.
2. A method as claimed in claim 1 wherein said first set of values
is selected such that its associated time instant is as close as
possible in time to said required past time instant.
3. A method as claimed in claim 1 wherein said step (iv) of
extrapolating comprises: initialising a pegging engine using said
accessed set of values; accessing from the event database
information about events occurring between the time instant
associated with the first set of values and the required time
instant; processing the accessed information about events using the
initialised pegging engine in order to produce an output set of
values of statistics whose associated time instant is the required
time instant.
4. A method as claimed in claim 1 which further comprises sending
said output set of values to a supervisor terminal associated with
the call center for display to a supervisor.
5. A method as claimed in claim 4 wherein said output set of values
are for the same statistics as also displayed to a supervisor about
the current behaviour of the call center.
6. A method as claimed in claim 1 wherein said first set of values
is associated with a time instant prior to the required time
instant.
7. A method as claimed in claim 1 wherein said first set of values
is associated with a time instant after the required time
instant.
8. An apparatus for determining statistics about the behaviour of a
call center at a required past time instant said apparatus
comprising: (i) a storage device arranged to store sets of values
of statistics about the behaviour of the call center at a plurality
of time intervals, each set of values being associated with a
particular time instant; (ii) a first input arranged to access
information about past events occurring in the call center from an
event database; (iii) a second input arranged to access from said
stored sets of values, a first set of values whose associated time
instant is a known time from said required past time instant; and
(iv) a processor arranged to extrapolate from said first set of
values to an output set of values whose associated time instant is
the required time instant, by using information accessed from the
event database
9. An apparatus as claimed in claim 8 wherein said processor
comprises a pegging engine.
10. An apparatus as claimed in claim 9 wherein said pegging engine
is arranged to be initialised with said first set of values and to
carry out said extrapolation by processing information about events
occurring between the time instant associated with the first set of
values and the required time instant.
11. A call center comprising an apparatus as claimed in claim
8.
12. A computer program arranged to control a call center in order
to carry out the method of claim 1.
13. A statistics regenerator for use in a call center said
statistics regenerator comprising (i) a first input arranged to
access stored sets of values of statistics about the behaviour of
the call center each set of values being about behaviour of the
call center at a past time instant; (ii) a second input arranged to
access information about past events occurring in the call center
from an event database; (iii) a processor arranged to use the first
input to access a first set of values about behaviour of the call
center at a past time instant a known time from said required past
time instant; (iv) a pegging engine arranged to extrapolate from
said first set of values to an output set of values whose
associated time instant is the required time instant, by using
information accessed from the event database.
14. A statistics regenerator as claimed in claim 13 wherein said
pegging engine is further arranged to be initialised with said
first set of values and to process information about events
occurring between a time instant associated with the first set of
values and the required time instant in order to produce the output
set of values.
15. A statistics regenerator as claimed in claim 13 wherein the
time instant associated with the first set of values is prior to
the required time instant.
16. A statistics regenerator as claimed in claim 13 wherein the
time instant associated with the first set of values is after the
required lime instant.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to a method and apparatus for
determining statistics about the behaviour of a call center at a
required past time instant.
BACKGROUND TO THE INVENTION
[0002] Call centers are known in which incoming calls are routed to
one of a plurality of agents. For example, the call center might
provide help desk facilities for a particular group of products and
customers who are able to call in and be allocated to an agent who
has the necessary skills to deal with his or her query. Each agent
has one or more skills, for example, a particular agent has
knowledge about sales for product X and about technical support for
product Y. An incoming call is received and information from that
call used by the call center, together with information about the
agents, in order to route the incoming call to an agent with the
appropriate skill. For example, an interactive voice response
system (IVR system) may be used to find out what type of agent
skill is required. Associated with each skill is a queue into which
incoming calls are placed until an agent with that skill becomes
available.
[0003] The term "call center" as used herein is not intended to be
restricted to situations in which telephone calls are made to the
center. Other types of call or contact are also envisaged, such as
email, fax, SMS, chat, web access and any other suitable method of
contact including conventional telephone calls and voice over
internet protocol telephone calls. Similarly, the term "call" as
used herein is not intended to be restricted to conventional
telephone calls but includes contacts made by email, fax, voice
over IP and any other suitable medium.
[0004] Typically a call center has many agents, for example, from
less than 10 to 1500 or more. Those agents are grouped into teams
each team having a supervisor responsible for managing those
agents. For example, there might be about 30 agents in a team
managed by one supervisor.
[0005] Supervisors require information about the performance of the
agents and the queues associated with their skills in order to
manage them appropriately. Previously this information has been
provided in two general forms. Current information in the form of
statistics such as queue lengths, numbers of active agents, numbers
of idle agents etc. and historical information in the form of
aggregate data such as the average waiting time over a 15 minute
period or the total number of incoming calls over a 15 minute
period. The current information is typically presented to the
supervisors at a client machine "real-time display" operated by
that supervisor and is refreshed every 5 seconds for example. The
historical data can be accessed by the supervisors from their
client machines by requesting that an historical report be
generated.
[0006] Often service level agreements are entered into with
particular enterprises whereby the call center provider agrees to
ensure specified maximum waiting times for calls of particular
specified types for example. Supervisors require the information
mentioned above in order to assist in ensuring that service level
agreements are met and to make the most efficient use of the call
center resources. For example, as a result of analysing the
information supervisors can take action such as allocating more
agents to a particular skill or sending particular agents for
training.
[0007] Situations often arise however, in which supervisors need to
analyse behaviour in the call center at a particular time instant
in the past. For example, if a customer complaint is received about
a particular past event. At present however supervisors have no
means of accessing information about the state of a call center at
a particular lime instant in the past. The historical reports only
provide aggregate data over a time period such as 15 minutes and
the granularity of information as available on the supervisor's
real-time display is not available for the past time instant. For
example, a supervisor is unable to identify from an historical
report what a particular agent was doing at a past time instant or
how long he spent on a particular call, except by resorting to a
highly complex manual task of analysing call events from the time
instant in the past.
[0008] An object of the present invention is therefore to provide a
method of determining statistics about the behaviour of a call
center at a required past time instant which overcomes or at least
mitigates one or more of the problems mentioned above.
[0009] Further benefits and advantages of the invention will become
apparent from a consideration of the following detailed description
given with reference to the accompanying drawings, which specify
and show preferred embodiments of the invention.
SUMMARY OF THE INVENTION
[0010] According to an aspect of the present invention there is
provided a method of determining statistics about the behaviour of
a call center at a required past time instant said method
comprising the steps of:
[0011] storing sets of values of statistics about the behaviour of
the call center at a plurality of time intervals, each set of
values being associated with a particular time instant;
[0012] accessing information about past events occurring in the
call center from an event database;
[0013] accessing from said stored sets of values, a first set of
values whose associated time instant is a known time from said
required past time instant;
[0014] extrapolating from said first set of values to an output set
of values whose associated time instant is the required time
instant, by using information accessed from the event database.
[0015] This provides the advantage that a quick and simple method
of obtaining statistics about the behaviour of the call center at a
past time instant is available. Sets of values of these statistics
are stored at intervals, each set of values reflecting what was the
current behaviour of the call center at a particular time. These
intervals may be for example every half an hour or longer. In this
way, the number of such sets of values to be stored is not
prohibitive whilst at the same time it is still possible to
extrapolate from those stored sets to a particular time
instant.
[0016] In a preferred embodiment said step of extrapolating
comprises:
[0017] initialising a pegging engine using said accessed set of
values;
[0018] accessing from the event database information about events
occurring between the time instant associated with the first set of
values and the required time instant; and
[0019] processing the accessed information about events using the
initialised pegging engine in order to produce an output set of
values of statistics whose associated time instant is the required
time instant.
[0020] This provides a simple and effective way in which the
extrapolation process is carried out. The pegging engine only needs
to process those events occurring between the times mentioned above
and this speeds up the process.
[0021] Preferably the method further comprises sending said output
set of values to a supervisor terminal associated with the call
center for display to a supervisor. This enables a supervisor to
quickly and easily view information about the performance of the
call center at a particular past time. This is helpful for
analysing problems that occurred at a particular time or for
dealing with customer complaints and other issues.
[0022] In one embodiment the output set of values are for the same
statistics as also displayed to a supervisor about the current
behaviour of the call center. This provides a user friendly way in
which the information is provided to the supervisor. For example,
the supervisor is used to viewing particular statistics about the
current call center behaviour on his or her display screen. The
supervisor is now able to view those same statistics but for a past
time instant.
[0023] Preferably said first set of values is associated with a
time instant prior to the required time instant. In this situation
the extrapolation process involves working forwards from the first
set of values to the required time instant. This is advantageous
because a pegging engine can be used for the extrapolation process
where that pegging engine operates in the same manner as a pegging
engine already provided in a call center server itself as known in
the art.
[0024] According to another aspect of the invention there is
provided an apparatus for determining statistics about the
behaviour of a call center at a required past time instant said
apparatus comprising:
[0025] a storage device arranged to store sets of values of
statistics about the behaviour of the call center at a plurality of
time intervals, each set of values being associated with a
particular time instant;
[0026] a first input arranged to access information about past
events occurring in the call center from an event database;
[0027] a second input arranged to access from said stored sets of
values, a first set of values whose associated time instant is a
known time from said required past time instant; and
[0028] a processor arranged to extrapolate from said first set of
values to an output set of values whose associated time instant is
the required time instant, by using information accessed from the
event database
[0029] The invention also encompasses a call center comprising an
apparatus as described above.
[0030] In addition, the invention encompasses a computer program
arranged to control a call center in order to carry out the method
described above.
[0031] According to another aspect of the invention there is
provided a statistics regenerator for use in a call center said
statistics regenerator comprising:
[0032] a first input, arranged to access stored sets of values of
statistics about the behaviour of the call center each set of
values being about behaviour of the call center at a past time
instant;
[0033] a second input arranged to access information about past
events occurring in the call center from an event database;
[0034] a processor arranged to use the first input to access a
first set of values about behaviour of the call center at a past
time instant which is a known time from said required past time
instant;
[0035] a pegging engine arranged to extrapolate from said first set
of values to an output set of values whose associated time instant
is the required time instant, by using information accessed from
the event database.
[0036] The preferred features may be combined as appropriate, as
would be apparent to a skilled person, and may be combined with any
of the aspects of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to show how the invention may be carried into
effect, embodiments of the invention are now described below by way
of example only and with reference to the accompanying figures in
which:
[0038] FIG. 1 is a schematic diagram of a call center arranged for
the present invention;
[0039] FIG. 2 is a schematic diagram of the call center server of
the call center of FIG. 1;
[0040] FIG. 3 is an example of an historical report according to
the prior art;
[0041] FIG. 4 is an example of a realtime statistics display
according to the prior art;
[0042] FIG. 5 is a schematic diagram of components of the call
center of FIG. 1 in more detail;
[0043] FIG. 6 is a flow diagram of a method of operation of a
statistics regenerator according to an embodiment of the
invention.
DETAILED DESCRIPTION OF INVENTION
[0044] Embodiments of the present invention are described below by
way of example only. These examples represent the best ways of
putting the invention into practice that are currently known to the
Applicant although they are not the only ways in which this could
be achieved.
[0045] FIG. 1 is a schematic diagram of a call center 10 suitable
for use with the present invention. It comprises a private branch
exchange (PBX) 18 which is connected to the public switched
telephone network (PSTN) 12 in order to receive and handle calls as
known in the art. A plurality of supervisor terminals 22 are
connected to the call center 10 to manage call centre resources. A
suitable PBX is the Meridian exchange provided by Nortel Networks
(trade mark) and as known to the person skilled in the art.
[0046] An internet telephony gateway (ITG) 20 connects the PBX 18
to the internet 14 and this allows the PRX to receive voice over
internet protocol (VoIP) calls from the internet and allows agents
to make VoIP calls.
[0047] A contact center server 16 is also provided. This oversees
and manages the running of the contact center 10 by instructing the
PBX to transfer calls to suitable agent terminals. The PBX and the
call center server may be integral in the same physical apparatus
although this is not essential. The call center server 16 also
presents information to agents and manages agent queues amongst
other things as known in the art.
[0048] FIG. 2 is a schematic diagram of the call center server 16
of FIG. 1. It shows that the call center comprises a management
system 24 as mentioned above and this is provided by a call server.
In addition, the call center server 16 has access to, or comprises,
a call-by-call database 26 as known in the art. This database, also
known as an event database, stores raw information about events
occurring in the call center. For example, arrival of an incoming
call, routing of a call to a particular agent, routing of a call to
a particular queue.
[0049] The call center server 16 also has access to, or comprises,
an historical statistics database as known in the art. This stores
aggregate information about the behaviour of the call center. For
example, the number of calls answered by a particular agent during
a specified time interval.
[0050] The present invention also ensures that a statistics
regenerator 29 is incorporated in the call center server 16 or
alternatively that the call center server 16 has access to a
statistics regenerator 29 The function and manner in which this
statistics regenerator 29 is used is described in detail below.
[0051] Previously, call centers have been arranged to provide both
historical reports and current data to supervisors. FIG. 4 is an
example of current data available to supervisors and FIG. 3 is an
example of an historical report.
[0052] The table of FIG. 4 lists seven different skillsets in the
left most column. As mentioned above a skillset is a prespecified
list of knowledge or abilities that agents are required to have in
order to service calls related to that skillset. For example, FIG.
4 gives "sales of product A" as the name for the skillset in the
first row of the table. Agents operating in this skillset are able
to service sales calls about product A. Associated with each
skillset is a queue of calls (which may be empty) requiring service
by an agent with the particular knowledge and abilities of that
skillset.
[0053] The remaining columns in the table each contain values of a
parameter such as maximum waiting time or number of calls answered.
Some of these parameters reflect the situation at a current time
instant whereas others are determined over a specified time
interval. For example, maximum waiting time gives the longest
length of time that any call in the current queue for the
particular skillset has been waiting. This parameter value is thus
determined over a time interval. Another parameter however, such as
number of agents active, reflects the situation at a current time
instant. That is, how many agents are actively handling calls at a
particular time instant for the skillset concerned.
[0054] As known in the art, the call center server comprises a
pegging engine which comprises counter systems for keeping tallies
of for example, the number of calls answered for each skillset
since the beginning of the working day. A pegging engine is an
apparatus responsible for the production of realtime and historical
contact center statistics based on information received from call
processing and resource management components. This pegging engine
provides the output for the parameter values in the current data
display of FIG. 4, In this way current information or "real-time
statistics" about performance of the call center is made available
to supervisors. The information is communicated to a supervisor
terminal 22 and is displayed there.
[0055] FIG. 3 shows an historical report as previously available to
supervisors. The data in this report concerns behaviour of the call
center during a specified time interval, in this case half an hour
between 3 pm and 3.30 pm on Jan. 7, 2002. Thus this differs from
the information in FIG. 4 which is about the current situation
only.
[0056] FIG. 3 gives information about a particular supervisor, Joe
Bloggs and two agents for whom he is responsible, Jane Book and
Kate Tree. Parameters values such as averages and totals over the
time interval of the report are given for each agent. This type of
report enables the supervisor to assess performance of the
agents.
[0057] The information used to form historical reports such as that
shown in FIG. 3 is obtained from the historical statistics database
28 accessible by the call center server.
[0058] As mentioned above, the information previously available to
supervisors is limited in that it is not simple to obtain
information about what the parameter values in the table of FIG. 4
were at a particular time instant in the past. For example, in the
situation that a supervisor received a customer complaint about a
particular time in the past, the supervisor is not easily able to
find out what the maximum waiting time was at that instant The
historical report (e.g. FIG. 4) only provides information about
what the waiting time was during a thirty minute (or other) time
interval and not at a particular time instant.
[0059] As mentioned above, call centers typically comprise a
call-by-call database or event database which stores raw
information about events in the call center. These events are
things like arrival of an incoming call or routing of a call to a
particular skillset queue. Typically this type of database stores
information only for a specified time such as two weeks or a month.
Otherwise the volumes of data become prohibitive.
[0060] However, even given the information in the event database
and the information in the historical statistics database it has
not previously been possible to provide the current information of
the type shown in FIG. 4 for a particular time instant in the
past.
[0061] The present invention addresses this problem by using the
statistics regenerator mentioned above and also by adapting the
call center server in order that it generates "real time snapshots"
for storage either in the historical statistics database or in any
other suitable database. The statistics regenerator comprises a
pegging engine similar to that of the call center server and takes
as input information from the events database and "real time
snapshots" from the historical statistics database. In order to
generate current information of the type shown in FIG. 4 for a
particular time instant in the past, the statistics regenerator
obtains the "real time snapshot" closest in time but previous to
the required particular time instant. It then inputs information
from the events database for the time period between the obtained
"real time snapshot" and the required particular time instant. The
pegging engine is initialised with the information from the
obtained "real time snapshot" and then arranged to process the
obtained event data. The output of the pegging engine then provides
the required information which is "current" information of the type
shown in FIG. 4 for the particular time instant in the past.
Preferably, a supervisor is able to simply use a scroll or other
mechanism on a display such as that of FIG. 4 in order to view
historical data of the same form.
[0062] This is explained in more detail with reference to FIG. 5.
This shows schematically components of a call center arranged to
carry out the present invention as well as a real time display for
a supervisor terminal 22.
[0063] The call center comprises a data server 30 with a pegging
engine 38. As known in the art the data server is arranged to use
the parallel pegging engine to generate both current and historical
statistics as mentioned above. The historical statistics are stored
in a historical statistics database 31 which can be integral with
the call center or may be separate but accessible. The current
statistics 37 (also referred to as realtime statistics) are output
to memory tables in the call center server. This information is
then communicated to graphical user interfaces or other displays at
supervisor terminals as required. For example, a supervisor
terminal 22 comprises a realtime display 35 for use by a supervisor
and which displays information 36 from the memory tables. This
information comprises for example, statistics about agents,
statistics about skillset queues and statistics about applications
as known in the art.
[0064] As known in the art, the data server 30 is also arranged to
output event data to an event database 33 as mentioned above. This
is illustrated in FIG. 5. The information in the event database is
used for example to track a particular call that occurred in the
past. This is useful in the event of a query or complaint about a
particular call or for debugging purposes. However, the information
in the event database is raw and low level and does not provide a
supervisor with information about for example, the maximum waiting
time at a particular past time instant.
[0065] The present invention involves adapting the data server 30
such that it outputs "realtime snapshots" 32 for storage in the
historical statistics database 31 or any other suitable database. A
"realtime snapshot" comprises statistics about the behaviour of the
call center at a particular time instant. This comprises, for the
particular time instant, current parameter values such as the
number of active agents in a particular skillset as well as current
values of aggregate parameters such as the total number of calls
received for a particular skillset since the start of the working
day in which the particular time instant occurs. This differs from
the historical statistics stored in the historical statistics
database 31 which are aggregate values over a specified time
interval.
[0066] In a preferred example the realtime snapshots comprise the
same information as output to the realtime displays 35 on the
supervisor terminals. Thus in this case, a copy of the information
output to the realtime displays 35 is simply made every 30 or 15
minutes or so and stored in the historical statistics database
31.
[0067] A statistics regenerator 34 is also provided as mentioned
above. This component can be integral with the call center server
but this is not essential. The statistics regenerator 34 is
arranged to accept inputs comprising realtime snapshots 32 from the
database at which those are stored, as well as the event
information from the event database 33 as illustrated in FIG. 5.
The statistics regenerator produces statistics of the same type as
those in the realtime statistics 37 but relevant to a particular
past time instant rather than the current time. This output is
provided to the realtime display 35 of a supervisor terminal.
Preferably, the form and type of the output from the statistics
regenerator 34 is such that the format of the display on the
supervisor terminal is maintained no matter whether current
statistics 37 are displayed or past statistics from the statistics
regenerator 34. This provides the advantage that a supervisor is
quickly and easily able to view information about past performance
of the call center in a format that is familiar to him or her.
[0068] Operation of the statistics regenerator is now described
with reference to FIG. 6.
[0069] The statistics regenerator first receives a request for
statistics relevant to a required past time instant (see box 60).
This request may come directly from a supervisor terminal, or may
be received from a supervisor terminal via the call center
server.
[0070] The statistics regenerator then obtains the most relevant
realtime snapshot from the database where the realtime snapshots
are stored (see box 61). The most relevant realtime snapshot is the
snapshot closest in time to the required past time instant.
Preferably the most relevant snapshot must also be for a time prior
to the required time instant although this is not essential.
[0071] The statistics regenerator then obtains from the event
database information about events occurring between the time of the
most relevant realtime snapshot and the required time instant (see
box 62 of FIG. 6). Next or in the meantime, the pegging engine of
the statistics regenerator is initialised with information from the
most relevant realtime snapshot (see box 63 of FIG. 6).
[0072] The initialised pegging engine is then used to process the
event data obtained from the event database (see box 64 of FIG. 6).
This gives an output comprising information for a realtime snapshot
associated with the required past time instant (box 65). In the
case that the realtime snapshot used for initialising the pegging
engine is prior in time to the required time instant then the
pegging engine simply operates in the same manner as the
conventional pegging engine of the call center server. In this case
it is possible for only one pegging engine to be provided, that of
the call center, and the statistics regenerator makes use of that
pegging engine. In the case that the realtime snapshot used for
initialising the pegging engine is after the required time instant
then the pegging engine effectively needs to operate in reverse.
This is more complex than the alternative option described above
but can provide a workable solution if required. This is because
pegging engines are designed to process events in a forward
chronological order. Processing events in the reverse order is
possible given redesign of the algorithms designed to produce
statistics from the event information.
[0073] This provides the advantage that it is only necessary to
store realtime snapshots at some times, for example, every 30
minutes. (This advantage is achieved no matter whether events are
processed in the forward or reverse directions.) By using the event
data to update those realtime snapshots it is possible to obtain a
realtime snapshot for any particular past time without needing to
store realtime snapshots for all past time instances. Also, by
careful selection of the frequency of storage of the realtime
snapshots a good balance between resources needed to store those
snapshots and resources needed to process event information and
update those snapshots to find the situation for a particular past
time can be found. Thus the particular frequency of storage of the
realtime snapshots is chosen depending on a number of factors such
as the number of statistics present in a realtime snapshot, and the
complexity of calculating those statistics.
* * * * *