U.S. patent application number 11/073508 was filed with the patent office on 2005-07-14 for contextual presentation of information about prior transactions during browsing of an electronic catalog.
Invention is credited to Allocca, William W., Bezos, Jeffrey P., Lock, Ericka N., Lockhart, Walker L., Mohit, Maryam S., Subramaniam, Suguna.
Application Number | 20050154651 11/073508 |
Document ID | / |
Family ID | 25412609 |
Filed Date | 2005-07-14 |
United States Patent
Application |
20050154651 |
Kind Code |
A1 |
Bezos, Jeffrey P. ; et
al. |
July 14, 2005 |
Contextual presentation of information about prior transactions
during browsing of an electronic catalog
Abstract
An electronic catalog system, which may be implemented as a web
site or another type of interactive system, presents
context-sensitive information to customers about their prior
transactions during browsing of an electronic catalog of products.
In one embodiment, when a customer accesses a detail page for a
particular product, the detail page is supplemented with
information, such as status information, about a related order
placed by the customer. The related order may be an order for the
product represented in the detail page or may be for a related
product. Information about related orders may additionally or
alternatively be added to other types of pages, such as search
results pages and shopping cart pages. In one embodiment, a
customer's related order information is maintained in a cache
during the customer's browsing session, and the cache is updated in
real time to reflect actions performed by the customer.
Inventors: |
Bezos, Jeffrey P.; (Greater
Seattle, WA) ; Mohit, Maryam S.; (Seattle, WA)
; Lockhart, Walker L.; (Seattle, WA) ; Lock,
Ericka N.; (Issaquah, WA) ; Allocca, William W.;
(Bellevue, WA) ; Subramaniam, Suguna; (Bellevue,
WA) |
Correspondence
Address: |
KNOBBE MARTENS OLSON & BEAR LLP
2040 MAIN STREET
FOURTEENTH FLOOR
IRVINE
CA
92614
US
|
Family ID: |
25412609 |
Appl. No.: |
11/073508 |
Filed: |
March 7, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11073508 |
Mar 7, 2005 |
|
|
|
09900487 |
Jul 6, 2001 |
|
|
|
Current U.S.
Class: |
705/26.8 ;
705/27.1 |
Current CPC
Class: |
G06Q 10/0875 20130101;
G06Q 30/02 20130101; G06Q 30/0635 20130101; G06Q 10/087 20130101;
G06Q 30/0625 20130101; G06Q 30/0601 20130101; G06Q 30/0633
20130101; G06Q 30/0641 20130101; G06Q 30/0631 20130101; G06Q
30/0629 20130101; G06Q 30/0627 20130101; G06Q 30/0643 20130101;
G06Q 30/0623 20130101; G06Q 40/12 20131203 |
Class at
Publication: |
705/027 |
International
Class: |
G06F 017/60 |
Claims
What is claimed is:
1. A computer-implemented method of reducing unnecessary
transactions associated with products represented in an electronic
catalog, the method comprising: maintaining, in computer storage,
transaction history data reflective of transactions conducted by
users in association with particular products represented in an
electronic catalog; programmatically identifying a product
currently selected by a user for purposes of conducting a new
transaction with a business entity associated with the electronic
catalog; accessing the transaction history data associated with the
user to detect that the user previously conducted a transaction
associated with said product; and while the product is selected by
the user for purposes of conducting the new transaction,
transmitting a message to a computing device associated with the
user for presentation to the user, said message indicating, at
least, that the user previously conducted a transaction associated
with the product, wherein the message is transmitted without the
user explicitly requesting transaction history information.
2. The method of claim 1, wherein the message is transmitted to the
computing device as part of a shopping cart page that displays
contents of an electronic shopping cart of the user, and indicates
that a product currently represented in the shopping cart was
previously ordered by the user.
3. The method of claim 1, wherein programmatically identifying a
product currently selected by the user comprises identifying a
product currently represented in an electronic shopping cart of the
user.
4. The method of claim 1, wherein the message is transmitted to the
user as part of a checkout page associated with the user.
5. The method of claim 1, wherein the message is transmitted to the
user on, or in association with, an electronic page that provides
functionality for the user to initiate the new transaction.
6. The method of claim 1, wherein the message further indicates a
fulfillment status of a prior order placed by the user for said
product.
7. The method of claim 1, wherein accessing the transaction history
data comprises accessing a cache that stores a copy of at least a
portion of the transaction history data associated with the user,
said cache temporarily storing copies of transaction history data
associated with users who are currently accessing the electronic
catalog.
8. The method of claim 1, wherein the message is transmitted to the
computing device for presentation within a pop-up window of a web
browser.
9. The method of claim 1, wherein the product currently selected by
the user is a movie title selected by the user to rent.
10. A message generated according to the method of claim 1,
represented in a computer memory.
11. A computer program, comprising executable instructions
represented in computer storage, that embodies the method of claim
1.
12. A computer-implemented method of providing account-specific
information to users, the method comprising: receiving, over a
computer network, a search query specified by a user, and
identifying a set of one or more items that are responsive to the
search query; programmatically accessing order history data
associated with the user to identify an order previously placed by
the user for an item in said set of one or more items that are
responsive to the search query; and generating a search results
page to present to the user in response to the search query, said
search results page listing the set of one or more items that are
responsive to the search query, and including information
reflective of said order previously placed by the user.
13. The method of claim 12, wherein the information reflective of
said order comprises information about a fulfillment status of the
order.
14. The method of claim 12, wherein accessing the order history
data comprises accessing a cache that stores a copy of at least a
portion of the order history data associated with the user, said
cache temporarily storing copies of order history data associated
with users that are currently accessing an electronic catalog.
15. The method of claim 12, wherein the one or more items that are
responsive to the search query are identified, at least in part, by
searching a products database for products that are responsive to
the search query.
16. The method of claim 12, wherein the set of one or more items
includes at least one item that was not previously ordered by the
user.
17. The method of claim 12, wherein the information reflective of
said order is provided as a supplement to the search results
provided on the search results page.
18. The method of claim 12, wherein the method is performed without
the user explicitly requesting order history information.
19. A search results page generated according to the method of
claim 12, represented in a computer memory.
20. A computer program, comprising executable instructions
represented in computer storage, that embodies the method of claim
12.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 09/900,487, filed Jul. 6, 2001, the disclosure of which is
hereby incorporated by reference.
FIELD OF THE INVENTION
[0002] This invention relates to information filtering and
retrieval systems. More specifically, this invention relates to
data processing methods for assisting users in accessing
account-specific information associated with items in an electronic
catalog.
BACKGROUND OF THE INVENTION
[0003] With the increasing popularity of computer networks, it has
become common for merchants to set up online stores for marketing
and selling products. These stores typically include electronic
catalogs that can be browsed interactively by potential customers
via the Internet, an online services network, or another type of
system that supports interactive browsing.
[0004] Many online stores provide services for customers to access
information about their pending and past transactions. The
transaction information may include, for example, descriptions of
orders placed, the fulfillment status of such orders, and other
details of the underlying transaction (payment method, delivery
method, etc.). Typically, the online store also permits each
customer to create and edit a personal profile, which may include
such information as a shipping address, an email address, an
electronic wish list, and information about the customer's
preferences.
[0005] Customers typically may access their account information by
choosing to enter an "accounts" section of the online store (e.g.,
by selecting a "My Account" or "My Profile" link) wherein the
customers may track orders, alter contact information, change
preferences, sign up for new promotions, and so forth. While an
accounts section provides customers with detailed information about
their accounts, accessing the accounts section while using the
online store is sometimes inconvenient and disruptive of the online
shopping experience. Further, the task of locating a particular
transaction may be tedious and time consuming if the customer's
transaction history is large.
SUMMARY OF THE INVENTION
[0006] The present invention comprises computer-implemented methods
for presenting context-sensitive information to customers about
their prior orders during browsing of an online, electronic catalog
of products. In accordance with one aspect of the invention, when a
customer accesses a portion of the electronic catalog associated
with a particular subset of products (e.g., a specific product or
product category), information about related orders previously
placed by the customer, if any, is automatically retrieved and
presented to the customer (e.g., within a web page). This
information is presented without requiring the customer to access
an "accounts" area (although such an area may be provided), and
without requiring the user to separately request information about
the previous orders. Customers are thus presented with information
about their previous orders during ordinary browsing of the
electronic catalog. In addition, this information is presented in
conjunction with the catalog items to which it pertains. Any of a
variety of other types of account-specific information associated
with the subset of products may additionally or alternatively be
presented. For example, a customer may be presented with order
fulfillment information so the customer does not have to contact
customer service to find out whether an ordered product has been
shipped.
[0007] In one embodiment, when a customer visits a product detail
page associated with a particular product, the detail page is
customized with information about orders the customer has placed
for that product, and/or with a link to such information. This
information may include, for example, the number of units
purchased, the order date, and the fulfillment status of each such
order. The detail page may also be supplemented with links or
controls for allowing the user to track shipment of the order,
cancel or modify the order, or perform another appropriate action.
Other types of account-specific information associated with the
product may also be included. For example, a product detail page
may be supplemented with information about whether the displayed
product (a) is on the customer's wish list, (b) was recently
purchased for the customer as a gift, (c) is on the wish list of an
"affiliated" customer, such as someone for whom the customer has
previously purchased a gift, (d) is compatible with, interoperable
with, or a substitute for a product previously purchased by that
customer, or (e) is in stock at the customer's favorite local,
physical store that has an affiliation with the online
merchant.
[0008] The foregoing and other types of account-specific
information may also be incorporated into other types of pages that
display information about specific products. For example, when a
user conducts an online search and one of the search result items
is a product that was previously ordered by the customer, the
search results page may be supplemented with a message indicating
that the product was previously ordered. This message may also
include selected transaction details as indicated above, or a link
to such details. In addition, information about prior, related
orders may be presented within a shopping cart page or checkout
page that lists the items currently selected for purchase--in
addition to or as an alternative to presenting such information in
product detail pages. Account-specific information may be
incorporated into any web page. In addition, the information may
range from general information, such as "you have an order that
needs attention" to more specific information, such as "your Compaq
iPAQ-1 audio player was shipped on Aug. 27, 2001."
[0009] Further, some or all of the aforementioned types of
account-specific information may be presented on pages dedicated to
specific categories or groups of products. For instance, when a
user enters an "electronics" area of the online store, a listing
may be presented of orders placed for products falling within the
electronics category. Further, in embodiments in which the online
store provides a browse tree for navigating the product offerings
by category, each browse node page may be supplemented, where
applicable, with information about orders for products falling
within or below the selected browse node.
[0010] The invention may be implemented within substantially any
type of online store that provides interactive browsing
capabilities. For example, the invention may be implemented within
a web site (or group of affiliated web sites), an online services
network, an interactive television system, or a system that
supports interactive browsing by voice (e.g., a voiceXML based
system). Further, the invention may be embodied within systems in
which purchases are made at point-of-sale terminals within physical
stores.
[0011] One particular embodiment of the invention is
computer-implemented method for reducing unnecessary transactions
associated with products represented in an electronic catalog. The
method comprises maintaining, in computer storage, transaction
history data reflective of transactions conducted by users in
association with particular products represented in an electronic
catalog. The method further comprises programmatically identifying
a product currently selected by a user for purposes of conducting a
new transaction with a business entity associated with the
electronic catalog, and accessing the transaction history data
associated with the user to detect that the user previously
conducted a transaction associated with the product. While the
product is selected by the user for purposes of conducting the new
transaction, a message is transmitted to a computing device
associated with the user for presentation to the user. The message
indicates, at least, that the user previously conducted a
transaction associated with the product, and is transmitted without
the user explicitly requesting transaction history information.
[0012] Another embodiment of the invention is a method that
comprises receiving, over a computer network, a search query
specified by a user, and identifying a set of one or more items
that are responsive to the search query. The method further
comprises programmatically accessing order history data associated
with the user to identify an order previously placed by the user
for an item in the set of one or more items that are responsive to
the search query. A search results page is generated to present to
the user in response to the search query. The search results page
lists the set of one or more items that are responsive to the
search query, and includes information reflective of the order
previously placed by the user.
[0013] For purposes of summarizing the invention, certain aspects,
advantages, and novel features of the invention are described
herein. It is to be understood that not necessarily all such
advantages may be achieved in accordance with any particular
embodiment of the invention. Thus, for example, those skilled in
the art will recognize that the invention may be embodied or
carried out in a manner that achieves one advantage or group of
advantages as taught herein without necessarily achieving other
advantages as may be taught or suggested herein.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] A general architecture that implements the various features
of the invention will now be described with reference to the
drawings. The drawings and the associated descriptions are provided
to illustrate embodiments of the invention and not to limit the
scope of the invention. Throughout the drawings, reference numbers
are re-used to indicate correspondence between referenced elements.
In addition, the first digit of each reference number indicates the
figure in which the element first appears.
[0015] FIG. 1 illustrates one embodiment of an example product
detail web page of the merchant web site.
[0016] FIG. 2 illustrates one embodiment of an example store web
page of the merchant web site.
[0017] FIG. 3 illustrates a general architecture of one embodiment
of an inline account information system.
[0018] FIG. 4 illustrates a flow diagram of one embodiment of a
store customer account information process.
[0019] FIG. 5 illustrates a flow diagram of one embodiment of a
retrieve customer account information process.
[0020] FIG. 6 illustrates a flow diagram of one embodiment of an
inline account presentation process.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0021] I. Overview
[0022] The present invention provides a customer with
context-sensitive account or account-specific information as the
customer accesses a product catalog of an online merchant or store.
The products may be physical products that are shipped to the
customer, digital products (e.g., music files or viewable content)
that are downloaded or transmitted to a customer's computing
device, tickets for travel or events, services provided to the
customer, or a combination thereof. The context-sensitive
information presented to the customer is referred to herein
generally as "inline account information."
[0023] In the embodiment illustrated in the drawings, the invention
is implemented within a merchant web site system that may be
accessed using a conventional web browser program. As is
conventional, the merchant web site includes tools for browsing,
searching, and purchasing products from the online catalog of
products. In other embodiments, the invention may be embodied
within a system in which customers access the catalog via an
interactive television system, an online services network, a voice
interface, a point-of-sale terminal within a store, wireless
systems, or another type of system that supports interactive
browsing. Further, the invention may be embodied within an
"electronic mall" system in which the electronic catalog includes
the product offerings of many different online merchants.
[0024] In the illustrated embodiment, when a customer browses or
navigates to a product detail page (a page dedicated primarily to a
particular product), the detail page is dynamically supplemented
with inline account information about any orders that have been
placed by the customer for that product. This information may
include selected transaction details associated with each such
order (e.g., the number of units ordered, the order date, and the
fulfillment status), and/or a link to such information. The types
of details displayed may, but need not, be dependent upon the
status and/or the age of the order. For pending orders, the page is
also preferably supplemented with controls for allowing the user to
perform such actions as cancel the order or track shipment.
[0025] In addition, the detail page may optionally be supplemented
with information about orders for products that are related or
"similar" to the displayed product as well as "alerts" for when an
order needs attention. For example, in one embodiment, when a user
accesses a product detail page, a table of related products is
accessed to identify any related products, and a determination is
then made whether the customer has ordered any of the related
products. Information is then displayed about these orders for
related products.
[0026] An important benefit of displaying the order information
within the catalog pages to which the order information pertains is
that the customer is notified of prior purchases that may affect
the customer's need or desire to order the displayed product.
Unnecessary orders are thereby avoided. Another benefit is that the
customer can efficiently determine the status of an order by
conducting a search for, or otherwise navigating to, the detail
page for the ordered product, without having to access and navigate
an "accounts" area (although an accounts area may also be
provided).
[0027] In addition to displaying information about prior orders,
the product detail pages may be supplemented with one or more
additional types of inline account information. This information
may include, for example, information about whether the displayed
product (a) is on the customer's wish list, (b) was recently
purchased for the customer as a gift, (c) is on the wish list of an
"affiliated" customer, such as someone for whom the customer has
previously purchased a gift, (d) is in stock at the customer's
favorite local, physical store that has an affiliation with the
online merchant. Further, the product detail pages may be
supplemented with information about whether the displayed product
is compatible with, interoperable with, or a substitute for a
product previously purchased by that customer. For instance, as
described below, a product detail page may be supplemented with a
notification message such as "this laptop battery does not work
with the XJ7 Laptop you recently purchased," or "you previously
purchased Drug ABC, which should not be taken in combination with
this medication."
[0028] Some or all of the foregoing types of inline account
information may also be dynamically incorporated into other types
of pages that display information about specific products. For
example, when a user conducts an online search and one of the
search result items is a product that was previously ordered by the
customer, the search results page may be supplemented with a
message indicating that the product was previously ordered. This
message may also include selected transaction details as indicated
above, or a link to such details. In addition, information about
related orders may be incorporated into shopping cart pages (pages
that display the contents of a shopping cart) and check-out
pages--instead of or in addition to displaying such information in
product detail pages. For instance, when one of the products
represented in a customer's shopping cart was previously ordered by
the customer, the shopping cart page may be supplemented with an
indication that the customer previously ordered the product.
[0029] Further, some or all of the aforementioned types of
information may be presented on pages that correspond or are
dedicated to specific categories of products. For instance, when a
user enters an "electronics" area of the online store, a listing
may be presented of orders placed for products falling within the
electronics category. Further, in embodiments in which the online
store provides a browse tree for navigating the product offerings
by category, each browse node page may be supplemented with
information about orders for products falling within or below the
selected browse node. Customers can thus interactively filter or
categorize their account information for viewing by navigating the
browse tree.
[0030] In one embodiment, the merchant's web site stores customer
information in a customer database and may also utilize a temporary
customer cache to store portions of the customer database, such as
customer order data for customers currently interacting with the
web site. After the customer first requests a web page that
includes inline account information, the merchant web site may
retrieve the inline account information from the customer database,
incorporate the relevant portions of the information into the
requested web page, and store a copy of the inline account
information in the customer cache. This cache may thereafter be
used to supply inline account information for other pages accessed
by the customer during the same browsing session. The customer's
inline account information may also be stored in the cache as soon
as the customer begins a session with the merchant web site.
Further, in other embodiments, the inline account information may
be retrieved directly from a database on each page request, without
use of a cache.
[0031] If the customer's account information is updated, the
merchant web site may update the customer database and the customer
cache as well. When the customer makes a subsequent request for a
web page that includes inline account information, the merchant web
site preferably retrieves the inline account information from the
customer cache, providing fast access to the requested data without
overburdening the customer database. After the customer has
finished a session with the merchant web site (e.g., by logging out
or not accessing any data within a time T, that is timing out), the
customer's data may be flushed from the customer cache. Thus, the
merchant web site provides the customer with real-time
(up-to-date), inline account information and immediate responses
during the customer's interaction with the merchant's web site
without exhausting system resources.
[0032] To facilitate an understanding of one practical application,
systems and methods for providing an inline account information
service are described primarily in the context of an example system
for assisting customers of a merchant web site in locating and
evaluating products within an electronic catalog. The products may
include, for example, book titles, music titles, digital video disc
("DVD") titles, electronics, and video titles. It is recognized,
however, that the system may be used in other environments such as
the marketing and sales of other types of items. For example, in
other embodiments, the items may be cars sold by an online car
dealer, movies titles rented by an online video store, computer
programs or informational content electronically downloaded to
customer computers, or stock and mutual fund shares sold to online
investors. Further, it should be understood that the "purchases"
referred to herein need not involve an actual transfer of
ownership, but may involve leases, licenses, rentals,
subscriptions, and other types of business transactions.
[0033] The merchant web site may provide various services for
enabling customers to browse, search, and make purchases from the
online catalog. In addition, information about existing customers
of the web site may be stored in a customer database and may
include profile and transaction information, such as the names,
shipping addresses, email addresses, payment information,
preferences, and browsing activity histories of the customers. The
merchant web site may also include functionality or services for
enabling customers to do one or more of the following: (a) create,
and purchase products from, personal wish lists, (b) purchase
products as gifts for other customers, (c) explicitly establish
affiliations with other customers (e.g., for purposes of sharing
purchase histories or other account information), (d) purchase
products from, or arrange for delivery of items to, a local store
that has an affiliation with the online merchant. Further, the
merchant web site may include functionality for creating customer
affiliations based on actions performed by customers. For example,
when Customer A purchases a gift for Customer B, an association may
automatically be formed between Customers A and B for purposes of
displaying inline account information.
[0034] Various embodiments of providing inline account information
will now be described in further detail. The illustrated screen
displays, data structures, architectures, and processing methods
used to implement the disclosed functions are largely a matter of
design choice, and may be varied without departing from the scope
of the invention. Accordingly, the scope of the invention is
defined only by the appended claims.
[0035] II. Sample Web Pages
[0036] The following provides a brief description of a sample
product detail page and a store web page. It is recognized that the
inline account information may be included in a variety of other
types of pages, including search results pages, browse node pages,
pages with personalized lists of recommended items, shopping cart
and check out pages, help pages, home pages, and gateway home
pages. Further, the inline account information service may be
utilized by other services of the online store such as, for
example, personalization, recommendations, customer service, order
forms, and other services that use customer order information to
make decisions for or suggestions to customers. In addition, as
mentioned above, the web site may also provide a conventional
"accounts" area for accessing account information. A wide variety
of web pages and/or other electronic documents may be used; thus,
the sample web pages are meant only to illustrate specific
embodiments of the invention.
[0037] A. Product Detail Page
[0038] FIG. 1 illustrates a sample product detail page 110 of the
merchant web site. The product detail page 110 provides detailed
information about a particular product. In one embodiment, each
product detail page 110 typically includes a description, picture,
price, customer reviews, lists of related products, and information
about the product's availability. Some or all of this information
is preferably retrieved from a products database when the page is
rendered, although some or all of the information could be
statically coded within the web page. The detail page 110 also
provides an option for the user to initiate placement of an order
for the product. In the illustrated embodiment, the user may
initiate placement of an order either by adding the product to a
shopping cart or by purchasing the product using a single action
(1-Click) service.
[0039] The merchant web site is preferably arranged such that, in
order to access the product detail page 110 of a product, a
customer either selects a link associated with that product (e.g.,
from a browse node page or search results page) or submits a search
query uniquely identifying the product. Thus, the customer's
accessing of a product detail page 110 generally represents an
affirmative request by the customer for information about that
product. In some cases, a product detail page may encompass a
number of variations or formats of the same product. For instance,
a single product detail page may be provided for a particular book
title, even though the book title may be sold in a variety of media
formats (e.g., hardcover, paperback, audio tape, electronic, etc.).
In one embodiment, a user must access a product's detail page in
order to place an order for that product.
[0040] The exemplary product detail page 110 includes a photo of
the featured product, a Compaq iPAQ Personal Audio Player, as well
as the selling price, the rebate price, and availability
information. The product detail page 110 also includes an example
set of inline account information 112 for "Angela," a customer of
the merchant web site. From the inline account information 112,
Angela can see that she ordered the item in August 2001, and the
item's estimated delivery date is between Sep. 3, 2001 and Sep. 5,
2001. The inline account information 112 also enables Angela to
check the status of other orders as well as track the shipment of
and return her Compaq iPAQ Personal Audio Player.
[0041] In one embodiment (not illustrated), the detail pages also
display information about orders placed by the customer for related
products. For instance, in the example of FIG. 1, if Angela had
also placed an order for another personal audio player product, the
web page would be further supplemented with information about that
order. In yet another embodiment, information about orders for
related products is displayed only if no orders have been placed
for the product being viewed.
[0042] Although the product detail pages in the illustrated
embodiment are browser-compatible web pages, other types of page
displays may be used. For instance, in an online services network
or an interactive television implementation, the product detail
pages may be in the form of screens or pages in a proprietary
format.
[0043] B. Store Page
[0044] FIG. 2 illustrates a sample store home web page ("store
page") 220. The exemplary store page 220 includes featured products
and promotions of a "Book Store" which includes browsable subject
groups that relate to the store, as well as a variety of other
services. Other stores corresponding to other major product
categories of the merchant web site may be accessed by selecting
the tabs at the top of the page. The store page 220 also includes a
set of inline account information 212 for the customer "Angela."
From the inline account information 212, Angela can see that she
has ordered three books from the Book Store and that the items were
shipped on Aug. 27, 2001. This list may be generated by filtering
out from Angela's order history all orders of products that fall
within other product categories (e.g., music, electronics, etc.).
Angela can also see that her "friend" Taylor has put the book
"Dreamcatcher" on her wish list. The inline account information 212
enables Angela to access more information on the books she ordered,
view shipping details on her book orders, return one or more of the
items, track shipment of the items, purchase the wish list book for
Taylor, and check the status of other orders.
[0045] The store page is one type of product category page in which
inline account information may be displayed in accordance with the
invention. Other types of category pages include browse node pages,
author pages that lists books by a particular author, artist pages
that list music titles by a particular artist, and pages associated
with sub-categories of products (e.g., "MP3 players").
[0046] FIGS. 1 and 2 illustrate sample sets of inline account
information 112, 212, and it is recognized that other types of
information may also be included. For example, the inline account
information may indicate discounts available for a particular
customer (or set of customers) as well as contact information for
"friends" who have already purchased the product. Various systems
and methods for notifying customers interested in particular
products of other customers that have purchased the same or similar
products are disclosed in U.S. patent application Ser. No.
09/377,322 filed Aug. 19, 1999, the disclosure of which is hereby
incorporated by reference. Some additional types of inline account
information are discussed below in the section entitled "Types of
Inline Account Information."
[0047] The inline account information 112, 212 may be incorporated
into the web pages using a variety of user interface tools, such
as, for example, tables, embedded frames, static frames, pop-up
windows, scrollable frames, and so forth. The web page and
accompanying interface objects which include the inline account
information are passed to the customer's web browser from the
merchant web site.
[0048] III. System Architecture
[0049] FIG. 3 illustrates one embodiment of a general architecture
of an electronic commerce system that provides inline account
information. The system includes a customer computer 310 and a
merchant web site 320 that communicate via a communication medium
330, such as the Internet 332.
[0050] A. Customer Computer
[0051] The customer computer 310 may be implemented using any type
of computing device that enables a customer to interactively browse
a remote web site or online catalog through the communication
medium 330 using, for example, a web browser 312, such as
Netscape.RTM. Navigator or Microsoft.RTM. Internet Explorer. The
customer computer 310 may be, for example, an interactive
television, a cellular phone, a personal digital assistant, an
interactive wireless communications device, a telephone that
connects with an Automated Voice Recognition ("AVR") system, a
handheld computer, or the like, which interacts with the
communication medium 330.
[0052] B. Merchant Web Site
[0053] The merchant web site 320 is an electronic commerce web site
that provides various functionality for enabling customers to
purchase products. Typically, the merchant web site 320 is operated
by a business entity ("merchant") that handles the various order
processing, shipping, collections, and customer service tasks
associated with the sale of goods. The merchant web site 320 may
identify customers using any appropriate method, such as cookie
retrieval or a log-in procedure. In some embodiments, the online
store may include multiple, distinct web sites or systems
associated with a group of affiliated merchants
[0054] FIG. 3 illustrates one embodiment of a sample merchant web
site 320 that includes components that may be used to implement the
above-described features. The exemplary merchant web site 320
includes a web server 321 which accesses a database of web
documents and related content 322. The web documents 322 may
include standard HTML documents as well as other types of
documents. The web server 321 processes requests for the documents
323, retrieves the documents 323, performs any necessary
processing, and sends the documents 323 to the requesting computer
via the communication medium 330. The documents may be used to
generate the merchant web pages, such as those illustrated in FIGS.
1 and 2, as well as a variety of documents, such as account pages,
search pages, program sign-up pages, and so forth.
[0055] The merchant web site 320 also includes a database
collection 323 which includes a customer database 324, an inline
information database 325, and a product database 326 of product
data. In addition, the merchant web site 330 may include a customer
cache 327 for temporarily storing information that corresponds to
customers interacting with the merchant web site 320, though use of
a customer cache 327 is optional. The exemplary web site 320
includes a set of web site code 328 that interacts with the web
server 321, the database collection 323, and the customer cache
327.
[0056] 1. Database Collection
[0057] a. Customer Database
[0058] The customer database 324 or user database stores
information about existing customers of the merchant web site 320.
This information, sometimes referred to as the customer's "user
profile," may include the name, shipping address, e-mail address,
payment information, login identifier, password, and one-click
settings of the customer. The information may also include
information about customers' accounts, such as order information,
shipping information, payment information, cancellation
information, wish list contents, shopping cart contents,
information about affiliations established with other customers,
and other information.
[0059] b. Inline Information Database
[0060] The inline information database 325 stores information about
the inline account information to be included in the web documents.
The inline information database 325 may indicate, for example,
which web pages include inline information as well as the type of
information that may be included in the inline information section.
It is recognized that in other embodiments such information may be
explicitly or implicitly specified within the web page's coding or
by the location of the web page within a directory structure.
[0061] A chart indicating some of the types of information
displayed according to one embodiment of the invention is included
in the attached appendix, which forms part of the disclosure of the
specification. The rules listed in the chart use customer and order
history information to determine the type of inline account
information and customized Help information, if any, to include in
a web page, such as a product detail page, a category page, a
browse nose page, and so forth.
[0062] The inline information database 325 may also include rules
that govern the level of confidence needed before presenting
information to the customer. For example, one rule may require that
the customer's operating system match the "default" operating
system specified in the customer's profile. Another rule may
request a login/password pair from the customer. Other rules may
include looking at the customer's ID in the cookie, which indicates
that the customer has logged onto the web site at some time in the
past, and verifying that the customer has an authentication
session, that is that the customer has logged onto the site in the
last X minutes where X is an integer. In other embodiments, once
the customer has been authenticated, all types of inline account
information may be presented without regard to levels of
confidence. Further, customers may be given an option to inhibit
the display of inline account information, and/or to specify the
types of inline account information to be displayed.
[0063] It is recognized that, in other embodiments, part or all of
the data in the inline information database 325 may be stored in
other locations. For example, information as to which web pages may
include inline information may be stored as part of the database of
web documents 322, and rules relating to levels of confidence may
be stored in the customer database 324.
[0064] c. Product Database
[0065] The product database 326 stores information about the
various products that customers may purchase through the merchant
web site 320. This information may include, for example, the
titles, authors, publishers, subject descriptions, and ISBNs
(International Standard Book Numbers) of book titles, and the
titles, artists, labels, and music classifications of music titles.
The information for each item is arranged within fields, such as an
"author" field, a "title" field, a "general book" field, enabling
the product database 326 to be searched on a field-restricted
basis. The product database 326 may consist of two or more separate
databases.
[0066] The various product offerings may be arranged within a
browse tree in which each node represents a category/group or
subcategory/subgroup of products. Browse nodes at the same level of
the tree need not be mutually exclusive.
[0067] d. Alternative Implementations
[0068] In connection with the database collection 323, in one
embodiment, there may be several processes (not shown) such as ID
generators, number generators, statistic generators, session
generators, and temporary storage units that work with the database
collection 323.
[0069] Furthermore, it is recognized that the database collection
may be implemented using a variety of different databases such as
relational databases, flat file databases, or object-oriented
databases. Moreover, while the database collection 323 shown in
FIG. 3 is comprised of several separate databases, it is recognized
that in other embodiments, the database collection 323 may include
other databases and/or that two or more of the databases may be
combined. In addition, the database collection 323 may be
implemented as a single database with separate tables or as other
data structures that are well know in the art such as linked lists,
stacks, binary trees, and so forth.
[0070] 2. Customer Cache
[0071] The customer cache 327 illustrated in FIG. 3 stores
information about customers interacting with the merchant web site
320. In one embodiment, the customer cache 327 stores order-related
data or raw data relating to the customers, such as, for example,
items purchased, shipment information, discounts, payment methods,
shipping address, gift wrapping services, message services,
shipping fees, as well as other information related to a given
order.
[0072] The customer cache 327 may be implemented in a variety of
technology, such as, for example, polling technology or
publish-subscribe technology. By using publish-subscribe
technology, one server may "publish" data to a server and/or the
customer cache 327 and then notify the subscribing servers and/or
customer caches 327 that the data has been published.
Publish-subscribe technology may be used to enable event-driven
cache updates and to permit communication among multiple servers.
For example, publish-subscribe technology may be used to initiate
the loading of the cache with one customer's data such that while
one server is displaying a web page to the customer, the load
request may be published to another server.
[0073] The customer cache 327 may be implemented using a high-speed
storage mechanism, such as a static RAM device, a dynamic RAM
device, an internal cache, a disk cache, as well as a variety of
other types of storage devices. Typically, data is accessed from a
cache faster than the time it takes to access a database stored in
a mass storage system. The customer cache 327 stores data such that
if the merchant web site 320 needs to access customer data from the
customer database 324, the customer cache 327 may be checked first
to see if the data is available. Thus, use of the customer cache
327 may improve the merchant web site's performance in providing
inline account information to customers.
[0074] In one embodiment, a session begins when a customer enters
the merchant web site 320. If the customer is recognized, the web
server 321 retrieves the customer's corresponding data from the
customer database 324 and places a copy in the customer cache 327
for N minutes or seconds, where in N is a number. N may be adjusted
or reset if the customer stays on the merchant web site 320 longer
or if other applications of the merchant web site 320 request
access to the data stored in the customer cache 327. For example, N
may be set to P, wherein P equals the length of time the customer
has been in the merchant web site 320 (as known in real-time)
multiplied by a fixed number X making P easily configurable.
[0075] It is recognized that in other embodiments, P may be of
various lengths, such as, for example, predetermined times (e.g.,
{fraction (1/2)} hour, 1 hour, 2 hours, etc.) or varying times that
depend on a variety of factors such as particular customer, web
site traffic, time of day, and so forth.
[0076] Unrecognized or unregistered customers may be assigned
temporary IDs such that the merchant web site 320 may track
activity of the customers.
[0077] 3. Web Site Code
[0078] The web site code 328 illustrated in FIG. 3 includes a store
customer data process, a retrieve customer data process, and a
presentation process. For more information on the processes, please
refer to the section below entitled Merchant Web Site
Processes.
[0079] D. Communication Medium
[0080] The presently preferred communication medium 330 includes
the Internet 332, though a wide range of communication mediums may
be employed.
[0081] IV. Merchant Web Site Processes
[0082] A. Store Data Process
[0083] One embodiment of the store customer data process ("store
data process") is illustrated in FIG. 4. The merchant web site
typically executes the store data process in real-time in response
to a change of data in a customer's account or to the creation of a
new customer account.
[0084] The store data process receives update information (block
420). The update information may include new customers to be added
to the customer database as well as updates to existing customer
information, such as shipment information, payment information,
credit card information, email address, and so forth. Proceeding to
the next state, the store data process stores the update
information in the customer database (block 430) and sends an
update message to the customer cache 327 (block 440). The update
message notifies the customer cache 327 that the customer database
324 has been modified and that the customer cache 327 may need to
be updated as well. In one embodiment, the update message may
include the update information, whereas, in other embodiments, the
update message may include a code instructing the customer cache
327 to perform a read from the customer database 324.
[0085] Proceeding to the next state, the store data process
receives the update message in the customer cache 327 (block 450)
and stores the update information in the customer cache 327 (block
460). As previously discussed, the customer cache 327 may perform a
read from the customer database 324 to retrieve the update
information, or the update information may be included in the
update message.
[0086] While one embodiment of a store data process is illustrated
in FIG. 4, it is recognized that other embodiments may be used. For
example, the update message may be sent to the customer database
324 and the customer cache 327 at the same time. Further, the
customer database 324 and/or the customer cache 327 may queue the
update messages before storing them.
[0087] B. Retrieve Customer Data Process
[0088] One embodiment of a retrieve customer data process
("retrieve data process") is illustrated in FIG. 5. The merchant
web site 320 typically executes the retrieve data process in
real-time in response to a request for customer account
information. The retrieve data process receives a request for
customer data (block 520). Proceeding to the next state, the
retrieve data process retrieves the customer data from the customer
cache 327 (block 530). If the customer data is not in the customer
cache 327 (block 540), the retrieve data process retrieves the
customer data from the customer database 324 (block 550) and stores
a copy of the customer data in the customer cache 327 (block 560).
In other embodiments, after retrieving the customer data from the
customer database 324, the retrieve data process may send an update
message to the customer cache 327 along with the customer data or
instructions to have the customer cache 327 retrieve the customer
data. Next, the retrieve data process returns the customer data
(block 570). If the customer data is found in the customer cache
327, then the retrieve data process returns the customer data
(block 570).
[0089] While one embodiment of a retrieve data process is
illustrated in FIG. 5, it is recognized that other embodiments may
be used. For example, the customer data may be sent to the customer
cache 327 and stored for a later update. In addition, the customer
data may be processed and/or formatted before it is returned.
Further, the data may be retrieved from the customer database 324
without querying the customer cache 327.
[0090] C. Presentation Process
[0091] One embodiment of a presentation process that provides
inline account information in a web page is illustrated in FIG. 6.
The presentation process is typically executed by the merchant web
site 320 in real-time in response to a request for a web page. The
presentation process receives a request for a web page (block 620).
Proceeding to the next state, the presentation process retrieves
the requested web page (block 630) from, for example, the database
of web documents 322. It is recognized that various types of web
pages or electronic documents may be used such as email, video
messages, and so forth.
[0092] Proceeding to the next state, the presentation process
determines whether the web page includes inline account information
(block 640). In one embodiment, the type of web page requested
and/or the section of the merchant web site from which the request
was made determines whether inline account information may be
included, as well as the type of information that may be included
in the web page. The type of inline account information included
may be based upon the customer and the recent order information
(e.g., unrecognized customer, recognized customer with recent order
and no shipments, recognized customer with recent order with
pending shipments, etc.). As noted above, the attached appendix
illustrates the types of inline account information and customized
Help information displayed in various situations according to one
embodiment of the invention. Rules specifying whether to include
inline account information and what information to include may be
incorporated into the web site code 328 that generates the web
pages, and/or into the coding of the web pages themselves.
[0093] If inline account information is included, the presentation
process retrieves the corresponding customer data (block 650) from
the customer database 324 and/or the customer cache 327. One
embodiment of a process for retrieving customer data is illustrated
in FIG. 5 and is discussed above. Proceeding to the next state, the
presentation process processes the customer data (block 660). The
processing may include determining which data should be presented
in the web page, formatting the data, determining whether or not
there is a high enough level of confidence that the requesting
party has permission to access such data, and so forth. In one
embodiment, the type of web page requested and/or the section of
the merchant web site from which the request was made determines
how the data should be formatted.
[0094] It is also recognized that in some embodiments, rather than
displaying the inline account information with the product
description, a link may be provided to the related account
information stating, for example, "Click here to view the status of
your order for this product." In addition, it is recognized that
other types of web page display methods may be used and that the
information may be displayed in a variety of formats. Further, in
systems that provide a voice interface, the inline account
information may be presented audibly using synthesized or
prerecorded voice.
[0095] Proceeding to the next state, the presentation process
incorporates the processed customer data as inline account
information into the web page (block 670) and returns the web page
(block 680). If the web page does not include inline account
information, the presentation process just returns the web page
(block 680).
[0096] While one embodiment of a presentation process is
illustrated in FIG. 6, it is recognized that other embodiments may
be used. For example, the web page may not be retrieved until after
the customer data has been retrieved. In addition, the request for
the web page may include a code that alerts the presentation
process as to whether or not customer data needs to be retrieved.
Further, the inline account information may be incorporated into a
separate electronic document that is associated with the web page,
such as a popup window.
[0097] V. Types of Inline Account Information
[0098] As will be apparent from the foregoing, a variety of types
of context-sensitive, account-specific information may also be
incorporated into product detail pages (and other types of pages)
using the methods set forth above.
[0099] For example, as indicated above, the product detail pages
may also be supplemented with information about a customer's prior
orders of "related" products. In one embodiment, this is
accomplished by maintaining a table of products that are related.
When a customer accesses a product detail page, the customer's
order history and the related products table are accessed to
determine whether the customer has previously purchased one or more
related products. If any such previous purchases were made, the
detail page is supplemented with an appropriate message notifying
the customer of each such order (and optionally its status). As
mentioned above, the display of orders of related products may be
made contingent upon whether any orders have been placed for the
displayed product itself.
[0100] In one embodiment, the related products table is generated
automatically by periodically analyzing browsing histories of
customers to identify products that are frequently viewed during
the same browsing session. For example, products A and B may be
deemed related because a large percentage of users who viewed A
also viewed B during the same session. An important attribute of
this method is that the related products reflected in the table
tend to be substitutes (because customers tend to view like or
substitute products during individual browsing sessions). Thus,
customers are notified before potentially making unnecessary
purchases. Example methods for identifying related products using
product viewing histories are described in U.S. application Ser.
No. 09/821,712, filed Mar. 29, 2001 and titled "USE OF PRODUCT
VIEWING HISTORIES TO IDENTIFY RELATED PRODUCTS," the disclosure of
which is hereby incorporated by reference. The task of identifying
related products may alternatively be performed using other sources
of information, such as product descriptions and/or product
classifications.
[0101] Another type of inline account information that may be
displayed is information about whether the viewed product is
compatible with a related product previously purchased by the
customer. For instance, if a customer purchases a Kodak digital
camera that uses CompactFlash memory cards, and thereafter views
the detail page of a non-CompactFlash memory card, a warning
message may be displayed such as "Please note that this memory card
does not work with the Kodak camera you recently purchased." Before
displaying such a message, the system may first confirm that the
customer has not purchased another device which does use the
displayed memory card. Information about incompatibilities may be
maintained in the products database, a product compatibility table,
the coding of the product detail pages, or another type of data
repository.
[0102] In addition, the displayed inline account information may
include information associated with the accounts of affiliated
customers. For example, a product detail page may be customized to
indicate that the displayed product is on a wish list of an
affiliated customer. As indicated above, the affiliation may be
explicit (e.g., Customer A explicitly added Customer B to a list of
"friends") or implicit (e.g., Customer A purchased a gift or a gift
certificate for Customer B).
[0103] Further, in embodiments in which the online merchant has
established partnerships with physical stores, the displayed
information may include information pertaining to such stores. For
instance, if the online merchant provides an option for customers
to pick up purchased items from local, physical stores, information
about the delivery or pick up status of such items may be
incorporated into the online merchant's web pages associated with
such items. The following are examples of the types of personalized
messages that may be displayed in such embodiments: "You ordered
this product from us last Friday, and it is currently available for
pick up at ABC Store on Elm Street;" "This item is currently in
stock at ABC Store on Elm Street in your city of residence--would
you like to reserve it?" To implement this feature, the inventory
and order databases of the various merchants may be linked using
methods that are well known in the art.
[0104] The inline account information may also include alerts to
notify the customer that an order needs attention. The alert may
occur, for example, if a customer's credit card payment did not
clear, an ordered product has been recalled or discontinued, an
estimated shipping date has been delayed, and so forth. These
alerts may be presented to the customer in various web pages of the
customer's browsing session.
VI. Conclusion
[0105] Although this invention has been described in terms of
certain embodiments and applications, other embodiments and
applications that are apparent to those of ordinary skill in the
art, including embodiments which do not provide all of the features
and advantages set forth herein, are also within the scope of this
invention. Accordingly, the scope of the present invention defined
only by reference to the appended claims.
1APPENDIX Customer Order Shipping Level Level Level Information
Displayed Unrecognized N/A N/A Account Features Customer
Subscribe/Unsubscribe Link to Where's my Stuff Password Assistance
Links to Help Pages How to Order How to Redeem a Gift Certificate
How to Return an Item/Policy Recognized No N/A Personalized
Greeting Customer Recent Account Features Orders
Subscribe/Unsubscribe Link to Where's my stuff password Assistance
Address Book 1-Click Settings Credit Card Edit Links to Help Pages
How to Redeem a Gift Certificate How to Return an Item/Policy
Recognized Recent No Personalized Greeting Customer Order
Shipment(s) Account Features Subscribe/Unsubscribe Link to Where's
my stuff Password Assistance Address Book 1-Click Settings Credit
Card Edit Order Information Estimated Delivery Date Cancel Button
Order Edit Features Links to Help Pages How to Redeem a Gift
Certificate How to Return an Item/Policy Recognized Recent Pending
Personalized Greeting Customer Order Shipment(s) Account Features
Subscribe/Unsubscribe Link to Where's my stuff Password Assistance
Address Book 1-Click Settings Credit Card Edit Order Information
Estimated Delivery Date Links to Help Pages How to Redeem a Gift
Certificate How to Return an Item/Policy Recognized Recent Pending
Personalized Greeting Customer Order Spilt Account Features
Shipment(s) Subscribe/Unsubscribe Link to Where's my stuff Password
Assistance Address Book 1-Click Settings Credit Card Edit Order
Information Estimated Delivery Date Order Edit Features for
remaining items Links to Help Pages How to Redeem a Gift
Certificate How to Return an Item/Policy Recognized Recent Pending
Personalized Greeting Customer Order Shipment(s) Account Features
and Subscribe/Unsubscribe Recently Link to Where's my stuff
Completed password Assistance Shipment(s) Address Book 1-Click
Settings Credit Card Edit Order Information Estimated Delivery Date
Actual Delivery Date Order Edit Features for Remaining Items Links
to Help Pages How to Redeem a Gift Certificate How to Return an
Item/Policy Recognized Recent Recently Personalized Greeting
Customer Order Completed Account Features Shipment(s)
Subscribe/Unsubscribe Link to Where's my stuff password Assistance
Address Book 1-Click Settings Credit Card Edit Order Information
Actual Delivery Date Links to Help Pages How to Redeem a Gift
Certificate How to Return an Item/Policy
* * * * *