WO2000045628A2 - Computer system and computer-implemented method for electronic commerce - Google Patents

Computer system and computer-implemented method for electronic commerce Download PDF

Info

Publication number
WO2000045628A2
WO2000045628A2 PCT/US2000/003248 US0003248W WO0045628A2 WO 2000045628 A2 WO2000045628 A2 WO 2000045628A2 US 0003248 W US0003248 W US 0003248W WO 0045628 A2 WO0045628 A2 WO 0045628A2
Authority
WO
WIPO (PCT)
Prior art keywords
product
features
merchant
value
user
Prior art date
Application number
PCT/US2000/003248
Other languages
French (fr)
Other versions
WO2000045628A9 (en
Inventor
Robert H. Guttmann
Alexandros G. Moukas
Alexander F. Kleiner, Iii
Jay-Michael Baslow
Original Assignee
Frictionless Commerce Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Frictionless Commerce Incorporated filed Critical Frictionless Commerce Incorporated
Priority to AU32256/00A priority Critical patent/AU3225600A/en
Publication of WO2000045628A2 publication Critical patent/WO2000045628A2/en
Publication of WO2000045628A9 publication Critical patent/WO2000045628A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

COMPUTER SYSTEM AND COMPUTER-IMPLEMENTED METHOD FOR
ELECTRONIC COMMERCE
Cross-reference Of Related Application
This application claims priority from U.S. Provisional Application 60/119,183 filed February 8, 1999, now pending, incorporated by reference in its entirety.
Background of the Invention
Electronic commerce has come to be known as any activity of commerce over a digital medium. Although technologies such as Electronic Data Interchange (EDI), automated teller machines, and electronic credit card processing have been around for some time, the advent and popularity of the Internet has given new meaning to the term
"electronic commerce." Today, electronic commerce over the Internet involves a broad range of issues including the economics of Internet pricing, marketing and advertising, payment mechanisms, security and privacy, trust and reputation, law and contracts, back- office management, supply chain management, and the buying and selling of goods and services.
Online shopping is both an opportunity and a threat to today's retail merchants. It is an opportunity because the Internet offers traditional merchants an additional channel to advertise and sell products to existing and new customers, thus potentially increasing sales. Online marketplaces also are more efficient than their physical-world counterparts, which lowers transaction costs for both merchants and consumers.
Along with these opportunities, however, come great challenges. On the Internet, competitors' Web storefronts are only a "mouse-click away" — as opposed to a car-ride away in the physical world — making it relatively easy for consumers to compare merchants' offerings. At the same time, it is becoming increasingly difficult for consumers to find and consider product offerings as the number of online merchants and quantity of Web pages grow exponentially. In the face of this information glut, online merchants are struggling to differentiate themselves and attract shoppers to their sites.
Summary of the Invention Computer implemented methods, and computer apparatus and programs, are provided for a user to engage in electronic commerce by providing a set of, including product features and merchant features, and to obtain suggestions as to the product offerings from various merchants. The user receives a list of product offerings, their value to him or her based on the provided criteria, and the ability to iteratively modify his or her criteria. An ontology shared and common to various components and modules allow easy and efficient computation, while a communication protocol allows for efficient communication between various components and modules. In one aspect, a computer-implemented method facilitates online shopping. A purchase by a user of a product offered by a merchant is facilitated by providing the user with an assessment of a value of the product based on a plurality of features of the product. A referral fee is charged for the purchase. In one embodiment, the referral fee is charged to the merchant. In another embodiment, the referral fee is charged to the user. The purchase may be facilitated by providing the user with assessments of values of a plurality of products based on a plurality of features of the plurality of products, the plurality of products including the product offered by the merchant, and by receiving from the user an indication of a select one of the plurality of products. The purchase may further be facilitated by communicating to the merchant the indication of the selected product. The indication may be received from the user through a third party that receives the indication directly from the user. The user may be provided with the assessments through a third party that provides the assessments directly to the user.
In another aspect, online shopping is facilitated by charging a setup fee to engage in at least one computer-facilitated online purchase and by facilitating, in exchange for the setup fee, at least one purchase by at least one user of at least one product offered by at least one merchant by providing the at least one user with an assessment of a value of the at least one product based on a plurality of features of the at least one product. The setup fee may be charged to, for example, the at least one merchant or to the at least one user.
The plurality of features may include any number of features. For example, the plurality of features may include at least two features, at least three features, at least four features, or at least five features. As used herein the term "product" is used to include goods, services, commodities, products, and any other tangible or intangible item. For example, the term "product" includes any item capable of being sold, exchanged, or leased, in whole or in part, between two or more parties. Similarly, as used herein, the term "product offering" is used to include an offering of any product as defined herein.
One technique features obtaining, at a buyer agent, information concerning a customer's objectives; receiving, at the buyer agent, data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; and processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering. Another technique features receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
Various graphical interfaces are displayed, A graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives. A graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives concerning merchant service features. A graphical user interface is displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product. A graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the arrived at value, and a region, wherein when activated, causes information indicating the details of the product offering and the assessing step to be displayed to the customer. A graphical user interface is to be displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology. The sales agent can be located remotely from the plurality of sales agents. The buyer agent can send and receives data to and from the sales agents over a network, such as the internet. The sales agents can also obtain information from their respective merchants and store the information on a database and the buyer agent receiving the data from the merchants by accessing the database. The variables include a numeric range and an attribute having an offer value comprising a real number. The numeric range is characterized by a minimum bound and a maximum bound for an expected offer value, wherein the offer value can be less than minimum bound or greater than the maximum bound, although the deviation can affect the computed value of the product offering to the consumer. The variables can include a discrete range. T he discrete range defines a plurality of tokens. The variables include an attribute having an offer value comprising a token selected from the plurality of tokens and an attribute having an offer value comprising a token not selected from the plurality of tokens, although the deviation can affect the computed value of the product offering to the customer. The variables can include a discrete set, the discrete set defining a plurality of tokens, and the plurality of variables includes an attribute having an offer value comprising a subset of the plurality of tokens. The received data includes variables characterizing a merchant service feature of the at least one of the merchants. The user's objectives includes a plurality of desired features and a relative position indicating an ordering of the desired product features. Processing the plurality of variables further includes assessing the value of the at least one product offering based on the relative positions of the plurality of the desired features. The user's objectives include, for each of the plurality of desired features, an active flag indicating whether the value of the product feature is to be assessed. Processing the plurality of variables includes assessing values of only of those product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be used. Each of the plurality of product features comprises at least one attribute, the at least one attribute having an offer value defined by the at least one product offering and a criterion defined by the user's objectives. Note that the order of the features may also be captured by absolute orders, not configurable by the user.
The received data can include a second plurality of variables characterizing features associated with at least one other product offering, the processing step further including processing the second product offering to arrive at a second singular value characterizing value of the second product offering. The product offerings are ordered according to the arrived at values of the product offerings. A graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the product offerings in accordance with the ordering. One of the product offerings is recommended to the user based on the ordering of the plurality of product offerings. The criteria defined by the user's objectives comprise at least one utility function and a raw value assessment function. Processing the variables can include assessing the value of the at least one product offering using the raw value assessment function and the one utility function to generate a raw value assessment. The user's objectives define, for each of the plurality of features of the product, a relative position of the feature of the product among the plurality of features of the product. Processing the multiples variables can include generating attribute utility values for at least one attribute of the features; generating an average of the attribute utility values; and multiplying the average of the utility values of the at least one attribute of the feature by a weight of the feature corresponding to the relative position of the feature to generate a weighted utility of the feature.
Processing the multiples variables can also include: summing the weighted utilities of the at least one feature of the at least one product to generate the raw value assessment. Processing the multiples variables can include performing a comparison between the raw value assessment and an ideal value assessment of the value of the at least one product; and generating an absolute value assessment of the value of the at least one product based on the results of the comparison. Processing the multiples variables includes generating the ideal value assessment by summing weights of the at least one feature. User's objectives include, for each of the plurality of product features, an active flag indicating whether the value of the product feature is to be assessed, and where the at least one feature comprises the product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be assessed. The product can be a good, or a service. Another technique features sending, at a buyer agent, an criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and processing the proposal performative to provide information to the customer information concerning the product offering.
The proposal performative is processed in view of the customer objectives to determine whether the product offering meet criteria established by the customer objectives. The buyer agent receives an indication from the user that the user intends to purchase the product offering, and sends an acceptance performative indicating the user's intention to purchase the product informative.
The buyer agent receives a change in the customer objectives from the customer; and sends a critique performative to the merchant indicating the change in user's objectives. The data in the critique performative can be substantially limited to data indicating the change in user's objectives. The buyer agent receives a counter-proposal performative sent from the merchant in response to the critique performative, counter-proposal performative including data indicating a change in the product offering. The buyer agent receives an indication form the user indicating the user's desire to end a buying session, and sends a withdraw performative to the merchant indicating the user's desire to end a buying session. The buyer agent receives a withdraw performative from the merchant indicating the merchant's desire to end a buying session, and ends communications with the merchant for that buying session.
Another technique features facilitating online shopping by a customer by displaying a graphical user interface for obtaining information from the customer regarding the customer objectives, the customer objectives including a desired merchant service feature.
Another technique features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by merchant, the information including a value assigned to the product offering based on the customer's objective, customer objectives including a merchant service feature.
Another technique features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a value assigned to the product offering based on relationships between a first plurality of variables characterizing the product offering and a second plurality of variables characterizing the customer objectives, and detailed data on the relationships.
Another technique features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
Another technique features a graphical user interface in a computer system to facilitate evaluation by a user of a plurality of product proposals provided by at least one merchant, the plurality of proposals including a plurality of features, the graphical user interface including a graphical display displaying information corresponding to the plurality of product proposals, the graphical display indicating an ordering of the plurality of product proposals based on singular values assigned to the plurality of product proposals derived from a plurality of variables received from the merchants and a plurality of criteria defined by the user, where the variables received from the merchants and the plurality criteria characterize merchant service features.
The graphical user interface can include a control element to change the ordering of the plurality of product proposals in response to input from the user. The control element controls a value of a select one of the plurality of criteria. The graphical display displays, for at least two of the plurality of product proposals, a plurality of feature displays corresponding to the plurality of features, the plurality of feature displays being arranged in a user-specified order. At least one feature control inactivates at least one of the plurality of feature displays in response to user input. The graphical user interface can include a selection control element to select a particular one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of features of the particular one of the plurality of product proposals. The information descriptive of features of the particular one of the plurality of product proposals indicates a user-specified ordering of the features of the particular one of the plurality of product proposals. The graphical user interface includes a selection control element to select at least one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of the at least one product proposal including information descriptive of features of the at least one of the plurality of product proposals.
The information descriptive of features of the at least one of the plurality of product proposals indicates a selected ordering of the features of the at least one of the plurality of product proposals. The plurality of features include a first plurality of features belonging to a first category and a second plurality of features belonging to a second category, and the graphical display indicates that the first plurality of features belong to the first category and that the second plurality of features belong to the second category.
The graphical user interface can include a feature editing element to modify a select one of the plurality of features in response to input from the user. Associated with the user is a user profile indicating at least one criterion specified by the user for assessing the values of the plurality of product proposals, and the graphical user interface can include a criterion control element to modify the at least one criterion in response to input from the user. The graphical user interface includes a criteria display displaying criteria information descriptive of at least one of the plurality of criteria. Another technique features assessing a value of at least one product offering by a merchant with respect to a customer's objectives by obtaining data representing expressions of a plurality of features associated with said at least one product offering by the merchant; translating at least one of the expressions into a second expression expressed in accordance with a selected ontology; and assessing values of the plurality of features of the at least one product in view of criteria defined by the customer's objectives by using said converted expression in place of the at least one of the expression. Embodiments of this invention can include one or more of the followings features.
The ontology can include product features, merchant offering features, and merchant service features The ontology can be dynamically updated by input by customers of an online shopping service. The ontology is a list of features associated with a product domain.
Another technique features obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data, and processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering. Another technique features receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data; processing the received data in view of the information retrieved from the ontology; and displaying the processed data.
Another technique features receiving data from a merchant; accessing an ontology to retrieve information in response to the received data; and forming a product offering based on the received data and the information retrieved from the ontology. Other aspects of the invention include the various combinations of one or more of the foregoing aspects of the invention, as well as the combinations of one or more of the various embodiments thereof as found in the following detailed description or as may be derived therefrom. It should be understood that the foregoing aspects of the invention also have corresponding computer-implemented processes which are also aspects of the present invention. It should also be understood that other embodiments of the present invention may be derived by those of ordinary skill in the art both from the following detailed description of a particular embodiment of the invention and from the description and particular embodiment of a system in accordance with the invention as found in the attached appendices.
Brief Description of the Drawings FIG. 1 is a schematic diagram of a computer implemented online shopping system.
FIG. 2 is a schematic diagram of an embodiment of the online shopping system of FIG. 1.
FIG. 3 is a data flow diagram of the operation of the online shopping system of FIG. 2. FIGs. 4 and 4A are graphical user interfaces for selecting a stereotypical customer profile.
FIGs. 5 and 5A-D are graphical user interfaces entering customer objectives. FIG. 6 is a data flow diagram of a decision support module of the online shopping system of FIG. 2. FIGs. 7 and 7A are graphical user interfaces for showing results of an online search for product offerings.
FIGs. 8 and 8A are graphical user interfaces for showing how a product offering matches a customer's objectives.
Detailed Description
Referring to FIG 1 , prior to describing in detail, we first describe a computer- implemented on line shopping system in detail. Online shopping system 1 allows a customer 10 at a computer 12 to shop online for a product, such as a good or a service. (Note that, other terms including "shopper" and "user" will be used interchangeably with the term "customer" herein.) Online shopping system 1 includes a buyer agent 14 which is a computer program module running, for example, in distributed manner on computer 12 and a remote server, where communication between modules running on computer 12 and those running on the remote server take place over a network such as an intranet or the Internet. Buyer agent 14 obtains a set of customer objectives from customer 10. The customer objectives typically relate to features of a desired product, and features of a merchant from whom the customer would like to obtain the product. Buyer agent 14 receives data concerning product offerings by merchants 16 through a number of sales agents 18 associated with various merchants 16. In some embodiments, described below, sales agents 18 provide the data with respect to the product offerings in response to a request sent by the buyer agent. The request outlines the objectives. Sales agents 18 configure various product offerings in part based on the user preferences sent by buyer agent 14. In those embodiments, buyer agent 14 can negotiate with sales agents 18 to arrive at a product offering most closely matching the customer objectives. In other embodiments, sales agents 18 supply data regarding merchants 16 and their products to a central database which is then accessed by buyer agent 14.
The data received by buyer agent 14 includes multivariable data concerning various features associated with the product offerings by merchants 16, including features associated with the product, features associated with the sale of the product by the merchants, and features associated with the policies and value-added services provided by the merchants. Buyer agent 14 assesses the multivariable data associated with each product offering to arrive at a single value representative of the value of each product offering to customer 10 given the customer's objectives.
In some embodiments, some of the merchants 16 use terms to express the features of the offered products which are different from terms used by other merchants. To enable a meaningful valuation of the product offerings and a meaningful comparison among the various product offerings, the differing terms are converted into a normalized set of expressions based on a common and shared ontology. Buyer agent 14 then provides the product offerings and their ranking to customer 10 in a graphical user interface, based on the common and shared ontology. Customer 10 also has the option of gaining access to the underlying calculations which resulted in buyer agent 14's conclusion.
Having described in general terms the shopping system 1 of FIG. 1, a particular embodiment shown in FIG. 2 will now be described in detail. In online shopping system 1 buyer agent 14 includes a shopping client 104 executing on customer computer 12. Shopping client 104 acts as an interface between customer 10 and shopping server 106. Shopping client 104, for example, can be written in the Java programming language, and can run as an applet in a window of a standard web browser. Shopping client 104 can also be implemented according to any other programming language and be implemented as a standalone application program or a component of a standalone application program. Shopping client 104 interacts with customer 10 through various graphical user interfaces provided by graphical user interface engine 128.
Shopping server 106 includes a shopping agent manager 108 to manage one or more shopping agents 110. Shopping agent manager 108 manager communications between shopping client 104 and a sales agent manager 114 executing on a merchant host computer 112 of a merchant. To initiate facilitated online shopping, shopping client 104 connects to shopping server 106. In response, shopping agent manager 108 creates a shopping agent corresponding to shopping client 104 and establishes a logical connection between shopping client 104 and the newly-created shopping agent.
Merchant host computer 112 includes a products database 124 that includes information descriptive of products offered by the merchant associated with sales agent manager 1 14 and a services database 126 that includes information descriptive of services offered by the merchant associated with sales agent manager 1 14. Each of the sales agents 1 16 may access its own products database 124 and services database 126. These databases can also be implemented as a single database of products and services. These databases can be implemented as, for example, any data structure, object, or combination thereof that performs the same functions as products database 124 and services database 126. It should be understood that the depiction of only one shopping client 104 and only one sales agent manager 1 14 in FIG. 2 is for illustration purposes only. Online shopping system 1 typically includes multiple shopping clients and multiple sales agent managers in communication through shopping server 106. Similarly, the locations of the components (e.g., shopping client 104, shopping agent manager 108, sales agent manager, 114, and sales agents 1 16) of the online shopping system 1 shown in FIG. 2 are for purposes of example only and can be implemented so as to be located anywhere.
Shopping agent 1 10 in communication with shopping client 104 retrieves a list of registered merchants from a registry 122 of registered merchants. To do so, shopping agent 1 10 sends a "request to connect" message to each of the registered merchants' respective sales agent managers (such as sales agent manager 114 executing on merchant host computer 1 12). Similarly, each sales agent manager 1 14 creates a logical connection between one or more of its sales agents 116 and shopping agent 110. To make one of the sales agent 116 available for involvement in negotiations with one or more of shopping agents 110, sales agent manager 114 may register that sales agent with shopping server 106. In response, shopping server 106 may register the sales agent in registry 122. Shopping server 106 also includes a user profiles database 1 18. Each user profile in the user profiles database 118 includes a predefined set of criteria that can be selected by a user for assessing the value of a product proposal offered by a merchant. Shopping client 104 retrieves user profiles from the user profiles database 1 18 and allows the user to select one of the user profiles for assessment of product proposals, as will be described below. In addition, shopping server 106 can store in database 1 18 specific customized profile for individual customers.
The shopping server also includes a storage media for storing the ontology, here a dictionary database 120 that includes definitions of features for products offered by merchants through their sales agents 1 16. The ontology is a collection of lists of merchant features and product features for various product domains. The ontology may also include description of the features, various synonyms for the features, and other content related to the features. After the user selects a user profile from the user profiles database 1 18, the shopping agent that is in communication with shopping client 104 may retrieve definitions of features of a product of interest to the user from the dictionary database 120 and transmits the definitions to the shopping client. The shopping agent may also initialize shopping client 104 according to the criteria defined by the user profile selected by the user. The shopping agent may then transmit the criteria to each of the sales agents 1 16 (and to any other sales agents that are in communication with shopping client 104), thus commencing negotiations between shopping client 104 and the sales agents 1 16. FIG. 3 is a data diagram of the data flow diagram outlining the data manipulation and processing performed by online shopping system 1. In the data flow diagram, those components belonging to a particular buyer agent or sales agent are shown under that agent.
Buyer agent 1 10 includes a customer objective data receiver 305 which obtains customer objective data 310 interactively from customer 10 using various graphical user interface. The obtained data characterize customer objectives with respect to product features and merchant features. The product feature are features of the product itself. They include, for example, the type of processor included in a computer, the quality of the components and their manufacturers, or the number of times an exterminator service sprays a dwelling.
The merchant features include merchant offering features and merchant service features. The merchant offering features are those features which specifically relate to the manner in which the merchant can provide the product to the customer, that is the sales features associated with the actual sale and delivery of the product by that merchant. They include the product's price, the current availability the product, and the various delivery options available to the customer for shipping the product. The merchant service features are merchant policies and value-added services which relate neither to product features nor to merchant offering features. Instead, merchant service features are those policies and value-added services which apply to substantially all customers of the merchant, or at least to customers of a particular product domain (that is, product class or categories, such as computers, notebook computers, men's apparel, etc. They include such things as return policies (such as the permitted return period, re-stocking fees, shipping fee responsibility, and shipping and handling charges, etc.), availability of extended warranties, the merchant's privacy policies, the merchant's payment plans, policies regarding who pays for the shipping costs, merchant's community involvement, and quality measurements such as third party ranking of merchants based on their service.
Referring again to FIG. 2, shopping client 104 includes graphical user interface (GUI) engine 128 for interacting with customer 10 to obtain the customer's objective data. Various embodiments of GUIs for obtaining the customer objective data are shown in FIGs. 4, 4A, 5, and 5A-D. Referring to FIGs. 4 and 4A, shopping client 104 allows customer 10 to select a default profile from among a number of user profiles stored in the user profile database 1 18 using a stereotype profile GUI 400 displayed by the graphical user interface engine 128. FIG. 5A shows an alternative embodiment of a stereotype profile selection GUI 405.
The stereotype profiles can be either static or dynamic. Static stereotypes remain the same unless modified by a system administrator. In contrast, dynamic stereotypes are dynamically defined based on how shoppers of a self-selected stereotype actually define their preferences while shopping. For example, the customer's preference selection can be tracked during a shopping session. After the customer finishes the shopping session, the customer's preferences are averaged into the stereotype definition that the customer self- selected. In some embodiments, a certain number of these preferences for each stereotype are maintained with older ones decaying out of the definition first. The averaging mechanism may use a mean-square difference or equally simple statistical algorithm to determine the stereotypical settings for each criterion. Alternatively, stereotypes can be dynamically formed by identifying significant clusters of shoppers and automatically generating a list of stereotypes with an administrator only needing to assign a label to each cluster.
Referring to FIGs. 5, 5A-C, when customer 10 selects a stereotypical profile, shopping client 104, through graphical user interface engine 128, displays various merchant and product feature selection GUIs for selecting attributes of the features and their importance to customer 10. Note that FIGs. 5A-C show an implementation of merchant and product feature selection interface using multiple GUIs.
After obtaining the customer objectives, buyer agent 14 may perform some processing to convert the selection into a set of attributes representing the selected features. Buyer agent 14 uses three types of attributes for the various available features: numeric range, discrete range, and discrete set. Each feature is defined by one or more attributes. The attribute type of feature determines how the feature's offer value and customer criterion are represented in the various GUIs and within negotiation protocols, as will be described below. Each one of the attribute types will now be described in detail.
The numeric range attribute type characterizes a feature with a real number range between established minimum and maximum bounds. An offer value for a numeric range attribute is a real number within these bounds. A numeric range criterion type is used to define a criterion for a numeric range attribute type. The numeric range criterion defines a real number range between established lower and upper bounds, each of which falls within its attribute's minimum and maximum bounds. The real numbers defining an attribute's numeric range, an offer value, and a criterion's range are each tagged with a unit of measurement. Note that a proposal from a merchant may have a value outside of the numeric range criterion, which depending on whether it is beneficial to the customer or not, would affect the raw value assessment computations.
The discrete range attribute type characterizes a feature by an ordered list of tokens. An offer value for a discrete range attribute is one of the attribute's list of tokens. A discrete range criterion type is used to define a criterion for a discrete range attribute type. The discrete range criterion defines a sub-range of the attribute's ordered list of tokens between established lower and upper bounds. Discrete set attribute type characterizes a feature with an unordered set of tokens. An offer value for a discrete set attribute is an unordered subset of the attribute's set of tokens. A discrete set criterion type is used to define a criterion for a discrete set attribute type. Like the offer value, discrete set criterion defines an unordered set of tokens that are a subset of the attribute's set of tokens. Note that the tokens may also be ordered.
Referring back to FIG. 3, after obtaining the customer objectives, customer preference data transmitter 310 then transmits the customer objectives to various sales agents 18 associated with various merchants 16.
The protocol for communication between buyer agent 14 and sales agents 18 is based on XML (extensible markup language), a meta-language based on SGML (structured general markup language). XML is chosen as the medium for inter-agent negotiation protocol because it is sufficiently expressive, yet simple to understand. Furthermore, XML is currently gaining support as a potential HTML replacement and the meta-language for the exchange of business-to-business documents. Buyer agents and sales agents can be implemented using XML parser provided by Microsoft Corporation to encode and decode their XML performatives.
Buyer agent 14 initiates the negotiation a process by sending a CRITERIA performative to each sales agent as a request for proposals. The CRITERIA performative includes the shopper's default preferences as defined by the initially selected stereotype as well as meta-data to further define the interaction. The CRITERIA performative is defined as shown in Table 1.
Field Value userid the ID of the shopper or "anonymous" requestid the ID of the request during this shopping domain the product domain being shopped maxproposals the max. # of proposals permitted in response uf the function defining the features' relative weightings feature* zero or more features
Table 1 : The criteria performative
The USERID field in the criteria performative uniquely identifies the shopper to the sales agent. For example, the shopper may have an account with the merchant and the userid would map to this unique account. Alternately, the shopper may shop anonymously. The MAXPROPOSALS field in the criteria performative indicates the maximum number of proposals each sales agent is permitted to send in response. The shopping agent enforces this constraint for purposes of scalability. The UFN field refers to a utility function that defines the relative weightings of the features. For example, a value of "LinearPreferLowerUFN" indicates a linear utility function with a preference towards features that have lower criterion positions. Other utility functions are also available. The features listed in the CRITERIA performative contain each attribute's default criterion and are defined as shown in Table 2.
Field Value name the name of the feature position the position (i.e., vertical orientation) of the feature active 'true' if the feature is active; 'false' otherwise attribute+ one or more attributes with criterion
Table 2: The feature definition for the criteria performative
Each of the three types of attributes and criterion are defined somewhat differently. The criterion for the numeric range, discrete range, and discrete set attributes are defined respectively in Table 3, Table 4, and Table 5.
Field Value name the name of the attribute units the criterion's units of measurement ufn the function defining the criterion's weightings lowerbound the criterion's lower bound (a real number) upperbound the criterion's upper bound (a real number)
Table 3: The numeric range attribute's criterion definition for the criteria perft jrmative
Field Value name the name of the attribute ufn the function defining the criterion's weightings lowerbound the criterion's lower bound (a token) \ 1 upperbound the criterion's upper bound (a token) item+ an ordered list of one or more tokens
Table 4: The discrete range attribute's criterion definition for the criteria performative
Field Value name the name of the attribute ufn the function defining the criterion's weightings additem* an unordered set of zero or more tokens
Table 5: The discrete set attribute's criterion definition for the criteria performative The UFN fields in the criterion definitions refer to a utility function that defines the criterion's weightings of the feature's offer value. The ITEM field in the discrete range criterion definition is the complete ordered list of tokens for the attribute. Finally, the ADDITEM field in the discrete set criterion definition lists the attribute's default preferences. After receiving the CRITERIA performative, product information retrievers 320 at each one of sales agents 18 of the various merchants retrieve data from their respective merchants. One of the difficulties encountered at this stage is that various merchants use different expressions and terminology to describe same or similar features. Hence, to enable a meaningful comparison, sales agents 18 include an ontological transformer 325 that accesses a common and shared ontology stored on a computer readable storage media, and convert the merchant specific terminology and expressions of the features into terms and expressions determined by the common and shared ontology. The ontology will be discussed in further detail.
After converting the product features terminology and expression provided by the corresponding merchant, product offering compiler 330 compiles at least one product offering 335 for the merchant. To compile the product offering, product offering compiler 330 may merely transmit the retrieved information to buyer agent 14. Indeed, as mentioned above, product offering compiler may, in some embodiments, send the data to be stored in a centralized database, which buyer agent 14 can then access. In other embodiments, product offering compiler 330 may actively configure and customize product offerings closely matching the customer objective, as will be described in further detail below. After being formed, Product offering 335 is transmitted to decision support engine 200 (also shown in FIG. 2) of shopping agent manager 106. An initial response is first sent. This initial response has the data structure shown in Table 6.
Field Value merchantid the ID of the merchant requestid the ID of the request being responded to (from criteria) note? a note to the shopper (optional) proposal* zero or more product offerings
Table 6: The response to an initial criteria request includes zero or more proposal performatives
The value of the PROPOSAL field is zero or more product offerings. Following this first response, each product offering is packaged as a Proposal performative as shown in Table 7.
Field Value proposalid the ID of the proposal manufactureri the ID of the manufacturer of the base product d productid the ID of the base product productname the product's name and model imageurl the URL of an image of the product feature* zero or more features
Table 7: The proposal performative
The ID of the proposal is unique for a given merchant. It allows the merchant's sales agent to manage the proposal throughout negotiations. This includes altering one or more of its offer values or withdrawing the proposal so that a new one could take its place. The manufacturer ID and product ID uniquely define a specific base product - for example, a manufacturer ID of "Compaq" and a product ID of "Presariol625." Proposals may have a one-to-one mapping with specific base products. If deemed optimal, a sales agent may send multiple proposals for the same base product (but likely configured in different ways). The features listed in the PROPOSAL performative contain each attribute's offer value and are defined as shown in Table 8. Field Value name the name of the feature attribute-l¬ one or more attributes with offer values
Table 8: The feature definition for the proposal performative The types of attributes in product offerings must exactly match those in the initial criteria request. However, instead of containing criterion, each PROPOSAL performative contains the offer values of its associated product offering as defined in Table 9, Table 10, and Table 1 1.
Field Value name the name of the attribute units the offer value's units of measurement value the offer value (a real number)
Table 9: The numeric range attribute's offer value definition for the PROPOSAL performative
Field Value name the name of the attribute value the offer value (a token)
Table 10: The discrete range attribute's offer value definition for the PROPOSAL performative
Field Value name the name of the attribute additem* an unordered set of zero or more tokens
Table 1 1 : The discrete set attribute's offer value definition for the PROPOSAL performative
Referring also to FIG. 6, decision support engine 200 assesses a value of a product offering receiving from one of the sales agents 18. Note that, although the decision support engine 200 is shown in FIG. 2 as residing in shopping agent manager 108, this is for purposes of example only and decision support engine 200 can reside anywhere in system 1. Decision support engine 200 assists users in making tradeoffs to determine which product offering offered by one or more merchants most closely meets the customer objectives. In one embodiment, the decision support engine utilizes multi-attribute utility theory (MAUT) to provide such assistance to users by formulating the goal of identifying an optimal product proposal from sales agents as a multi-objective decision.
Decision support engine 200 includes a raw value assessor 202 to generate a raw value assessment "v" 210 of a product proposal using features 204 of the product offering and criteria 206 defined by the user. An ideal value assessor 208 generates an ideal value "iv" 212 of the product offering based on the user criteria 206. An absolute value assessor 214 generates an absolute value "av" 216 based on a comparison of the raw value "v" 210 to the ideal value "iv" 212. Decision support engine 200 generates absolute values for a plurality of product offerings, generated by one or more sales agents associated with one or more merchants. Decision support engine may also recommend one or more product proposals to the user based on the absolute values of the product proposals.
Raw value assessor 202 can generate the raw value assessment "v" 210 in many ways. An example formula that may be used is Equation 1 :
∑f,(x.) ι=I
: ∑w, (1) ι=ι
where x* is the normalized utility of attribute i, f-(x,) is the weighted utility of attribute i, n* is the number of attributes in feature j, w* is the relative weighting for feature j, and m is the number of active features. The calculation proceeds as follows: for every j active feature, raw value assessor 202 normalizes each i attribute, resulting in x*, and then weights the normalized attribute using f*(x*). Raw value assessor 202 averages the weighted attribute utilities for each feature resulting in a normalized utility for the feature. Raw value assessor 202 weights each feature j relative to other features using relative weighting w*. The raw value assessor 202 sums the feature utilities, resulting in raw value assessment "v" 210. As described above, absolute value assessor 214 compares raw value "v" 210 to ideal value "iv" 212 to generate absolute value "av" 216. An example formula by which the ideal value assessor 208 generates the ideal value "iv" 212 is Equation 2: m
Figure imgf000022_0001
Equation 2 may be derived from Equation 1 by assigning each weighted attribute utility a value of 1. In one embodiment, ideal value assessor 208 calculates ideal value "iv" 212 by summing the weights w* of each feature defined by user criteria 206.
An example formula by which absolute value assessor 214 generates absolute value "av" 216 by calculating absolute value "av" 216 as a percentage of ideal value "iv" 212 is Equation 3: av = 100j; (3)
Although raw value assessor 202, ideal value assessor 208, and absolute value assessor 214 are described above as generating results according to Equations 1, 2, and 3, components 202, 208, and 216 may evaluate product offerings according to the product offering features 204 and the user criteria 206 in any way. For example, an assessment of the difference between raw value assessment "v" 210 and ideal value assessment "iv" 212 may be performed using any of the similarity measures or difference measures described in T. Kohonen, Content-Addressable Memories, 2nd Ed., Springer-Verlag (1987) at pp. 19-29, incorporated herein by reference,
After calculating a single value for each offering, decision support engine orders the product offerings based on the calculated values, and causes GUI engine 128 to display the results in an appropriate GUI, as shown in FIGs. 7 and 7A. Each product offering is identified in the GUIs with its name 705 and its associated calculated value represented by a number 705 or a value bar 715, or both. Each of these values, and the corresponding value bar, can be linked to another GUI. such as those in FIGs. 8 and 8A, which would show in detail the exact relationship between the features of the product offering and the customer objectives.
The shopping agent associated with shopping client 104 may also select an optimal product offering, such as the product offering having the greatest value, and display a product specification GUI, such as those shown in FIGs. 8 and 8A by the graphical user interface engine 128.
When the product specification display is visible, customer 10 may initiate a purchase of the product offered by the displayed product offering by, for example, selecting a "Buy" button 710 shown in Fig. 7. Alternatively, customer 10 can select multiple product offerings using a graphical user interface, causing multiple product specification displays to be displayed simultaneously for comparison by the user. Buyer agent 14 also allows the user to modify one or more of the user's criteria 206. Modification to a criterion causes the decision support engine 200 to re-assess the absolute values of product offerings offered by merchants and to instruct the graphical user interface engine 128 to update the display, such as by modifying, deleting, and adding the display. In one embodiment, buyer agent 14 allows customer 10 to change the weighting of a criterion relative to the weighting of other criteria. For example, the graphical user interface engine 128 may display a vertical list of criteria, where the order of the list corresponds to the relative importance of the criteria to the user. The user may re-order the list using the graphical user interface 128, thereby changing the relative weighting of the corresponding criteria.
To transmit the changed information, a CRITIQUE performative is sent. CRITIQUE performatives are defined similarly to CRITERIA performatives except that only changes to criterion are sent. All of the other fields are optional. This requires that each sales agent maintain the shopping agent's criteria state. The benefit of this approach (over sending the entire criteria each time) is that the size of CRITIQUE performatives are much smaller than CRITERIA performatives. Table 12 shows an example CRITIQUE performative showing the change in the criteria
Field Value
Userid "debbie"
Requestid 14 feature 1
Name "Delivery Time" attribute 1
Name "Delivery Time"
Lowerbound 1
Upperbound 5
Table 12: An example CRITIQUE performative for the "Delivery Time" feature In response to a CRITIQUE performative, sales agents can either add, update, or remove either of their previously sent proposals. Updating the configuration of a product offering is accomplished by sending a COUNTER-PROPOSAL performative. COUNTERPROPOSAL performatives are like PROPOSAL performatives except that only changes to offer values are sent and that the base product cannot be changed (only its configuration). All of the other fields are optional. This requires that each shopping agent maintain each sales agent's set of proposals and each proposal's state. As with CRITIQUE performatives, the benefit of this approach is that the size of counter-proposal performatives are much smaller than proposal performatives. Table 12 shows an example counter-proposal performative showing a change in offer value for the "Delivery Time" and "Total Price" attributes.
Field Value merchantid "CompUSA" requestid 14 note? "Hello, Debbie!" proposal 1 proposalid 4 feature 1 name "Delivery Time" attribute 1 name "Delivery Time" value 1 feature 2 name "Total Price" attribute 1 name "Total Price" value 1999.00
Table 13: An example counter-proposal performative
Since counter-proposal, however, represents only the changes of a previously assessed product offering, shopping agents 110 take advantage of these previous assessments by maintaining their partial results. Specifically, shopping agents 1 10 remember each product offering's raw value assessment v and weighted utilities f*(x*) of each of its attributes. A counter-proposal updates the normalized utilities x of one or more attributes. For each attribute change, the product offering's value is reassessed as follows:
Figure imgf000026_0001
Compared with the value assessment for proposals, assessing counter-proposals are relatively more efficient.
At any point during negotiations, the shopper may either withdraw from the shopping session or accept a proposal. Buyer agent 14 sends either a WITHDRAW or an ACCEPT performative in response. WITHDRAW performatives are simple messages indicating a withdrawal from the shopping session. ACCEPT performatives are only sent to the sales agent offering the accepted proposal and not broadcast to all sales agents, unlike the other performatives. ACCEPT performatives are also simple messages and lead the shopper to the payment and delivery stage.
Sales agents may also add and replace product offerings. Adding a new product offering is equivalent to sending another PROPOSAL performative. However, sales agents 18 are not permitted to exceed their maximum number of proposals (as defined by the maxproposals field in CRITERIA and CRITIQUE performatives). Therefore, sales agents may also need to send WITHDRAW-PROPOSAL performatives to remain within their allotted number of proposals. A WITHDRAW-PROPOSAL performative contains the proposalid of the proposal to withdraw as shown in Table 14.
Field Value
proposalid the ID of the proposal
Table 14: The withdraw-proposal performative As stated above, in some embodiments, product offerings can be configured to better match the customer objectives. Buyer agent 14 or decision support module 200 can be burdened with assessing the value of product offerings from sales agents. However, if either buying agent 14 or decision supports module 200 are burdened with configuring each product offering to closely meet the needs of customer 10, they can be easily overwhelmed with the computational burden of assessing the value of various product configurations, specially where a product is highly configurable, many merchants offer the products and merchants submit multiple proposals. Hence, sales agents 18 are better positioned to focus on the product offering. In other words, the burden of configuring each product offering is distributed among sales agents 18 to implement a distributed constraint satisfaction system. In particular, each sales agent configures its own product offering and only sends n of these to buyer agent 14 (where n can be dynamically set at run-time). This reduces the customer's consideration set to a reasonable number of only the most closely matching product offerings viewed as a distributed constraint satisfaction system. This distributed, loosely-coupled design makes the system highly scalable.
In one embodiment, sales agents use a customizer that is an extension of the same decision support module used by shopping agents to assess the value of fully configured product offerings. This allows sales agents to accurately determine which of their product offerings closely meet the needs of each shopper. However, merchants have their own needs such as profit margin which also affect customizing product offerings.
First, each sales agent maintains a local list of potential product offerings, one per base product. For example, if a merchant sells ten different notebook computers, then the sales agent would maintain a local list often potential product offerings (PPOs). In general, the customizer allows any numeric range or discrete range attribute to have one or more configurable options. In the notebook computer example, the configurable attributes include delivery time, warranty length, system memory, hard drive size, display size, modem speed, network card, and processor speed. The number of options that each of these attributes have depends upon the product and the merchant. For example, Dell's "Latitude CP" is a base product that can be configured along each of the product attributes above. Compaq's "Presario 1625", however, is an already fully configured base product. However, all merchants tend to support a variety of delivery and extended warranty options. This means that all PPOs are at least minimally configurable. Upon initialization, each sales agent enumerates all of the possible configurations for each PPO.
When a sales agent receives the initial CRITERIA performative from a shopping agent, the sales agent optimizes each PPO. A PPO is optimized by first assessing each of its enumerated configurations based on the shopper's preferences, the merchant's preference for profit, and the product's inventory level. In order to assess a configuration, the options of that configuration must propagate its costs to the total price attribute. For example, an option for overnight delivery will accrue added costs that must be included in the configuration's total price. The customizer also keeps track of each option's actual cost and offer price along with the base product's actual cost (to the merchant) and its offer price. For example, an extra 32 MB of RAM may cost a merchant $50 but the merchant may prefer to charge $ 100 for the service of adding the memory to a base product due to the merchant's extra labor costs and profit needs.
The configuration's profit is equal to the summation of its offer prices minus the summation of its actual costs. This profit is included in the configuration's value assessment as a numeric range attribute whose feature is positioned by the merchant relative to the other features. This approach allows merchants to assign arbitrary importance to their profit needs when simultaneously attempting to satisfy the needs of its customers. A further attribute interaction is that if a product is out of stock (i.e., has a 0 inventory level), then the configuration's delivery time attribute must include when the merchant expects the product to be in stock and its ultimate delivery time.
After all of a PPO's configurations have been assessed, each PPO is set to the configuration with the greatest assessed value. Once all PPOs are optimized in this way, the sales agent identifies the most closely n PPOs (where n is the value of the maxproposals field in the criteria performative), and sends these product offerings as a response to the shopping agent as PROPOSAL performatives. Note that these proposal performatives define all of the product and merchant features of the product offering, not just the configurable options.
After the initial proposals are sent, the sales agent may receive CRITIQUE performatives from the shopping agent. The sales agent updates its local representation of the shopper's preferences and reevaluates its list of PPOs. If a PPO that was sent earlier was reconfigured due to the critique and the PPO is still one of the best n PPOs, then the changes in the product offering's configuration are sent as a COUNTER-PROPOSAL performative to the shopping agent. If a PPO is valued greater than a previously sent product offering, then the sales agent sends a WITHDRAW-PROPOSAL performative to remove the outdated product offering from consideration and, in addition, sends a new PROPOSAL performative defining the product offering that has a greater value than the one it replaced.
More sophisticated configuration algorithms can also be used. In particular, the characteristics of price-dependent customization lends itself to a linear programming solution. Including total price (the complicating constraint) in the objective function of a Lagrangian relaxation algorithm could result in much better performance for even highly configurable products. Also, the customizer could include other types of analysis to assess profit or even dynamically adjust price.
Also as stated above, an ontology is used by sales agents 18. However, note that instead of sales agents 18, other components of online shopping system 1 can access and perform the same tasks as performed by sales agents 18. Hence, decision support module 200 can receive as input a set of product offerings expressed in various manner depending on merchants 16 from which they originated. Decision support engine module 200 can then access the ontology to retrieve the appropriate information before performing its value calculations. Similarly, buyer agent can access an ontology to convert a merchant provided product offering before displaying the product offering in a GUI.
The ontology may be implemented as a database, dictionary, or other data structures. The ontology is a collection of lists of merchant features and product features for various product domains. The ontology may also include description of the features, various synonyms for the features, and other content related to the features. In some embodiments, the data structure particularly enables mapping from one set of expression on to a common and shared ontology. The common ontology can be maintained by human administrators Alternatively, an ontology management mechanism can dynamically maintain the ontology. Product and merchant features within product domains can be proposed by consumers, merchants, and manufacturers. For example, the ontology management mechanism can provide a "Create Feature" and "Edit Feature" options allowing consumers to propose new features not yet known to the system. Along with the name of a new feature a consumer enters text describing the meaning of the feature along with each of the attributes characterizing the feature including which of the three attribute types best represent the attribute. The new feature is then added to the ontology as an inactive feature within each stereotype in the product domain making the feature immediately accessible to all shoppers. Other shoppers can then manually add this new feature to their active list of features and have the features sent as critique performatives along with their other preferences. Of course, merchants may not understand these newly added feature requests initially and can choose to ignore them. However, the merchants can have their sales agents monitor the occurrences of new features and, if many customers find a new feature to be an important dimension of consideration, then sales agents can alert their merchants. Merchants may then be compelled to address their customers' needs. Merchants may also wish introduce their own features to further differentiate themselves in the marketplace. Similarly, manufacturer's would benefit from knowing which product features shoppers clamor for and would likely want to learn about and introduce new product features.
If many shoppers within a stereotype find the new feature useful, the stereotype could evolve to include the new feature in the active list of preferences. At the same time, features that were once important, but are no longer considered while shopping, would get "demoted" to the inactive list. Eventually, particularly unimportant features drop out of a stereotype's definition of the product offering (and perhaps the ontology database) entirely. There would need to be a chronological decay function to help determine when such features get demoted or dropped. Also, a limit may be imposed on the number of new features added by a single consumer. Manufacturer or merchant to prevent abuses of the system.
An "Edit Feature" option allows consumers and merchants to modify description and attributes of an existing feature. Once proposed, the feature could be added as if it were a new feature, i.e., added to the inactive list of features for each stereotype. Features with multiple versions could be tagged as such. A simple user interface element could alert shoppers of new definitions for features which they can opt to use instead of the old definition. Of course, it will still be up to merchants to support them. In many cases, changes may be minor such as adding a new display type to the appropriate discrete set attribute in a notebook computer domain. New attributes would impose similar issues as adding new features (discussed above). Changes in core attribute types, however, can be problematic, and may possibly not be permitted.
Such dynamic, distributed, and evolvable shared ontology mechanism is important for reducing consumer search costs and assisting merchant is distinguishing themselves from other merchants. Basing the evolution on what product and merchant features are important to stereotypical shoppers while they shop may be a viable approach to take as outlined above.
Another alternative approach is to adopt standards from industry associations and other standards bodies. For example, the RosettaNet consortium aims to define the business interfaces for Information Technology (IT) supply chains. The problem with using a single "standards body," however, is that it often takes too long for the partners to make progress and reach a consensus. This is particularly problematic for the potential dizzying pace of electronic commerce. For example, in some embodiments, buyer agent can send all of the customer's preferences to sales agents. Since, this may result in price discrimination, in other embodiments, buyer agent 14 may reveal all of its owner's preferences except the price preferences. Buyer agent 14 can also obtain customer objective using other interactive models.
For example, a common "wizard" type interface can be used to interview customer 10 to obtain the customer's objectives. Buyer agent 14 can display a GUI where in one segment customer 10 is asked a number of questions. For example, in the case of a notebook computer, customer 10 is asked, "Do you need fast access to the Internet?" and "Do you intend to play games on your computer?". Hand-crafted heuristics would then translate the answers to these questions into specific preferences for features. In response to answers by customer 10, buyer agent 14 then displays how those answers map to specific feature preferences, which helps build confidence in the system and helps facilitate transactions. Another technique for obtaining a customer's objective, is to perform a conjoint analysis of product offering alternatives. Hence, customer 10 may simply express a preference of one product over another without explaining why. Buyer agent 14 then extracts or refines specific preferences and utilities based on analyzing the differences in feature sets of those products. This mode of shopping can be implemented by having customer 10 express his or her conjoint preferences through the act of dragging and dropping product offering value bars above or below one another. The vertical orientation of the value bars represents the relative value that each product offering brings to the shopper. Preferences could be saved for future consideration, account information would only need to be entered once, and email alerts could be sent of interesting marketplace events such as the assessed value of a product reaching a shopper-specified threshold. This last suggestion would, of course, require that the shopping agent proactively shop for the shopper even when the shopper is not actively online shopping.
In one embodiment, the decision support engine 200 only evaluates "active" features when generating the raw value assessment "v" 210 and the ideal value assessment "iv" 212. The graphical user interface 128 may display a GUI (as shown in FIG. 5D) to allow the user to change the active status of individual features.
As stated above, in some embodiments, instead of having active negotiating sales agents, passive information sales agents retrieve information from merchants and store them in a database. Such sales agents can be implemented, for example, by advanced spidering technologies. Buyer agent 14 then requests and receives data on product offerings by merchants from the database rather than from sales agents directly. Buyer agent 14 then uses that information in the same manner as it would product offerings from dynamic agents. In other embodiments, the raw assessment value can be calculated straight from the attribute values without calculating features values.
Various methods may be used to operate online shopping system 1. For example, online shopping system 1 may facilitate a purchase by a user of a product offered by a merchant. Shopping server 106 may provide the user, through shopping client 104, with an assessment of a value of the product based on a plurality of features of the product. After facilitating the purchase of the product, shopping server 106 may charge a referral fee for the purchase to the merchant, customer, both, or a third party.
Online shopping system 1 can also facilitate the purchase of the product by providing the user with assessments of values of a plurality of products based on a plurality of features of the plurality of products, the plurality of products including the product offered by the merchant, and by receiving from the user an indication of a select one of the plurality of products. In one embodiment, shopping server 106 communicates to the merchant the indication of the selected product.
The indication can be received from the user through a third party (e.g., a portal web site) that receives the indication directly from the user. In this way, shopping server 106 can provide a private label online shopping facilitation service to the third-party. Similarly, in one embodiment, shopping server 106 provides the user with the assessments through a third party (e.g., a portal web site) that provides the assessments directly to the user. The third party can provide advertisement on its web site and operator s of online shopping system 1 can receive a portion of the advertisement revenue. In addition, the operators of the online shopping system can charge a periodic (such as monthly or annual) subscription fee for providing such on-line shopping service through the website of the third party.
Online shopping system 1 can also facilitate online shopping by charging a setup fee to engage in at least one computer-facilitated online purchase, and by facilitating, in exchange for the setup fee, at least one purchase by at least one user of at least one product offered by at least one merchant by providing the at least one user with an assessment of a value of the at least one product based on a plurality of features of the at least one product. In one embodiment, the setup fee is charged to the at least one merchant. In another embodiment, the setup fee is charged to the at least one user.
A computer system for implementing the system of FIGS. 1-9 A as a computer program typically includes a main unit connected to both an output device which displays information to a user and an input device which receives input from a user. The main unit generally includes a processor connected to a memory system via an interconnection mechanism. The input device and output device also are connected to the processor and memory system via the interconnection mechanism.
One or more output devices may be connected to the computer system. Example output devices include a cathode ray tube (CRT) display, liquid crystal displays (LCD), printers, communication devices such as a modem, and audio output. One or more input devices may be connected to the computer system. Example input devices include a keyboard, keypad, track ball, mouse, pen and tablet, communication device, and data input devices such as sensors. It should be understood the invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein.
The computer system may be a general purpose computer system which is programmable using a computer programming language, such as C++, Java, or other language, such as a scripting language or assembly language. The computer system may also include specially programmed, special purpose hardware. In a general purpose computer system, the processor is typically a commercially available processor, of which the series x86, Celeron, and Pentium processors, available from Intel, and similar devices from AMD and Cyrix, the 680X0 series microprocessors available from Motorola, the PowerPC microprocessor from IBM and the Alpha-series processors from Digital Equipment Corporation, are examples. Many other processors are available. Such a microprocessor executes a program called an operating system, of which Windows NT, Linux, UNIX, DOS, VMS and OS8 are examples, which controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services. The processor and operating system define a computer platform for which application programs in high-level programming languages are written. A memory system typically includes a computer readable and writeable nonvolatile recording medium, of which a magnetic disk, a flash memory and tape are examples. The disk may be removable, known as a floppy disk, or permanent, known as a hard drive. A disk has a number of tracks in which signals are stored, typically in binary form, i.e., a form inteφreted as a sequence of one and zeros. Such signals may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program. Typically, in operation, the processor causes data to be read from the nonvolatile recording medium into an integrated circuit memory element, which is typically a volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM). The integrated circuit memory element allows for faster access to the information by the processor than does the disk. The processor generally manipulates the data within the integrated circuit memory and then copies the data to the disk when processing is completed. A variety of mechanisms are known for managing data movement between the disk and the integrated circuit memory element, and the invention is not limited thereto. It should also be understood that the invention is not limited to a particular memory system.
Various computer platforms, processors, or high-level programming languages can be used for implementation. Additionally, the computer system may be a multiprocessor computer system or may include multiple computers connected over a computer network. Each module (e.g. 12, 106, and 1 12) in FIG. 1 may be separate modules of a computer program, or may be separate computer programs. Such modules may be operable on separate computers. Data (e.g. 204, 206, 210, 212, 216) may be stored in a memory system or transmitted between computer systems. The invention is not limited to any particular implementation using software or hardware or firmware, or any combination thereof. The various elements of the system, either individually or in combination, may be implemented as a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Various steps of the process may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions by operating on input and generating output. Computer programming languages suitable for implementing such a system include procedural programming languages, object-oriented programming languages, and combinations of the two. Having now described a few embodiments, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention.
What is claimed is:

