U.S. patent application number 11/762255 was filed with the patent office on 2007-10-04 for presence awareness agent.
This patent application is currently assigned to AVAYA INC.. Invention is credited to David G. Boyer, Sally Cartwright, Susan K. Harkreader, Thomas L. Hemm, Joylee Kohler, Doree Duncan Seligmann.
Application Number | 20070230681 11/762255 |
Document ID | / |
Family ID | 28039529 |
Filed Date | 2007-10-04 |
United States Patent
Application |
20070230681 |
Kind Code |
A1 |
Boyer; David G. ; et
al. |
October 4, 2007 |
PRESENCE AWARENESS AGENT
Abstract
The present invention is directed to a customer contact 100 in
which a agent service function 136 to collect predetermined types
of information regarding the contact and/or the contact center 100
and interface with the contact. The interface can include
presenting service options to the contact. A mood detector 152 can
be used to collect information about the customer's state of
mind.
Inventors: |
Boyer; David G.; (Oceanport,
NJ) ; Cartwright; Sally; (Westminster, CO) ;
Harkreader; Susan K.; (Arvada, CO) ; Hemm; Thomas
L.; (Boulder, CO) ; Kohler; Joylee;
(Northglenn, CO) ; Seligmann; Doree Duncan; (New
York, NY) |
Correspondence
Address: |
SHERIDAN ROSS P.C.
1560 BROADWAY, SUITE 1200
DENVER
CO
80202
US
|
Assignee: |
AVAYA INC.
Basking Ridge
NJ
|
Family ID: |
28039529 |
Appl. No.: |
11/762255 |
Filed: |
June 13, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10099144 |
Mar 15, 2002 |
|
|
|
11762255 |
Jun 13, 2007 |
|
|
|
Current U.S.
Class: |
379/265.1 ;
379/265.02; 379/266.02 |
Current CPC
Class: |
G06Q 30/016 20130101;
G06Q 30/02 20130101; G06Q 30/0281 20130101 |
Class at
Publication: |
379/265.1 ;
379/265.02; 379/266.02 |
International
Class: |
H04M 5/04 20060101
H04M005/04 |
Claims
1-66. (canceled)
67. A method for servicing contacts, comprising: determining
whether a contact center has a predetermined state; when the
contact center has the predetermined state, creating topical
dynamic chats on a topic-by-topic basis to service sets of
customers; and when the contact center does not have the
predetermined state, not creating topical dynamic chats.
68. The method of claim 67, wherein the predetermined state is at
least one of an expected wait time exceeds a predetermined level, a
size of a selected queue exceeds a predetermined threshold, and a
staffing level falls below a predetermined level.
69. The method of claim 67, wherein, when the contact center has
the predetermined state, determining for a selected customer
whether the selected customer is willing to participate in a chat
in the event that one will be offered related to the topic for
which the selected customer is calling and how the selected
customer would like to be notified when and if a chat is
formed.
70. The method of claim 67, wherein, when the chat is to be offered
at a later time, a selected customer is given a unique access code
to enter the chat automatically upon entry of the code.
71. The method of claim 67, wherein, if a selected customer is
interested in the chat but elects not to participate in the chat,
the selected customer is provided with a transcript of the
chat.
72. The method of claim 67, wherein, while a selected customer is
participating in a chat, a queue position of the selected customer
is maintained and wherein, in a selected chat session, different
participants use different contact modes.
73. The method of claim 67, wherein the contact center has the
predetermined state and the creating step comprises the substeps:
determining whether there is a contact center resource able to
moderate a chat on a selected topic; determining whether there is a
sufficient number of customers to participate in the chat on the
selected topic; when a contact center resource is identified and a
sufficient number of customers exists to participate in the chat on
the selected topic, creating the chat on the selected topic; and
when a contact center resource is not identified and/or a
sufficient number of customers does not exist to participate in the
chat on the selected topic, not creating the chat on the selected
topic.
74. The method of claim 73, wherein, when the chat on the selected
topic is created, the identified contact center resource is
provided with chat configuration rules and/or parameters, a script
for the chat, and selected information on each chat participant and
wherein the selected information comprises a plurality of a value
of each participant to the contact center, a need of each
participant, and historical information about each participant.
75. The method of claim 67, wherein the contact center has the
predetermined state and the creating step comprises the substeps:
receiving an incoming contact from a first customer; determining
whether an eligible chat exists for the incoming contact; when an
eligible chat exists, determining whether the eligible chat has an
opening; when an eligible chat exists and has an opening,
connecting the incoming contact to the chat; and announcing the
first customer to a moderator of the chat and other participants in
the chat.
76. The method of claim 67, wherein the contact center has the
predetermined state and the creating step comprises the substeps:
determining that a customer has left an ongoing chat and a chat
vacancy has been created; determining whether the contact center is
configured to allow barge in of another customer into the ongoing
chat; when the contact center is configured to allow barge in of
another customer into the ongoing chat, connecting a second
customer with the ongoing chat; and when the contact center is not
configured to allow barge in of another customer into the ongoing
chat, not connecting a second customer with the ongoing chat.
77. The method of claim 67, wherein the contact center has the
predetermined state and the creating step comprises the substeps:
determining that a chat has ended and a chat moderator is now
available; identifying a chat having at least a selected value to
the contact center, the value being based on one or more of the
following: a business rule, a service level requirement, a contact
center state, a predicted queue wait time, a staffing level,
available resources, available skill levels, current populations
for the possible chat sessions, a length of the possible chat
sessions, the contents of the possible chat sessions, and a
potential revenue realized from the possible chat sessions; and
assigning the chat moderator to the identified chat.
78. The method of claim 67, wherein the contact center has the
predetermined state, wherein an initial contact mode of a selected
customer is changed to a different contact mode, and wherein one of
the following is true: the initial contact mode is a text
communication on a first channel and, after a keyword is inputted
successfully, the different contact mode is instant messaging on a
second channel different from the first channel; and the initial
contact mode is a electronic mail and, after a hotlink in an
electronic mail is selected, the different contact mode is a text
chat.
79. A computer readable medium comprising processor executable
instructions to perform the steps of claim 67.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Cross reference is made to U.S. patent application Ser. Nos.
09/756,955, filed Jan. 9, 1999, entitled "Customer Service by
Batch", and Ser. No. 09/416,737, filed Oct. 13, 1999, entitled
"Multi-Tasking, Web-Based Call Center", which are incorporated
herein by this reference.
FIELD OF THE INVENTION
[0002] The present invention relates generally to contact centers
and specifically to customer relationship management in contact
centers.
BACKGROUND OF THE INVENTION
[0003] A customer contact center typically must balance the quality
of service that it provides against the cost of providing such
service. When personalized service is needed, an automatic call
distribution system (or ACD) typically connects a customer to a
contact center agent who has the skills that are needed to service
the customer. The agent serves only one customer at a time. This
personalized treatment generally leads to a high quality of
service, with the main limitation on the quality of service being
the number of available agents, but it can be very expensive. In
some applications (particularly applications involving long queue
wait times), ACD's can lead to customer frustration and
dissatisfaction. Customers waiting in queues typically have few
choices--namely the choices of either continuing to wait in the
queue or calling back at a later time.
[0004] To reduce costs and queue wait times, many contact centers
offer some form of automated self-service, such as an interactive
voice response (IVR) system, to customers. Each customer is
connected to a separate port of the IVR system for service. The
cost of providing service via the IVR system is generally
substantially lower, but a desirable quality of service is not
always achieved, as the IVR system is not as flexible and
responsive as a human agent. Moreover, some customers are reluctant
to use such systems.
[0005] Traditionally, ACDs provide resource matching with clients
in a way that is favorable to the call center. ACDs fail to
consider the customer's preferences. This failure has lead to a
high rate of customer dissatisfaction and concomitant business
losses.
SUMMARY OF THE INVENTION
[0006] These and other needs are addressed by the various
embodiments and configurations of the present invention. The
present invention generally relates to an intelligent, automated
personal agent service function for a communications system. The
service function can assist customers by presenting preferred
(e.g., the current best) service options (e.g., waiting in a queue,
waiting for a particular agent, joining a multi-customer session,
using self service, and selecting a call back) to the customer
and/or responding to customer requests and instructions, collecting
customer information for use by the contact center, and/or
providing services to the customer. Using the resulting knowledge
or awareness of the current situation obtained from the customer
context, customer presence, and availability of resources, the
agent service function applies predetermined rules to filter
through a large number of possible service options and provides a
much smaller number of (best) service options for the customer to
choose from. As used herein, customer "context" refers to
circumstances surrounding the present contact of the customer with
the communications system 100 (e.g., the contacting modality
employed, time of day, state of system, mix of other contacts,
language, time of last contact, nature of last contact and service,
and service level), and "presence" to other types of information
associated with the customer (e.g., customer identity, degree of
anonymity of customer, where the customer is contacting the contact
center from, customer transactional history, customer needs and
preferences, customer profile, and customer interaction with the
contact center in the present contact (such as what parts of
contact center are visited). The rules can consider dynamic and
static data relating to the customer (e.g., customer needs,
customer history, customer value, and the like) and to the contact
center itself (e.g., availability and skills of resources, queue
wait times, and the like) and operational goals (such as agent
retention goals, service goals, promotional goals, and bottom line
goals) and policies of the contact center. In data network
applications, the agent service function can be graphically
rendered on a communications device.
[0007] The agent service function can maximize the level of service
to the customer and utilization of contact center resources while
minimizing the impact on the contact center. Because the contact
center typically does not know the customer's entire context, the
customer is allowed to select from or among the top service
options.
[0008] In some applications, the communications system implements
multi-customer sessions or chats to reduce agent workload. A
session refers to a communicative interaction between two or more
interconnected entities, whether two or more individuals,
computational components, and/or a combination thereof. Such
sessions can be multi-mode or single mode and can involve multiple
communication pathways (both internal and external to the contact
center). As used herein, "mode" refers to a communication technique
or method as defined, governed, or enabled by one or more selected
protocols (e.g., a packet-based protocol such as TCP/IP, RTP, and
RTCP, an asynchronous transfer mode protocol, and a frame relay
protocol), algorithms (e.g., software applications, such as E-mail,
Web browsers, instant messaging, text chat, Integrated Services
Digital Network or ISDN, QSIG, DPNSS, SIP, H.323, VDP, and SGCP,
etc.) switches or routers, and/or communication medium (e.g.,
twisted wire, coaxial cable, fiber optic cable, wireless, cellular,
and PCS.TM. of U.S. Sprint). As will be appreciated, language can
be considered to be a mode attribute. For example, voice-only wired
telephone communications over the PSTN represent one mode,
voice-over-IP telephony yet another mode, voice-only wireless
telephone communications a further mode, non-voice IP telephony
(e.g., a text web chat) a further mode, multi-media telephony
(e.g., a video call) over the PSTN a further mode, instant
messaging over the data network a further mode, a Web conference
over the Internet a further mode, etc.
[0009] In yet another embodiment, a mood detector is used to
monitor customer behavior and/or emotional state and/or state of
mind. If predefined criteria are detected, the communications
system can take appropriate action(s) to address customer needs.
The mood detector is particularly effective when used with the
agent service function.
[0010] The agent service function can provide a number of benefits
relative to conventional ACDs. For example, the agent function can
customize the experience of each customer interaction with the
contact center, thereby providing increased levels of customer
satisfaction while realizing continued operational efficiencies at
acceptable, and often much lower, costs. In contrast, conventional
ACDs segment groups of customers that are similar and provide the
different groups separate treatment. The agent service function
permits the ACD replicate the experience that a customer has when
entering a store. As will be appreciated, this experience is
familiar and typically enjoyable for most customers.
[0011] These and other advantages will be apparent from the
disclosure of the invention(s) contained herein.
[0012] The above-described embodiments and configurations are
neither complete nor exhaustive. As will be appreciated, other
embodiments of the invention are possible utilizing, alone or in
combination, one or more of the features set forth above or
described in detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a block diagram of a communications system that
includes a first illustrative embodiment of the invention;
[0014] FIG. 2 is a flow diagram of operation of a personal agent
function of the system of FIG. 1;
[0015] FIG. 3 is a flow diagram of operation of a personal agent
function of the system of FIG. 1;
[0016] FIG. 4 is a block diagram of a plurality of concurrent
sessions in the communications system according to a second
illustrative embodiment;
[0017] FIG. 5 is a flow diagram of operation of a session monitor
of the system of FIG. 1;
[0018] FIG. 6 is a flow diagram of operation of a session monitor
of the system of FIG. 1;
[0019] FIG. 7 is a flow diagram of operation of a session monitor
of the system of FIG. 1;
[0020] FIG. 8 is a flow diagram of operation of a session monitor
of the system of FIG. 1;
[0021] FIG. 9 is a flow diagram of operation of a session monitor
of the system of FIG. 1; and
[0022] FIGS. 10-11 are flow diagrams of an alternative embodiment
of the session monitor.
DETAILED DESCRIPTION
The Contact Center
[0023] FIG. 1 shows a communication system comprising contact
center 100 that is connected with a plurality of customers 1-N
110-118 via a communications network 102.
[0024] Illustratively, customers 1-N comprise the customers'
communication terminals, such as (wired or wireless) telephones,
telephony-enabled personal computers, and personal digital
assistant or PDAs, Internet appliances with or without
voice-enablement, pagers, and network 102 comprises the public
telephone network, a data network such as the Internet, or a
combination of the foregoing.
[0025] Contact center 100 comprises a plurality of resources 1-N
120-128 for servicing customer contacts, such as human agents,
automated agents, IVR ports, and other types of ports, etc., that
are connected to network 102 by an ACD (or contact distribution)
system 130. Customer communications can be submitted using
interactive media formats. Interactive media formats include
telephone calls, sending facsimiles, sending E-mail, looking at web
pages, requesting live help from a web page, and the like. Live
help may include live text, synchronous web pages, voice, video,
application sharing, and/or white boarding.
[0026] ACD system 130 distributes communications of customers 1-N
among, and connects customers' communications to, resources 1-N for
servicing. Customers are typically placed in queues 150-158 when no
resources are available. ACD system 130 is a
stored-program-controlled machine comprising at least one memory
132 for storing control programs and data and a processor 134 for
executing programs and using data from memory 132. ACD system 130
is illustratively the DEFINITY.TM. enterprise communications system
of Avaya Inc., and includes one or more conferencing functions 137,
such as conference circuits, conference software, and/or
multi-point conferencing unit (MCU).
[0027] Conferencing functions 137, under the direction of the
session monitor 140 (discussed below), provide batch service by
connecting simultaneously a plurality of customers to one resource
and/or to each other. The resource can be a human agent or an
automated program such as an IVR port or E-mail auto response, or
even a null resource (e.g., a conference connection between
customers 11-118 only, with the customers acting as each others'
resources). In one configuration, the resources are human agents
having user interfaces that can present information about customers
and other information. Each queue 150-158 can have zero or more
customers associated with it.
[0028] The connection among the batch of customers and the resource
can be configured in a variety of ways such as listen-talk, or
listen-only, or listen-only/then listen-talk. The customers may or
may not have awareness of other participants. For example, informal
sessions can be conducted in which all participants are aware of
one another and can freely broadcast and receive messages to/from
all participants. Consultation sessions can be conducted in which
all participants are aware of one another but the resource controls
which messages are broadcast to all participants. Classroom
sessions can be conducted in which the resource leads a discussion
or lecture and broadcasts to all participants. Participants must
get approval from the moderator to broadcast a message to all
participants. For example, participants must transmit a signal to
the moderator requesting permission to ask a question. A visual or
audio notice could appear on the moderator's work station when the
signal is received. Permission could be granted based upon any
suitable criteria, such as the order in which the signals are
received, the positions of the requesters in the queue, and the
like. Permission can be conveyed by any suitable technique such as
text, URL, or E-mail. In another configuration (which resembles a
token ring network), the chat participants sequentially receive a
token which entitles them to ask a question of the moderator. In
any of the foregoing, one or more of the customers can be muted by
the resource while other customers are not muted.
[0029] The multi-customer session can be configured in a variety of
ways. The conference connection with the plurality of customers can
be established immediately at the start of the resource commencing
to provide service. The resource may start providing service to
only one or some of the customers and the other customers may be
conferenced in later. Alternatively, the batch of customers can
first be conferenced together before the resource is conferenced
in. The conference connection can also be ongoing, with new
customers being conferenced in as previously-conferenced customers
drop out.
[0030] The services that may be provided via batch service are
varied. For example, customers may listen to various types of
information, such as the latest interest rates, stock market
quotes, investment recommendations, music offerings, product
descriptions, etc., or participate in sponsored activities, such as
solo or multi-party games that may involve other enqueued
customers. In a listen-and-talk connection, the conferenced
customers may then discuss the received information with each other
or ask questions of the resource. Illustratively, one or more of
the customers themselves can function as the resource and answer
questions or provide further information.
The Personal Agent
[0031] According to a first embodiment of the present invention, a
personal agent function 136 is employed (alone or with
multi-customer sessions) to provide an intelligent, automated
personal assistant for each customer 1-N. The personal agent
function 136 collects dynamic and static data to provide an
awareness of the contact and current situation based on context,
presence, and availability of resources and makes decisions based
on this data and predetermined service, agent retention,
promotional, and/or business (e.g., bottom line) goals, policies
and rules. "Customer awareness" refers to information associated
with the customer, such as the auditory and visual inputs
characteristic to the contact mode, customer identity, customer
transactional or service history, customer needs and preferences,
customer profile, customer media personalization of user
configurable parameters (e.g., hold music selected, background
color selected, etc.) and customer interaction with the contact
center in the present contact (such as what parts of contact center
are visited), and customer context, and "contact center awareness"
to information associated with the contact center(s), such as the
quantification of the system (contact center) state, current CRM
(Customer Resource Management) configuration, queue sizes and wait
times (both on-line and telephony queues), presence and
availability (workloads) of resources and skills, success rate for
self-service alternatives, current chats, start times of various
activities, call back times, agent's schedules, emergency status,
and unusual events impacting the contact center. After a customer
or contactor initially contacts the contact center 100 (or walks
through the virtual door into the center 100), the personal agent
function 136 determines the potential impact of the customer on
these goals, what promotions and products or services the client is
interested in hearing about based on extensive use of the
customer's history/profile, the current CRM configuration, the
current contact center situation, business policies, pool of
contacts, the customer's recent history, preferred resource and
method of service, and the relative success rates of customer
service methods or options.
[0032] Using this information and following applicable business
goals, policies and/or rules (examples of which are presented
below), the personal agent function 136 determines for a selected
customer 2 to 3 service options from among a greater number of
service options and can recommend to the selected customer one of
the options. In this manner, the personal agent function limits
service options to those service options which most efficiently
utilize resources while effectively servicing the customer.
[0033] The personal agent function 136 is typically software
instructions stored in memory 132 of the ACD system 130 or can be
configured as a hardware implementation such as an Application
Specific Integrated Circuit or ASIC.
[0034] The interface of the agent with the customer can take any
suitable form. In a voice contact such as a telephone call, the
agent function can be a voice. In a contact through a graphical
user interface such as a contact through a data network, the agent
function can be in the form of an animated character. The animated
character can communicate with the customer through text, voice,
animated movement or a combination of these communication
techniques. If the customer contact is initiated via an intelligent
device, such as a personal digital assistant or PDA, a cell phone,
a personal computer and the like, all or part of the agent function
136 can be downloaded (e.g., as an applet) onto the customer's
device. The downloaded software can gather information stored in
the customer's device and provide the information to the agent
function stored in memory 132.
[0035] The operation of the agent service function is depicted in
FIG. 2.
[0036] Referring to FIG. 2, execution of the agent service function
is invoked when a contact is received in step 200. As noted, the
contact can be received via any suitable type of communication
medium. Examples include via the public switched telephone network
(such as by a wired telephone), a private branch exchange or PBX, a
wireless telephone network (such as by a wireless telephone), and a
data network (such as the Internet). The contact can also be via
any suitable type of communication mode.
[0037] In step 202, the agent service function collects information
to identify the customer. The information collected surrounds the
context of the contact. For example, the agent service function can
identify the customer by telephone number, network address, cookie,
voice recognition techniques, prior registration, unique keyword or
identifier, and ii digit.
[0038] In step 204, the agent service function determines whether,
based on the information collected in step 202, the agent service
function has first predetermined types of information regarding the
customer stored in memory 132. In one configuration, the customer
is considered to be recognized if a customer profile of the
customer is stored in memory 132.
[0039] If the agent service function lacks some or all of the first
predetermined types of information, the customer is automatically
sent in step 206 to an IVR port for the lacking information to be
collected. When the IVR questions have been answered
satisfactorily, the agent service function proceeds to step
208.
[0040] If the agent service function has the first predetermined
types of information, the agent service function in step 208
retrieves the information such as a customer profile from memory
132.
[0041] In step 209, the agent service function determines the
reason for the customer contacting the contact center. As will be
appreciated, the purpose(s) of the contact is normally crucial
information in knowing which options to present to the customer.
This step is usually performed by reviewing the customer awareness
information previously gathered (e.g. , DNIS or URL, customer
profile, and recent history) and/or prompting the customer for the
purpose(s) of the contact.
[0042] In decision diamond 210, the agent service function
determines whether the purpose(s) for the contact have been
determined in step 209. If purpose(s) is known, the agent service
function proceeds to step 212. If purpose(s) is unknown, the agent
service function proceeds to step 211, and the IVR prompts the
customer for the information. After obtaining the information, the
agent service function proceeds to step 212.
[0043] In one configuration not shown in FIG. 2, the agent service
function, in step 209 and 210, reviews the retrieved information
and determines whether the information is complete (or includes
second predetermined types of information). Such additional
information (or customer awareness) is required to determine the
customer's purpose for the current contact (or the customer's
need(s)). If the information is not complete, the agent service
function repeats step 211 until the information has been
obtained.
[0044] In step 212, the personal agent interface is introduced to
the customer (or greets the customer). As will be appreciated, for
audio-only communications the introduction can be done by a voice
associated with the personal agent. For example, the voice can say
to the customer "I will be your automated personal agent today."
For visual or audio/visual communications, the introduction could
incorporate introducing an animated character on the graphical user
interface. Different voices or animation can be used based on the
age, sex, and ethnicity of the customer.
[0045] In step 214, the agent service function collects information
or awareness respecting the subject contact center and/or other
contact centers. Such information includes resource availability
such as expected wait times for queues (both on-line and telephony
queues), server workloads, IVR port availability, skill/staffing
levels (e.g., availability and workloads of particular
agents),current sessions or chats and the identities of the chat
participants, start times of various activities, vacancies in
current chat sessions, call back times, agents' schedules, unusual
events impacting customer service such as bad weather queue
expected wait times, success rate for self-service alternatives,
the current CRM (Customer Resource Management) configuration, and
the relative success rates of customer service methods or options
(which can be used to order choices or options presented by the
personal agent function 136 to the customer).
[0046] Using the awarenesses of the customer and the contact
center(s) and predetermined rules, the agent service function in
step 216 selects one or more service options from among a plurality
of options to present to the customer. Typically, a matrix of
service options and business rules is employed in selecting the
most desirable options for the customer. Examples of service
options include waiting in a queue for a resource, waiting for a
particular (human) agent, joining a chat or other group service,
using self-service, browsing a Web site or otherwise collecting
information from a server, scheduling an agent connection at a
later time, switching over to other media, and/or selecting a call
back.
[0047] If the client opts to wait in a queue 150-158, the personal
agent can make recommendations for activities to participate in
while waiting for service. These activities can range from
participating in a user group discussion or chat session, hearing
about a promotion, taking a survey, trialing a new user interface,
giving product feedback, playing games with other customers for
discounts or to advance the customer's queue position, and
browsing, and chattering with another enqueued customer.
[0048] The rules typically reflect predetermined service, agent
retention, promotional, and/or business (e.g., bottom line) goals
or policies, call center awareness, and customer awareness. Rules
can be used to determine not only what options to present to the
customer but also what additional questions to ask the customer to
more effectively filter through the possible options for the
customer. Examples of business rules include:
[0049] (a) if the expected wait time in a queue for a resource
exceeds a predetermined time interval, presenting self-service or a
chat and holding the customer's queue position as an option,
[0050] (b) if a pertinent chat is in session or is scheduled to be
session within a predetermined time period, presenting
participation in the chat as an option,
[0051] (c) if the expected wait time in a queue for a customer in a
queue for a resource exceeds a predetermined time interval,
presenting participation in a survey for some form of compensation
such as a coupon as an option,
[0052] (d) if the expected wait time in a queue for a resource
exceeds a predetermined time interval, presenting participation in
a one or more player games as an option,
[0053] (e) if the customer has terminated a contact a predetermined
number of times over a selected time interval when presented with
self-service or a chat, not presenting self-service or a chat as an
option,
[0054] (f) if the customer recently spoke to an agent who will not
be available for a predetermined amount of time, presenting the
customer with a call back option,
[0055] (g) if the customer's business value is low, presenting the
customer only with low-cost service options,
[0056] (h) if the customer is behind on payments, not presenting
the customer with self-service options, and
[0057] (i) if the customer is unhappy with the business associated
with the contact center, not presenting the customer with
conferencing options. Other business rule examples include or are
derived from agent rotation rules, profitability goals, business
goals, and customer loyalty.
[0058] In step 218, the agent service function presents the
selected options to the customer. As noted, the presented options
can include a recommendation by the agent service function of a
specific option that would best service the customer.
[0059] In steps 220 and 224, the agent service function receives
the option selection from the customer and executes the option. In
optional step 222, the execution could include preparing a
resource, such as a human agent, for interaction with the customer.
In other words, the agent service function provides to the human
agent pertinent information collected by the agent service
function's interaction with the customer. This could be done via a
screen pop or VDN of origin announcement
[0060] In step 226, the agent service function forwards the
customer to the pertinent resource. For example, in step 226 a
simplex or duplex communication pathway is configured between the
customer and the pertinent resource.
[0061] The agent service function can continue to monitor passively
or interactively the customer after the selected option is
executed. In one configuration, the agent service function monitors
the behavior of the customer in the contact center, particularly
when the contact center is a Web site. For instance, the agent
service function can track what parts of the Web site are being
visited (or what information is being reviewed or collected) by the
customer prior to or while waiting in a queue for a resource. This
information can be used by the resource to provide a higher quality
of service to the customer. The agent service function can also
update the customer's records in memory 132 to reflect any such
collected information. Such information can be used by the contact
center to provide a higher quality of service to the customer in
subsequent contacts.
[0062] In one configuration, the agent service function continues
to monitor the customer and, under certain circumstances, (again)
presents the same or different options to the customer. This
configuration is depicted in FIG. 3.
[0063] Referring to FIG. 3, in step 300 an interrupt signal is
received by the agent service function. The signal can, for
example, be initiated by the customer by pressing a button on a
touch tone telephone, clicking on an icon on a GUI, and the like.
The signal can also be initiated by the contact center itself. For
example, when agent availability changes the contact center waits
to present now options to the customer. In another example, a mood
or emotion detector 152 can monitor, particularly in voice
communications, a physical parameter such as a breathing interval
or voice (decibel) level and/or words spoken by the customer. If a
physical parameter has a predetermined relationship with a selected
threshold or one or more predetermined words is/are detected, the
detection device/software can generate an interrupt signal to the
agent service function. The mood or emotion detector can be any
suitable device for monitoring the desired physical parameter or
voice communications. For example, the words can be monitored using
conventional voice recognition software. The servicing resource
itself can also generate the interrupt signal, such as when the
customer/resource interaction is going nowhere.
[0064] When an interrupt signal is received, the agent service
function in step 304 applies predetermined rules governing customer
interaction to present further options and/or questions to the
customer. The rules can include any of the rules mentioned above or
other rules depending on the application. For example, depending on
the source of the interrupt signal the agent service function can
provide an alert to the human agent.
[0065] The interrupt routine can have numerous beneficial
applications. For example, the customer can continue to communicate
with the personal assistant even while being serviced by a
resource, such as a human agent. The customer could generate a
signal or otherwise communicate with the agent service function in
the event that the service being received is unacceptable. The
communication can be private in the sense that the communication is
not shared with the resource serving the customer.
Topical Dynamic Chats
[0066] As noted, one of the options that the personal agent service
function can present to customers is the opportunity to participate
in a topical dynamic chat or multi-customer session. Topical
dynamic chats 160-168 are created by the session monitor 140 on a
topic-by-topic basis to service batches of customers interested in
a common topic associated with queues 150-158. The multi-customer
chat or session can be configured dynamically based on initial
and/or ongoing customer input. If the number of customers for a
particular topic reaches an administered threshold, a resource is
assigned to a chat, and all the applicable customers will be given
the option of joining the chat via their respective communication
mode.
[0067] The session monitor 140 can take advantage of Topic Tree
content analysis methodologies to allocate customers into a
specific chat. The allocation criteria can take many forms. For
example, customers can choose from specific lists of topics,
analyzing the path the customer used to reach the queue and
allocating them based on that path, value-oriented approaches such
as discussed in copending U.S. application Ser. No. 09/756,955, or
mapping the customer's version of the topic or need(s) to a
predefined list of topics. The agent service function 136 typically
collects information useful in identifying whether or not a
customer is eligible for a chat.
[0068] The customer can indicate sometime after initiating contact
with the contact center whether he is willing to participate in a
chat (or topical dynamic chat) in the event that one will be
offered related to the topic for which he or she is calling. The
customer can further indicate how he or she would like to be
notified when and if a chat (or topical dynamic chat) is formed.
The notification by or at the instruction of the session monitor
can take many forms, including without limitation an visual or
audio notice, an instant message, an E-mail message, an outbound
call, a short message service or SMS, page, and Web Post Office
Protocol or POP. If the chat (or topical dynamic chat) is to be
offered at a later time, the customer could be given a unique
access code to enter the chat automatically upon entry of the code.
Alternatively, the resource may contact the customer at the
scheduled time. A customer that is interested in the chat (or
topical dynamic chat) but elects not to participate can request a
transcript of the chat or information presented in the chat (or
topical dynamic chat), which can be forwarded to him by any
suitable technique, such as those set forth previously.
[0069] The session connection can take numerous forms occur in a
number of modes. For example, the resource can talk to the customer
via telephone, video call, or IP telephony, responding to a
facsimile or E-mail, talking to the customer via a web-based text
chat, sending web pages or other documents to the customer, sharing
a web page or application that both customer and resource are
accessing simultaneously, and sharing applications. In these
connections, the resource can use a mode translation, e.g.,
converting a text message to voice, translating French text into
German, etc.
[0070] FIG. 4 illustrates the use of topical dynamic chats in a
typical contact center. Customers 400a-k are placed in queues
404a-c. Each enqueued customer has attributes that are inputs to
chat placement, e.g., hold music selection, click stream, etc. The
customers in each queue require common skills and needs are
assigned to agents 408a-b (for queue 404a), 408c-e (for queue
404b), and 408f (for queue 404c) having the necessary skills.
Within a given queue, customers typically have a myriad of needs
that generally relate to a multiplicity of topics. In some
applications, customers in different queues have common needs
and/or needs that relate to common topics.
[0071] For purposes of the example, the contact center is assumed
to represent a large sporting goods retailer. Topic A is bikes,
topic B backpacks, and topic C footwear. Customers in the various
queues 404a-c have questions relating to one or more of these
topics. Chats for topic A can be provided for contact mode type 1
(e.g., telephone) and 2 (e.g., non-voice Web access), for topic B
can be provided for contact mode types 1, 2 and 3 (e.g., Voice over
IP), and for topic C can be provided only for contact mode type 1.
Through the agent service function or the nature of the queues
themselves, customers 400a-d have been offered the opportunity to
participate by telephone in a chat 412 administered by agent 408b
related to Topic C. Customers 400a-c have elected to participate in
the chat. Meanwhile, customers 400d, e and p-r have been offered
the opportunity to participate by telephone in chat 416
administered by agent 408d related to Topic A. Customers 400d, p,
and r have elected to participate in the chat. Finally, customers
400k, n and o have been required to participate in chat 420
administered by agent 400e. The waiting time for customers 400t-u
is too short or the number of eligible participants too small for a
chat to be useful. Although FIG. 4 shows single mode sessions, it
is to be appreciated that the chats can be conducted through one or
more suitable contact modes, including those identified previously.
For example, the agent's actions and/or presentation can be
multi-mode in the delivery.
[0072] Customers typically participate in the chat until the
customer receives enough resolution to end his/her call, the
customer's place in the queue is reached and the customer decides
to deal with an agent on a one-on-one basis or the customer chooses
to abandon the chat and return to his or her position in the queue.
If the customer feels that he or she is getting the necessary
resolution in the chat, the customer can choose to either renounce
or delay his or her position in the queue and remain in the
chat.
[0073] An illustrative embodiment of the operation of the session
monitor 140 will now be discussed with reference to FIG. 5. As will
be appreciated, the session monitor 140 is typically implemented as
software instructions stored in memory 132 or as a hardware
implementation such as an ASIC.
[0074] Referring now to FIG. 5, in step 500 the session monitor 140
determines if it has received a session or conferencing state or
request notification. The session state notification can be
triggered by a number of different events and be reflective of a
number of different call center states. For example, the session
state notification could be triggered for a particular queue (or
topic) or the call center as a whole when expected wait times
exceed a predetermined level, the population or size of the queue
(or topic) exceeds a predetermined threshold, when a predetermined
arrival event occurs, and/or staffing levels (for a skill or the
call center as a whole) fall below a predetermined level. The
session can be mandatory and/or unannounced, e.g., a "lobby"
welcome and redirect informal session that a customer enters when
he contacts the contact center. Other business reasons may warrant
a session state notification to be generated, such as a defined
queue handling routine to enforce a business policy or method.
[0075] If a session state notification is not received, the session
monitor remains inactive and in step 504 the contact center
continues to enqueue contacts during a predetermined polling
interval. At the end of the polling interval, the session monitor
repeats step 500. As will be appreciated, the session monitor can
continuously repeat step 500.
[0076] If a session state notification is received, the session
monitor in step 508 determines if there are a sufficient number of
candidates or trained resources to create a chat. This
determination is made by examining not only the customer profiles
and/or responses of the enqueued customers but also the
communication mode(s) associated with the customers, the
availability and skills of suitable host resources to offer the
chat, and business policies and/or methods. This step is discussed
below in more detail with reference to FIG. 6.
[0077] If the minimum number of candidates or a host resource are
not identified, the session monitor returns to step 500.
[0078] If the minimum number of candidates or a host resource are
identified, the session monitor in step 512 creates or sets up the
chat by suitable techniques. One method of setting up the chats or
sessions is discussed below with reference to steps 616, 620, 624,
and 628 of FIG. 6. In step 516, the session monitor determines if a
non-session state notification (or return-to-normal notification)
has been received. If so, the session monitor releases all chat
resources and returns to step 500. If not, the session monitor
repeats step 508 (or waits a polling interval and returns to step
516 (not shown)).
[0079] Although FIG. 5 shows the use of a session state
notification to trigger execution of the session monitor 140, it is
to be appreciated that the session monitor 140 can be triggered by
another event or be in constant operation regardless of the state
of the contact center. In the latter case, the session monitor can
be creating continuously chats or identifying possible chats in the
event a session state notification is received.
[0080] FIG. 6 shows the algorithm used to identify candidate
chats.
[0081] In step 600, the session monitor first determines whether a
moderator (or resource) is available for skill.sub.i and/or
mode.sub.i. If no moderator is available, the session monitor
proceeds to step 604, in which the next skill and/or mode is
identified, and thereafter repeats step 600 using the next skill
and/or mode. If a moderator is identified, the session monitor
proceeds to step 632. In some applications, a moderator may not be
required.
[0082] The session monitor in step 632 seeks chat participants for
the subject skill and mode. This can be done by the agent service
function 136 as discussed above.
[0083] In step 636, the session monitor determines if there are
sufficient participants for the chat. If not, the session monitor
returns to step 604. If so, the session monitor proceeds to step
616.
[0084] The session monitor prepares the agent or moderator in step
616. This step can be performed by agent service function 136. The
agent or moderator is typically provided with pertinent information
on each of the chat participants (e.g. the value of each
participant to the contact center, the needs of the participant,
historical information about the participant, etc.), the chat
configuration rules and parameters, script for the chat, and the
resource availability of the contact center.
[0085] In step 620, the session monitor configures the chat based
upon relevant rules regarding chats for the subject skill and
mode(s) involved. Examples include the type of chat, such as
informal, consultation, or classroom, and whether the chat is
closed to new participants. In this step, the chat is physically
configured by the conferencing functions 137.
[0086] The session monitor prepares chat participants in step 624.
This step is typically performed by providing each chat participant
with information about the moderator, rules governing communication
in the chat, information about other chat participants, and the
like.
[0087] Finally, in step 628, the session monitor initiates the
chat. The session monitor then returns to step 604.
[0088] FIG. 6 demonstrates the algorithm for configuring new chats.
The algorithms for populating ongoing chats accepting new
participants is depicted in FIGS. 7 and 8.
[0089] Referring now to FIG. 7, in step 700 the contact center
receives a new contact.
[0090] The session monitor in step 704 obtains awareness or
information regarding the contact. This is typically performed by
the agent service function 136 as discussed above.
[0091] In step 708, the session monitor obtains awareness or
information of all ongoing or chats scheduled for a predetermined
time period after the contact is made.
[0092] In step 712, the session monitor determines if there is an
eligible chat for this contact or customer (based for example on
skill and/or mode). If there is no eligible chat, the session
monitor enqueues the contact in step 716 and returns to step 700.
If there is an eligible chat, the session monitor proceeds to step
720.
[0093] The session monitor next determines in step 720 if the
eligible chat has an opening or vacancy for the customer. If the
chat is currently full, the session monitor sets a (vacancy) flag
in step 724 and proceeds to step 716. The flag will cause the
session monitor to contact the customer in the event that a current
chat participant exits the chat and the chat has a vacancy.
[0094] If the chat has an opening, the session monitor in step 728
connects the customer to the chat. In step 732, the session monitor
announces the participant to the agent and to the other
participants in the chat. The session monitor then returns to step
700 to await the next contact.
[0095] Referring now to FIG. 8, a customer leaves a chat in step
800. In decision diamond 804, the session monitor determines
whether the contact center is configured to allow barge in or
another customer to enter the vacated, ongoing chat. If barge in is
not allowed, the repopulation algorithm ends in step 808. If barge
is allowed, the session monitor, determines in decision diamond 812
whether there is a (previously scheduled or waiting) customer in
queue 150, 158 eligible to participate in the chat. If there is not
an eligible enqueued customer, the session monitor proceeds to step
808. If there is an eligible enqueued customer, the session
monitor, proceeds to step 816 to connect the customer to the chat
and then to step 820 to announce and/or introduce the customer to
the agent/moderator and other chat participants.
[0096] A number of variations and modifications of the invention
can be used. It would be possible to provide for some features of
the invention without providing others. For example, one
alternative embodiment is shown in FIGS. 9-11. In contrast to the
embodiment of FIG. 5 which has only two session states, namely
Session State and Non-Session State, the embodiment of FIGS. 9-11
has multiple session states, namely In Session-Vacancies State
(which indicates that one or more sessions has a vacancy), Session
Ending State (which indicates that a session will be ending within
a predetermined time period), New Session Scheduled State (which
indicates that the session monitor is setting up a session and/or a
resource, such as a moderator, is or will be available in a
predetermined time period), New Session Needed State (which means a
new session is needed but no available resource has yet been
identified for the session (other sessions for this skill may or
may not exist to be in this state)), and New Session Not Needed
State (which means that a new session is not needed). When a new
customer arrives and the enabled state is the in session--vacancies
state, the customer is added to the appropriate session having the
vacancy. When a new customer arrives and the enabled state is the
new session scheduled state, the customer is added to a new
scheduled session. When a session is scheduled to end, either the
new session scheduled or new session not needed state, as
appropriate, is enabled. Unlike the embodiment of FIG. 5, one or
more of these states can be enabled at any one time depending for
example on customer needs and/or call center status. By comparison
in the embodiment of FIG. 5, the session state is in existence when
the call center status requires sessions to be used and the
non-session state is in existence when the call center status does
not require sessions to be used. Thus, only one of the session and
non-session states are enabled at any one time. With this in mind,
the embodiment will now be further discussed with reference to
FIGS. 9-11.
[0097] FIG. 9 depicts how the session monitor handles the situation
when a moderator becomes available due to termination of a chat.
Referring to FIG. 9, the session monitor determines in step 900
that a moderator has become available. This can be ascertained by
the session monitor receiving an availability indication from the
moderator. In step 904, the session monitor determines whether
there is a session scheduled for the moderator and if so when the
next new session is scheduled.
[0098] When a new session is scheduled within a predetermined time
period, the session monitor prepares the moderator/agent in step
908, configures the chat in step 912, prepares the chat
participants in step 916, and initiates the session in step
920.
[0099] When a new session is not scheduled within the predetermined
time period, the session monitor in step 924 loops through each
skill of the moderator and identifies one or more sessions that the
moderator can perform and an associated (assigned or determined)
session value variable for each session. The session monitor takes
the session having the highest (or lowest depending on the
configuration) session (or the session having the highest value to
the contact center). The value can be based on any selected
factors, including business rules, service level requirements,
contact center state, predicted queue wait times, staffing levels,
available resources, available skill levels, current populations
for the various possible sessions, length of the various possible
sessions, contents of the various possible sessions, potential
revenue realized from the various possible sessions, etc.
[0100] In decision diamond 928, the session monitor determines
whether the new session needed state is in existence. When a new
session needed state is enabled, the session monitor proceeds to
step 908. When the new session needed state is disabled, the
session monitor proceeds to step 932 and terminates operation
without setting up the session.
[0101] FIG. 10 shows the algorithm for setting up sessions as
customers contact the contact center. In decision diamond 1000, the
session monitor determines whether the session needed state is
enabled by determining whether a session needed notification has
been received. When the notification has been received (or the
session monitor has otherwise determined that the session needed
state is enabled), the session monitor in decision diamond 1004
determines whether a moderator having the appropriate skills is
available. When a moderator is not available, the session monitor
returns to decision diamond 1000, and, when a moderator is
available, the session monitor performs steps 616, 620, 624, and
628 (discussed above with reference FIG. 6). After performing these
steps, the session monitor determines in decision diamond 1008
whether the new session not needed state is enabled. When the new
session not needed state is disabled, the session monitor repeats
step 1004 to set up additional sessions, and, when the new session
not needed state is enabled, the session monitor returns to step
1000.
[0102] FIG. 11 is the algorithm used when a session has ended or
will be ending within a predetermined time period. In decision
diamond 1100, the session monitor determines that the session
ending state is enabled. This can be determined by receiving a
session ending notification and/or by polling the appropriate
computational component(s). When the session ending state is
enabled, the session monitor in decision diamond 1104 determines
whether the new session needed state is also enabled. When the new
session needed state is enabled, the session monitor schedules a
moderator for the new session in step 1108 and enables the new
session scheduled state in step 1112 to populate the new
session.
[0103] In another alternative embodiment, all customers or all
customers contacting the contact center with reference to a
specific topic can be placed into a group chat or "welcome room".
In the welcome room, the customers may or may not have awareness of
other customers participating in the chat. Specifically, the
welcome room can simply be a one-way broadcast from the contact
center or a duplex network configuration in which each customer can
both send and receive communications to/from the resource and/or
other chat room participants. In another alternative embodiment,
chat participants may elect to share with other chat participants
some or none of their personal information.
[0104] In yet another alternative embodiment, candidates for a chat
are given no option about whether or not to participate in the
chat. Participation in the chat is mandated by the contact
center.
[0105] In yet another alternative embodiment, the participants
could remain anonymous using security features.
[0106] In yet another alternative embodiment, authentication could
be required for participants to participate in a session.
[0107] In yet another alternative embodiment, a customer can change
contact mode or modality during a contact with the contact center.
For example, the customer can initially contact the contact center
in a text communication through a personal computer, input a
keyword, and be converted into instant messaging in a new
communication path or channel. In another example, the customer can
move from rapid email to a text chat via a hotlink (provided in
email). In yet another example, the customer contacts the contact
center via an IP phone and later obtains collaboration via a phone
display. In all of the above examples, the contact center can
manipulate media types associated with customers to increase the
size of the eligible pool or population for a particular type of
session. In other words, the contact center can convert mode or
media types to a common denominator to facilitate a session, e.g.,
convert text to voice or vice versa.
[0108] In yet another embodiment, the session monitor can mix
differing contact modes in the same session. For example, a real
time mode, such as Voice-Over-IP and text chat, can be mixed with a
non-real time mode, such as email. In this embodiment, a single
moderator would send a message to each participant in a form
appropriate for the participants contact mode, e.g., text chat,
instant messaging, rapid email, and brail.
[0109] In yet another embodiment, the session monitor permits a
customer to configure attributes associated with the session so as
to create a desired image for other session participants. For
example, the customer can select a desired video or Web appearance,
a voice (e.g., a voice type such as male or female), a status such
as platinum or tin, and a brand affiliation.
[0110] In another alternative embodiment, the session is a
broadcast in which a different message is broadcast to each session
participant. For example, the same message can be broadcast to
participants in a common session in different languages (e.g.,
French and English) or a different message can be broadcast to the
participants (e.g., one participant receives a first message about
brand X and another receives a second message about brand Y).
[0111] In another embodiment, session availability is broadcast or
advertised to a list of contacts or customers via various media.
For example, the advertisement can be broadcast in real time to all
queues and/or logged in customers and non-real time via email to
other customers. The broadcast recipients are therefore a mixture
of enqueued contacts and non-enqueued customers (who would contact
the contact center just for the session).
[0112] In another embodiment, a session attribute is selected so as
to create a desired, perceived physical background or setting for
the session. For example, a perceived physical setting can be
provided by selecting sights and sounds, such as adding echo or
special effects to voices. For example, the sound of a fountain and
clicking heels can be broadcast to create an atrium setting.
Primary voices can be louder than secondary voices to simulate a
crowded area. This embodiment can provide a more pleasurable
ambience for a customer than conventional background music.
[0113] The present invention, in various embodiments, includes
components, methods, processes, systems and/or apparatus
substantially as depicted and described herein, including various
embodiments, subcombinations, and subsets thereof. Those of skill
in the art will understand how to make and use the present
invention after understanding the present disclosure. The present
invention, in various embodiments, includes providing devices and
processes in the absence of items not depicted and/or described
herein or in various embodiments hereof, including in the absence
of such items as may have been used in previous devices or
processes, e.g. for improving performance, achieving ease and or
reducing cost of implementation.
[0114] The foregoing discussion of the invention has been presented
for purposes of illustration and description. The foregoing is not
intended to limit the invention to the form or forms disclosed
herein. Although the description of the invention has included
description of one or more embodiments and certain variations and
modifications, other variations and modifications are within the
scope of the invention, e.g. as may be within the skill and
knowledge of those in the art, after understanding the present
disclosure. It is intended to obtain rights which include
alternative embodiments to the extent permitted, including
alternate, interchangeable and/or equivalent structures, functions,
ranges or steps to those claimed, whether or not such alternate,
interchangeable and/or equivalent structures, functions, ranges or
steps are disclosed herein, and without intending to publicly
dedicate any patentable subject matter.
* * * * *