Aspects of the invention generally relate to electronic commerce. In particular, aspects are directed to providing product recommendations to potential customers and sharing revenue among service and product providers in on-line markets.
In current electronic business models, profiles are often generated for consumers without them ever knowing. A consumer's actions including purchasing, browsing and chatting may be tracked and saved to a consumer profile so that a service provider, advertiser or other entity may gain an edge in marketing to the consumer. Accordingly, consumers typically have very little control over their own profiles and the recommendations and advertisements that are sent to them. In some instances, a profile creation process may also be poor and thus, the profiles and the recommendations made based thereon may poorly reflect the actual interests of a consumer. Additionally, consumers are often locked in to shopping under their own profile. Oftentimes, they must be able to log-in to another user's account or have access to the other user's terminal or device in order to receive recommendations geared toward the other user's interests.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Methods and systems for allowing a user to select a profile for shopping or browsing are described. A user may receive or obtain another user's profile in a variety of ways including e-mail, direct transmissions between devices, short messaging systems (SMS), multimedia messaging systems (MMS), user's community or user's social network and the like. User profiles may also be obtained from a server (e.g., a commerce server) if the commerce server has the requested profile stored. Once obtained, a first user may select a profile of a second user for shopping on-line through a communication terminal. With the second user's profile selected, a first user may receive recommendations and advertisements that are directed to the interests of the second user, rather than his/her own (although some overlap might exist). In one or more configurations, advertisements may be selected by a server according to a selected profile. Thus, a selected advertisement might not be directed to the interests of a user of terminal, but rather may be directed to the interests of a user whose profile has been selected on the terminal. The first user may also switch back to his or her own profile so that product recommendations, advertisements and the like are geared toward his or her interests. Users may specify shareable and non-shareable portions of their profile to keep some information private. Using selectable profiles allows a user to shop for another user without having to have an account and password of the other user or access to the other user's device.
According to another aspect, a commerce server configured to facilitate electronic commerce between terminals and service providers may provide product and service recommendations based on a user profile and a service provider profile. In one configuration, the commerce server may be configured to make product recommendations based on a service provider profile associated with a product. In particular, the service provider profile may store or identify other products or services in which purchasers of a particular product have typically been interested. The recommendations determined based on the service provider profile may be filtered using a user's profile (e.g., the user's interests) to allow the user to assert some level of control over what recommendations are given.
According to yet another aspect, profiles may be created based on a variety of user actions. User actions may include bookmarking a website, site navigation, selecting a link, purchasing a product, reading a Really Simple Syndication (RSS) news feed, bookmarking a widget, selecting an advertisement and the like. User actions may be tracked by a commerce server and stored to a user action database in association with the user or a terminal. The user action database may then be used to generate a profile of interests and other information based on the user actions. Weights may also be assigned to the various user actions and interests based on a variety of weighting mechanics. In one example, weights may be assigned based on a position a page or site holds in a navigation hierarchy. In other words, the deeper a page is within a site, the more weight the accessing of that page is assigned. In another example, weights may be assigned based on content type (e.g., music, ticketed events, videos, purchases, news, widgets, etc.), a context (e.g., shopping for my kid, shopping for myself, shopping for my parents) and/or an action type (e.g., bookmarking, purchasing, reading, playing). Weights for a hierarchy or an action type may be predefined by the commerce server, specified by a user or a combination thereof.
According to another aspect, a commerce server may obtain price quotes from a plurality of service or product providers for a product or service that a user wants to purchase. A user may thus purchase the product from a service provider with the most desirable price. Additionally or alternatively, if a user initially requests to purchase a product from a first site, but later decides to purchase the product from a second site identified in the price quotes, revenue may be shared between the first and second sites. For example, the first site may receive a redirect or referral fee or share of the revenue.
According to another aspect, friends in user's social network may be classified or categorized differently. That is, profiles may be classified according to different levels such as spouse level, children level, family level, co-worker level, friend level and the like. In one example, hobbies and work may correspond to different levels. These levels may determine the right of the group or user to use or view a user's profile. In another aspect, a contact list and/or address book can also include information of the right to use other's profiles.
Certain embodiments are illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which are shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present invention.
Various embodiments may be used in a broad array of networks and communication protocols.
Service provider 125 and product provider 130 may each be configured to provide various services and products, respectively. For example, service provider 125 may include a website for providing personal storage space on the Internet while product provider 130 may include a website that sells books. In one or more arrangements, product provider 130 and service provider 125 may be parts of a single combined provider. Commerce server 135, on the other hand, facilitates electronic commerce between devices 105, 110, 120 and 115 and each of providers 125 and 130. Commerce server 135 may, for example, be configured to provide product or service recommendations, store user profiles or obtain price quotes from a plurality of service or product providers on a consumer's behalf.
Devices 105, 110, 115 and 120 may be connected to each other through various types of networks. For example, mobile communication devices 105 and 110 may communicate with one another through a cellular network, a short range communication connection (such as a Bluetooth®, UWB (Ultra Wide Band), infrared, WiBree), a wireless local area network (WLAN) or a high-speed wireless data network, e.g., Evolution-Data Optimized (EV-DO) networks, Universal Mobile Telecommunications System (UMTS) networks or Enhanced Data rates for GSM Evolution (EDGE) networks. In one or more arrangements, mobile communication devices 105 and 110 and other devices like PC 115 and PDA 120 may communicate through a wired network. Further, devices 105, 110, 115 and 120 may use various communication protocols such as Internet Protocol (IP), Transmission Control Protocol (TCP), Simple Mail Transfer Protocol (SMTP) among others known in the art.
Computer executable instructions and data used by processor 228 and other components within communication device 212 may be stored in a computer readable memory 234. Memory 234 may further store various data such as user profiles, usage history or statistics, product recommendations and the like. The memory may be implemented with any combination of read only memory modules or random access memory modules, optionally including both volatile and nonvolatile memory. Software 240 may be stored within memory 234 or storage to provide instructions to processor 228 for enabling communication device 212 to perform various functions. Alternatively, one or more modules of communication device 212 may be embodied in hardware or firmware (not shown).
Communication device 212 may be configured to receive, decode and process digital radio or television broadcast transmissions that are based, for example, on the DVB (Digital Video Broadcasting) standards, through a specific DVB receiver 241. The mobile device may also be provided with other types of receivers for digital broadcast transmissions, such as ATSC (Advanced Television Systems Committee), MediaFLO, DMB (Digital Multimedia Broadcasting), ISDB (Integrated Services Digital Broadcasting), HDTV (High-definition television), DAB (Digital Audio Broadcasting), DRM (Digital Radio Mondiale), etc. Additionally, communication device 212 may also be configured to receive, decode and process transmissions through FM/AM Radio receiver 242, WLAN transceiver 243, and wireless telecommunications transceiver 244. Transceivers 243 and 244 may, alternatively, be separated into individual transmitter and receiver components (not shown). In one example, transceiver 244 may include a broadcast receiver (not shown) and a backward channel receiver (not shown) for communicating over the broadcast channel and the backward channel, respectively. Additionally, communication device 212 may further include a navigation engine for determining a position of communication device 212. In one example, the navigation engine may include Global Positioning System (GPS) receiver 245 for receiving position information from a GPS satellite (not shown). The receiver and transmitter components, e.g., transceiver 244, may be configured to transmit user input and other data (e.g., user selections of profiles, purchase requests, requests for information, user behavior/actions, etc.) to a server and receive data such as product recommendations, price quotes, user profile information and the like from the server.
According to one aspect, communication device 212 may receive Radio Data System (RDS) messages. Other transmission and reception systems may also be used including BLUETOOTH®, WiMAX (Worldwide Interoperability for Microwave Access) i.e., Institute of Electrical and Electronics Engineers (IEEE) 802.16 standard, or UWB (Ultra-wideband) transceivers. In one or more instances, signals may be transmitted to and received from another mobile terminal (not shown). For example, audio, video and other signals may be transmitted between two communication devices using various transmissions protocols such as wireless local area networks (WLANs), General Packet Radio Service (GPRS), third generation mobile system technology (3G), Bluetooth or Universal Plug and Play (UPnP). Such networks may be used to access or support local networks or remote networks such as the Internet.
In one or more arrangements, user actions may be stored in a user action database, e.g., database 330, in commerce server 305. User actions may be associated with the terminal on which the action was performed or with a user that performed the action or a combination thereof. Additionally or alternatively, a user or terminal may be able to define what actions may or should be tracked by commerce server 305. Thus, a user may specify that only purchases, bookmarking and reading RSS feeds should be tracked. This may provide a level of privacy that may be controlled by the user. The user actions detected by commerce server 305 may subsequently be sent to profiling engine 310 which is configured to generate user profiles based on the user actions. Profiling engine 310 and commerce server 305 may be components of a single server or device or may be separate devices. A profile may be used to specify user identification information, user interests, user behavior patterns (e.g., purchase patterns) and the like. User profiles may be created for individuals, companies, groups of individuals (e.g., families, friends, social groups, community groups, etc.) or other organizations. Using the profiles, commerce server 305 and recommendation engine 340 may identify one or more products that a user may be interested in and make recommendations. Recommendation engine 340 may include one or more processors for processing data (e.g., user interests or user behavior) and generating recommendations based on the processed data. Product recommendations may also be generated using a combination of a user profile and a service provider profile.
A service provider profile, as used herein, refers to a profile configured to store actions performed by a plurality of entities at the service provider and interests inferred therefrom. A user profile, in contrast, is a personal profile specifying the interests of a single entity and is generally not associated with a service provider. Thus, a service provider profile may identify one or more other products in which a purchaser of a product may be interested based on the behavior and interests of previous purchasers of the same product.
Additionally or alternatively, commerce server 305 may be configured to generate a purchasing front-end or user interface (UI) such as UI 325 configured to display any identified product or service recommendations. For example, UI 325 may be generated by one or more processors (not shown) of commerce server 305 based on recommendations generated by recommendation engine 340. Recommendation engine 340 may further be configured to filter recommendations based on one or more profiles. Further, commerce server 305 may solicit bids using transceiver 335 from product/service providers 315 for a product a user has already committed to purchasing. This may increase competition between product/service providers 315 and allow the user to obtain the best price for a given product without having to navigate to each product/service provider's commerce site.
A user profile (e.g., profile 400) may be created manually, automatically or a combination of both on a server like commerce server 135 (
Additionally or alternatively, a profile may be shared by selecting share profile option 520. Upon selecting option 520, the user may be prompted to select or enter the identification of one or more other users with which the user wishes to share a profile. The identification may include a phone number, an instant messaging screen name, a device ID, an e-mail address and the like. Further, copy profile option 525 may be included so that a user may replicate another profile. Such an option may be used if a user wants to make minor changes to an existing profile without deleting the existing profile. Various other options may also be included in a profile management interface.
A preview pane 530 may also be provided in interface 500. Preview pane 530 allows a user to view some information associated with a selected profile upon selection from profile list 501. Preview pane 530 further includes a view option 535 that allows a user to view the entire profile upon selection. Preview pane 530 may be resized or turned off depending on the preferences of the user.
In one or more arrangements, a user may be allowed to select and use the profile of another user or entity when browsing or shopping. For example, if a father is shopping for his daughter, the father may select and use the daughter's profile to receive product or service recommendations corresponding to her interests (i.e., rather than his own).
In step 615, the terminal may receive one or more product or service recommendations based on the selected profile from the commerce server (via transceiver 244 of
As discussed, profiles may further be shared between devices and users. That is, a user may transmit the user's own profile or another profile stored in the user's device to another user or device. Thus, if a woman's husband wishes to purchase a gift for her, he may obtain the wife's profile to receive recommendations for suitable gifts using his own terminal (i.e., without having to use his wife's device). In one arrangement, a user may specify portions of a profile that may be shared, while other portions may be kept private. Thus, in one configuration, when sharing a profile, only the “shareable” portions of the profile may be transmitted to another user or device. Additionally, user profiles or portions thereof that are identified as private may still be used. That is, a first user may use the profile of a second user without having access (e.g., viewing, editing, etc.) to one or more details stored in the profile of the second user. For example, a user may allow a friend to use the user's profile to make purchases or receive recommendations but prevent the friend from seeing details of the user's profile. Such a feature or option may allow user to distribute his or her profile to others without having to disclose private information (e.g., a shirt or pant size).
In one or more embodiments, a contact list and/or address book may include a field for specifying a user's right to use a profile of a particular person. Thus, a user may be able to identify profiles that the user is allowed to access by viewing the user's contact list or address book. In one example, such access or user right information may be transmitted along with an electronic business card or other electronic contact information package received from a corresponding user. A sending user's electronic business card may specify the receiving user's access rights to one or more profiles of the sending user. Additionally or alternatively, an electronic business card may include a profile (or a portion thereof) to which a receiving user is allowed access.
Commerce server 720 may further include a database 722 configured to store user accounts, actions, profiles, service provider information and the like. For example, database 722 may include a user account database, user action database and a user profile database. New user actions detected by server 720 may be stored in a user action database of database 722 based on a user account ID, a terminal ID and the like. Weights assigned to interests or user actions may also be stored in database 722 in association with the corresponding profile. User actions and user profiles may be associated with a user account. Alternatively or additionally, user actions and user profiles may be stored as part of a user account (e.g., in a user account database).
Further, multiple profiles may be selected and used at once to generate product or service recommendations that are common to the multiple users or entities associated with the multiple profiles. In one example, upon generating product or service recommendations according to a first selected profile, the recommendations may then be filtered using a second selected profile thereby creating a list of recommendations that correspond to both sets of interests. Such a method and system may be used, for example, when buying a gift suitable for a couple.
In response to the purchase request, the commerce server may determine one or more product or service recommendations based on a service/product provider profile in step 910. For example, the commerce server may make such a determination using a recommendation engine such as engine 340 of
Additionally or alternatively, a commerce server may further be configured to seek price quotes from multiple service or product providers to survey a pricing landscape for a consumer. In one arrangement, a commerce server may solicit quotes from one or more providers other than an original provider to which the purchase request was directed. In response, the one or more providers may send price quotes to the commerce server or directly to a consumer's terminal. According to one aspect, the commerce server might only display a selected number of quotes. For example, the server might only display the lowest 3 or 4 quotes. In another example, the quotes may be selected based on the reputation of the providers associated with the quotes (e.g., quotes only from providers with at least a 4 out of 5 star reputation). The price quote comparison may be performed by one or more modules of the commerce server including recommendation engine 340 of
Additionally or alternatively, a commerce server may facilitate a revenue sharing scheme wherein revenue generated by the sale of a product may be shared between an originally specified provider and another provider ultimately selected for competing the purchase. For example, the originally specified provider might receive a redirect share (i.e., a share or credit given for redirecting the user to the selected provider) of the revenue. If, however, the selected provider is the originally specified provider, revenue sharing might not be used.
Profiles may be generated in a variety of ways using a variety of different types of information. In one arrangement, a profile may be created based on historical behavior of a user to which the profile corresponds. Historical behavior may include a browsing history, a purchase history, bookmarking history, content viewing/listening history, searching history and/or combinations thereof.
If, however, tracking of the action is allowed, the server may assign a weight to a detected user action based on various criteria in step 1110. Weights may be assigned and used to indicate a level of interest or relevance of the user action or of interest. For example, assigning weights to user interests derived from a user action database may facilitate the formulation of product or service recommendations by understanding a user's relative strength of interests. Alternatively or additionally, assigning weights to user actions and interests may be used to provide more targeted and relevant searching. That is, when a user performs a search, the search results may be filtered using the weights assigned to each of the user's interests. Weighting criteria may include an amount of time associated with a particular user action (e.g., time spent reading an article), a follow-up action (e.g., selecting a page within a particular site after selecting a link to the site), an application used, a type of action, a device used, a content type, a site hierarchy and the like. The weighting criteria used may collectively be referred to as a context in which an action is performed.
The various criteria and associated weights may be defined by a user, by a server and/or combinations thereof. For example, a user may specify the action types or other context attributes that are to used in weighting and assign a weight corresponding to each action type or context attribute (discussed in further detail below). Alternatively or additionally, a server or recommendation system may set default context attributes and assign default weights. Weights may change over time automatically based on changes in user actions or behavior or manually based on user-specified changes. In another example, a user may assign a weight as he is performing various activities such as navigating a website. Thus, a user may, while viewing a web page, select or enter the weight he finds appropriate, e.g. between 0-100, for that web page. Methods of assigning weights to user actions and interests are discussed in further detail below.
According to one aspect, a user may create a user account with a commerce service provided by a commerce server. The user account may store a variety of information including user profiles, a user action database and settings information such as criteria and weighting preferences. User accounts may be created and stored in a commerce server database such as database 722 of
In step 1115, the server may determine a subject or interest associated with the identified user action. The server may determine user interests using a variety of methods including using natural language analysis of a bookmarked page, parsing the title of a content item (e.g., an MP3 or video) played, extracting a universal product code (UPC) of a product purchased and the like. In one example, the server may infer a user interest based on one or more detected user actions. Additionally, a weight may be determined for and assigned to each determined subject or interest in step 1120 based on the weights of user action or actions from which the interest or subject was determined or inferred. For example, if a user bookmarks a site dedicated to the band MATCHBOX 20, MATCHBOX 20 may be identified as a music interest in the user's profile. Further, if the user spent a relatively large amount of time browsing the MATCHBOX 20 site, the weight of the user's interest in MATCHBOX 20 may be relatively large. In step 1125, the determined interests and their associated weights may be added to a user profile.
As discussed, user actions and interests may be weighted using various methodologies.
Once a user ends a navigation path or session, e.g., by entering a different URI, starting another search or closing the browsing window, the database entry for the user action (i.e., accessing the visited pages/sites) may be finalized and added to the database. In one arrangement, only the last page/site visited in the navigation path or session may be added to the database. Alternatively, only the visited page/site with the highest weight may be added.
Weight index column 1410 may be used to specify a weight associated with each of the action types, content types or examples of usage. Thus, in one example, bookmarking an EBAY widget may be assigned a weight index of 10 while key word searches for MATCHBOX 20 or SPICE GIRLS may be assigned a weight index of 40, representing a stronger interest or relevance to a user's profile. In another example, purchasing tickets to an opera may be assigned an even greater weight index of 75. Weight indices may be assigned in a variety of ways including analysis of user behavior, manual user input and the like.
According to one aspect, list 1501 may also identify the actions or other user actions that are to be tracked. Thus, a user may exert additional control over his or her privacy by controlling what information may be used and tracked to generate a user profile. Thus, a service may know that action types that are not in list 1501 are not to be tracked and actions that are included may be tracked.
According to one or more aspects, a user may have multiple user profiles. For example, a user may have a personal or private profile stored on his or her device as well as a profile for each of multiple electronic commerce sites. Thus, a user may have a profile for an on-line cosmetic store and another profile for an on-line electronics shopping site. In such instances, the profiles may be merged or used together in generating recommendations and search results. In one example, a music interest category may be merged between a user's multiple profiles, creating a master list of music interests. A profile may also be updated in similar manner by reconciling the data of two different profiles. In one or more configurations, a translation module may be used to convert certain profile criteria or categories to facilitate merging or updating of profiles.
The methods and features recited herein may further be implemented through any number of computer readable media that are able to store computer readable instructions. Examples of computer readable media that may be used include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic storage and the like.
Additionally or alternatively, in at least some embodiments, the methods and features recited herein may be implemented through one or more integrated circuits (ICs). An integrated circuit may, for example, be a microprocessor that accesses programming instructions or other data stored in a read only memory (ROM). In some such embodiments, the ROM stores programming instructions that cause the IC to perform operations according to one or more of the methods described herein. In at least some other embodiments, one or more the methods described herein are hardwired into an IC. In other words, the IC is in such cases an application specific integrated circuit (ASIC) having gates and other logic dedicated to the calculations and other operations described herein. In still other embodiments, the IC may perform some operations based on execution of programming instructions read from ROM or RAM, with other operations hardwired into gates and other logic of IC. Further, the IC may output image data to a display buffer.
The term “processor” or “processors” in combination with memory should be understood to include any of the foregoing combinations of hardware or software to carry out steps or functions.
Although specific examples of carrying out the invention have been described, those skilled in the art will appreciate that there are numerous variations and permutations of the above-described systems and methods that are contained within the spirit and scope of the invention as set forth in the appended claims. Additionally, numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure.