The invention relates to a communications system and method, and more particularly to an information assistance system and method for prioritizing communication calls.
It is common that an information assistance service provider sets up information/call centers (conveniently referred to hereinafter as “call centers”) in different geographic areas to handle information assistance calls from users. When all operators at a call center are busy answering information assistance calls, a subsequent call arriving at that call center is placed in a call queue to wait for the next available operator. Typically, overflowing information assistance calls are placed in the call queue based on their arrival times, e.g., in accordance with a first-in-first-out (FIFO) algorithm.
The invention is premised upon a recognition that the call queuing algorithm used in a prior art information assistance service is memoryless. That is, in prior art, the wait period incurred in a previous information assistance call by a user is not taken into account in prioritizing the current call by the same user in a call queue. As a result, the user may be dissatisfied with the service if he/she consistently experiences a long wait period for the service, which is undesirable.
The invention overcomes the prior art limitations by taking into account the user's prior call experiences in prioritizing the current call. In accordance with the invention, after an information assistance system receives a current call from a user, and signals containing an identifier (e.g., an automatic number identification (ANI)) associated with the user, a processor determines whether the current call should be placed in a queue to wait for a service provider (e.g., an operator) to render an information assistance service. If the current call should be placed in a queue, a data source is searched for data associated with the user based on the identifier. Such data concerns at least one wait period before an information assistance service was rendered in at least one prior call to the system, which is identifiable by the same identifier. The current call is then placed in a queue based on the data.
In an illustrative embodiment, the wait period incurred in the user's last call, which may be offset by a predetermined, acceptable service wait time (e.g., greater than or equal to zero), is used to determine a position in the queue in which the user's current call is placed. The longer the wait period is, the more likely the current call placed ahead of other calls in the queue.
Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings showing an illustrative embodiment of the invention, in which:
a and 3b illustrate first and second wait queues containing information assistance calls to be answered;
a and 4b are flow charts depicting first and second call queuing processes in accordance with the invention;
a and 6b illustrate third and fourth wait queues containing information assistance calls to be answered; and
The invention is directed to promoting customer satisfaction of an information assistance service by controlling the service wait times of information assistance calls on a user by user basis. In an illustrative embodiment of the invention, priority is afforded to an information assistance call from a user who experienced in his/her last call an excess wait time (EWT), which is defined as the wait time in excess of a predetermined, acceptable service wait time, which may be greater than or equal to zero. In this instance, the acceptable service wait time is predetermined to be 20 seconds long. An EWT database is maintained which registers, for each user who made an information assistance call, the EWT of the user's call. For example, in the EWT database, a call incurring a service wait time of 30 seconds is said to have an EWT of 30−20=10 seconds. On the other hand, a call incurring a service wait time of 20 seconds or less is said to have a zero EWT. The user may be identified in the EWT database, e.g., by an identifier (e.g., telephone number) of the user's communications device (e.g., a telephone) from which the call originates.
When a subsequent information assistance call is received from the same user (or his/her telephone number) at a call center where all operators are busy answering other calls, the EWT database is checked to see what EWT value is associated with the user (or his/her telephone number). If the EWT value is larger than zero, the call is placed in the call queue ahead of other calls which, although arrived earlier, have smaller EWT values, in hopes that the call this time will be answered within the predetermined, acceptable service wait time to gain the user's service satisfaction.
In another illustrative embodiment, upon arrival of a current call from a user, the EWT database is searched not only for the EWT value of the last call when the user experienced an EWT, but also the date/time of such last call. If the date/time is more than a predetermined time period ago, e.g., a week ago, the non-zero EWT value may not be the controlling factor in placing the current call in the call queue, stemming from an assumption that the user is an infrequent user of the service and most likely would have forgotten the prior “bad” call experience. As such, no priority is accorded to the current call.
In yet another illustrative embodiment, the EWT database keeps track of all calls (or at least those calls incurring a non-zero EWT) on a cycle basis, e.g., a weekly cycle, a month cycle, etc. For each user, the EWT values of all of the calls from the user during the current cycle are cumulated. The cumulative EWT value (as opposed to only the EWT value of the last call in the previous embodiment) may be used to determine priority of the user's current call. This way, relatively frequent service users making, e.g., eight calls a month, who consistently experience small amounts of EWT, e.g., 5 seconds each, would be given priority over relatively infrequent users making, e.g., one call a month, who may have experienced a one-time large EWT, e.g., 35 seconds.
In still yet another embodiment, the cumulative EWT value associated with a user is averaged over the number of calls from the user in the current cycle which incur a non-zero EWT. The resulting, average EWT value may then be used to determine priority of the user's current call.
It should be noted that even though both provider 103 and servicing platform 110 appear in the same figure, they may or may not be located in the same geographic area. In
Channel bank 116 in provider 103 is used to couple multiple operator telephones 118 to switch 114. The operators in service 100 are further equipped with operator terminals 120, each of which includes a video display unit and a keyboard with associated dialing pad. Operator terminals 120 are connected over data network 124 to one or more database server(s) 126 (although only one is shown here). Switch host computer 128 and voice server 130 are also connected to data network 124. By way of example, data network 124 includes a local area network (LAN) supplemented by a number of point-to-point data links. Through data network 124 and routers (not shown), components of service 100, e.g., voice server 130, may also be connected to the Internet.
Switching matrix platform 114 is conventional and supports digital T1 connectivity. The operation of switching matrix platform 114 is governed by instructions stored in switch host computer 128. In this illustrative embodiment, switching matrix platform 114 includes, inter alia, arrays of digital signal processors (DSPs). These DSPs can be programmed and reprogrammed to function as, among other things, call progress analyzers (CPAs), call progress generators (CPGs), multi-frequency (MF) tone generators/detectors, dual-tone multi-frequency (DTMF) generators/detectors, or conference units, depending on the demand placed on system 100 and switching matrix platform 114 for each corresponding function.
Operators may utilize database server 126 to provide information assistance by searching one or more databases through server 126 for telephone numbers of a desired parties, restaurant recommendations, movie listings, events, etc. It should be pointed out that the term “operator” here broadly encompasses entities that are capable of providing assistance in a telecommunication environment, including without limitation human operators, voice response/recognition capabilities, web-enabled operator services, and other electronic access.
An incoming information assistance call from a caller is received by switching matrix platform 114 in system 100 which connects it to an available operator's telephone. If no operator is available when a call is received, the call is queued in accordance with the invention. In this illustrative embodiment, host computer 128 maintains (e.g., in memory 180) an EWT database 200 illustrated in
For example, record 260 indicates that the user associated with the “917-563-1511” phone number (in ANI field 205) has 20 seconds of EWT (in EWT field 210). That is, in the last information assistance call from “917-563-1511,” the user experienced a service wait time of 40 seconds, 20 seconds over the acceptable wait time, which is predetermined to be 20 seconds in this instance. If the value in EWT field 210 is zero, e.g., as in record 255, this could mean that no previous information assistance calls were made from the corresponding phone number in ANI field 205. (When EWT database 200 is created EWT field 210 for all the records is initialized to zero.) Alternatively, it means that the previous information assistance call was answered within the predetermined, acceptable wait time and hence did not incur any EWT.
By way of example,
As shown in
Continuing the above example where the current information assistance call from “917-563-1511” just arrived at system 100, computer 128 determines that the call needs to be placed in a call queue to wait for service. Accordingly, computer 128 executes a call queuing routine depicted in
As shown in
Returning to step 410, if host computer 128 there determines that the EWT value associated with the current call is not greater than zero (e.g., zero), the routine proceeds to step 425, instead, where computer 128 places the current call in the call queue according to its arrival time, i.e., last in the queue.
Thus, if in fact call 350 is answered within the acceptable wait time, after the caller completes the call, host computer 128 updates record 260 in EWT database 200 to change the previous EWT value of 20 seconds in field 210 to zero. In that case, host computer 128 will not accord priority to the subsequent call from the same telephone number (presumably by the same caller) as call 350 due to the zero EWT value associated with the subsequent call. As a result, the subsequent call will be placed last in the call queue, if any, when it arrives at system 100.
However, it will be appreciated that database 200 may not be updated each time a call is completed. It may be updated from time to time, e.g., once a day, once a week, etc.
In accordance with an aspect of the invention, the time elapsed from the information assistance call in which a user experienced a EWT may be a factor in according priority to the user's subsequent call. Thus, in a second embodiment of the invention, a current information assistance call is queued based not only on the value of EWT of the last call from the same user (or the same telephone number), but also on how “recent” the last call is. If the last call in which the user experienced a EWT was made more than a predetermined period ago, e.g., a week ago, it may be safe to assume that the user is an infrequent user of the service and most likely would have forgotten the prior “bad” call experience. As such, no priority is accorded to the current call.
To implement the second embodiment, each record in EWT database 200 also contains date/time field 215 which registers the date and time when the last information assistance call from a user arrived at system 100. For example, record 260 indicates that the last call from “917-563-1511” (in ANI field 205) arrived at system 100 on Aug. 1, 2001 at 3:17:23 p.m. (in date/time field 215), and incurred 20 seconds of EWT (in EWT field 210). In the above example where the current call made by the same user at “917-563-1511” on Aug. 23, 2001 arrived at system 100 at 12:43:40 p.m., the call needs to be placed in queue 300, previously described. In this second embodiment, host computer 128 executes a second call queuing routine similar to that of
In accordance with another aspect of the invention, the EWT database may be used to keep track of all calls (or at least those calls incurring a non-zero EWT) on a cycle basis, e.g., a weekly cycle, a month cycle, etc. For example, for each user, the EWT values of all of the calls from the user during the current cycle are cumulated in the EWT database. The cumulative EWT value (as opposed to only the EWT value of the last call in the previous embodiments) may be used to determine priority of the user's current call.
In accordance with still another aspect of the invention, the cumulative EWT value associated with a user is averaged over the number of calls from the user in the current cycle which incur a non-zero EWT. The resulting, average EWT value may then be used to determine priority of the user's current call.
To implement the last two aspects of the invention, EWT database 500 in
For example, at the end of Aug. 21, 2001 EWT database 500 contains record 560, which indicates that the user of “917-563-1511” phone number (in ANI field 505) has experienced a total of 40 seconds of EWT (in Total EWT field 510) in 4 calls during the month of August 2001 (in Number of EWT Calls field 520) with the last call placed on Aug. 11, 2001 at 3:17:23 p.m. (in Date/Time field 515). In this instance, Average EWT field 525 of record 560 registers 10 (seconds) as the running average EWT per call.
In this instance, at the beginning of each month, e.g., at 12:00 a.m. on Aug. 1, 2001, host computer 128 resets all of the fields 510, 520 and 525 in database 500 to zero. After each EWT call originating from a telephone number, host computer 128 updates the corresponding record in EWT database 500 containing the same telephone number in field 505.
By way of example,
As shown in
Continuing the above example where the current information assistance call from “917-563-1511”just arrived at system 100, computer 128 determines that the call needs to be placed in a call queue to wait for service. Accordingly, computer 128 executes a call queuing routine depicted in
As shown in
Returning to step 710, if host computer 128 there determines that the average EWT value associated with the current call is not greater than zero (e.g., zero), the routine proceeds to step 725, instead, where computer 128 places the current call in the call queue according to its arrival time, i.e., last in the queue.
In an unfortunate event that the current call 650 incurs a non-zero EWT, say, 15 seconds. After completion of call 650, host computer 128 updates record 560 in EWT database 500 by adding 15 seconds to the value in Total EWT field 510 (i.e., 40 seconds), incrementing the value in No. of EWT Calls field 520 (i.e., 4) by one, and changing the value in Average EWT field 525 to the new running average EWT per call, which is 11 seconds in this instance (i.e., 55 seconds divided by 5 EWT calls).
The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise numerous other arrangements which embody the principles of the invention and are thus within its spirit and scope.
For example, it will be appreciated by those skilled in the art that the EWT database may be modified to include only those records having ANIs associated with the users who experienced EWTs, thereby reducing the size of the EWT database. In addition, if host computer 128 cannot locate a record for a particular ANI in the modified EWP database, it would mean that this particular user has not experienced EWT, i.e., EWT=0, and his call would be queued according to its arrival time. After each EWT call, host computer 128 may update the modified EWT database by adding a new record corresponding to a new ANI or by changing EWT in an existing record. For example, it will also be appreciated by those skilled in the art that in an embodiment where a call is queued based on the cumulative EMT value associated with the call, every call incurring a zero EWT results in a reduction of the cumulative EWT value, thus according less priority to a subsequent call from the same user who had one or more “good” call experiences.
It will also be appreciated by those skilled in the art that in another embodiment of the invention, if a user experienced a EWT exceeding a certain threshold, e.g., 100 seconds (whether in a single or multiple EWT calls), a user may be afforded priority in more than one subsequent calls to compensate for such a significant EWT. Each zero EWT call may or may not result in reduction of the EWT.
In addition, in the disclosed embodiment, a monthly cycle is illustratively used where an average EWT per call is determined. It will be appreciated that such a cycle may be of any other length, and the start of the cycle may not be calendar based, e.g., a particular day of each month. Instead, the start of the cycle may vary from user to user, which may be triggered by a user's first call incurring a non-zero EWT.
Finally, information assistance system 100 is disclosed herein in a form in which various functions are performed by discrete functional blocks. However, any one or more of these functions could equally well be embodied in an arrangement in which the functions of any one or more of those blocks or indeed, all of the functions thereof, are realized, for example, by one or more appropriately programmed processors.