Demonstrating Bid Rigging with a Shopping Agent Application Using JADE
View/ Open
Abstract
This paper presents the implementation of a shopping-cart agent that demonstrated collusion in online bidding. Collusion is an agreement between two or more persons, sometimes illegal and therefore secretive, to limit open competition by deceiving, misleading, or defrauding others of their legal rights; or to obtain an objective forbidden by law, typically by defrauding or gaining an unfair advantage [15]. It is an agreement among firms to divide the market, set prices, or limit production. The paper has the shopping agent and its bid-rigging methods implemented using the Java Agent Development Framework (JADE), which helps develop agent-based applications. JADE uses agent communication language as part of its framework to provide message transportation between agents. Collusion in online bidding is caused by bid rigging between the vendors. Some basic types of bid-rigging implementation are described in this paper. Each bid rigging shown is different from the other, but all exhibit collusion and profit making by illegal, backdoor communication before a product price and availability are quoted to a potential buyer. Collusion removes any chance of competitive price benefits that a potential buyer might enjoy. The bidding method and its algorithm are explained in detail with the help of diagrams and flow charts. Each agent’s communication with the others is also briefly explained. The bid-rigging algorithm for the three flavors of rigging is explained in detail. Graphs and tables are drawn from the output for each bid-rigging method. Bidding run are run for a product in multiple iterations to depict the winning strategy that vendors use as the result of backdoor vendor-to-vendor communications. To demonstrate the bid-rigging types, a working model of a shopping agent is developed using JADE. The program has the option to select one of the bid-rigging types at a time, say bid rotation, bid suppression, or complementary bidding, and its outputs is saved for analysis.