Claims

1. A computer-implemented method for facilitating online shopping, comprising steps of:
(A) facilitating a purchase by a user of a product offered by a merchant by providing the user with an assessment of a value of the product based on a plurality of features of the product; and
(B) charging a referral fee for the purchase.
2. The method of claim 1, wherein the step (B) comprises a step of: (B)(1) charging a referral fee to the merchant.
3. The method of claim 1, wherein the step (B) comprises a step of:
(B)(1) charging a referral fee to the user.
4. The method of claim 1 , wherein the step (A) comprises steps of :
(A)(1) providing the user with assessments of values of a plurality of products based on a plurality of features of the plurality of products, the plurality of products including the product offered by the merchant; and
(A)(2) receiving from the user an indication of a select one of the plurality of products.
5. The method of claim 4, wherein the step (A)(2) comprises a step of:
(A)(2)(a) receiving the indication from the user through a third party that receives the indication directly from the user. .
6. The method of claim 4, wherein the step (A)(1) comprises a step of:
(A)(1)(a) providing the user with the assessments through a third party that provides the assessments directly to the user.
7. The method of claim 1 , wherein the step (A) further comprises a step of:
(A)(3) communicating to the merchant the indication of the selected product.
8. The method of claim 1 , wherein the product comprises a good.
9. The method of claim 1, wherein the product comprises a service.
10. A method for facilitating online shopping, comprising steps of:
(A) charging a setup fee to engage in at least one computer-facilitated online purchase; and
(B) facilitating, in exchange for the setup fee, at least one purchase by at least one user of at least one product offered by at least one merchant by providing the at least one user with an assessment of a value of the at least one product based on a plurality of features of the at least one product.
1 1. The method of claim 10, wherein the step (A) comprises a step of:
(A)(1) charging the setup fee to the at least one merchant.
12. The method of claim 10, wherein the step (A) comprises a step of:
(A)(1) charging the setup fee to the at least one user.
PCT/US2000/003248 1999-02-08 2000-02-08 Computer system and computer-implemented method for electronic commerce WO2000045628A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU32256/00A AU3225600A (en) 1999-02-08 2000-02-08 Computer system and computer-implemented method for electronic commerce

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11918399P 1999-02-08 1999-02-08
US60/119,183 1999-02-08

