|
Description  |
|
|
TECHNICAL FIELD
The present invention relates generally to telecommunications systems and,
more particularly, to a generalized customer profile editor for call
center services.
BACKGROUND OF THE INVENTION
A typical call center includes a number of agents who handle inbound
telephone calls and place outbound telephone calls on behalf of business
clients, known as customers. Each agent may receive or place calls for
multiple customers. Each agent has an associated agent station that
includes a personal computer or workstation, a phone pad, and a telephone
headset.
The customers that are serviced by the call center may be in many different
types of businesses. For example, a first customer may run a mail order
catalog while a second customer may seek survey information based upon a
current advertising campaign. The service provided by the call center must
be customized to each customer. As a result, in conventional systems,
separate application programs have been developed to service respective
customers by operators at the operator consoles. Information regarding the
customer has generally been obtained manually and hard coded into the
application programs. This approach is both costly and time consuming.
SUMMARY OF THE INVENTION
The limitations of the prior art are overcome by the present invention,
which provides an automated and generalized package for obtaining
customized information about customers that is needed for servicing calls
on behalf of the customers. In one embodiment, a profile editor is
provided that facilitates the creation of customer profiles. Each customer
profile encapsulates all of the information necessary for an operator to
service calls in a call center on behalf of a customer. This information
may include, for example, scripts, call flow information, product
information, pricing information, and shipping information.
In accordance with a first aspect of the present invention, a method for
gathering data for a call center is practiced on a computer system. A
profile editor is provided in the computer system for editing a customer
profile for a customer of the call center. The profile editor is then used
to create the customer profile for the customer. This customer profile
specifies a call flow for calls to be handled by the call center on behalf
of the customer. The customer profile is then forwarded to the call center
for use therein.
In accordance with another aspect of the present invention, a profile
editor is provided in the computer system for creating a customer profile
for a customer of a call center. A call center has operators stationed at
workstations for servicing calls. A test operator console program is
provided in the computer system to simulate operation of an operator
console program run at the workstation of one of the operators. This
operator console program assists the operator in servicing calls. The
profile editor is used to obtain a customer profile for the customer. The
customer profile specifies a call flow for calls to the customer that are
serviced by operators of the call center. The test operator console
program is then run to simulate call flow for calls to the customer based
on the customer profile.
BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the present invention will be described below
relative to the following figures.
FIG. 1 is a diagram that illustrates a telecommunications environment that
is suitable for practicing the preferred embodiment of the present
invention.
FIG. 2 is a block diagram of the computer system that is suitable for
practicing the preferred embodiment of the present invention.
FIG. 3 is a flowchart illustrating the steps that are performed to create a
customer profile.
FIG. 4 is a diagram that illustrates the interaction between components of
FIG. 1 in creating and using customer profiles.
FIG. 5 illustrates data flow between various components within the
environment of FIG. 1.
FIG. 6 shows an example MCI Info page of the profile editor.
FIG. 7 shows an example Client Info page of the profile editor.
FIG. 8 shows an example Custom Orders Call Completion page of the profile
editor.
FIG. 9 shows an example History Note describing a modification to a
customer profile in the profile editor.
FIGS. 10A and 10B illustrate data for collecting name information with the
profile editor.
FIG. 10C illustrates an example screen display of an operator console that
uses a customer profile.
FIGS. 11A and 11B illustrate an example Order Information page of the
profile editor.
FIG. 12 illustrates an example item page for the profile editor.
FIGS. 13A and 13B illustrate an example of the selection menu editor of the
profile editor.
FIG. 14 illustrates an example price constraints page of the profile
editor.
FIG. 15 illustrates an example shipping and handling cost table page of the
profile editor.
FIG. 16 illustrates an example shipping and handling percent table page of
the profile editor.
FIG. 17 illustrates an example shipping and handling weight table page of
the profile editor.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiment of the present invention provides a profile editor
for obtaining and editing customer profile information. A separate
customer profile is maintained for each customer to hold customer
information for the customer. Each customer profile contains all the
requisite information that is needed by an operator to service calls on
behalf of the customer. The profile editor enables a marketing
representative to go out into the field and create a customer profile in
the field. The profile editor includes a user interface that enables the
marketing representative to solicit the requisite information that is
needed to provide a complete customer profile.
The profile editor is generalized so as to be able to generate customer
profiles for many different types of customers. The user interface of the
profile editor allows the marketing representative to develop a customer
profile that suits the needs of the customer. The customer profile may
specify what products are to be sold on behalf of the customer, sales
information about products, and even telephone operator scripts that
operators may use in servicing calls on behalf of the customer. The data
that is gathered by the profile editor is stored in a platform-independent
and efficient fashion.
The profile editor may include a test version of an agent console
application. This test version allows the marketing representative to test
a customer profile at the customer site so that the customer can see how
calls will be handled by operators based on the current customer profile.
If a customer is not happy with a certain aspect of the call flow
resulting from a proposed customer profile, modifications may be made.
When a customer is satisfied with the profile, the profile may be
forwarded via email or other transmission medium to a delivery service
that distributes a customer profile to the appropriate location within the
call center.
The data gathered in the customer profile is validated at multiple levels.
The profile editor insures that the input that is collected by the profile
editor is in the proper format. A second level of validation of the
customer profiles is performed prior to storing the customer profiles at
the call center.
The profile editor has the benefit of providing an interactive mechanism
for gathering and editing customer information for customers of a call
center. Moreover, the validation performed by the editor insures that the
gathered information is in the correct format and that the marketing
representative gathers the requisite information needed to properly
service the customer. As will be described in more detail below, the
profile editor may be stored on a portable computer and thus may be
readily carried by marketing representatives into the field. The profile
editor provides a quick and efficient mechanism for gathering customer
profile information.
FIG. 1 depicts an environment that is suitable for practicing the preferred
embodiment of the present invention. This environment includes a call
center 105 that may be accessed by caller 100 via a public switched
telephone network (PSTN) 102. The PSTN 102 may be connected to the call
center 105 via a voice release trunk (RLT) 104. The call center 105
includes an automatic call distributor (ACD) 106 for distributing calls
within the call center. The ACD is connected via a voice trunk 110 to an
automated response unit (ARU) 108. The ARU 108 provides voice response and
menu routing functions to a caller.
The call center 105 may also include an application processor (AP) 114 that
is associated with the ACD 106. The AP 114 may be a dedicated computer
system that provides intelligent application processing for assisting the
ACD 106. In particular, certain functionality that may be performed by the
ACD 106 is off loaded to the AP 114 to enable the ACD to focus on
performing switching and queuing functions. The AP 114 is linked to the
ACD 106 via an ISDN implementation of a switch/computer application
interface (SCAI) link 112.
The call center 105 may include multiple agent consoles 118. These consoles
are connected to the ACD 106 via voice trunks 116. Each agent console may
include a workstation, a telephone pad, and a headset. Human operators at
the agent consoles perform scripts, prompting, and transferring of calls
that are needed for call processing on behalf of customers.
The call center 105 may also include multiple network information
distributed services (NIDS) 120. Each of the NIDS 120 may be implemented
as a separate computer system. The NIDS 120 may be redundant, and
generally serve the role of storing database information. The NIDS 120 may
all be connected to an Ethernet local area network (LAN) 42 that also
interconnects the ARU 108, the AP 114, the agent consoles 118, a boot
server 124, and a validation server 126.
The boot server 124 stores the customer profiles in the call center 105 and
is responsible for distributing the customer profiles to other entities
within the call center 105. The validation server 126 is responsible for
performing credit card validations for caller orders. The validation
server 126 may be connected via a network, such as an X.25 network 138 to
a credit card validation system 140.
The boot server 124 is connected via a LAN or wide area network (WAN) 130
to the answernet delivery service (ADS) 132. The ADS 132 may be
implemented by a midrange computer system that is responsible for
delivering customer profiles to the appropriate boot servers via the
LAN/WAN 130. The ADS 132 may be connected to multiple call centers and may
distribute the customer profiles to the appropriate call centers. Customer
profiles are received from the profile editor 136. The customer profiles
may be emailed over an email network (such as a PSTN, the internet, an
intranet, or a LAN/WAN) 134 to the ADS 132. The profile editor 136 may be
run on a personal computer and, may be run on a portable computer that may
be carried by a marketing representative, as has been discussed above.
FIG. 2 is a block diagram illustrating a computer system that suitable for
practicing the preferred embodiment of the present invention. The computer
system 142 includes a central processing unit (CPU) 144 and a keyboard
146. The computer system 142 may also include additional peripheral
devices, such as a mouse 148 and a video display 150. The computer system
142 may include a modem 152 to enable the computer system to communicate
with remote computer resources over telephone lines and a network adapter
154 that enables the computer system to be interfaced with a network. The
computer system 142 includes primary storage 160 and secondary storage
156. The secondary storage 156 may hold one or more customer profiles 158.
The secondary storage 156 may take many forms, including disk drives and
CD-ROM drives that hold computer-readable storage mediums. The primary
storage 160 may include a copy of an email program 162 that is able to
send and receive emails from the computer system 142. A copy of the
profile editor 164 may also be stored on the computer in the primary
storage 160.
One of the primary roles of the profile editor 164 is to create new
customer profiles. FIG. 3 is a flowchart illustrating the steps that are
performed to create a new customer profile. Initially, a marketing
representative visits a customer, such as the customer's business site in
the field. The marketing representative then uses the profile editor to
obtain information to develop a customer profile from the customer (step
166 in FIG. 3). As will be described in more detail below, the profile
editor includes a user interface that guides a marketing representative in
obtaining the requisite information for developing a customer profile. In
addition, the profile editor provides a user interface for entering and
storing such information. Once all of the information has been obtained,
the marketing representative may demonstrate a dry run of the customer
profile by running a test version of the operator console program to
demonstrate to the customer how the customer profile will be used by an
operator in receiving calls on behalf of the customer (step 168 in FIG.
3). This dry run serves as a basis for the customer to make certain that
the customer is happy with the customer profile and how it will be used by
operators at the call center. After seeing the dry run of the customer
profile, the customer makes a decision whether to modify the customer
profile or not (step 170 in FIG. 3). If modifications are necessary, the
modifications are made (step 172 in FIG. 3) and the updated customer
profile may then be given a dry run, as was discussed above. Once the
client is happy with the customer profile, the customer profile is saved
(step 174 in FIG. 3). The marketing representative then transmits the
customer profile via email over the email network 134 (FIG. 1) to the ADS
132 (step 176 in FIG. 3). The ADS 132 performs validation of the customer
profile data and makes the customer profile information available to the
call centers that will be servicing the customers. In particular, the ADS
132 sends the customer profile over the LAN/WAN 130 to the boot server 124
of the call centers 105 that will be servicing the customer. The ADS 132
maintains an internal configuration file that determines what boot servers
124 to send a given customer profile. As a result, customer profiles can
be created virtually anywhere and distributed to any number of call
centers to which the customer profiles are needed.
FIG. 4 illustrates the flow of a customer profile from the profile editor
136 to the other components within the call center. As it mentioned above,
the profile editor 136 emails (see arrow 180 in FIG. 4) the customer
profile to the ADS 132. The ADS sends the customer profile over a LAN/WAN
130 to one or more boot servers. In the example shown in FIG. 4, the
customer profile is sent to boot servers 124A, 124B, and 124C. The boot
servers 124A, 124B, and 124C then distribute the customer profiles to
applications running on agent consoles 118 as needed. In the examples
shown on FIG. 4, the boot server 124A distributes customer profiles over a
LAN 122 to three agent consoles 118. As is described in copending
application entitled "System and Method For Providing Call Center-Based
Customer Surveys," which is filed on even date herewith, which is assigned
to a common assignee in which it is explicitly incorporated by reference
herein, application programs running on the agent consoles utilize the
customer profiles to customize the handling of calls on behalf of the
customers. These applications compile data collected from the caller into
records that are sent over LAN 122 to an NIDS server 120. These records
are added to a database maintained on the NIDS server 120.
FIG. 5 illustrates the flow of collected data in profiles throughout the
call center. A caller 100 provides information over a voice link to an
operator on an operator console 118. Programs on the operator console 118
generate records in response to the call, as discussed above, which are
sent to the NIDS server 120. The NIDS server 120 may be connected to a
mainframe computer system 182 that is responsible for maintaining a large
database of call center information.
The discussion below will now focus on the operation of the profile editor
to obtain customer profile information. FIG. 6 depicts a window 200 that
is produced by the profile editor when initiated. This window 200 includes
a menu bar that has a profile menu 212 and an edit menu 214. A user may
select the profile menu 212 and choose an option for creating a new
profile. In such an instance, the client area of the window 200 appears as
shown in FIG. 6. In particular, the client area appears like a notebook
having tabbed pages. In particular, five notebook tabs are visible: MCI
Info, Client Info, Direct Response, Call Completion, and History. FIG. 6
depicts an instance in which the MCI Info tab 203 has been selected. The
page associated with the tab is used by a marketing representative to
specify information that is needed to place a customer profile into
production. A termination number field 204 defines the 800 number for an
800 number customer. In particular, a marketing representative may enter
the appropriate 800 number into the termination number field on the page.
Activation fields 206 are also provided to specify the date and time by
which the profile should become active. A block of product-type buttons
208 are displayed to enable the marketing representatives to select the
product type for the customer. A block of buttons specifying a delivery
method 210 are also displayed.
If the marketing representative desires to gather client information, the
marketing representative clicks on the Client Info tab 216, as shown on
FIG. 7. A corporate ID field 218 is provided to enter a numerical
identifier that identifies the customer for billing purposes. An
accounting office field 220 allows the entrance of an accounting office
field, and a account-type block of buttons 222 allows the marketing
representative to specify the type of account for the customer for billing
purposes. A company name field 224 is provided for the marketing
representative to enter the name of the customer. The gold property field
226 and company address field 228 are provided to hold customer address
information. A contact information field 230 is provided to specify a
contact person for the customer.
A marketing representative may select a call completion page by selecting
the call completion tab 232, as shown in FIG. 8. The call completion page
is used to define customer service numbers available to the agent or
operator at the call center. As can be seen in FIG. 8, multiple pages may
be held under this tab. Separate subtabs 234, 236, and 238 are provided
for different types of orders. Tab 234 is selected in an example shown in
FIG. 8 and concerns customer service numbers for custom orders. The title
field 240 may be used by the marketing representative to enter the title
of the page. The terminating number field 242 is used to enter the
telephone number that may be called for the associated type of order. A
description field 244 provides a long description to the operator. A time
zone field 246 can be used to specify a time zone for the time
period/day-of-the-week buttons 248. These buttons 248 may be checked to
indicate the call may be transferred to the terminating number associated
with the page during the specified day and time period.
The marketing representative may also select the history tab 250 (FIG. 9)
to display a history page. This history page is used to keep track of
changes to a customer profile. A tab 258 is displayed with each change
entry. The marketing representative may fill in the date and time in the
date/time field 252 and may specify his name in the name field 254.
Comments may be set forth in the comments field 256.
The marketing representative may select the direct response tab 260 (see
FIG. 10A) to select from a number of fields. Each field has a separate tab
associated with it. In FIG. 10A, the tab 262 for the name field is
selected. The page associated with the name field holds a number of fields
regarding information that should be specified relative to obtaining the
name of a caller by an operator. This name field includes information for
specifying the script to be used by the operator and obtaining a name from
a caller. The field name field 264 may be used to identify the associated
field name. The field type field 266 may be used to specify the type of
the associated name field. The field locator field 268 is used to specify
where the field is located, and the required field 270 is used to specify
whether this is a field (e.g., the name field) that must be obtained to
complete the customer profile. The field width field 272 is used to
specify the width of the field in bytes. The range field 274 is used to
specify a high and low acceptable range for the field. The valid
characters field 276 are used to specify what characters are valid for the
field. The default value field 278 is used to specify the default value
for the field, and the field prompt field 280 is used to specify a prompt
that is to be used to obtain the field. The entry script field 282 is used
to enter text that is to be displayed as part of a script when the
operator positions the cursor on the associated field. The retry script
284 enables the entrance of a script that is to be displayed when a field
is selected at the operator console that has already been previously
visited by the operator. The error script field 286 enables a marketing
representative to enter a script the operator uses when an error has
occurred, such as the entrance of invalid information in the customer
profile. As FIG. 10B shows, an opening script field 288 is provided for
entering an initial greeting that is provided by the operator in
processing a call.
As can be seen in FIG. 10A, separate fields are provided for addresses,
catalog requests, and telephone numbers that need to be gathered for
caller orders. These fields may be utilized to specify appropriate values
for information that is to be gathered as part of the customer profile and
to specify scripts for obtaining those values. These fields may also
specify whether the values are required or not and may specify how the
gathered information is mapped into the data that is stored in the
customer profile.
FIG. 10C shows an example of the appearance of an operator console that
uses a customer profile that is specified in an entry script for the name
field. This script is displayed in an upper portion 291 of the operator
console 290. The text 292 of the entry script is displayed and additional
information 294 obtained from the name information is displayed underneath
the text.
The marketing representative may also select the order entry tab 300 (see
FIG. 11A) to obtain information for a customer regarding order entry as
part of the customer profile. Separate tabs 304 may be provided for
separate pages for different types of borders and order information. In
general, a separate page may be provided for each field that is to be
obtained for order entry. In particular, a separate page is used to define
each set of questions that are required for order entry by an operator for
a given field. In an example shown in FIG. 11A, the prior order page is
selected. The prior order page includes a number of fields 303 like those
described above in FIGS. 10A and 10B. For specifying parameters regarding
a given field, in an example shown in FIG. 11A, the field is the prior
order field, and it indicates whether or not a caller has previously
ordered from a customer. Scripts may be specified in script fields 305. In
addition, a merchant ID field 308 may be included, and buttons 306 may be
used to specify what credit cards are permissible for customer sales.
The marketing representative may also select the items for sale tab 310
(FIG. 12) to display the items for sale page. The items for sale page is
used to define what items are for sale by a given customer. The SKU field
314 is used to specify the stockkeeping unit (SKU) code for a given
product. Each product has an associated tab (EG tab 312) and a separate
associated page. A translation key field 316 may be used to enter a
translation key for ordering an item. The short description field 318 is
used to enter a short description of the item. The quantity range field
320 is used to hold a low value and a high value to define a range for
quantity discounts. Most items use default values of 1 to 1, which implies
that each item's cost and shipping and handling charge are multiplied by
the quantity. The price field 322 is used to hold the price of the item,
and the S&H cost field 324 is used to hold the additional shipping and
handling cost that is charged for the item. The weight field holds a value
that is used when the shipping and handling charges are determined by the
total weight of an order. The tax category field 330 is used to identify
the tax category for the item. The description field 332 may be used to
enter a description of the item.
The marketing representative may also select the selection menu tab 334
(see FIGS. 13A and 13B). The selection menu tab causes a selection menu
editor to be displayed that is used to define a menu that can be used by
the operator to select items to order. The selection menu editor includes
three main parts: the item selection menu 339, the item selected part 346,
and the menu editor 352. The item selection menu 339 includes fields 340,
342, and 344 in FIG. 13A and resembles a menu that is presented to the
operator to select items to order. The item selected part 346 includes
fields 348 and 350 in FIG. 13A and assumes the item that corresponds to
the currently selected item on the item selection menu part 339. The menu
editor part holds fields that are used to edit the item selection menu
part 339. FIGS. 13A and 13B depict an example of a selection menu with an
item that is defined three levels deep. In this example, the first menu
level (i.e., "item name") is currently selected. The values "item name"
and the menu title field 354 of the menu editor 352 and the value
"baskets" in the item title field 356 of the menu editor 352 corresponds
to the first level menu in the item selection menu 339. The value
"BA12SUNS" in the translation key field 358 of the menu item corresponds
to the item identified by the combination of values in three menu levels
340, 342, and 344 in the item selection menu. In the example, this
corresponds to a basket of sunshine holding half dozen blooming cookie
flowers.
A number of modifications to a menu may be made using the selection menu
editor. For example, the title of a menu may be edited by changing the
text in the menu title field 354. The title of an item in a drop down box
for field 354 may be edited by selecting the item and then changing the
text in the item title field 356. A translation key may be edited by
modifying the text within the translation key 358. A menu entry may be
added to the currently selected level by pressing the ADD menu button 360.
An item may be added to a currently selected level by pressing the ADD
item button 362. A menu item may be deleted by pressing the DELETE button
364.
The marketing representative may specify price constants for an order by
selecting the price constants tab 370 (FIG. 14). A minimum order field 372
specifies a minimum order dollar amount. Field 374 holds a value for a
flat rate for shipping and handling for an order. Field 376 holds a value
specifying the shipping and handling rate for each address when multiple
addresses are specified for an order, and field 378 holds shipping and
handling charges for shipping an order to multiple addresses.
Additional shipping and handling information may be specified by selecting
the shipping and handling cost table tab 380 (FIG. 15). This causes the
associated table 382 to be displayed. The table 382 accommodates the
specification of up to ten levels of shipping and handling price break
charges. This table is utilized to determine the shipping and handling
charge based upon the cost of the order.
The marketing representative may configure a shipping and handling
percentage table by selecting the shipping and handling percent table tab
384 (FIG. 16). As shown in FIG. 16, this table accommodates the
specification of up to ten levels of shipping and handling price break
charges. Similarly, the marketing representative may configure a shipping
and handling weight table by selecting the shipping and handling weight
table tab 388, shown in FIG. 17. The shipping and handling weight table
386 accommodates the specification of up to ten levels of shipping and
handling price break charges based upon weight.
As was discussed above, the marketing representative completes the
appropriate fields to develop the customer profile. This information is
stored in a tag/length/data format. Each tag is 4-bytes wide and
identifies the type of information that is included in the data. A length
field follows the tag field and is 4-bytes wide. The length field
specifies the length of the data. The data consists of the data that is
entered by the marketing representative as part of the customer profile.
Set forth below is a list of the tag definitions used for the customer
profiles.
______________________________________
TAG DEFINITIONS
______________________________________
Tag 00000000 - Comment (ASCII English)
Length
Data Null terminated ASCII String
Tag 00000001 - Character String (ASCIIZ Format)
Length
Data Null terminated ASCII String
Tag 00000002 - Character String (EBCDIC Format)
Length
EBCDIC Character Data
Data
Tag 00000003 - Unsigned numeric quantity
Length
0000000C
Data Intel ULONG
Tag 00000004 - Signed numeric quantity
Length
0000000C
Data Intel LONG
Tag 00000005 - Signed value (integer value in pennies)
Length
0000000C
Data Intel LONG (value in pennies)
Tag 00000006 - Unsigned percentage
(integer value: 1234 => 12.34%)
Length
0000000C
Data Intel LONG (value in pennies)
Tag 00000010 - Range
Length
Data
Required Tag (2)
Minimum value
any numeric (incl weights) or character string
Maximum value
any numeric (incl weights) or character string
(type must agree with minimum value)
Tag 00000011 - Field requirement flag
Length
00000009
Data Byte
00 => Field is optional
FF => Field is required
Tag 00000012 - Width (in characters)
Length
0000000A
Data UBYTE - Recommended width
UBYTE - Maximum width of collected data
00 => No maximum limit
Tag 00000013 - Height (in lines)
Length
0000000A
Data UBYTE - Recommended height
UBYTE - Maximum height of collected data
00 => No maximum limit
Tag 00000014 - Data Type
Length
Data
Positional Tags (Required in this order)
00000003 - Unsigned LONG; Indicates data type
Legal values
00000000 - any collectable value is allowed
00000001 - numeric data
00000002 - character data, spaces not allowed
00000003 - character data, optional tag
.sup. (any of character data)
.sup. specifies the legal characters
.sup. allowed ›00000001, 000000002!
00000004 - display only (using default data)
00000005 - display only (using expression in default data)
.sup. ›Phase 2!
Required Tags
as specified in Positional Tag Section
Optional Tags
00000010 - Range; defines legal range for collected values
.sup. (numeric or text)
Tag 00000015 - Field locator value;
.sup. used to find fields in a data group
.sup. (used by Tax Server)
Length
Data
Any number of (must be at least one)
any character string
any numeric value
Defined Values
any characte | | |