Expert Systems with Applications Expert Systems with Applications 34 (2008) 469–481 www.elsevier.com/locate/eswa An agent-based model for consumer-to-business electronic commerce Deng-Neng Chen, B. Jeng *, Wei-Po Lee, Cheng-Hung Chuang National Sun Yat-Sen University, Department of Information Management, 70 Lien-hai Road, Kaohsiung City 804, Taiwan Abstract Electronic commerce has changed the outlook of traditional business trading behavior. It is now common to see business-to-business (B2B), business-to-consumer (B2C) and consumer-to-consumer (C2C) commerce on the Internet. However, another type of model, consumer-to-business (C2B), is seldom found. A possible reason for this phenomenon is transaction cost; to unite a group of candidate buyers’ common needs and preferences to buy a product or service is uneasy. Difficulties arise, for example, in how to synthesize individual’s preferences into a group’s consensus, how to communicate with each other within the group, and how to collectively negotiate with a seller, etc. To establish a successful business model in the electronic market, however, these processes have to be implemented. We address these issues in this paper, and propose a Buyer Collective Purchasing (BCP) model implemented in a multi-agent framework. A prototype system, which uses a laptop computer purchasing case as an example, is created to demonstrate the idea and show how the model works. 2006 Elsevier Ltd. All rights reserved. Keywords: Electronic commerce; Intelligent agent; Consumer-to-business model; Group decision making; Negotiation 1. Introduction The explosion of Internet and the ensuing applications in electronic commerce (e-commerce) have permanently changed the outlook of traditional business trading behavior. Different business parties are now made easy to interact through Internet with others to conduct transactions in a more efficient way. Based on the nature of transactions, e-commerce is classified into following types (Turban, Lee, King, & Chung, 1999): business-to-business (B2B), business-to-consumer (B2C), consumer-to-consumer (C2C), consumer-to-business (C2B), non-business e-commerce, and intra-business e-commerce. Compared to the three frequently mentioned models: B2B, B2C, and C2C, which are now very popular, the progress of the other one (i.e., C2B) is far left behind; it is seldom seen on the Internet. A possible reason for this situation is the high transaction cost. It takes effort to unify * Corresponding author. Tel.: +886 7 5252000x4719; fax: +886 7 5254799. E-mail address: jeng@mail.nsysu.edu.tw (B. Jeng). 0957-4174/$ - see front matter 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2006.09.020 a group of buyers’ common needs and preferences and to interact between the buyer’s party and the potential venders in order to complete a transaction. Moreover, it is not clear how to do it; there is little research into this problem. For example, how to synthesize individual’s needs into a group’s consensus? What is the mechanism to communicate with each other within the group? How does the group collectively negotiate with a seller? All these problems need a solution if one wants to create a successful C2B trading model. Collective purchasing is not new to the traditional business. Friends sometimes invite each other to go to a restaurant for a meal and share the expense. People join a tour to share the expense of transportation, hotels and other expenditure. In these cases, people scarify some of their personal preferences in order to gain benefits from the collectively purchasing behavior. Likewise, can we transfer such consumer behavior to the e-market? If with a suitable model and mechanism, we believe Internet will be an enabler, not an obstacle, to collective purchasing behavior because people there get easier to setup a group with common interests. 470 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 In this paper, we define and propose a model for buyer collective purchasing (BCP) behavior, which consists of a number of steps, each for a specific task, e.g., product description, buyer invitation, needs synthesis, negotiation, etc. A multi-agent architecture is devised to facilitate this job. In the framework, different agents, each assigned with a specific role, cooperate together to support the process. For example, there is an agent for each buyer who participates in collective purchasing to record the buyer’s needs and preferences. Similarly, there are agents for sellers to represent their offers to the purchase. An agent is responsible for collecting and synthesizing the buyers’ needs. Another plays the role for negotiation. Among these agents, the platform itself supports communication and interaction within the group. Behind the multi-agent framework, there need algorithms to collect and synthesize the buyers’ preferences and to negotiate with sellers. An AHP (Analytic Hierarchy Process) algorithm is devised to synthesize the common needs from the buyer group. Based on the created AHP tree, a one-to-many negotiation algorithm takes place to seek for the best deal from potential sellers that carry products satisfying the group’s needs. Based on the proposed BCP model, we implement a prototype system to demonstrate the idea, which uses a laptop computer purchasing case to show how the model works. The remainder of this paper is organized as follows. Section 2 discusses C2B buying behavior and defines the buyer collective purchasing model. Section 3 implements the model with a multi-agent framework. Preferences synthesis and alternatives ranking are described in Section 4, in which the algorithm of AHP used in this paper is illustrated. Section 5 describes a one-to-many negotiation algorithm that can bargain with several potential sellers simultaneously based on the information given by the constructed AHP-tree. The prototype implementation and demonstration that realize the whole idea are presented in Section 6. Finally, we conclude the paper with future research issues in Section 7. 2. C2B business model Collective purchasing is sometimes referred to as a buyer coalition formation model (Shehory & Kraus, 1998), in which multiple buyers cooperate together to get a better offer for a specific product (or service). In this model, buyers usually specify multiple items and their valuation on them, and a group leader is elected to divide the group into coalitions and calculates the surplus division among the buyers (Yamamoto & Sycara, 2001). In particular, Tsvetovat and Sycara (2000) divide the buyer coalition process into five stages: (1) negotiation, (2) leader election, (3) coalition formation, (4) payment collection, and (5) execution stages. They give an example of book purchasing in a university and show how the seller provides a volume discount according to the size of the coalitions. In this kind of group model, what buyers’ needs are relatively fixed and different needs are divided into different coalitions. Another coalition example given by He, Jennings, and Leung (2003) describes a bakery store which receives a large order of iced buns than it can produce. It then seeks to find a partner from the market and negotiates with a number of potential collaborators to get one that best satisfies it in terms and conditions. In this example, the leader has the authority to define the coalition conditions and negotiation right to determine who can join the group. Although the goal is same, i.e., to group buyers together to get a special discount from a supplier, there are collective purchasing behaviors other than the ones described above. For example, we all have an experience that a group of people sit together to discuss a travel plan including where to go, to stay, and so on. In the group, there is usually no leader but a coordinator who tries to synthesize all proposals to find out a plan that satisfies most of their preferences. Individuals participating in this kind of group are willing to compromise on their preferences to some extent for a common goal. The final outcome is one that satisfies most of their needs and the best offers they can get. 2.1. The buyer collective purchasing model To differentiate from the buyer coalition formation model introduced above, we here define a more flexible collective purchasing behavior model, called the buyer collective purchasing (BCP) model, which consists of six stages: (1) product description, (2) participant invitation, (3) buyer needs synthesis, (4) merchant brokering, (5) negotiation, and (6) purchase and delivery (Fig. 1). Except some of the steps, i.e., merchant brokering and purchase and delivery, that are in common with many other models (Guttman, Moukas, & Maes, 1998b; He et al., 2003) and will not be further discussed, others are unique and explained in the following. 2.1.1. Product description Production description is the first stage in the BCP model. In the beginning of the collective purchasing process, there must be someone who has an intention to buy Fig. 1. The buyer collective purchasing (BCP) model. D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 something (or service) and wishes to invite others to join. Therefore, s/he is the one to collect the production information and describes it in a specified format so that others may have choices to express their interests and preferences to it. In particular, the description has to include all the options related to this kind of product. For example, suppose one wants to buy a laptop computer on Internet. S/he goes to a web store, e.g., Amazon, to collect the related production information. Under the ‘‘Computers ! Laptops & Notebooks’’ category, there shows a list of different products with a variety of features including brand name, CPU types and speed, memory size, screen size, computer weight and the price range, etc. Based on this information, s/he can then prepare the production description and broadcast it to invite others to join. If one has no clear idea about what the product will be, product brokering agents (e.g., Net Perceptions: http://www.netperceptions.com, CDNOW: http://www.cdnow.com, etc.) might be of help in this case. 2.1.2. Participant invitation This is a stage to invite friends and other interested people. The invitation can be broadcast to any Internet communities in which people might be interested to buying the proposed product. Associated with the invitation, interested persons need to fill out their preferences and possible constraints based on the product description. An agent is assigned to whom s/he has completed the participation process. Some details will be seen later in the next section. 2.1.3. Buyer needs synthesis This is the key stage in collective purchasing: to take into account the preferences of all group members for a product or service and to unify (or synthesize) them. Although the customers here recognize the needs for some product or service (i.e., need identification), their requirements might not be very same initially. The synthesis process needs to collect and unify them based on the similarities in the buyer preference profiles. There exist different approaches to solve this problem. If we treat the preference profiles as a cluster of points, for example, then the center point of this cluster can be used as the synthesis outcome. However, this approach does not gain the most from the collective purchasing because it does not include the consideration of merchant brokering and negotiation. Since the product requirements are fixed with no flexibility to trade-off with a seller, it may not necessarily get the best deal from the merchant. Our approach instead is different. We do not try to unify the preferences into one but to incorporate and structure them into an AHP tree1. This tree is later used in the negotiation stage to maximize the benefit by comparing the offers from potential sellers and trading off some features to get a better deal through a competition process among 1 Analytic Hierarchy Process (AHP) is a popular multi-criteria decision support method. 471 Table 1 The difference between BCF model and BCP model Group representative Product requirements BCF model BCP model Group leader Unified one Coordinator Synthesized different merchants. The details of how to create the AHP tree are described later in Section 4. 2.1.4. Negotiation The negotiation stage is combined with some function of merchant brokering here. Softbot like BargainFinder (Krulwich, 1996) can find the lowest price and the seller for a specific product. But, in this case, price is only one of the features to be considered. There are other features to be compared and negotiated. In particular, the weights of different features vary in our AHP tree. Thus, a scorecard is used to rank the offers provided by different sellers. For example, when evaluating the laptop computers, the offers including features of CPU type and speed, memory size, etc. are considered. A total score of each offer is calculated based on the weighted score of individual constituent components in the AHP tree. Having evaluated the offers, the next step is to choose the top five ones from different sellers and negotiate them about the constituent components. This enters an iterative bargain process with a goal to increase the score of an offer by making the sellers compete in the first place to win the deal. The details of this process will be given in Section 5. 2.2. Brief summary Collective purchasing is a type of consumer behavior which hasn’t had enough studied yet. Like other business models with variations in practices, so is the consumerto-business (C2B) model. We believe there are different approaches to collective purchasing as long as the goal, to group buyers together to get a special offer from a supplier, is achieved. In the above, we have proposed the buyer collective purchasing (BCP) model for cases where a group of people has some flexible requirements related to a product and is willing to compromise with others in order to gain the most benefit for the group. The difference between it and the buyer coalition formation (BCF) model (Shehory & Kraus, 1998), in short, can be summarized in Table 1. We classify the two models in two dimensions: who represents the group and the requirements of the product after the group is formed. 3. The multi-agent system model To automate most of the time-consuming stages of the buying process, software agent technologies have been proposed and employed in different transaction stages of e-commerce, e.g., (He et al., 2003; Liang & Huang, 2000; Maes, Guttman, & Moukas, 1999). Particularly prominent 472 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 among these are Guttman et al.’s review of agents in B2C e-commerce (Guttman, Moukas, & Maes, 1998a) and Sierra and Dignum’s roadmap of agent-mediated e-commerce in Europe (Sierra & Dignum, 2001). Other related sources include Liu and Ye (2001), Ma (1999), Sandholm (1999), and Yuan and Liu (2000). The agent technology is particular important to the proposed model for C2B commerce since collective purchasing by nature has higher transaction and communication cost than normal case. To realize the model, we develop a multi-agent system framework to support the group purchasing process. Shown in Fig. 2 is the overall architecture of the multi-agent framework, which consists of the following agents: initiator, coordinator, negotiator, search agent, client agent (C.A.) and supplier agent (S.A.), and performs the following functions: initiating a group buying plan, searching for qualified sellers, gathering participants’ preferences, converting relevant information into the usable form for further processing, negotiating with sellers, and making a final decision, respectively. 3.1. The agent roles The detail functions of each agent are described as below: 3.1.1. Initiator This agent’s responsibility is to generate an initial plan and to identify potential sellers. Usually, the initial plan is built with the help of domain experts, who are able to describe the criteria of what must be taken into account in the purchasing plan. Once the initiative draft is constructed, it is passed to agent coordinator which will broadcast it via Internet to those who may be interested in purchasing this product. Initiator’s role is to support the product description stage in the BCP model. 3.1.2. Coordinator Initially, this agent broadcasts the draft plan to interested people over the Internet, and collects the preferences/constraints of each individual participant. Coordinator synthesizes the individual buyers’ preferences and converts them into a group one, i.e., an AHP tree. In our method, preference synthesis and the later bargaining process with potential sellers are combined interactively. Coordinator’s role is to provide support in the purchasing stages of participant invitation and buyer needs synthesis. 3.1.3. Negotiator This agent is responsible for negotiating with potential sellers, with respect to the preferences that have been collected from a group of participants and represented in the form of AHP criteria. The goal here is to bargain with candidate sellers for a best offer that satisfies the most demands and preferences of group members. The functions of this agent include merchant brokering and negotiation. 3.1.4. Search agent Search agent utilizes the search engines available on the Internet to look for potential sellers. A simple rule-matching mechanism is developed to extract relevant information from the search results. This agent also performs post-processing for the retrieved items and gives a list of qualified sellers and the products they offer. search agent is involved in the stage of product description and merchant brokering. 3.1.5. Client agent When a person is interested in a specific plan and wishes to join it, s/he can register on a web page and indicate his/ her preferences for the option items offered in the plan. In our system, the preference items are divided into two types: hard constraints and soft constraints. The former means the conditions that the person strongly requires and they must not be violated (e.g., budget), while the latter are conditions that s/he personally prefers. After that, a client agent is assigned to the person and sent to his/her desktop computer2 to work as his/her personal representative. This client agent will take care of the future communication task with the system and notice/remind its master whenever user involvement is needed. For example, the agent will notify its master the final plan once the stage of participant invitation is closed and ask him/her to re-confirm (or to quit) it. 3.1.6. Supplier agent This agent provides a communication interface to the sellers so that they can interact with the described agent- Fig. 2. The multi-agent system framework for collective purchasing. 2 An optional process if the user agrees. D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 473 Fig. 3. The operating sequence diagram of the proposed multi-agent system. based system. Similar to client agent, a supplier agent represents a real vendor and all its communication to the system will be sent through it. 3.2. System operating sequence After describing the individual agent’s role and functions, in this section, we will use a sequence diagram to illustrate how these agents interact with each other in the multi-agent platform to support the BCP model. Fig. 3 shows the overall operating sequences. In the beginning, the initiator agent collects the product information and generates a tree-structure plan for the product to be purchased. The plan contains criteria that buyers might take into account when they are interested to this product. This procedure corresponds to the stage of product description in the proposed BCP model. Once the initiative plan has been created, initiator agent sends it to coordinator agent, which then broadcasts the plan with some specially designed form to those who may be interested in this product to invite them to join the collective purchasing group. People interested in this product can register to the group and fill the form to express his/her preferences and constraints for the product. Buyers are required to make their choices from a list of pre-defined constraints and make pair-wise comparisons between the criteria (e.g., price, functionality, etc.) as well as the respective sub-criteria. After the participants filled in the form and sent it back to coordinator, this agent will check the constraints to make sure no violation. Then a client agent is assigned to this buyer and sent to his personal computer to take care of the further communications between the system and this consumer. The above procedure corre- sponds to the stage of participant invitation in our BCP model. As is mentioned, the key stage in our purchasing model is to synthesize buyers’ needs. That is, to construct an AHP tree that takes into account the preferences of all group members. Therefore, once the participants’ preferences and constraints have been collected, the coordinator agent will structure them into an AHP tree for later use. The details of creating such a tree are described in the next section. The next stage is to negotiate with different sellers to obtain a best offer for the group buyers. To achieve this goal, the negotiator agent asks search agent to find potential sellers and asks quotations from different sellers. With the scoring values calculated from the AHP-criteria and sent back by coordinator, the negotiator agent is able to rank the offers provided by different sellers. Based on the ranked results, the negotiator’s policy is to encourage sellers to give better offers in order to win the highest rank. It will pick up the next five sellers from the top and analyze their offers. Then, it will recommend each seller how to upgrade its offer to win the deal. The negotiation stage is an iterative process. It continues until no better offer can be obtained. The details of the negotiation strategy will be described in Section 5. When the negotiation process stops, the negotiator agent will send the final results that include the best five offers to coordinator, which will notify the client agents the offers. 4. Preferences synthesis and alternatives ranking This section describes the principle of the AHP method and shows how it is extended to synthesize the preferences of the buying group. 474 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 4.1. AHP in decision analysis The analytic hierarchy process (AHP) is a popular and powerful multi-criteria decision support method. It is designed to select an optimal choice from a number of alternatives according to a set of competing criteria (Saaty, 1980). The method has been successfully applied to different problem domains ranging from financial, engineering, to environmental problems. In particular, it is suitable for complex decision-making when both qualitative and quantitative attributes of a decision need to be considered. The method consists of three major steps: decomposition, comparative judgment, and synthesis. Decomposition is to structure the decision problem into a hierarchy of evaluation criteria; comparative judgment is to pair-wise compare the criteria with respect to each elements of the next higher level in the hierarchy; synthesis is to composite priorities of the alternatives with respect to the criteria. A detail description of the AHP method is summarized below: Shown in Fig. 4 is an example of an AHP hierarchy. The left most node represents the objective; the right most nodes are alternatives Ai; in between are the criteria nodes Ci and Ci,j. The solid lines connect the criteria and the objective to form a tree while the dash lines connect alternatives to the leaves of the tree. The link weights Wi and Wi,j are the results of pair-wise comparisons of the criteria Ci and others. S Ci;j ;Am is the score that alternative Am obtained with respect to criterion Ci,j only, and Wi,j *S C i;j ;Am is the fraction of the score that the criterion receives in the overall evaluation of the alternatives. This value is propagated upward repeatedly until it reaches the root of the tree. The application of the method can also be divided into two phases: construction and evaluation. The first phase constructs the AHP tree while the second phase evaluates different alternatives and makes a decision from the evaluation. This is the case that we used in this paper: the synthesis stage creates the AHP tree (described in the next section) while the negotiation stage uses it (described in Section 5). 4.2. Preferences synthesis by a group decision method In the beginning, each one who participates in the collective purchasing group is asked to fill out his/her judgments/ preferences on the pair-wise comparisons of criteria in the AHP tree. After this process finishes, there needs a way to synthesize the collected preferences so that they become a set of integrated and homogeneous product needs. W1,1 W1 C1 W1,2 For convenience of discussion, we sometimes refer to this tree only (i.e., without the references to alternatives), and called it the AHP tree. A2 Wn,1 Cn,1 SCn,1,Am Wn,k SCn,k,Am Cn,k A1 …… 3 C1,2 SC1,1,A1 SC1,2,A1 … Wn Cn C1,1 ……… W2 C2 Objective Criterion …… Step 1: Create a hierarchical representation of the decision problem by recursively breaking it into a set of criteria. A typical multi-criteria decision problem consists of three components: objective, criteria, and alternatives. The objective, at the top level of the hierarchy, is what you want to optimize; under it are the criteria that represent the progressive decomposition of the problem; the alternatives, at the bottom level of the hierarchy, are what you want to choose from, i.e., the decision to be made. The objective and the criteria together form a tree3 in which a criterion can be expanded into a set of sub-criteria until they can be used to evaluate the attributes of an alternative. An AHP hierarchy is usually constructed by domain experts, in which the number of levels in the hierarchy depends on their knowledge and the complexity of the decision problem. Step 2: Make pair-wise comparisons of the attributes and calculate the principal eigenvector (a mathematical approach used by AHP) of the matrix derived from the comparative judgments. The process determines the relative priority of each decision element with respective to the one at the immediate higher level in the hierarchy. Step 3: Transform the comparison results into link weights in the AHP tree and check the consistency of the comparisons made by decision makers. According to Satty, small consistency ratio, less than 0.1, is suggested. One can repeat a set of pair-wise comparisons when the consistency ratio is high. Step 4: Use the link weights to evaluate each alternative. This is done by multiplying the weights of criteria that link to the alternatives and summarize them up all the way through the links to the root of the tree. The result scores rank the alternatives so that one can make a provisional decision. Step 5: Perform sensitivity analysis. This enables a decision maker to examine how robust the provisional decision is with respect to changes in the rating of importance and preference. Am Fig. 4. A typical hierarchy of AHP method. D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 There are several methods that could aggregate individual decision preferences into group ones (Chwolka & Raith, 2001; Ramanathan & Ganesh, 1994; Van Den Honert & Lootsma, 1996). A general approach is to synthesize the pair-wise comparison matrices in each level of the criteria tree either by consensus voting or by averaging individual judgments (Saaty et al., 1989). The former requires group members to agree upon a unique value for each pair-wise comparison. Although this method guarantees a homogeneous decision over all group members, the process is tedious and time-consuming. The other two approaches widely used in determining group preferences are geometric mean method (GMM) and weighted arithmetic mean method (WAMM). The former determines the group preferences by taking the geometric mean over the individual member judgments on a pair-wise comparison (Saaty et al., 1989). That is, if a1ij ; a2ij ; . . . ; anij are the n group members’ individual judgments on comparing criterion i and j, the aggregated judgment for that comparison is 1=n ða1ij a2ij anij Þ . The latter approach treats the individual judgments as a linear combination and uses weighted arithmetic mean to determine the result (Ramanathan & Ganesh, 1994). It is shown that the judgment matrix generated by GMM has the advantage of preserving the reciprocal property of the combined matrices (Aczel & Saaty, 1983). Saaty himself also apply GMM to extend his eigenvalue-based measurement in the AHP to consistency in individual judgments within a group (Saaty et al., 1989). Thus, GMM is currently the most popular method in group preference aggregation for the AHP method (Chwolka & Raith, 2001; Van Den Honert & Lootsma, 1996); some successful examples of using it have been reported (Lai, Wong, & Cheung, 2002; Tam & Tummala, 2001). In our collective purchasing model, each group member is treated equal importance in expressing his/her preferences over the product. Thus, GMM is the best choice to synthesize the preferences; the geometric mean of each preference item is taken from the pair-wise comparison matrices, and the eigenvector of the synthesized preference matrix is then calculated. 5. Negotiation in collective purchasing In practice, when trading with a large quantity of products (such as the group buying case addressed here), there usually exists some negotiation space from a seller. This is particular important in C2B commerce because people here sacrifice some of their preferences with a purpose of pursuing a better deal from a supplier. However, whether the deal is good or not depends on how one ‘‘negotiates’’ it. Thus negotiation is a key step which determines whether a group purchasing is ‘‘worthwhile.’’ Two main issues involved in agent-based negotiation are: the communication between buying and selling parties, and the bargaining strategy used. The former is mainly concerned with agent-based languages and protocols that 475 enable the message interchange between different agents. Some work has been presented for agent communication, among which KQML and FIPA ACL are the most notable attempts to design a general-purpose agent language (Finin, Labrou, & Mayfield, 1997; FIPA, 2001). Our work follows the FIPA standard where agents talk to each other with ACL commands. In particular, we adopt the latest development of SOAP4 technology and embed a dialog message within an XML ‘‘envelop.’’ An HTTP server (called ACC5) is established which provides necessary ‘‘web services’’ to agents so that they can communicate each other asynchronously with the help of this server. The detail of the communication mechanism is implemented and shown in Section 6. For now, let’s focus on the issue of the negotiation problem itself and the bargaining strategy. 5.1. The negotiation problem model Negotiation (or bargaining) is the interaction that occurs when two or more parties attempt to agree on a mutually acceptable outcome in a situation where their orders of preference for possible outcomes are negatively correlated (Hammer & Clay, 1969; Raiffa, 1982). In traditional negotiation research, it is assumed that the participants are given their individual profit schedules and each has his own goal of profit maximization. The negotiation task was thus regarded as an optimization problem and solved by relevant techniques (e.g., Krovi, Graesser, & Pracht, 1999; Choi, Liu, & Chan, 2001). Such methods, however, often ignore interactions and they have made unrealistic assumptions. An alternative methodology different from the above is the specification of the rules of interaction. Some recent research has presented the automated agent-based negotiation in the electronic marketplace in a more realistic way in which the profit schedules are not given and only the offers proposed by the participants are available, e.g., Lee (2004), Luo, Jennings, Shadbolt, Leung, and Lee (2003), and Maes et al. (1999). Our approach is similar to the above agent-based negotiation. In our model, two opposite parties work as two negotiators jointly searching in a multi-dimensional space (the multiple issues to be negotiated) to find a point of agreement (Jennings et al., 2001; Oliver, 1996). Initially, the profits for both parties can be planned. For example, in the case of bargaining price for a certain product, the interval between the ideal price (i.e., the initial price) and the reservation price Rs (i.e., the lowest acceptable price) represents the maximal profit a seller can make; this is the negotiation space for that seller. Similarly, a buyer 4 SOAP is a protocol for exchanging XML-based messages over a computer network, normally using HTTP. SOAP is an acronym for Simple Object Access Protocol. 5 ACC stands for Agent Communication Channel. See Figs. 7 and 8 for details. 476 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 Fig. 5. The framework for negotiation in collective purchasing. can have an initial price and a reservation price Rb (i.e., the highest price s/he can accept). As it can be observed, the common negotiation space exists when the selling agent’s reservation price is lower than or equal to the buying agent’s reservation price (i.e., RshRb). In this situation, any offer falling within this space is a candidate solution provided that the participants do not terminate the negotiation process before an agreement is reached. Fig. 5 illustrates the negotiation agent framework of our model. In the current design, the buying agent (negotiator) plays the active role; it continuously contacts candidate sellers and make suggestions for them to consider. In this model, there is no need to assume a mediator that knows the profit schedules of selling and buying agents and works as an optimizing mechanism between them. The trading parties can directly contact each other to make negotiations. Therefore, each party does not know the reservation value of its opponent, and normally the theoretical equilibrium cannot be reached. Also, our model does not make any assumption about the offers that the agents might propose during the negotiation. In other words, the agents are not bound to any specific concession strategy, and the final result completely depends on how different seller agents compete with each other. In addition, each negotiation process is independent from the previous ones and the agents can make any offers they like. The bargaining process terminates when there is no new offer proposed within a certain period of time. 5.2. The bargaining strategy We have defined our negotiation problem model but haven’t touched how to bargain with the sellers. Ideally, it is assumed that both of negotiation parties will make concession by decreasing the benefit from their initial proposals and find an offer acceptable to both parties through an iterative negotiation process. But this is only an ideal case; we need a strategy for it. To maximize the bargain power, our strategy here is to let the buyer group negotiate simultaneously with more than one supplier, and make the potential sellers compete each other to create a pressure on them for offering a better deal to the buyer. The above agent framework supports this strategy, in which the negotiator operates in a oneto-many fashion by sending negotiation messages to the selling parties individually and waiting for the responses from its opponents. Then it compares the received offers and proceeds with a new session of bargain until there is no further concession being made. Although the idea is easily understood, implementing it has to solve the problem of how to compare different offers from different sellers6. Fortunately, with the created AHP preference tree before, this process can be conducted because the group preferences of individual members are already elicited and organized in the weighted AHP tree. Thus any received offers can be scored and ranked against it. With ranked offers, the bargaining strategy is simply to encourage and suggest sellers to provide better offers to raise their ranks in the trading. For example, a possible dialog could be like: ‘‘Thank you for your offer. After compare yours with others, we found your offer currently at the X rank in our group evaluation. If you could change XX into YY, then your offer’s rank will be moved to the front. Would you please consider our suggestion?’’ To win the deal, some of the sellers will make concessions7 and their ranks are re-calculated accordingly. This re-ranking process continues until there is no new offer proposed. How to generate the dialog message content requires the detail calculation of each offer’s score against the AHP tree. Assume the best offer among all is determined by the following scoring function: ! n X m Maxj¼1 W i S i;j i¼1 where m is the number of sellers, n is the number of sub-criteria in the lowest criterion-level of an AHP tree (i.e., detailed elements taken into account for the product, such as price, CPU, memory size for a computer), Wi is the path-weight accumulated (by a series of multiplications) along with the path from the root node to the sub-criterion i, and Si,j denotes the score of an offer j in respect to the path toward sub-criterion i. The offer provided by the seller with the highest score thus represents the best offer the group buyers can obtain. Without losing generality, we use a typical two-level AHP hierarchy (illustrated in Fig. 4) as an example to explain the bargaining process in detail. The bargaining process for agent negotiator is designed as the following: Step 1: Calculate the total scores of the offers made by sellers, and then rank them. Step 2: Find the most weighted path of each offer which can be improved. In this example, Ci,j means the sub-criterion in the level immediate higher than the alternatives, and the path weights are determined by W1 · W1,1,W1 · W1,2, . . . , W2 · W2,1, W2 · W2,2, . . . , Wi · Wi,1,Wi · Wi,2, . . . , Wi · Wi,j. The results are used to suggest sellers how to 6 Not just price comparison. Many stores nowadays claim they sell products the lowest prices, or they will beat any price. 7 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 477 Fig. 6. The bargaining strategy based on AHP. Fig. 7. System architecture. efficiently raise their ranks. In the first round of bargaining, the most weighted path will be chosen; in the second round, the second weighted path will be the candidate, and so on. Step 3: Send messages to sellers that are not ranked the first with content addressed above or like following: ‘‘You are not the best choice in our alternatives. Would you like to upgrade criterion (Ci, Ci,j) of your product to get a higher rank?’’ In this example, (Ci,Ci,j) means the criterion Ci (e.g., hardware of a computer) and its following sub-criterion Ci,j (e.g., CPU in respect to hardware) in the most weighted path. Step 4: Wait for responses from the sellers. After the negotiator agent receives the responses, if one of the sellers agrees to adjust its product offer, go back to step 1 to re-calculates the scores and makes a new decision. Compare the new decision with the previous one. If the two decisions are different, go to step 2 for a new bargaining cycle; otherwise terminate the bargaining process and set the final decision. The bargaining procedure will be also terminated if there is no response in a pre-defined period of time. Note that the hill-climbing method is employed in this strategy, in which the agent is directed to find a route improving the rank of an offer the most. This strategy is repeatedly applied until it reach reaches the concession limit (or the bottom line) of an offer that a seller is willing to make. In this way, the negotiator agent can find out the best deal from a number of offers and return the benefit to the buyers. The bargaining process is summarized in Fig. 6. 6. Implementations 6.1. The multi-agent platform We have described a multi-agent framework in which different agents behave collaboratively to support the BCP model and also explained the algorithms that work behind. Now it is the time to put them all together to show how they are implemented. Our multi-agent system platform is built on top of two major components: the Fig. 8. Message passing between agents. Agent-Base and the Agent Communication Channel (ACC). Fig. 7 shows the conceptual architecture of this platform. Agent-Base serves as a base class in the software system where all agents are developed on top of it. It provides all the fundamental capabilities that an agent is expected to have, such as agent ontology, behavior and communication ability, etc. Based on this class, a specific agent is created by inheriting all necessary capabilities from the agent-base and then equipped with the corresponding domain knowledge for a specific task. The communication and coordination support between agents are left to the other important component in the system, the ACC, which, instead of being a class, it is implemented as a set of web services (such as account management, communication management, coordination management, etc.) on an HTTP server so that the agent community can easily access it for service. A typical communication protocol of ACC is illustrated in Fig. 8. The described multi-agent architecture is implemented on Microsoft .Net platform. To illustrate it, an example of notebook computer purchasing case is described in the Section 6.2. 6.2. A Purchasing example We will show in step-by-step scenarios through the process of group purchasing of laptop computers, in which the 478 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 screen layouts are what users can see while other figures or tables are for the explanation purpose, not the output of the system. In this example, a number of people are interested in buying a laptop and are willing to join the collective purchasing plan. The initial form generated by initiator agent and posted on the web by coordinator agent is presented in Fig. 9, in which each participant registers in the collective purchasing plan has to fill out to indicate his/her preference. Note that, based on the concepts of AHP, each person is asked to express the preferences by a pairwise comparison in the form, as is shown in the screen snapshot. In this figure, the number of option items depends on the person who initiates the purchase plan. For example, whether OS is a preference item can be discussed because, for most of people, it is a requirement, not a preference. If you are Unix or Apple OS users, you will not want to buy a computer installed Microsoft Window XP. However, some other people may think differently; if price is good, they can buy a computer only and install the OS themselves. After agent coordinator collects each of the buyers’ preferences, they are converted into a hierarchy tree based on the AHP method described before. For the example here, the tree generated is in the following (Fig. 10), in which the top five candidate laptop sellers are evaluated against the AHP tree in the right side. Note that in this figure the numbers in parentheses beside tree nodes are the weights of criteria after synthesizing all buyers’ preferences. Based on this hierarchy tree, agent negotiator will be able to calculate the score of each vendor’s product. The calculations of path weights and scores are showed in Table 2. Agent negotiator now starts the bargaining process as is described in the following. First, it will sort and rank each vendor. In this example, the rank order is A > E > C > B > D. This means that vendor A receives the highest score in its offer. Then, it will sort the column ‘‘Path weight’’ as Fig. 10. The AHP hierarchy of group’s preferences. indicated in Table 2, the criterion ‘‘price’’ gets the highest weight, and ‘‘Function-Software-OS’’ is the second one. The third step is to find out a best rank improvement factor for the offers which are not in the first place. Based on the algorithm introduced before, the improvement factor for vendor B, D, E will be ‘price’ while the factor for C will be ‘OS’. negotiator then sends a message to these vendors individually through their supplier agent and asks if they can make some concession on the specified factor item in order to improve their evaluation rank to win the deal. For example, a message to vendor B is like this: ‘‘Hi, TsannKuen! We found your Sony PCG-NV77M/BP is currently in the fourth place in our group evaluation of all candidate laptops. If you could make your price lower, you will get a better chance to win this deal. Could you re-consider and give us a new offer?’’ The snapshot of supplier agent for vendor B is shown in Fig. 11. If the vendor has some room in price, he can modify the offer and send it back to negotiator. Otherwise, he could change some other Fig. 9. The form that interested participants have to fill to express their preferences. D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 479 Table 2 Weight calculation Criteria Weight calculation Path weight Product’s score C D Price 0.4 0.4 10 8 10 7 9 0.6 * 0.6 * 0.3 * 0.5 0.6 * 0.6 * 0.3 * 0.3 0.6 * 0.6 * 0.3 * 0.2 0.6 * 0.6 * 0.2 * 0.4 0.6 * 0.6 * 0.2 * 0.3 0.6 * 0.6 * 0.2 * 0.3 0.6 * 0.6 * 0.2 * 0.6 0.6 * 0.6 * 0.2 * 0.4 0.6 * 0.6 * 0.3 * 0.1 0.6 * 0.6 * 0.3 * 0.3 0.6 * 0.6 * 0.3 * 0.3 0.6 * 0.6 * 0.3 * 0.3 0.6 * 0.4 * 0.6 0.6 * 0.4 * 0.4 0.054 0.0324 0.0216 0.0288 0.0216 0.0216 0.0432 0.0288 0.0108 0.0324 0.0324 0.0324 0.144 0.096 8 9 7 8 10 9 1 9 8 9 9 8 10 9 9 7 9 9 9 10 9 8 9 9 10 10 10 8 8 9 10 8 9 9 7 8 9 8 9 8 8 8 10 9 9 9 10 8 10 8 10 9 10 10 10 8 9 7 8 10 10 10 9 8 10 10 10 9 9 9 A Function Hardware Computing and Storage Convenience Multimedia Peripheral Software OS AP CPU RAM H.D. Monitor Battery Weight VGA Audio F.D. CDR LAN Wireless Total 1 9.4396 B 8.86624 8.9404 8.392 E 9.0324 Fig. 11. The supplier agent’s dialog screen to vendor B. attributes in the offer which he prefers, or he could quit the bargaining process. Negotiator waits for the sellers’ responses in a fixed amount of time and then compares the new offers with the previous ones. Some sellers may or may not want to adjust their prices in the new offers. In this case, negotiator needs to calculate and decide whether it should continue to bargain with those vendors. If yes, it can try to ask to change the second important factor (e.g., ‘‘Function-Software-OS’’) and so on. However, if, after calculation, the score difference between a vendor and the first rank one is too large to make up even if all the asked items are improved, then negotiator should quit negotiating with that vendor. This bargaining process is repeated until no more sellers would like to adjust their offers anymore. In our example, vendor B lowers its price from 1999 to 1899 and increases the point from 8 to 10. The total score of vendor B becomes 9.4624 and is now the highest among all candidates. Therefore, negotiator sends a message to vender B: ‘‘Thank you for your offer, TsannKuen! Your Sony PCG-NV77M/BP is now evaluated by our group the best offer in the candidates. You win this deal. Please instruct us how to proceed to complete the transaction.’’ It also sends a message to each buyer to notify the result. The final screen layout of client agent of the bargain process may look like this (Fig. 12). 480 D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 Fig. 12. The final decision snapshot of client agentfor buyers. 7. Conclusions and future work Collective purchasing is a well-known consumer behavior in traditional business but is new to electronic commerce market. Also, it has not received much attention yet in the Internet. One of the many factors for this phenomenon is due to its high transaction cost; there is lack of convenient tools and environment support to facilitate the collective purchasing behavior. Furthermore, there is little academic research on its business model to realize it. In this paper, we try to solve these problems both theoretically and practically. For the first part, we defined the buyer collective purchasing (BCP) model and proposed two methods for preference synthesis and negotiation strategy, respectively. For the practical part, we devise a multiagent framework that supports the proposed business model and implement a workable prototype system on .NET platform. We demonstrate the whole business process with an example case that shows how interested persons participate in an on-line buyer’s group and then the agents take over to bargain with sellers and complete the entire transaction. Despite of what has shown in this paper, we have to admit that collective purchasing or consumer-to-business (C2B) is still a very young business model in its primitive stage. This paper is just the first attempt that tries to promote it to the Internet eCommerce community. Our proposal for the business model (i.e., BCP) and the multi-agent framework, of course, can be further explored and improved. In particular, there are many details that are not considered in this paper. But, to make the business model practical, they are necessary without speaking. From this perspective, there is a long way to go to make this business model real. However, it is our hope that this paper can at least be served as a starting point to the final goal. Future research will follow the comments explained above. Although we have invented methods to reduce the transaction cost in collective purchasing behavior, there are many issues that need to be verified. For example, will users accept the results by our preference synthesis algorithm? What are the exceptions? Will the negotiation strategy work? What are the exceptions? The real performance of this proposed framework needs more field studies, and from there, we believe many new and better results will be derived. References Aczel, J., & Saaty, T. L. (1983). Procedures for synthesizing ratio judgments. Journal of Mathematical Psychology, 27, 93–102. Choi, S., Liu, J., & Chan, S. P. (2001). A genetic agent-based negotiation system. Computer Networks, 37, 195–204. Chwolka, A., & Raith, M. G. (2001). Group preference aggregation with the AHP-implications for multiple-issue agendas. European Journal of Operational Research, 132, 176–186. Finin, T., Labrou, Y., & Mayfield, J. (1997). KQML as an agent communication language. In J. Bradshaw (Ed.), Software agent (pp. 291–316). MA: MIT Press. FIPA, (2001). FIPA Interaction Protocol Library Specification, The Foundation for Intelligent Physical Agents. Guttman, R.H., Moukas, A.G., & Maes, P., (1998a). Agent-mediated integrative negotiation for retail electronic commerce. In: Noriega, P., Sierra, C. (Eds.), Agent-mediated electronic commerce, pp. 70–90. Guttman, R. H., Moukas, A. G., & Maes, P. (1998b). Agent-mediate electronic commerce: a survey. The Knowledge Engineering Review, 13(2), 147–159. D.-N. Chen et al. / Expert Systems with Applications 34 (2008) 469–481 Hammer, W. C., & Clay, G. A. (1969). The economics of bargaining. University of Georgia Press. He, M., Jennings, N. R., & Leung, H.-F. (2003). On agent-mediated electronic commerce. IEEE Transactions on Knowledge and Data Engineering, 15(4), 2003. Jennings, N. J., Faratin, P., Lomuscio, A. R., Parsons, S., Sierra, C., & Wooldridge, M. (2001). Automated negotiation: prospects, methods and challenges. International Journal of Group Decision and Negotiation, 10(2), 199–215. Krovi, R., Graesser, A. C., & Pracht, W. E. (1999). Agent behaviors in virtual negotiation environments. IEEE Transactions on Systems, Man, and Cynernetics-D Part C, 29(1), 15–25. Krulwich, B. (1996). The bargainfinder agent: Comparison price shopping on the Internet. In J. Williams (Ed.), Bots, and other Internet beasties (pp. 257–263). Macmillan Computer Publishing. Lai, V. S., Wong, B. K., & Cheung, W. (2002). Group decision making in a multiple criteria environment: a case using the AHP in software selection. European Journal of Operational Research, 137, 134–144. Lee, W.-P. (2004). Towards agent-based decision making in the electronic marketplace: interactive recommendation and automated negotiation. Expert Systems with Applications, 27(4), 665–679. Liang, T.-P., & Huang, J.-S. (2000). A framework for applying intelligent agents to support electronic trading. Decision Support Systems, 28(4), 305–317. Liu, J., & Ye, Y., (2001) Introduction to E-commerce agents: marketplace solutions, security issues and demand. In Liu, J., Ye, Y. (Eds.), Ecommerce agents: marketplace solutions, security issues and demand. pp. 1–6. Luo, X., Jennings, N. R., Shadbolt, N., Leung, H., & Lee, J. H. (2003). A fuzzy constraint based model for bilateral multi-issue negotiations in semi-competitive environments. Artificial Intelligence, 148(1–2), 53–102. Ma, M. (1999). Agents in E-Commerce. Communications of the ACM, 42(3), 79–80. Maes, P., Guttman, R. H., & Moukas, A. G. (1999). Agents that buy and sell: transforming commerce as we know it. Communications of the ACM, 42(3), 81–91. 481 Oliver, J. R. (1996). A machine-learning approach to automated negotiation and prospects for electronic commerce. Journal of Management Information Systems, 13(3), 83–112. Raiffa, H. (1982). The art and science of negotiation. MA: Harvard University Press. Ramanathan, R., & Ganesh, L. S. (1994). Group preference aggregation methods employed in AHP: an evaluation and an intrinsic process for deriving members’ weightages. European Journal of Operational Research, 79, 249–265. Saaty, T. L. (1980). The analytic hierarchy process. NY: McGraw Hill. Saaty, T. L. (1989). Group decision making and the AHP. In B. L. Golden et al. (Eds.), The analytic hierarchy process: applications and studies (pp. 59–67). Berlin: Springer. Sandholm, T. (1999). Automated Negotiation. Communications of the ACM, 42(3), 84–85. Shehory, O., & Kraus, S. (1998). Methods for task allocation via agent coalition formation. Artificial Intelligence, 101, 165–200. Sierra, C., & Dignum, F. (2001). Agent-mediated electronic commerce: Scientific and technological roadmap. In F. Dignum & C. Sierra (Eds.), Agent-Mediated Electronic Commerce (pp. 1–18). Springer. Tam, M. C. Y., & Tummala, V. M. R. (2001). An application of the AHP in vendor selection of a telecommunication system. Omega, 29, 171–182. Tsvetovat, M., & Sycara, K. (2000). Customer Coalitions in the Electronic Marketplace. Proceedings of Fourth International Conference on Autonomous Agents, 263–264. Turban, E., Lee, J., King, D., & Chung, H. M. (1999). Electronic commerce: a managerial perspective. Prentice Hall. Van Den Honert, R. C., & Lootsma, F. A. (1996). Group preference aggregation in the multiplicative AHP: the model of the group decision process and pareto optimality. European Journal of Operational Research, 96, 363–370. Yamamoto, J., & Sycara, K. (2001). A stable and efficient buyer coalition formation scheme for e-marketplace. Proceedings of the Fifth International Conference on Autonomous Agents, 576–583. Yuan, S. T., & Liu, A. (2000). Next-generation agent-enabled comparison shopping. Expert Systems with Applications, 18, 283–297.