Publications (2)

Publication Number Publication Date
WO2000045628A2 true WO2000045628A2 (en) 2000-08-10
WO2000045628A9 WO2000045628A9 (en) 2001-10-04

Family

ID=22382987

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/003248 WO2000045628A2 (en) 1999-02-08 2000-02-08 Computer system and computer-implemented method for electronic commerce

Country Status (2)

Country Link
AU (1) AU3225600A (en)
WO (1) WO2000045628A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077816A1 (en) * 2001-03-21 2002-10-03 Bot, Inc. Intelligent software agent system architecture
GB2376768A (en) * 2001-06-22 2002-12-24 Hewlett Packard Co Tools and data structures for negotiations
EP1330716A1 (en) * 2000-09-25 2003-07-30 Sabre Inc. Availability based value creation method and system
EP1536353A1 (en) * 2003-11-27 2005-06-01 Michael R. Schneider Method and device for operating an online shop with customized price generation
US7356484B2 (en) 2000-10-03 2008-04-08 Agile Software Corporation Self-learning method and apparatus for rating service providers and predicting future performance
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1330716A1 (en) * 2000-09-25 2003-07-30 Sabre Inc. Availability based value creation method and system
EP1330716A4 (en) * 2000-09-25 2006-11-02 Sabre Inc Availability based value creation method and system
US7356484B2 (en) 2000-10-03 2008-04-08 Agile Software Corporation Self-learning method and apparatus for rating service providers and predicting future performance
WO2002077816A1 (en) * 2001-03-21 2002-10-03 Bot, Inc. Intelligent software agent system architecture
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
GB2376768A (en) * 2001-06-22 2002-12-24 Hewlett Packard Co Tools and data structures for negotiations
EP1536353A1 (en) * 2003-11-27 2005-06-01 Michael R. Schneider Method and device for operating an online shop with customized price generation

