Shoppers increasingly make purchases over the Internet. Sellers use servers to make goods and services available for sale over the Internet.
In order to prepare a response to an offer received from buyer 10, negotiating system 21 consults with a seller's utility function 22 and with offer history 23. Offer history 23 includes an offer history for buyer 10 and can additionally include an offer history for previous negotiations with the same or other buyers and even potential buyers who were part of negotiations that did not end up in a purchase.
The seller's region of acceptable terms is defined by a utility function 22 that indicates, for a plurality of factors, combinations of terms that would be acceptable to a seller represented by negotiation system 21.
For example, consider a seller utility function 22 based on the consideration of only two terms: price and quantity. For quantities of one, two or three, the seller is willing to sell a product for a minimum price of ten dollars. The product is, for example, a good or a service. For a quantity of four products, the seller is willing to sell each product for a minimum price of nine dollars. For a quantity of five products, the seller is willing to sell each product for a minimum price of eight dollars. For a quantity of six products, the seller is willing to sell each product for a minimum price of seven dollars. For quantities of seven or more, the seller is willing to sell each product for a minimum price of six dollars. The region of acceptable terms defined by the above-described utility function is illustrated by
During the course of the negotiation, frequency estimator 26 detects the difference between term values for consecutive offers from a buyer. That is, offers differ based on the values of the terms for each offer. For example, between offer 41 and offer 42 there is a difference in each of the terms. Offer 41 was for eleven products and offer 42 was for ten products; therefore, between offer 41 and offer 42 there is a difference of one (1) in the product. Offer 41 was for $3 per product and offer 42 was for $4 per product; therefore, between offer 41 and offer 42 there is a difference of minus one (−1) in the price term. The difference in the offers can thus be represented by (1,−1) indicating a difference of one in the product term and a difference of minus one in the price term. Offer 45 and offer 46 have difference of (−1,0) indicating a difference of minus one in the product term and no difference in the price term. Frequency estimator 26 measures the difference in values of terms between offers to determine the frequency of steps for the terms. After all differences are computed, their frequencies of occurrence are estimated. For example, consider a repository of 100 buyers and 10 rounds per buyer. We have 100×10=1000 differences between the consecutive offers. Assume the difference (−1,1) occurred 20 times. So, the step frequency of (−1,1) is 20/1000=0.05.
Path partitioner 27 uses the step frequencies discovered by frequency estimator 26 to determine at which offers, the terms indicate changes (if any) occurred in the buyer's strategy. This identifies purchase strategies of the buyer. In
One method to partition the sequence of offers into segments—called strategies or offer paths—is based on step entropies. What is meant by step entropy is the negative logarithm of the step frequency, as the step frequency is calculated above. The information-theoretic entropy of each step is computed based on the frequency of the step. Then, the entire sequence is partitioned into one or more segments (also called offer paths or strategies) to minimize the entropy cost of the entire sequence. The entropy cost of a segment is the sum of the entropies of the steps within the offer path that form the segment. The entropy cost of the entire sequence of offers is the sum of two costs. The first cost is a sum of the entropies for all the segments. The second cost monotonically increases with the number of segments. For example, the second cost is equal to the number of segments. Alternatively, any function that monotonically increases with the number of segments can be used.
Once the individual strategies (i.e., paths) are detected, distance estimator 24 estimates the distance from each strategy to the seller's acceptable region of offers. This can be done by, for example, by estimating the most likely future trajectory of the buyer given each path, where the likelihood of a trajectory can be estimated based on the step frequencies. The location of a buyer frontier defining an estimated buyer's region of acceptable terms 57 is shown in
For example, distance can be quantified by computing a value for likelihood of possible future trajectories based on step frequencies, and then assigning a value for distance that is equal to a ratio of one over the value for likelihood of possible future trajectories.
Once the individual strategies are detected, distance estimator 24 estimates the location of a buyer frontier defining an estimated buyer's region of acceptable terms 57, shown in
In
Given the offer history and the seller region of acceptable terms represented in
Once a response is received, in a block 63, negotiation system 21 checks whether the offer has been accepted. If not, in a block 64, negotiation system 21 checks whether a counter-offer given by the buyer contains values for terms within the seller region of acceptable terms.
If in block 64 the counter-offer does not contain values for terms within the seller region of acceptable terms, in a block 65 negotiation system 21 utilizes change detector 25 and distance estimator 24 to prepare a new offer. Particularly, change detector 25 and distance estimator 24 are used, as described above, to estimate a buyer region of acceptable terms. Negotiation system 21 then can determine offer terms that are within a threshold distance—for example, they are at a minimum distance—between the seller region of acceptable terms and the estimated seller region of acceptable terms. The threshold distance can encompass offer terms where the seller region of acceptable terms and the estimated seller region of acceptable terms overlap. The new offer contains values for terms within the seller region of acceptable terms that are within a threshold distance from the estimated seller region of acceptable terms. After making the new offer, negotiation system 21 returns to block 62 to way for a response.
When in block 63 negotiation system 21 recognizes that the latest offer has been accepted, in a block 67 the negotiation is completed.
When in block 64 negotiation system 21 recognizes that counter-offer contains a combination of values for terms that is within the seller region of acceptable terms, in a block 66 negotiation system 21 accepts the counter-offer and in block 67 the negotiation is completed.
In the examples given above, the automated negotiation is performed on behalf of a seller where the seller's utility function is known and a buyer's utility function is estimated based on the buyer's offer history and in some cases others buyer's offer history. The automated negotiation also can be performed on behalf of a buyer where the buyer's utility function is known, and a seller's utility function is estimated based on the seller's offer history. In this case, a new offer will contain values for terms within the buyer's region of acceptable terms defined by the buyer's utility function within a threshold distance from an estimated seller's region of acceptable terms.
Additionally, in the examples above, the automated negotiation was illustrated in the negotiation of an agreement to purchase a product, such as a good or service. However, the automated negotiation can be performed in any type of agreement where a first party and a second party are negotiating terms.
Also, in the examples above, automated negotiation was illustrated using utility functions based on consideration of two terms. However, the automated negotiation can also use utility functions based on consideration of one, three, four or more terms.
The methods, techniques, systems, and apparatuses described herein may be implemented in digital electronic circuitry or computer hardware, for example, by executing instructions stored in computer-readable storage media.
Apparatuses implementing these techniques may include appropriate input and output devices, a computer processor, and/or a tangible computer-readable storage medium storing instructions for execution by a processor.
A process implementing techniques disclosed herein may be performed by a processor executing instructions stored on a tangible computer-readable storage medium for performing desired functions by operating on input data and generating appropriate output. Suitable processors include, by way of example, both general and special purpose microprocessors. Suitable computer-readable storage devices for storing executable instructions include all forms of non-volatile memory, including, by way of example, semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as fixed, floppy, and removable disks; other magnetic media including tape; and optical media such as Compact Discs (CDs) or Digital Video Disks (DVDs). Any of the foregoing may be supplemented by, or incorporated in, specially designed application-specific integrated circuits (ASICs).
Although the operations of the disclosed techniques may be described herein as being performed in a certain order, in some implementations, individual operations may be rearranged in a different order and/or eliminated and the desired results still may be achieved. Similarly, components in the disclosed systems may be combined in a different manner and/or replaced or supplemented by other components and the desired results still may be achieved.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US10/52089 | 10/8/2010 | WO | 00 | 4/2/2013 |