Electronic Commerce
The present invention relates to an electronic commerce (ecommerce) system, and in particular to the operation of an autonomous pricing agent within such a system.
The term "electronic commerce" as used in this document encompasses all trading systems mediated by information and communication technologies and includes, for example, systems where the network infrastructure is optical rather than electronic. With the growing number of goods and services available over the internet, customers are increasingly making use of "shopbots" that is, automated software agents that automatically gather and collate information from multiple on-line vendors about the price and quality of consumer goods and services. At present, shopbots commonly simply return information to the customer and allow the customer to make the final purchase decision. In the future however it is expected that customers may delegate to the shopbots authority to make a purchase provided certain constraints are satisfied.
Examples of current shopbots include MySimon.com and DealTime UK ™ .
The widespread sue of shopbots is expected to have a significant impact on the economics of ecommerce. In particular, it may increase the price-sensitivity of customers. In order to maximise profit in a market where shopbots are widely used, it is expected that merchants will need to use "pricebots" that is automated agents that set a price dynamically for the goods or services offered by the merchant. The paper "Shopbots and Pricebots" Amy R Greenwald and Jeffrey O Kephart, IBM Institute for Advanced Commerce, describes a number of alternative pricebot algorithms and models a market in which prices are determined by interaction between pricebots and shopbots.
According to a first aspect of the present invention, there is provided a method of operating an electronic commerce system including: a) generating with a pricing agent a price for a traded item and b) communicating the said price from the pricing agent to the customer.
characterised by transmitting the pricing agent to a customer terminal and that in step (a) the price is calculated by the pricing agent using data available locally at the customer terminal.
Hitherto, pricebots have been designs to function on the systems of the vendors, generating prices in response to shopbots that query the vendor server. The present invention however improves the performance and profitability of the system for the vendor by downloading the pricebot from the vendor to the customer terminal. This enhances the dynamics of the price-setting operation, since the pricebot is then able to respond near-instantaneously to the local data on the basis of which the customer will make a purchase decision, without the response being delayed by the round-trip time associated with communicating signals between the customer and the vendor server.
The term "traded item" is used broadly to denote any goods or services which are the subject of electronic commerce. The traded item might be, for example, a physical item such as a book, non-physical content such as a piece of software, or a service, such as the provision of network connectivity with a specified level of service.
Preferably the method includes communicating data between a vendor server and the customer terminal via a connectionless packet network. The present invention is particularly advantageous in the context of a packet network such as the Internet, where response times for round-trip communication may be long and unpredictable particularly when the network is heavily loaded.
Preferably the said data available locally at the customer terminal includes prices offered to the customer by other vendors for the said traded item. An important class of data available at the customer terminal is the price offers made by competitor vendors. This feature of the invention enables the pricing agent to respond rapidly to competing offers, and where appropriate to out bid them.
Preferably the price communicated from the pricing agent is conditional on subsequent confirmation by a vendor server remote from the customer terminal. The pricing agent might be programmed with relatively conservative limits that define the range of prices that may be offered to a customer. In this case, the agent may have authority to enter into a binding agreement with the customer.
However, it is found to be advantageous to have the pricing agent offer a price that
is conditional on subsequent confirmation by the vendor. It is then possible for the agent to be allowed greater freedom in the setting of the price, while maintaining an acceptable degree of security from the point of view of the vendor.
The inventor also encompasses electronic commerce systems suitable for use with the method of the first aspect, and vendor servers and customer terminals for use in such a system.
The invention will now be described in further detail, by way of example only, with reference to the accompanying drawings in which:
Figure 1 is a schematic showing a network embodying the present invention; Figure 2 is a diagram showing the architecture of a pricing agent for use with the network of Figure 1 ;
Figure 3 shows a network used in a second embodiment of the invention
An electronic commerce system includes a customer terminal 1 connected via a communications network 2, in this example the public Internet, to a number of merchant servers M3, M2, M3. The customer terminal 1 in this example is a personal computer, but it will be understood that a wide range of different terminals, including intelligent mobile phones and Internet connected digital televisions may be used.
Three merchant servers M 1 , M2, M3 are connected to the network 2. In this example, the merchant servers are operated by retailers selling, for example, books and CDs. Two of the merchant servers, those referenced M 1 , M2, are conventional in implementation. They include respective pricing agents or
"pricebots" PB1 , PB2. In use a price query agent or "shopbot" is communicated from the user, or equivalently from a website carrying out a price query on behalf of the user, to the merchants servers M 1 , M2. In response to a query from the shopbot, the respective pricebot in each of the merchant servers M 1 , M2 calculates an offer price for a specified item and returns this to the shopbot. The price is calculated in accordance with a strategy selected by the merchant and is determined by parameters including details of prices offered by competitors for the same item. The third merchant server M3 is implemented in accordance with the present invention. In response to a query from the customer terminal 1 , it communicates to the customer terminal via the network 2 a pricebot which subsequently reside locally at the customer terminal. In response to a query from the customer, or from a
shopbot operating on behalf of the customer, the pricebot PB3 determines a price for a specified item, and communicates the price to the customer's client application CA. If the customer chooses to buy the item from merchant M3 at the offered price, then this price is returned by the pricebot to the merchant server for confirmation. The process of confirmation operates transparently to the user so that the user is only aware of it in the minority of cases where the merchant server is unwilling to complete the transaction at the price offered on its behalf by the pricebot.
Figure 2 shows schematically the pricing algorithm PA used by the pricebot PB3. This determines the price to be offered from a number of input parameters, including the prices Pi , P2 offered by the competitor vendors for the same item. A further parameter PM is a predetermined minimum price for the item. A further parameter is the customer rating CR which is a measure of the value of the customer to the vendor. The predetermined parameters PM and CR are encrypted within the data structure of the pricebot in such a way that they are not visible to the customer. Taking these various parameters, the PA then calculates an offer price which is displayed to the customer. A simple example of a pricing algorithm is as follows:
IF min (Pl, P2) >Pm + £.5 OR min (PI, P2) <Pm + £.5 AND CR=GOLD THEN offer min (PI, P2) - £.5 ELSE offer Pm
This algorithm undercuts the competitor prices by 50p, provided that the undercut price is greater then the predetermined minimum price. If undercutting the price would result in an offer price less then the minimum, then the pricebot offers the predetermined minimum price, except in the case of customers having a "gold" customer rating. These may be, for example, customers who have a history of repeat high-value purchases with the vendor. For these customers, the pricebot is authorised to override the minimum price threshold and to undercut the competitor prices nonetheless. While a simple pricing alogrithm has been described for ease of illustration, in practice more complex algorithms may be used in order to maximise the profitability of the merchant. These more complex algorithms may, for example, adopt strategies for modifying the amount by which the competitor prices are undercut rather than using a fixed value, such as the 50p used in the above example. Examples of a
range of price setting strategies are described in the paper by Amy R Greenwald and Jeffrey 0 Kephart "Shopbots and Pricebots" proceedings of IJCAI '99, July 31 to August 6, 1 999, Stockholm, Sweden. The possible strategies include game-theoretic (GT), myoptimal (MY), derivative following (DF) and no-regret learning (NR) . In operation, the customer interface to the shopbot and pricebot may conveniently be a web browser such as Netscape Communicator, or Microsoft Internet Explorer. In this case, the PA is implemented as Java code that is downloaded to the customer terminal when the customer's shopbot first contacts the merchant server MS3. The shopbot displays on a web page on the customer terminal the prices offered by the different vendors. The customer then selects one of the vendors, typically that offering the lowest price, and confirms the purchase order. In the case of an order to the merchant M3, the merchant server then compares the price contained in the order with price criteria to determine whether the transaction should be confirmed. These price criteria may simply comprise fixed parameters such as the minimum loss acceptable on transactions with customers having different customer ratings. Alternatively, there may be a further server-side pricebot operating on the merchant server that dynamically generates threshold values for acceptable price offers. Such an arrangement combines the speed of response of a customer-side pricebot with the possibility of using the wide range of data potentially available at the server-side.
In a second example illustrated in Figure 3, the traded items are not specific goods as in the first example, but are network services provided by competing network operators in a federated data communications network. This may be the same data communications network that is used for communication between the customer and the merchants and may be the public Internet. In this case, the network operators offer competing tariffs for network use. In the case of a network operator implementing the present invention, the tariff setting algorithm is downloaded to the customer terminal. The tariff may be arranged to vary in response to locally detected network loading, as described and claimed in the present applicants co-pending international application? (A25792con) . In addition to responding to network loading, the tariff is now arranged to vary also in response to the competing offers from other network operators. As in the first example, the pricebot may simply undercut the competitor tariffs by a predetermined margin but
preferably uses more advanced strategies to undercut the competitors while maximising the profitability of the network operator.
In the system of Figure 3, a communications network 31 includes a number of network sub-domains 32A-C. The network sub-domains may be under the control of different operators who may not trust each other. The network subdomains are interconnected by gateway routers 33, 34. In the present example the communications network is the Internet and supports both unicast and multicast Internet Protocol (IP) and associated protocols. A customer terminal 35 is connected via a public switched telephony network (PSTN) 36 and an access router 37 to a subdomain 32A. A single blocking test is applied to traffic at this point of access. The gateway routers 33,34, and access router 37 may be commercially available devices such as CISCO series 7500 routers and CISCO series AS5800 universal access server respectively. Other customer terminals are connected to the network, including a Java-enabled mobile terminal 38 and data servers 391 , 392. The customer terminal 35 may be connected via a LAN to an accounting server. The accounting server may include an accounting object that receives measurement data from the customer terminal.
In addition to the local tariff variation mechanism that is described below, the network also uses network-based control of a number of tariff bands. A network management platform 31 0 is connected to each subdomain. Each network management platform may comprise, for example, a computing system comprising a SPARC workstation running UNIX (Solaris) together with network management applications. The network management platform 310 hosts management entities and tariff entities. The network management platform communicates with agents 1 00 in managed devices connected to the respective subdomain, for example using SNMP (simple network management protocol) . The management platforms monitors the overall loading of network resources in the respective subdomains, and, as will be further described below, adjust the tariffs for network use accordingly. The Net management platform (NMP) instructs the agent to monitor the device and report aggregated results at regular intervals back to the NMP, so the NMP can monitor the combination of all reports.
Tariff data is communicated to peer tariff entities in other subdomains and also to the customer terminals. The tariff data is multicast using, for example
Distance Vector Multicast Routing Protocol (DVMRP) or Protocol Independent Multicast (PIM) dense mode. The tariff data channels are announced and monitored using protocols based on SDP (Session Description Protocol), SAP (Session Announcement Protocol) Charging is carried out on a "pay and display" model. Each customer terminal monitors its own network usage, for example by counting the number of packets it sends or receives across the network interface and the quantity of data (in bytes) in those packets. It calculates, using a tariff received via the network, the payment due to the network operator, and makes a corresponding payment into an account at the network operator. The network operator polices the use made by customers of the terminal by intermittently sampling traffic to or from a particular customer and comparing the use made and the use paid for.
The tariffs supplied to the customer terminals are divided into bands of different volatilities. The tariffs are varied under the control of the network operators to reflect the overall loading of the network. That is to say, if network loading becomes high, then the tariffs may be increased to reflect the scarcity of network resources.
A service provider may offer different products defined by different service level agreements, and/or by different price volatilities. For example product A might offer best-effort service at a fixed price while another product B might offer best- effort service at a variable price. A service provider may adjust product prices on the basis of the following parameters: the price the service provider pays to its wholesale provider: competitors' prices; current resource utilisation; relevant demand for different products. In response to changes in these parameters, tariff adjustments may be effected in one of three ways. Firstly, a tariff may adjust prices on the basis of local observations of network loading, without necessitating explicit communication from the provider. This approach, which is described in further detail below, needs to be built into the tariff at the outset, and is limited to those price variations which are dependent exclusively on local observations. Secondly, the provider may tune a tariff by adjusting some of its parameters. This kind of adjustment is required when the decision is dependent on parameters which cannot be observed directly by the customer, e.g., variation in the wholesale price of network resources. Thirdly, the provider may completely replace a tariff. This is required when the existing tariff cannot accommodate the changes that are required.
In a system embodying the invention, one of the network management platforms 31 0 communicates to the customer terminal 35 a pricing agent. By contrast with the previously proposed system in which price for network services varies in a predetermined manner as a function of the network loading, the tariff in this case is varied autonomously by the pricing agent in response to data including the tariffs offered by competing operators.