Also Published As

Publication number Publication date
WO2000045628A9 (en) 2001-10-04
AU3225600A (en) 2000-08-25

Similar Documents

Publication Publication Date Title
US9576296B2 (en) Automated system for adapting market data and evaluating performance in transactions
US7912761B2 (en) Initial product offering system and method
US7739148B2 (en) Reporting metrics for online marketplace sales channels
US20010005833A1 (en) Product distribution system and method for providing information to customer in context of such system
JP2002041842A (en) Electronic mediation service and price determination for selling/buying article
US20020002501A1 (en) System and method for an independent retailer business-to-business market exchange
KR20190073039A (en) Shopping mall integrated management method and system
WO2013027430A1 (en) Cloud marketplace system
KR20200096182A (en) Methods for Fishing Goods Recommendation Based on Big Data
US20160034939A1 (en) Method and apparatus for providing internet based marketing channels
JP2002099780A (en) Method for selling or buying commodity by using network
TWI239453B (en) Network-based virtual commodity exchange
KR102249527B1 (en) Online shopping mall integrated payment platform
WO2000021006A1 (en) Computer system and computer-implemented method for electronic commerce
US20050021402A1 (en) Method and apparatus for providing internet based marketing channels
WO2000045628A2 (en) Computer system and computer-implemented method for electronic commerce
US20050177468A1 (en) Request for quote system and method
US20170103409A1 (en) System and method for managing and presenting supply-chain data
WO2021240819A1 (en) Estimate presentation device, estimate presentation program, and recording medium
KR101096405B1 (en) A method and a system for intermediating among electronic commercial entities
KR20220125443A (en) Online shopping mall brokerage system including marketing database
KR100707724B1 (en) A method and a system for intermediating among electronic commercial entities
TWI804270B (en) Automated commodity/service offering system and method
JP2003076887A (en) Used item transaction system, used item transaction support device and used item transaction method
JP4117758B2 (en) Sales device, sales system, and computer-readable recording medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: DECLARATION UNDER ARTICLE 17(2)(A) ADDED (2 PAGES); PAGES 1/15-15/15, DRAWINGS, REPLACED BY NEW PAGES 1/14-14/14; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase