U.S. patent application number 14/022047 was filed with the patent office on 2014-01-16 for customizing an online shopping experience for a user.
This patent application is currently assigned to eBay Inc.. The applicant listed for this patent is eBay Inc.. Invention is credited to Stephen Kenneth Lobo, Frank Russo, Guy Schory, Stephen Richard Thomas.
Application Number | 20140019308 14/022047 |
Document ID | / |
Family ID | 45818591 |
Filed Date | 2014-01-16 |
United States Patent
Application |
20140019308 |
Kind Code |
A1 |
Schory; Guy ; et
al. |
January 16, 2014 |
CUSTOMIZING AN ONLINE SHOPPING EXPERIENCE FOR A USER
Abstract
A method for customizing an online shopping experience for a
user is disclosed. The method includes receiving at a marketplace
system a request from a user system to transmit instructions for a
rendering by the user system of a predetermined user interface
relating to a product, using a processor to select one of a
plurality of other user interfaces relating to the product, and
transmitting to the user system instructions for the rendering by
the user system of the one of the plurality of other user
interfaces.
Inventors: |
Schory; Guy; (San Francisco,
CA) ; Thomas; Stephen Richard; (Los Altos Hills,
CA) ; Lobo; Stephen Kenneth; (Redwood City, CA)
; Russo; Frank; (Sunnyvale, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
eBay Inc. |
San Jose |
CA |
US |
|
|
Assignee: |
eBay Inc.
San Jose
CA
|
Family ID: |
45818591 |
Appl. No.: |
14/022047 |
Filed: |
September 9, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13210867 |
Aug 16, 2011 |
8533056 |
|
|
14022047 |
|
|
|
|
61374195 |
Aug 16, 2010 |
|
|
|
Current U.S.
Class: |
705/27.1 |
Current CPC
Class: |
G06Q 30/06 20130101;
G06Q 30/0641 20130101; G06Q 30/02 20130101 |
Class at
Publication: |
705/27.1 |
International
Class: |
G06Q 30/06 20060101
G06Q030/06 |
Claims
1. A method comprising: receiving at a marketplace system a request
from a user system to transmit instructions for a rendering by the
user system of a predetermined user interface relating to a
product; using a processor to select one of a plurality of other
user interfaces relating to the product, a rendering of the one of
the plurality of other user interfaces by the user system having a
first probability of increasing revenues of a marketplace system, a
rendering of the predetermined user interface by the user system
having a second probability of increasing the revenues of the
marketplace system, the selecting based on a determination that the
first probability is greater than the second probability, the
revenues of the marketplace system based on sales of specimens of
the product; and transmitting to the user system instructions for
the rendering by the user system of the one of the plurality of
other user interfaces.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 13/210,867 filed Aug. 16, 2011, and entitled "CUSTOMIZING AN
ONLINE SHOPPING EXPERIENCE FOR A USER," which claims the benefit of
U.S. Provisional Application No. 61/374,195, filed Aug. 16, 2010,
and entitled "CUSTOMIZING AN ONLINE SHOPPING EXPERIENCE FOR A
USER," each of which is incorporated by reference herein in its
entirety.
TECHNICAL FIELD
[0002] The present application relates generally to the technical
field of online marketing, and, in one specific example, to
customizing an online shopping experience for a user based on
information about the user.
BACKGROUND
[0003] When a user accesses a web site via a network and clicks on
an online advertisement associated with, for example, a particular
set of keywords the user entered into a search box, the clicking of
the online advertisement may direct the user to a separate web site
related to the subject of the advertisement (e.g., a product)
without taking into consideration information about the user (e.g.,
the Internet or geographic location of the user or a behavior of
the user with respect to a web site hosting the particular web
page) or a likelihood that the web site presented to the user (as
opposed to other web sites) would induce the user to conclude a
transaction related to the subject of the advertisement. The end
result is the user is less likely to conclude a transaction related
to the subject of the advertisement than if the user had been
directed to a customized shopping experience (e.g., a web site)
that was selected from a group of customized shopping experiences
and tailored as much as possible to the user (e.g., based on a
profile of the user with respect to the web site or based on
success rates of each of the group of customized shopping
experiences in inducing other users to conclude other transactions
related to the subject of the advertisement).
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Some embodiments are illustrated by way of example and not
limitation in the figures of the accompanying drawings in
which:
[0005] FIG. 1 is a block diagram illustrating an example
environment in which a system to customize an online shopping
experience for a user may be executing;
[0006] FIG. 2 is a block diagram illustrating an example embodiment
of the online shopping customization system of FIG. 1;
[0007] FIG. 3 is a block diagram illustrating an example embodiment
of the database of FIG. 1;
[0008] FIG. 4 is a block diagram of an example embodiment of a user
record 404 included in the user database of FIG. 3;
[0009] FIG. 5 is an example embodiment of a method for providing a
user with a customized online shopping experience;
[0010] FIG. 6 is an example embodiment of the selecting operation
of the method of FIG. 5; and
[0011] FIG. 7 is a block diagram of an example machine on which
components of various embodiments of the system may be
executed.
DETAILED DESCRIPTION
[0012] In the following description, for purposes of explanation,
numerous specific details are set forth in order to provide an
understanding of various embodiments of the inventive subject
matter. It will be evident, however, to those skilled in the art
that embodiments may be practiced without these specific details.
Further, well-known instruction instances, protocols, structures,
and techniques have not been shown in detail. As used herein, the
term "or" is to be construed in an inclusive or exclusive sense.
The term "product" herein refers to a good or a service of which
one or more specimens are listed by a network-based publication
system (e.g., as being available for purchase). Examples of
products include a specific brand of shaver having a specific model
number, a specific brand of gaming console having a specific color,
or a specific brand of digital recorder having a specific storage
capacity. Other examples of products include downloadable data
(e.g., video, music, or an electronic book), an authorization to
use downloadable data (e.g., a license), and an obligation to
perform a service (e.g., technology consulting or an astrology
reading).
[0013] As used herein, the term "item" is to be construed as a
specimen of a product. Examples of items include a particular
shaver, a particular gaming console, or a particular digital
recorder. Other examples of items include a particular copy of
downloadable data (e.g., a video file, a music file, or electronic
book file), a particular authorization allowing a particular person
to use downloadable data, and a particular obligation to perform a
service for a particular person. The phrase "marketplace system" is
to be construed as an electronic commerce system (e.g., EBAY.RTM.,
AMAZON.RTM., or CRAIGSLIST.RTM.).
[0014] A method for customizing an online shopping experience for a
user is disclosed. The method may include receiving at a
marketplace system a request from a user system to transmit
instructions for a rendering by the user system of a predetermined
user interface relating to a product; using a processor to select
one of a plurality of other user interfaces relating to the
product, a rendering of the one of the plurality of other user
interfaces by the user system having a first probability of
increasing revenues of a marketplace system, a rendering of the
predetermined user interface by the user system having a second
probability of increasing the revenues of the marketplace system,
the selecting based on a determination that the first probability
is greater than the second probability, the revenues of the
marketplace system based on sales of specimens of the product; and
transmitting to the user system instructions for the rendering by
the user system of the one of the plurality of other user
interfaces.
[0015] A system for customizing an online shopping experience for a
user is disclosed. The system may include a processor; a reception
module to receive at a marketplace system a request from a user
system to transmit instructions for a rendering by the user system
of a predetermined user interface relating to a product; a
selection module to select one of a plurality of other user
interfaces relating to the product; a rendering of the one of the
plurality of other user interfaces by the user system having a
first probability of increasing revenues of a marketplace system, a
rendering of the predetermined user interface by the user system
having a second probability of increasing the revenues of the
marketplace system, the selecting based on a determination that the
first probability is greater than the second probability, the
revenues of the marketplace system based on sales of specimens of
the product; and a transmission module to transmit to the user
system instructions for the rendering by the user system of the one
of the plurality of other user interfaces.
[0016] Disclosed is a machine-readable storage medium comprising
instructions that, when executed by one or more processors of a
machine, causes the machine to perform a method. The method may
include receiving at a marketplace system a request from a user
system to transmit instructions for a rendering by the user system
of a predetermined user interface relating to a product; using a
processor to select one of a plurality of other user interfaces
relating to the product, a rendering of the one of the plurality of
other user interfaces by the user system having a first probability
of increasing revenues of a marketplace system, a rendering of the
predetermined user interface by the user system having a second
probability of increasing the revenues of the marketplace system,
the selecting based on a determination that the first probability
is greater than the second probability, the revenues of the
marketplace system based on sales of specimens of the product; and
transmitting to the user system instructions for the rendering by
the user system of the one of the plurality of other user
interfaces.
[0017] FIG. 1 is a block diagram illustrating an example
environment 100 in which a system to customize an online shopping
experience for a user (e.g., online shopping customization system
110) may be executing. The environment 100 may include a search
engine system 102, a marketplace system 104, a database system 106,
other systems 108, a network 112, a user system 124, or a user 134.
The user 134 may be a user of any of the systems 102, 104, 106,
108, or 124. The online shopping customization system 110 may be
included in the marketplace system 104.
[0018] An entity associated with the marketplace system 104 may
establish advertising contracts with entities associated with the
search engine system 102 or entities associated with the other
systems 108. For example, the owner of the marketplace system 104
may establish an advertising contract with the owner of the search
engine system 102 for the search engine system 102 to present an
advertisement in the form of a listing (e.g., a paid search result)
that the search engine system 102 includes in a search results
listing when the users use the search engine system 102 to perform
a search that includes particular keywords (e.g., keywords
associated with a particular product). As another example, the
owner of the marketplace system 104 may establish an advertising
contract with an owner of a comparison-shopping system of the other
systems 108 for the comparison-shopping system to integrate an
advertisement into a user interface associated with the
comparison-shopping system when the users browse the
comparison-shopping system for a particular product.
[0019] The user 134 may access the search engine system 102, the
marketplace system 104, the database system 106, or the other
systems 108 via the user system 124 or the network 112. For
example, the user may access a system (e.g., the search engine
system 102) using a web browser application (e.g., Windows.RTM.
Internet Explorer.RTM.) executing on a personal computer. In
response, the user may be presented with the advertisement. The
advertisement may relate to a product having specimens for sale on
the marketplace system 104. The advertisement may be served by the
marketplace system 104. The advertisement may be provided to the
systems 102, 106, or 108 by the marketplace system 104 for serving
by the systems 102, 106, or 108, respectively. The advertisement
may be paid for by the entity associated with the marketplace
system 104. The user 134 may express an interest in the subject of
the advertisement by performing an action with respect to the
advertisement. For example, the user 134 may click on the
advertisement. It will be apparent to those of ordinary skill in
the art in view of this disclosure that the user 134 may use other
means for performing an action with respect to the
advertisement.
[0020] The user 134 action of clicking on the advertisement may
cause the user 134 to become connected to the marketplace system
104. For example, the clicking may cause a web browser application
executing on the user system 124 to access (e.g., in the current
window, a new window, or a new tab of the current window) a
predetermined landing page of a web site associated with the
marketplace system 104. The marketplace system may intercept the
accessing of the predetermined landing page to redirect the user to
a customized landing page (e.g., via the online shopping
customization system 110). The customized landing page may be
selected from a group of landing pages based on information about
the user (e.g., information about the user maintained by the search
engine system 102, the marketplace system 104, or the other systems
108). The information about the user may be contained in database
system 106. The information about the user may be contained in
other databases (not shown). The customized landing page may be
selected from the group of landing pages based on success rates (or
conversion rates) of each of the group of landing pages in inducing
other users to complete other transactions (e.g., transactions
related to the product). Thus, the marketplace system may not only
provide the user with a customized online shopping experience, thus
potentially increasing a satisfaction of the user with the
marketplace system 104, but also have a greater likelihood of
inducing the user 134 to complete a transaction, thus potentially
increasing revenues for the marketplace system 104 (e.g., via a
collection of transaction fees related to the sale of a specimen of
the product).
[0021] FIG. 2 is a block diagram illustrating an example embodiment
of the online shopping customization system 110 of FIG. 1. The
online shopping customization system 110 may include a reception
module 202, a collection module 204, a selection module 206, a
contextualization module 210, an adaption module 212, a
customization module 214, or a transmission module 216.
[0022] The reception module 202 may detect or receive a
notification of the interaction by the user 134 with the
advertisement. For example, the reception module 202 may detect
that an application executing on the user system 124 has requested
that the marketplace system transmit instructions to the
application related to a rendering of a particular user interface
on the user system 124. The particular user interface may be a user
interface that was predetermined to be presented to users when they
click on the advertisement. The particular user interface may be a
landing page of a web site associated with the marketplace system.
The reception module 202 may identify an association between the
advertisement and an advertising campaign. The reception module 202
may identify one or more sets of attributes, sets of rules, or sets
of marketing segments associated with the advertisement or the
advertising campaign.
[0023] The reception module 202 may identify the user 134. For
example, the reception module may identify the user based on a
globally unique identifier (GUID) associated with the user. The
GUID may be based on an identifier of a user system (e.g., the user
system 124) via which the user clicked on the advertisement. The
GUID may be shared by the network destinations. For example, the
GUID may allow the information that is known by the marketplace
system 104 about the user 134 to be correlated with information
that is known by the search engine system 102 about the user 134.
The reception module 202 may look up information about the user 134
that corresponds to the one or more sets of attributes associated
with the advertisement or the advertising campaign. For example,
the reception module 202 may look up an age or sex of the user.
Additionally, the reception module 202 may look up a specific
number of recent activities of the user 134, such as the last
keywords/queries used, the last contributors viewed, the last
categories accessed, the last aspects viewed, the last items
watched, the last items viewed, the last products watched, the last
products viewed, the last sellers viewed, and so on. The reception
module 202 may perform the looking up of the information about the
user 134 using an application program interface (API) associated
with the collection module 204 (e.g., a user profiling interface).
The reception module 202 may provide the result of the looking up
of the information about the user 134 to the selection module
206.
[0024] The collection module 204 may retrieve information about the
user 134. The information about the user may be maintained by any
of the systems 102, 104, or 108. The information about the user may
be stored in the database system 106 or other databases. For
example, the collection module 204 may retrieve the values
corresponding to the one or more sets of attributes associated with
the advertisement or the advertising campaign. The retrieving of a
value of an attribute for a user may be performed in response to a
calling of the API of the collection module 204 (e.g., the user
profiling interface) by another module (e.g., the reception module
202). The value of the attribute may be provided to the other
module in response to the calling of the API or the retrieving of
the value of the attribute. The collection module 204 may support a
querying of values associated with accesses by the user 134 of
multiple sites (or domains). In other words, the values may be an
aggregation of values from multiple domains. For example, the
values associated with a cross-domain query for the last 10
products watched by the user 134 may be an aggregation of values
associated with accesses by the user 134 of a first domain in the
United States and accesses by the user 134 of a second domain in
the United Kingdom. The values may be specific to a single site.
For example, the values associated with a single-domain query for
the last 6 items watched by the user 134 may include values
associated with accesses by the user 134 of the first domain only
or the second domain only.
[0025] Additionally, the values may be specific to a scope of
access of the user 134 with respect to the single site or the
multiple sites. For example, the values may correspond to
non-session-specific data (e.g., persistent data), session-specific
data, or user-specific data maintained by the user system 124 or
the systems 102, 104, 106, or 108. The collection module 204 may
apply de-duplication logic to ensure that each attribute is
associated with a single value. The collection module 204 may
retrieve values related to a specific scope of access based on a
likelihood that the values represent activity of a single user or
multiple users. For example, if multiple users access a user
system, and the GUID associated with the user is based on an
identifier of the user system, non-session-specific data may be
contaminated with data from multiple users. In this case, the
collection module 204 may retrieve values corresponding to
user-specific or session-specific data instead of the persistent
data. The collection module 204 may aggregate data across multiple
systems. For example, if the search engine system 102 and the
marketplace system 104 use the same GUID to identify the user, the
collection module 204 may correlate user data from the search
engine system 102 and data from the marketplace system 104. The
correlation of the user data may serve as the basis of aggregating
the data across multiple systems.
[0026] The selection module 206 may select a user interface from a
group of user interfaces for rendering on the client machine. The
selected user interface may be different from the user interface
requested by the application executing on the user system 124. The
selecting of the user interface by the selection module 206 may be
in response to a requesting by the user system 124 that the
marketplace system transmit instructions for a rendering of a
predetermined user interface associated with a product. The
selection module 206 may select the selected user interface
randomly. The selection module 206 may select the selected user
interface based on various factors. For example, the selection
module 206 may select the selected user interface based on the
selected user interface incorporating elements of a user interface
of the system the user 134 was accessing when the user clicked on
the advertisement. Thus, if the user 134 clicks on the
advertisement while browsing a web page at shopping.com, the
selection module 206 may redirect user 134 to a landing page
associated with the marketplace system 104 that is similar to
(e.g., has a similar look or feel as) the web page at
shopping.com.
[0027] The selection module 206 may select the user interface based
on the information about the user 134. The selection module 206 may
receive information about the user 134 from another module. For
example, the selection module 206 may receive information about the
user 134 from the reception module 202 or the collection module
204. The selection module 206 may retrieve information about the
user 134 from the database system 106. The selection module 206 may
select the user interface based on a transaction history of the
user 134 with respect to the marketplace system 104. For example,
if the user 134 has concluded transactions primarily with respect
to items having prices fixed by sellers (as opposed to items having
prices set in auctions), the selection module 206 may select the
user interface based on a determination that the user interface
focuses on presenting information about the product in a
fixed-price format. Alternatively, if the user 134 has concluded
transactions primarily with respect to items having prices set in
an auction, the selection module 206 may select the user interface
based on a determination that the user interface focuses on
presenting information about the product in an auction format.
[0028] The selection module 206 may select the user interface based
on a probability that the user 134 will conclude a transaction
related to the product after being presented with the user
interface. The probability may be based on histories of
transactions of other users on the marketplace system 104. For
example, for each of the user interfaces in the group of user
interfaces, the selection module 206 may determine a percentage of
other users that concluded a transaction with respect to a product
associated with the advertisement after being presented with the
user interface. In other words, the selection module 206 may
determine a conversion rate for each of the user interfaces in the
group of user interfaces. Thus, the selection module 206 may select
the user interface based on the user interface having the highest
conversion rate of the user interfaces in the group of user
interfaces. The selection module 206 may select the user interface
based on a determination that a conversion rate for the user
interface is not reliable. The reliability of the conversion rate
for a user interface may be based on the number of times the user
interface has been presented to other users. If this number is less
than a threshold number, the conversion rate for the user interface
may be considered unreliable. Thus, the selection module 206 may
select the user interface to increase a reliability of the
conversion rate of the user interface. The selection module 206 may
select the user interface based on a correlation between the user
interface and various other data, including non-user-specific data
(e.g., a date or a time of day).
[0029] The contextualization module 210 may identify a user
interface context from which the user 134 performed an action that
triggered a sending of the request. A user interface context may
include an appearance or a behavior associated with a user
interface of the search engine system 102 or one of the other
systems 108 (e.g., a comparison-shopping system). A user interface
context may include a flow of activities of the user 134 with
respect the search engine system 102 or one of the other systems
108.
[0030] For example, while comparing prices of specimens of the
product via a user interface associated with a comparison-shopping
system, the user 134 may click on the advertisement. In this case,
the user 134 may be more inclined to buy a particular specimen of
the product (e.g., an available specimen having a same price as the
particular specimen advertised on the comparison-shopping system)
if the selected user interface focuses on a view of an available
specimen of the product. In other words, the user 134 may be less
likely to purchase the particular specimen of the product if the
selected user interface focuses on a search results listing of
multiple specimens of the product, each having different prices,
because the user has already conducted such a search using the
comparison-shopping system. Thus, the user interface context (in
this case, the flow of the activities of the user 134) may suggest
that the selected user interface include specific user interface
elements (e.g., a view of a particular specimen of a product), but
not include others (e.g., a search listing of multiple specimens of
the product).
[0031] As another example, while searching for information about a
product via the search-engine system 102, the user may click on the
advertisement. In this case, the user may not expect the selected
user interface to include a view of a particular specimen of the
product. Instead, the user may expect the selected user interface
to include a search listing of multiple specimens of the product
(e.g., such that the user can compare specimens or prices of
specimens view the selected user interface).
[0032] As another example, if the user clicks on the advertisement
while shopping for specimens of the product via a user interface
associated with an online store (e.g., shopping.com), the user may
be more inclined to purchase a specimen of the product if the
appearance or behavior of the selected user interface matches the
appearance or behavior of the user interface of the online store.
For example, if the online store supports only a traditional buying
format (e.g., a fixed-price format), the user may be more inclined
to purchase a specimen of the product if the selected user
interface features a fixed price for the specimen. If the user
clicks on the advertisement while shopping for specimens of the
product via a user interface associated with a classified
advertising system, the user may be more inclined to purchase a
specimen of the product if the selected user interface features a
classified advertisement listing of the specimen. In other cases, a
user interface that features an auction pricing format may be most
appropriate based on the user interface context.
[0033] The adaption module 212 may create a new user interface to
include in the group of user interfaces, or modify an existing user
interface included in the group of user interfaces, based on a user
interface context (e.g., a user interface context identified by the
contextualization module 210). For example, the adaption module 212
may create a new user interface for a specimen of a product based
on a lack of availability of a user interface in the group of user
interfaces that is optimized for the identified user interface
context. Alternatively, the adaption module 212 may adapt an
existing user interface in the group of user interfaces by, for
example, to incorporate an element of an appearance, behavior, or
flow of user activities associated with the user context into the
existing user interface.
[0034] The creating of the new user interface or the modifying of
the existing user interface may include selecting at least one user
interface element (e.g., a widget) from a group of user interface
elements, including user interface elements related to searching
for items, displaying search results, refining search results,
browsing categories of products, browsing search results,
displaying summaries of products, displaying detailed views of
specimens of products, displaying information about users (e.g.,
sellers or buyers), or setting user preferences. The creating or
modifying may include determining sizes of user interface elements,
locations of user interface elements, or arrangements of user
interface elements. The creating or modifying may include
incorporating an appearance or behavior into the new user interface
or existing user interface, respectively, based on the user
interface context. For example, a user interface element related to
displaying a detailed view of a specimen of a product may be
customized to display by default the price of the specimen of the
product in a buying format (e.g., a fixed-pricing, auction-pricing,
or classified-ad-pricing buying format) that corresponds to the
identified user interface context. As another example, the creating
or modifying may include incorporating colors, fonts, icons, or
other design elements associated with the identified user interface
context.
[0035] The customization module 214 may create a new user interface
to include in the group of user interfaces, or modify an existing
user interface included in the group of user interfaces, based on
information about the user (e.g., the information about the user
collected by the collection module 204). For example, the
customization module 214 may incorporate into the new user
interface or the existing user interface elements related to a
transaction history of the user or a profile of the user, including
an age of the user, a sex of the user, or other user
demographics.
[0036] The transmission module 216 may transmit instructions to the
user system 124 for the rendering of a user interface by the user
system 124. The user interface may be the user interface selected
by the selection module 206. For example, the transmission module
216 may transmit an HTML document for a web page to the user system
124 for such that a web browser application executing on the user
system 124 may render the web page.
[0037] FIG. 3 is a block diagram illustrating an example embodiment
of the database system 106 of FIG. 1. The database system 106 may
include a user database 302, an items database 304, a transaction
database 306, an orders database 308, a bids database 310, a
feedback database 312, a history database 314 or an attributes
database 316. The user database 302 may include a record for each
registered user of the marketplace system 104, and may include
identifier, address, and financial instrument information
pertaining to each such registered user. A user may operate as a
seller, a buyer, or both, within the marketplace system 104. In one
example embodiment, a buyer may be a user that has accumulated
value (e.g., commercial or proprietary currency), and is
accordingly able to exchange the accumulated value for items that
are offered for sale at the marketplace system 104.
[0038] The items database 304 may include item records for goods
and services that are available to be, or have been, transacted via
the marketplace system 104. A transaction database 306 may include
a record for each transaction (e.g., a purchase or sale
transaction) pertaining to items for which records exist (e.g.,
within the items database 304). The orders database 308 may include
order records, with each order record being associated with an
order. Each order, in turn, may be associated with one or more
transactions for which records exist (e.g., within the transaction
database 306).
[0039] The bids database 310 may include a bid record for each bid
received at the marketplace system 104 in connection with an
auction-format listing of an item. The feedback database 312 may
include records containing reputation information concerning users.
The history database 314 may include records pertaining to a
history of transactions to which a user has been a party. The
attributes database 316 may include records containing attribute
information pertaining to items for which records exist (e.g.,
within the items database 304). Considering only a single example
of such an attribute, the attributes databases 316 may indicate a
currency attribute associated with an item, with the currency
attribute identifying the currency of a price for the relevant item
as specified by a seller. Each record within each of the databases
may be linked to one or more records within other ones of the
database, so as to, for example, associate a seller and one or more
actual or potential buyers with an item.
[0040] The database system 106 may be maintained or associated with
the search engine system 102, the marketplace system 104, or the
other systems 108. Additional records may be stored in different
databases maintained or associated with ones of the search engine
system 102, the marketplace system 104, or the other systems 108.
Thus, one of the systems (e.g., the search engine system 102) may
maintain different sets of information relating to a potential
transaction on the marketplace system 104 (e.g., information about
a user or a user interface context) than another one of the
systems. Nevertheless, as described above, the collection module
204 may aggregate the different sets of information maintained by
each of the systems.
[0041] FIG. 4 is a block diagram of an example embodiment of a user
record 404 included in the user database 302 of FIG. 3. The user
record 404 includes a field 412 for a user identifier (e.g., the
GUID associated with the user), a field 414 for uses of search
queries, a field 416 for viewings of user-provided information, a
field 418 for accesses of categories of products, a field 420 for
watchings of items, a field 422 for viewings of items, a field 424
for watchings of products, a field 426 for viewings of products,
and a field 428 for viewings of profiles. A watching of an item or
is a designating of the item or product by a user as an item or
product that the user is monitoring. For example, a user is
watching an item if the user adds the item to a watch list within
the marketplace system 104. A watching of an item may include
taking an action with respect to the item (e.g., viewing the
current high bid on the item or placing a bid on the item), viewing
other items of a seller of the item, or getting notified by email
when the status of a listing of the item changes or the item is
relisted. Each of the fields may be linked to additional database
fields of the user record 404 or a different record (not shown).
For example, the field 414 may be linked to additional fields for
the sets of keywords used in each of the search queries and a
number of times each of the sets of keywords were used. The field
424 may include information regarding each of the products (e.g.,
the names of the products) that were watched and a number of times
each of the products was watched.
[0042] FIG. 5 is an example embodiment of a method 500 for
providing a user with a customized online shopping experience. The
method 500 may include receiving 502 an indication of an interest
by a user in a product. The indication may be in the form of a
request from an application (e.g., a web browser application)
executing on a user system. The request may be for a marketplace
system to transmit instructions to the application for a rendering
of a predetermined user interface related to the product. The
request may be initiated by a clicking of the user on an
advertisement presented to the user in a user interface associated
with the search engine system 102 or one of the other systems 108.
The method 500 may include selecting 504 a user interface to
present information related to the product. The user interface may
be selected from a group of user interfaces based on various
factors, as illustrated in FIG. 6. The method 500 may include
transmitting 506 instructions to present information about the
product using the selected user interface. For example, the method
500 may include transmitting instructions to the application to
present a user interface related to a specimen of the product that
is currently for sale on the marketplace system 104.
[0043] FIG. 6 is an example embodiment of the selecting 504
operation of the method 500. The selecting of the user interface
504 may include calculating 602 a conversion rate of each user
interface in a group of user interfaces based on at least one of
user transaction histories 604, user interface contexts 606, or
user profiles 608. For example, the calculation of the conversion
rates may be performed by the selection module 206. The selecting
of the user interface 504 may include determining 610 a user
interface in the group of user interfaces having the highest
conversion rate.
Modules, Components and Logic
[0044] Certain embodiments are described herein as including logic
or a number of components, modules, or mechanisms. Modules may
constitute either software modules (e.g., code embodied on a
machine-readable medium or in a transmission signal) or hardware
modules. A hardware module is a tangible unit capable of performing
certain operations and may be configured or arranged in a certain
manner. In example embodiments, one or more computer systems (e.g.,
a standalone, client or server computer system) or one or more
hardware modules of a computer system (e.g., a processor or a group
of processors) may be configured by software (e.g., an application
or application portion) as a hardware module that operates to
perform certain operations as described herein.
[0045] In various embodiments, a hardware module may be implemented
mechanically or electronically. For example, a hardware module may
comprise dedicated circuitry or logic that is permanently
configured (e.g., as a special-purpose processor, such as a field
programmable gate array (FPGA) or an application-specific
integrated circuit (ASIC)) to perform certain operations. A
hardware module may also comprise programmable logic or circuitry
(e.g., as encompassed within a general-purpose processor or other
programmable processor) that is temporarily configured by software
to perform certain operations. It will be appreciated that the
decision to implement a hardware module mechanically, in dedicated
and permanently configured circuitry, or in temporarily configured
circuitry (e.g., configured by software) may be driven by cost and
time considerations.
[0046] Accordingly, the term "hardware module" should be understood
to encompass a tangible entity, be that an entity that is
physically constructed, permanently configured (e.g., hardwired) or
temporarily configured (e.g., programmed) to operate in a certain
manner and/or to perform certain operations described herein.
Considering embodiments in which hardware modules are temporarily
configured (e.g., programmed), each of the hardware modules need
not be configured or instantiated at any one instance in time. For
example, where the hardware modules comprise a general-purpose
processor configured using software, the general-purpose processor
may be configured as respective different hardware modules at
different times. Software may accordingly configure a processor,
for example, to constitute a particular hardware module at one
instance of time and to constitute a different hardware module at a
different instance of time.
[0047] Hardware modules can provide information to, and receive
information from, other hardware modules. Accordingly, the
described hardware modules may be regarded as being communicatively
coupled. Where multiple such hardware modules exist
contemporaneously, communications may be achieved through signal
transmission (e.g., over appropriate circuits and buses) that
connect the hardware modules. In embodiments in which multiple
hardware modules are configured or instantiated at different times,
communications between such hardware modules may be achieved, for
example, through the storage and retrieval of information in memory
structures to which the multiple hardware modules have access
(e.g., the data store). For example, one hardware module may
perform an operation and store the output of that operation in a
memory device to which it is communicatively coupled. A further
hardware module may then, at a later time, access the memory device
to retrieve and process the stored output. Hardware modules may
also initiate communications with input or output devices and can
operate on a resource (e.g., a collection of information).
[0048] The various operations of example methods described herein
may be performed, at least partially, by one or more processors
that are temporarily configured (e.g., by software) or permanently
configured to perform the relevant operations. Whether temporarily
or permanently configured, such processors may constitute
processor-implemented modules that operate to perform one or more
operations or functions. The modules referred to herein may, in
some example embodiments, comprise processor-implemented
modules.
[0049] Similarly, the methods described herein may be at least
partially processor-implemented. For example, at least some of the
operations of a method may be performed by one or processors or
processor-implemented modules. The performance of certain of the
operations may be distributed among the one or more processors, not
only residing within a single machine, but deployed across a number
of machines. In some example embodiments, the processor or
processors may be located in a single location (e.g., within a home
environment, an office environment or as a server farm), while in
other embodiments the processors may be distributed across a number
of locations.
[0050] The one or more processors may also operate to support
performance of the relevant operations in a "cloud computing"
environment or as a "software as a service" (SaaS). For example, at
least some of the operations may be performed by a group of
computers (as examples of machines including processors), these
operations being accessible via a network (e.g., the Internet) and
via one or more appropriate interfaces (e.g., APIs).
Electronic Apparatus and System
[0051] Example embodiments may be implemented in digital electronic
circuitry, or in computer hardware, firmware, software, or in
combinations of them. Example embodiments may be implemented using
a computer program product, e.g., a computer program tangibly
embodied in an information carrier, e.g., in a machine-readable
medium for execution by, or to control the operation of, data
processing apparatus, e.g., a programmable processor, a computer,
or multiple computers.
[0052] A computer program can be written in any form of programming
language, including compiled or interpreted languages, and it can
be deployed in any form, including as a stand-alone program or as a
module, subroutine, or other unit suitable for use in a computing
environment. A computer program can be deployed to be executed on
one computer or on multiple computers at one site or distributed
across multiple sites and interconnected by a communication
network.
[0053] In example embodiments, operations may be performed by one
or more programmable processors executing a computer program to
perform functions by operating on input data and generating output.
Method operations can also be performed by, and apparatus of
example embodiments may be implemented as, special purpose logic
circuitry, e.g., a FPGA or an ASIC.
[0054] The computing system can include clients and servers. A
client and server are generally remote from each other and
typically interact through a communication network. The
relationship of client and server arises by virtue of computer
programs running on the respective computers and having a
client-server relationship to each other. In embodiments deploying
a programmable computing system, it will be appreciated that that
both hardware and software architectures require consideration.
Specifically, it will be appreciated that the choice of whether to
implement certain functionality in permanently configured hardware
(e.g., an ASIC), in temporarily configured hardware (e.g., a
combination of software and a programmable processor), or a
combination of permanently and temporarily configured hardware may
be a design choice. Below are set out hardware (e.g., machine) and
software architectures that may be deployed, in various example
embodiments.
Example Machine Architecture and Machine-Readable Medium
[0055] FIG. 7 is a block diagram of machine in the example form of
a computer system 700 within which instructions for causing the
machine to perform any one or more of the methodologies discussed
herein may be executed. In alternative embodiments, the machine
operates as a standalone device or may be connected (e.g.,
networked) to other machines. In a networked deployment, the
machine may operate in the capacity of a server or a user system in
server-client network environment, or as a peer machine in a
peer-to-peer (or distributed) network environment. The machine may
be a personal computer (PC), a tablet PC, a set-top box (STB), a
Personal Digital Assistant (PDA), a cellular telephone, a web
appliance, a network router, switch or bridge, or any machine
capable of executing instructions (sequential or otherwise) that
specify actions to be taken by that machine. Further, while only a
single machine is illustrated, the term "machine" shall also be
taken to include any collection of machines that individually or
jointly execute a set (or multiple sets) of instructions to perform
any one or more of the methodologies discussed herein.
[0056] The example computer system 700 includes a processor 702
(e.g., a central processing unit (CPU), a graphics processing unit
(GPU) or both), a main memory 704 and a static memory 706, which
communicate with each other via a bus 708. The computer system 700
may further include a video display unit 710 (e.g., a liquid
crystal display (LCD) or a cathode ray tube (CRT)). The computer
system 700 also includes an alphanumeric input device 712 (e.g., a
keyboard), a user interface (UI) navigation (or cursor control)
device 714 (e.g., a mouse), a disk drive unit 716, a signal
generation device 718 (e.g., a speaker) and a network interface
device 720.
Machine-Readable Medium
[0057] The disk drive unit 716 includes a machine-readable storage
medium 722 on which is stored one or more sets of instructions 724
and data structures (e.g., software) embodying or utilized by any
one or more of the methodologies or functions described herein. The
instructions 724 may also reside, completely or at least partially,
within the main memory 704 and/or within the processor 702 during
execution thereof by the computer system 700, the main memory 704
and the processor 702 also constituting machine-readable media. The
instructions 724 may also reside, completely or at least partially,
within the static memory 706.
[0058] While the machine-readable storage medium 722 is shown in an
example embodiment to be a single medium, the term
"machine-readable medium" may include a single medium or multiple
media (e.g., a centralized or distributed database, and/or
associated caches and servers) that store the one or more
instructions 724 or data structures. The term "machine-readable
medium" shall also be taken to include any non-transitory medium
that is capable of storing, encoding or carrying instructions for
execution by the machine and that cause the machine to perform any
one or more of the methodologies of the present embodiments, or
that is capable of storing, encoding or carrying data structures
utilized by or associated with such instructions. The term
"machine-readable medium" shall accordingly be taken to include,
but not be limited to, solid-state memories, and optical and
magnetic media. Specific examples of machine-readable media include
non-volatile memory, including by way of example semiconductor
memory devices, e.g., Erasable Programmable Read-Only Memory
(EPROM), Electrically Erasable Programmable Read-Only Memory
(EEPROM), and flash memory devices; magnetic disks such as internal
hard disks and removable disks; magneto-optical disks; and compact
disc-read-only memory (CD-ROM) and digital versatile disc (or
digital video disc) read-only memory (DVD-ROM) disks.
Transmission Medium
[0059] The instructions 724 may further be transmitted or received
over a communications network 726 using a transmission medium. The
instructions 724 may be transmitted using the network interface
device 720 and any one of a number of well-known transfer protocols
(e.g., Hyper Text Transfer Protocol or HTTP). Examples of
communication networks include a local area network (LAN), a wide
area network (WAN), the Internet, mobile telephone networks, Plain
Old Telephone (POTS) networks, and wireless data networks (e.g.,
WiFi and WiMax networks). The term "transmission medium" shall be
taken to include any intangible medium that is capable of storing,
encoding or carrying instructions for execution by the machine, and
includes digital or analog communications signals or other
intangible media to facilitate communication of such software.
[0060] Although an embodiment has been described with reference to
specific example embodiments, it will be evident that various
modifications and changes may be made to these embodiments without
departing from the broader spirit and scope of the disclosure.
Accordingly, the specification and drawings are to be regarded in
an illustrative rather than a restrictive sense. The accompanying
drawings that form a part hereof show by way of illustration, and
not of limitation, specific embodiments in which the subject matter
may be practiced. The embodiments illustrated are described in
sufficient detail to enable those of ordinary skill in the art to
practice the teachings disclosed herein. Other embodiments may be
utilized and derived therefrom, such that structural and logical
substitutions and changes may be made without departing from the
scope of this disclosure. This Detailed Description, therefore, is
not to be taken in a limiting sense, and the scope of various
embodiments is defined only by the appended claims, along with the
full range of equivalents to which such claims are entitled.
[0061] Such embodiments of the inventive subject matter may be
referred to herein, individually and/or collectively, by the term
"invention" merely for convenience and without intending to
voluntarily limit the scope of this application to any single
invention or inventive concept if more than one is in fact
disclosed. Thus, although specific embodiments have been
illustrated and described herein, it should be appreciated that any
arrangement calculated to achieve the same purpose may be
substituted for the specific embodiments shown. This disclosure is
intended to cover any and all adaptations or variations of various
embodiments. Combinations of the above embodiments, and other
embodiments not specifically described herein, will be apparent to
those of skill in the art upon reviewing the above description.
* * * * *