AUTOMATED NEGOTIATION METHOD AND COMPUTER PROGRAM PRODUCT FOR IMPLEMENTING SUCH METHOD
20210383444 · 2021-12-09
Inventors
Cpc classification
G06Q30/0605
PHYSICS
G06Q30/0641
PHYSICS
International classification
Abstract
A computer-implemented method comprising:
presenting on a web site an offer for an object;
receiving on said web site a first proposal from a potential buyer for said object with a first price;
retrieving in said application server buyer parameters corresponding to said potential buyer;
retrieving in said application server buyer-independent parameters including parameters of the object, parameters and price of other objects, and data from external sources;
determining in said application server a second offer for said object, said second price being determined with an artificial intelligence engine based on said psychological price and on said buyer parameters and on said buyer independent parameters;
proposing said second offer to said buyer;
receiving from said buyer a second proposal with a third price;
determining in said application server a third offer for said object, wherein said third offer includes a fourth price for a modified object.
Claims
1. A computer-implemented method for the automatic negotiation of the price of an object proposed on an on-line web site by a seller to a potential buyer, comprising: providing an online sale server controlled by said seller, said online sale server comprising a database of objects for sale, each object being associated in said database with object parameters, said online sale server being programmed for presenting on the Internet a web site with a list of said objects for sale; providing to a plurality of sellers an application server distinct from said online sale server and programmed or trained for determining a buyer independent psychological price for an object, said psychological price being dependent on the sale price of said object during previous transactions, said application server including a buyer parameters database, said buyer parameters depending on buyers profiles and buyers history of negotiations and/or transactions with a plurality of said sellers presenting on said web site a first offer for said object; receiving on said web site a first proposal from the potential buyer for said object with a first price; transmitting said first proposal to said application server; retrieving in said application server buyer parameters corresponding to said potential buyer; retrieving in said application server buyer-independent parameters including parameters of the object, parameters and price of other objects, and data from external sources; determining in said application server a second offer for said object, wherein said second offer includes a second price higher than said first price, said second price being determined with an artificial intelligence engine based on said psychological price, on said buyer parameters including said buyer history of negotiations and/or transactions and on said buyer independent parameters; proposing said second offer to said buyer; receiving from said buyer a second proposal with a third price; transmitting said second proposal to said application server; determining in said application server a third offer for said object, wherein said third offer includes a fourth price for said object or for a modified object.
2. The method of claim 1, wherein said modified object being either an object different from said object, or said object with an additional object.
3. The method of claim 2, comprising a step of determining the price and/or the cost of said modified object.
4. The method of claim 1, wherein a second artificial intelligence engine trained with prices and parameters of other objects is used for determining said psychological price of said object depending on parameters of said object.
5. The method of claim 1, wherein said buyer dependant parameters include cookies stored in a buyer equipment.
6. The method of claim 1, comprising a step of classifying said potential buyer according to the type of negotiator he is, and determining said second and said third offer depending on said type of negotiator.
7. The method of claim 1, wherein the selection of said modified object is buyer-dependant.
8. The method of claim 1, wherein said buyer-independent parameters include parameters retrieved from external servers such as weather forecasts or agendas.
9. The method of claim 1, wherein said buyer-independent parameters include seller's dependent parameters, such as seller's profile, preferences of the specific seller and/or history of negotiations of the specific seller.
10. The method of claim 1, wherein each object is associated in said database with a floor price, and wherein the first offer presented on said web site is presented with a public price higher than said floor price and higher than said psychological price, and wherein the second price at which the object is offered for sale is lower than said public price.
11. The method of claim 1, wherein no public price is displayed initially with the first offer, and wherein the potential buyer is invited to propose his own price that the application server can either accept or refuse.
12. The method of claim 1, wherein the maximal number of iterations is limited to N iterations.
13. The method of claim 1, wherein the maximal number of iterations N can be determined independently by each seller.
14. The method of claim 1, comprising a step of executing a plug-in in said online sale server in order to communicate with said application server and to present said second and said third offer.
15. A computer program product including a program arranged for causing an application server to perform a method comprising the steps of: determining a buyer independent psychological price for an object, said psychological price being dependent on the sale price of said object during previous transactions, storing a buyer parameters database, said buyer parameters depending on buyers profiles and buyers history of negotiations and/or transactions with a plurality of said sellers receiving a first proposal from a potential buyer for an object with a first price; retrieving buyer parameters corresponding to said potential buyer; retrieving buyer-independent parameters including parameters of the object, parameters and price of other objects, and data from external sources; determining a second offer for said object, wherein said second offer includes a second price higher than said first price, said second price being determined with an artificial intelligence engine based on said psychological price and on said buyer parameters including said buyer history of negotiations and/or transactions and on said buyer independent parameters; proposing said second offer; receiving a second proposal with a third price; determining a third offer for said object, wherein said third offer includes a fourth price for said object or for a modified object.
16. The computer program product of claim 15, further comprising a program code section arranged for causing said application server to communicate with plug-ins on seller web sites for displaying said prices and receiving said proposals.
Description
SHORT DESCRIPTION OF THE DRAWINGS
[0062] Exemplar embodiments of the disclosure are provided in the description and illustrated by the drawings in which:
[0063]
[0064]
[0065]
[0066]
[0067]
DETAILED DESCRIPTION
[0068]
[0069] The memory 103 includes an operating system 1030, such as Windows, IOS, Android, Unix, etc. A browser 1031 can be executed on the operating system for navigating the Internet and accessing the web site of a seller. Alternatively, or an addition, a dedicated app can be stored in memory 103 and executed by the processor for accessing to the offer of the seller. The browser and/or app 1031 can store buyer dependent parameters, such as a buyer profile with preferences, history of negotiations, history of navigation, etc. Some of the parameters of the buyer profile may be stored as cookies 1032 of the browser.
[0070]
[0071] The server 20 might include a user interface 200 comprising for example a display, loudspeaker, microphone, keyboard, etc. I/O components 202, such as for example a WIFI, Ethernet or cellular interface can connect the server 20 to an external network such as a LAN or the Internet. The server is controlled by at least one processor 201 accessing a memory 203.
[0072] The memory 203 includes an operating system 2030, such as Windows, Unix, etc. A web site 2031 might be hosted in the memory 203 or built with a software in that memory and presented on the Internet to potential buyers. The web site 2031 might use one or a plurality of plug-ins 20310 for accessing an application server 30 (
[0073] The web site 2031 may be based on a content management system (CMS) 2032 such as WordPress, Joomla, Drupal, etc. The content presented on the web site depends on a list 2033 of objects for sale, including object parameters/features, image, description, floor price, and/or initial price, etc) and on a list 2034 of buyer parameters including for example buyers' s profiles with preferences, address, history of commands, etc. The list 2034 only includes parameters of buyers having interacted with the web site 2030. Possibly, the content presented on the web site also depends on a list 2035 in a seller database with specific seller parameters including for example seller' s profiles with preferences, address, history of commands, etc.
[0074] The memory 203 might also include seller parameters, including for example the number of available rooms of any time at different dates.
[0075]
[0076] The application server 30 might include I/O components 302, such as for example a WIFI, Ethernet or cellular interface can connect the server 30 to an external network such as a LAN or the Internet. The server is controlled by at least one processor 301 accessing a memory 303. At least one artificial intelligence (AI) engine 304 is included or accessible by the application server 30. The AI engine might comprise a hardware and/or software module. It might be based on any type of self-learning system, such as for example a neural network, etc.
[0077] The memory 303 includes an operating system 3030, such as Windows, Unix, etc. One or a plurality of software programs in memory 303 might be executed by the processor 301. In one embodiment, a plurality of software agents 3031 in memory 303 might be executed concurrently, whereas each agent handles one negotiation with a specific potential buyer. Each agent can execute a plurality of software modules, such as a psychological price determination module 3032, a next offer determination module 3033, etc. The agents 3031 can access the AI engine 304.
[0078] The agents 3031 can further access a database of objects 305 with parameters of objects sold or offered for sale by a plurality of different sellers, and a database of buyers 306 with profiles of buyers having accessed a plurality of web sites from different sellers. The buyers in database 306 might be anonymized
[0079] The agents 3031 can further access a database of sellers 307 with a history of transactions with each seller. The sellers in database 307 might be anonymized.
[0080]
[0081]
[0082] A public price for the object may be displayed in a field 62. The field 63 might be used by the potential buyer for entering a proposal, for example a lower proposed price for this object.
[0083] In another embodiment, no public price is displayed initially in field 62, and the potential buyer is invited to propose his price in field 63 without knowing the expectations from the seller.
[0084] We will now describe an example of a method that can be carried out with the system of
[0085] A seller 2 wishing to sell one or a plurality of objects, such as physical products (such as for example new cars, second-hand cars, luxury products such as jewelry, watches or other goods), services including hotel rooms nights, flight tickets, rental cars, etc. first needs to set up an online sale server 20 as illustrated on
[0086] The seller then needs to install a plug-in 20310, such as a plug-in for the CMS system 2032, in order to connect the sale server to an application server 3 distinct from the online sale server 2. The plug-in 20310 is responsible for prompting potential buyers 1 during a negotiation to enter price proposals for the acquisition of an object, and for displaying a counter-offer (new offer, namely second or third offer) prepared by the application server 3 depending on buyer-dependent and buyer-independent parameters in the online sale server 2 and/or in the application server 3. This plug-in 20310 may be responsible for displaying the potential buyer a personalized message which is presented to the buyer between a proposal made by the buyer and an offer made by the application server.
[0087] A software module 3031 in the application server 3 determines a so-called “psychological price” for at least some of the objects offered for sale by the seller. The psychological price is a buyer-independent parameter that indicates the price that an average buyer interested in that object might be willing to pay at that time for the acquisition of the object at a given date. This psychological price is determined based on an average the price at which that object was sold during previous transactions, as stored in database 305. The average might be limited to proposals made for the acquisition during an explicit or implicit validity period.
[0088] Additionally, an artificial intelligence engine, such as a neural network or other type of self-learning classifier, might be trained with parameters and prices from previous sales and used for determining a predictive price of the object, i.e., the price that potential buyers might be willing to pay. This predictive price might be displayed to the seller and help him to determine his floor price or initial price for example.
[0089] The plug-in initially optionally displays a public price 62 in relation with the object; this public price, which is typically higher than said floor price and higher than said psychological price, might be determined by the application server, for example depending on said psychological price, and/or fixed by the seller 2. The psychological price might be fixed or adapted dynamically, for example depending on the offer and demand for similar objects.
[0090] Alternatively, no public price is displayed initially.
[0091] A potential buyer interested in the acquisition of the object connects to the web site 2031 with the browser or app in his buyer's equipment 10, sees the description 61 and image 60 of the object, and see the public price 62 (if displayed) with an invitation to enter a first proposal in the field 63. The first proposal indicates a price, usually lower than the public price, that the potential buyer is willing to pay for the object.
[0092] The first proposal is received by the plug-in 20310 and transmitted to a next offer determination module 3033 in the application server 30. The module determines if the proposal can be accepted or which counteroffer should be proposed.
[0093] The application determines the profile of the potential buyer from a database 306. Elements of the profile might also be transmitted by the plug-in 3031. The buyer profile includes for example biographic parameters such as nationality, domicile, gender, age, profession, etc (when available), as well as history of previous transactions and/or negotiations of that potential buyer with the same or with other sellers. The profile might also include a classification of the potential buyer determined from his biography and/or transaction or negotiation history. This classification might be obtained with an automatic classifier, such as a neural network. It might indicate for example a type of behaviour of the potential buyer during a negotiation. As an example, some potential buyers might be classified as “gamblers” if they are likely to make a first proposal remote from the maximal price they could accept, or as “conservative” if they are more likely to make a first proposal closer to this maximal price. Intermediate values might be defined. Multiple classifications along different axis might be defined for a single potential buyer.
[0094] If the first proposal entered by the potential buyer is high enough, for example if it is higher than the floor price, or if it exceeds that floor price by a minimum margin, the proposal might be immediately accepted and the buyer is then invited to confirm the acquisition and pay. Therefore, potential buyers are not forced to iterate several times during the negotiation if they quickly make an acceptable proposal from the first proposal. Alternatively, this first proposal is only accepted if higher than the psychological price, or if it exceeds that psychological price by a minimum margin.
[0095] According to another possibility, the decision to accept or not immediately a proposal might also be buyer dependent and depends for example on the buyer's profile, including for example his classification and/or history of previous negotiations. Moreover, the decision to accept or not immediately might depend on buyer-independent parameters, including data from external sources. As an example, a proposal for an hotel room might be accepted if the weather forecast for the relevant days are bad, suggesting a low probability that the room will be sold to another buyer, and refused if the weather forecasts are better, suggesting a probable high demand on that day. The decision to accept or refuse a proposal might be determined by an algorithm, for example through a comparison with a price threshold, such as said floor price, and/or taken by an artificial intelligence engine.,
[0096] If the first proposal is refused, the module 3033 in the application server 30 determines a second offer for the object. The second offer includes a second price higher than the floor price and higher than the first price proposed by the potential buyer, but lower than the initially displayed public price. The second offer is determined with the artificial intelligence engine 304 based on the psychological price, the buyer parameters in database 305 or retrieved from the plug-in, and on buyer independent parameter including parameters of the object and parameters from external databases 40. This second offer might also be determined based on the seller parameters in database 307.
[0097] The second offer may also be determined with the artificial intelligence engine 304 based on seller parameters in database 2033, such as for example the number of remaining objects. For example, the application server might propose a second price for an hotel room that will be different if the hotel has many empty rooms at a given date, only few empty rooms, or no available rooms at all.
[0098] The second price determined by the module 3033 is transmitted to the plug-in and displayed by the web site to the potential buyer.
[0099] If the potential buyer 1 accepts the second price, the iterative negotiation is terminated, and the potential buyer is invited to pay. Otherwise, the potential buyer can enter a second proposal with a third price in the field 63, that the module 3033 will either accept or reply with a second counteroffer (third offer). The process is iteratively repeated until an offer or a proposal is accepted.
[0100] In an embodiment, the maximal number of iterations is limited to N iterations, for example 3 iterations. The maximal number of iterations might be different than 3. The maximal number of iterations might be a parameter set by the seller, and different from one seller to the next. This maximal number N of iterations might be the same or might be a parameter set by the buyers; for example, one buyer might prefer a reduced number of iterations (even if he has to pay a higher price) while another buyer might prefer a longer transaction involving a larger maximal number N of iterations. In that case, the potential buyer can either accept the initial public price, or any successive price until the Nth iteration; if he refuses that Nth offer, the process is terminated, and the potential buyer cannot buy that object anymore.
[0101] According to one aspect, after the first iteration the next offer determination module 3033 can make an offer in which not only the offered price can be modified, but also the object that is offered for sale.
[0102] The modification of object can for example include a replacement of an object by a different object. As an example, the module 3033 can propose in any counteroffer to replace an hotel room or flight ticket by an alternative hotel room resp. flight ticket for the same price or for a different price.
[0103] The modification of object can for example include an offer for the sale of the initial object with an additional object, such as non-cash benefit. As an example, the module 3033 can propose in any counteroffer to add a free entry to a spa or a free parking ticket to a hotel night. As another example, if the object for sale is a flight ticket, the module 3033 can propose in any counteroffer to add as non-cash benefit an on-board service such as drinks, or the possibility to board with an additional luggage, or the possibility to use an airport lounge, etc. As another example, if the object for sale is a car, the module 3033 can propose in any counteroffer to add as non-cash benefit an insurance, a garage service or additional accessories or equipment. As another example, if the object for sale is a physical product, the module 3033 can propose in any counteroffer (new offer) to add as non-cash benefit a servicing, an extended warranty, or an additional accessory or equipment.
[0104] The module 3033 optionally determines the price, perceived value and/or cost of the modified object, in order to make a counteroffer with a modified object that is likely to be acceptable by the buyer and by the seller. The cost might be determined by the seller and indicated in database 2033. The price might be the public price of the modified object, as displayed on the web site and indicated in database 2033. The perceived value might be determined by the application server, possibly with an artificial intelligence engine, based on previous offers with or without that modification that were either accepted or refused.
[0105] The selection of a modified object might be buyer dependent. As an example, an artificial intelligence engine trained with previous negotiations of the buyer or of comparable buyers might determine the modification that will be most likely to trigger a sale at minimal cost for the seller.
[0106] The selection of a modified object might depend on one parameter of the buyer's profile, such as his age, gender, nationality etc. For example, the artificial intelligence system might determine that Swiss buyers are more likely to be convinced with a free access to the spa while Mexican buyers are more likely to enjoy an upgrade to a larger room.
[0107] According to one aspect, the potential buyer receives personalized messages as motivating message for (one of) the next step to be a proposal or an offer acceptable both by the buyer and by the seller. Those personalized messages may be established by the application server. Those personalized messages can be displayed graphically on the buyer's equipment 10, in parallel to the fields 62 and 63, and to the image 60 and description 61 of the object, on the page 6 presented on the display 100. Alternatively, those personalized messages can be audio displayed on the buyer's equipment 10 through loudspeakers. If the message is presented after a proposal made by the buyer and before the next offer made by the application server, for example, this message informs the buyer that the price of this proposal is or might be considered too low to the seller and whenever the next proposal is not significantly higher (higher price), the negotiation might stop after his/her next proposal.
[0108] If the message is presented after an offer made by the application server and before the next proposal made by the buyer, for example, this message informs the buyer that whenever his/her next proposal is too far away from the offer just received (namely a price difference between the buyer next proposal and the price of the offer just received is considered too big by the system/the seller), the negotiation might stop after his/her next proposal. Another message can push the buyer to make a next proposal within a reasonable time after receipt of the previously received offer. For example, such a message might be the following: “Be careful that if you wait too long (more than XX minutes, such as 15 minutes) before your next proposal, the negotiation might be stopped by the buyer”.
[0109] The next offer determination module 3033 might use buyer-dependant parameters stored in the buyer's equipment 10, in the database of buyers 306, including for example cookies produced by a web browser that might be useful for determining a buyer's profile, preferences of the specific buyer and history of negotiations of the specific buyer.
[0110] The next offer determination module 3033 might use seller-dependent parameters stored in the seller's equipment 20, in the database of buyers 2035, including for example cookies produced by a web browser that might be useful for determining a seller's profile, preferences of the specific seller and/or history of negotiations of the specific seller.
[0111] In the above, it is considered a one-to-one automatic price negotiation method between one specific seller with one specific potential buyer for a specific object. This automatic one-to-one price negotiation method can be implemented in parallel and involve several negotiations running concurrently for the same object, between a one seller and two or more different potential buyers. In that latter case, the determination of the second and eventually third offer for the object price proposed to a first potential buyer is not dependent on the parallelly run negotiation(s) for the same object. In another embodiment, notably when the object proposed by the seller is unique, namely this object exists in only one specimen, the determination of the second and eventually third offer proposed to a first potential buyer is dependent on the parallel negotiation(s), for the same object proposed one or several other buyers at the same moment.
Additional Features and Terminology
[0112] Depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (for example, not all described acts or events are necessary for the practice of the methods). Moreover, in certain embodiments, acts or events can be performed concurrently, for instance, through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines or computing systems that can function together.
[0113] The various illustrative logical blocks, modules, machines, transducers and algorithm steps described herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, computing platforms, machines and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
[0114] A server, module or engine can be based on software and hardware components. The hardware components may be based on any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a physical or virtual server, a cloud based server, a hybrid system comprising processing power in a server as well as additional processing power in the cloud, or a computational engine within an appliance, to name a few.
[0115] A software module can comprise one or a plurality of software programs or agents executed by a server, hardware module or engine in order perform various operations on data.
[0116] The steps of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module stored in one or more memory devices and executed by one or more processors, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium, media, or physical computer storage. An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The storage medium can be volatile or non-volatile.
[0117] Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, units or states. Thus, such conditional language is not generally intended to imply that features, units or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, units or states are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional units, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of units, the term “or” means one, some, or all of the units in the list. Further, the term “each,” as used herein, in addition to having its ordinary meaning, can mean any subset of a set of units to which the term “each” is applied.