1 Introduction
Mechanism design for onesided markets has been investigated for several decades in economics and in computer science. It aims to find an efficient (high social welfare) allocation of a set of items to a set of agents, while ensuring that truthfully reporting the input data is the best strategy for the agents. The VickreyClarkeGroves (VCG) auction [Vickrey1961, Clarke1971, Groves1973] is a pillar of mechanism design. VCG auctions maximize the social welfare of the agents. They are dominantstrategy truthful (DST) — each agent’s dominant strategy is to truthfully report its preferences to the auction, regardless of what the other agents report. They can also be made individually rational (IR) — no agent loses from participating in the auction.
More recently, there has been increased attention on auctions for twosided markets, in which the set of agents is partitioned into buyers and sellers. As opposed to the onesided setting, where the auctioneer initially holds the items, in the twosided setting the items are initially held by the set of sellers. The sellers express valuations for the items they hold, and are assumed to act rationally and strategically. Thus, the auctioneer is tasked with deciding which buyers and sellers should trade and with what prices.
The growing interest in twosided markets can be attributed to various important applications. Examples range from selling displayadvertising on ad exchange platforms, the US FCC spectrum license reallocation, and stock exchanges. However, little work has been done so far on the next level of generalization, i.e., multisided markets.
In twosided markets, a further important requirement is strong budgetbalance (SBB), which states that monetary transfers happen only among the agents in the market. This means that buyers and sellers are allowed to trade without leaving the auctioneer any share of their gains and without the auctioneer adding money into the market. A weaker version of SBB, often considered in the literature, is weak budgetbalance (WBB). WBB only requires the auctioneer not to add money to the market. The problem with weak budgetbalance is that the surplus of the auctioneer might consume most of the gainfromtrade, leaving little gain for the actual traders. This might drive traders away from the market.^{1}^{1}1 The following “trick” can be used to convert any WBB auction to an SBB auction: before the auction starts, remove a random trader from the market; after the auction ends, give that trader all the surplus (if any). We do not support this trick since it might induce agents who have nothing to do with the auction (e.g. “sellers” with nothing to sell or “buyers” with no money) to come to the market, only because of the chance to win all the surplus. Like colini2017approximately colini2017approximately, we focus on directtrade auctions — auctions that give/take money only to/from agents who actually participate in the trade. Note that, in bilateral trade settings, VCG is usually not even WBB except in special cases [Guo et al.2013].
For doublesided auctions, the impossibility theorem of myerson1983efficient myerson1983efficient states that one can not maximize gain from trade (GFT, the difference between the total value of the sold items for the buyers and the total value of these items for the sellers) while also satisfying IR, DST, and no deficit.
The seminal doubleauction mechanism of mcafee1992dominant mcafee1992dominant is DST, IR and WBB. It circumvents Myerson and Satterthwaite’s result by compromising on GFT: it may remove up to one deal from the optimal trade. In case a deal is removed, it is the one with the smallest GFT among the deals in the optimal trade; hence it attains at least of the optimal GFT, where is the number of optimal deals. Thus, it is asymptotically optimal — its GFT approaches the optimum when . ^{2}^{2}2 McAfee’s mechanism is WBB because, when a deal is removed, the values of the removed agents are used to set the prices for the remaining agents: all buyers pay the value of the removed buyer, and all sellers receive the value of the removed seller. Thus there is a surplus that goes to the market manager.
Recently, SegalHalevi2016SBBA SegalHalevi2016SBBA presented a SBB variant of McAfee’s mechanism, with similar GFT guarantees. Their mechanism may remove up to one buyer from the optimal trade, and it is the buyer with the lowest value among the buyers in the optimal trade. In case a buyer is removed, the remaining buyers trade with sellers selected at random from the sellers in the optimal trade. ^{3}^{3}3 Their mechanism is SBB because, when a buyer is removed, his value is used to set the prices for all remaining agents: all remaining buyers pay the value of the removed buyer, and the sellers selected at random receive the same value. Thus there is no deficit and no surplus. Their mechanism has a variant in which a seller may be removed, instead of a buyer.
The complexity of practical requirements in areas such as supply chain require one to look beyond doublesided markets. As an example [Babaioff and Walsh2005], a market for lemonade may contain two kinds of sellers (lemon pickers and sugar producers), two kinds of buyers (juice drinkers and lemonade drinkers), and some intermediary agents (lemon squeezers, lemonade mixers, etc.) Our goal is to address such settings while keeping the strong budget balance requirement.
1.1 Our Contribution
Our contribution is twofold: First we generalize SegalHalevi2016SBBA SegalHalevi2016SBBA’s SBB double auction to a multisided market where the trade set is composed of any number of agent types and any number of copies of any agent’s type. Our generalization refines the notion of competition in multisided auctions by introducing the concept of external competition — competition over who will act as a given participant’s trade partner(s) (complementarity).
The expanded notion of competition allows us to provide a simple wellperforming procedure that generalizes [McAfee1992]’s trade reduction. The shift to thinking in terms of competition allows us to broadly address situations common to multisided auctions. These settings include trading entities that may be individuals or entire markets, transactions facilitated by zero or more intermediaries, and goods that can be exchanged individually or in bundles.
These settings also encompass many common commercial mechanisms including supply chains, distributed markets, security exchanges, and business to consumer auctions. Historically each of these settings has been considered unique and each presented the complex research problem of finding a suitable mechanism (see section 5 for details).
Second, in addition to the directrevelation multisided auction, our result presents a multisided ascendingprices auction that implements the same outcome. In the theory of onesided auctions, it is wellknown that a secondprice directrevelation auction and an ascendingprices auction are strategically equivalent. In both auctions, the agent with the highest value wins and pays the secondhighest value. However, an ascendingprices auction has the advantage that it is obviously truthful
(see li2017obviously li2017obviously for formal definitions and proofs). The practical advantage of an obviouslytruthful auction is that it is easier for people to understand that playing truthfully is best for them, even if they are not experts in game theory. This is particularly important when one deals with complex multisided markets with many entities.
1.2 Paper layout
Section 2 presents the formal definitions. Section 3 presents a special case of our extended multilateral auctions in which each trade requires exactly one agent of each category. Section 4 presents a more general case of our extended multilateral auctions in which each trade requires a fixed number of agents of each category, but this fixed number may be larger than 1. Section 5 compares our work to related work. Section 6 presents some simulation experiments evaluating the performance of our auctions. Section 7
concludes with some future work directions. An opensource implementation of our auctions, including example runs and experiments, is available at
https://github.com/erelsgl/auctions.2 Preliminaries
2.1 Agents and categories
A market is defined by a set of agents grouped into different categories. is the set of agents, is the set of agent categories, and is the set of agents in category . The categories are pairwisedisjoint, so .
Each deal in the market requires a certain combination of agents. We call a subset of agents that can accomplish a single deal a procurementset (PS). The PS recipe
of the market is a vector of size
, denoted by , where for all . It describes the number of agents of each category that should be in each PS: each PS should contain agents of category 1, agents of category 2, and so on. As an example, the PS recipe of a standard twosided market is , since there are two agent categories — buyers and sellers — and each PS should contain one buyer and one seller.As another example, consider a market with three categories of agents — buyers, sellers and transporters, and PS recipe . In such a market, each deal requires a buyer, two sellers and two transporters.
In general, one could think of markets with multiple PS recipes; however, in the present paper we restrict our attention to markets with a single PS recipe, denoted by .
Each agent has a value , which represents the monetary gain of an agent from participating in the trade. The value of an agent is the agent’s private information. It may be positive or negative. For example, in a twosided market, the value of a buyer is typically positive while the value of a seller is typically negative. The agents are quasilinear in money: the utility of agent participating in some PS and paying is .
2.2 Trades and Gains
The gainfromtrade of a procurementset , denoted , is the sum of values of all agents in :
In a standard twosided market, the GFT of a PS with a buyer and a seller is , since the seller’s value is .
Given a market , a trade is a collection of pairwisedisjoint procurementsets. I.e, it is a collection of agent subsets, , such that for each , the composition of agents in corresponds to the recipe . The total GFT is the sum of the GFT of all procurementsets participating in the trade:
A trade is called optimal if its GFT is maximum over all possible trades.
2.3 Competition
Our directrevelation auctions are based on the concept of competition between agents. Given a trade , let be the subset of agents who do not participate in the trade (the “remaining market”).
Consider a single PS , and an agent who belongs to category , i.e, . Then, a subset of agents is called an external competition for if adding to yields a PS consistent with the recipe , with a positive GFT:
In a simple twosided market, the external competition of a trading buyer is a nontrading seller whose value is sufficiently high such that, combining the trading buyer with the nontrading seller yields a pair with a GFT above .
In a threesided market with buyers, sellers and mediators, with , an external competition of a trading buyer is a pair of a nontrading seller and a nontrading mediator, such that the GFT of the buyer+seller+mediator is at least .
3 One Agent Per Category
This section presents our two auctions for a special case in which the single PS recipe in the market is a vector of ones, so each PS must contain a single agent from each category.
Both auctions are parametrized by an ordering on the categories: each of the possible orderings yields a different auction. The ordering should be fixed in advance and not depend on the agents’ values.
We present the auctions using a running example with three categories in the following order: buyers, sellers and mediators. The recipe is . In each category there are five agents. The agents’ values are:

Buyers: 17, 14, 13, 9, 6.

Sellers: 1, 4, 5, 8, 11.

Mediators: 1, 3, 4, 7, 10.
3.1 Externalcompetition auction
The auction requests the agents to report their values, and then proceeds as follows.
Step 1: Optimal trade calculation.
Order the agents in each category by descending order of their value. Combine the highestvalue agents in each category to a PS. Combine the nexthighestvalue agents in each category into a PS. Keep constructing PS as long as the GFT of the constructed PS is positive. The resulting set of PS is the optimal trade. We denote by the number of PS in the optimal trade.
In the running example, and the optimal trade contains the following PS: with GFT , with GFT , and with GFT . The remaining market, denoted by , contains two buyers , two sellers and two mediators .
Step 2.
Order the procurementsets in the optimal trade by ascending GFT, such that, . In the running example, is the PS .
Step 3.
Consider the agents in in the predetermined order of categories. Initialize to the first agent in by this ordering. In the running example, it is the buyer .
Step 4.
Look for an external competition to with a largest GFT. There are two cases.
Case 4a.
No external competition for is found. Then, is removed from the trade (and added to ), and we go back to step 4 with being the next agent in .
In the running example, we consider first the buyer . The maximum GFT of a PS that contains this buyer and agents from is , for the PS . This GFT is negative so it is not considered an external competition. Hence, the buyer is removed from trade.
Case 4b.
An external competition for is found; denote it by . From now on we call this agent the pivot agent and its category the pivot category. Denote the pivot category by . For each , denote by the value of the single agent in . Trade prices are calculated as follows:

The price for each agent in category is set to the value .

The price for each agent in category is set to: .
In the running example, the next member of (after the buyer is removed) is the seller . The maximum GFT of a PS that contains this seller and agents from is , for the PS ; note that the removed buyer participates in this PS. This GFT is positive so it is an external competition; the pivot category is the sellers’ category.
The prices are set to for the buyers (like the buyer in ), for the mediators (like the mediator in ), and for the sellers. The final pricevector is thus , i.e., all buyers pay , all sellers receive and all mediators receive .
Step 5.
Once the prices are calculated, the final trade is determined as follows:

For each category, count the number of members remaining in the trade.

In each category with the smallest count, all agents participate in the trade.

In each category with a larger count, there is a lottery determining who will participate in the trade.
In the running example, there are two remaining buyers () all of whom trade at price ; there are three remaining sellers () two of whom (selected at random) trade at price ; similarly, there are three remaining mediators () two of whom trade at price .
Note that selecting a different one of the categoryorders leads to a different outcome. Apriori, there is no reason to prefer one ordering over the other — our auction has the same desirable properties (proved below) for any ordering.
The SBBA auction of SegalHalevi2016SBBA SegalHalevi2016SBBA is a special case of our auction, where the recipe is . Their two variants correspond to the two orderings — buyerssellers or sellersbuyers.
3.2 Proof of correctness
First, note that there must be an agent for whom an external competition exists. In the worst case, when only one last agent of remains in the trade, the other agents of (who were previously removed from trade) form an external competition for this agent. This is because their total GFT is , which is positive since is in the optimal trade.
Lemma 1.
For each category , denote by the value of the single agent in . Then:
Proof.
For , the agent in had been removed from trade before the pivot was found, and was later used as an external competition for the pivot, so it is the same agent as in and thus .
For , the agent in had not been removed from trade, and thus, another (nontrading) agent was used as an external competition. Since the values of nontrading agents are smaller than that of trading agents, . ∎
Now we prove the properties of the auction.
Theorem 1.
The externalcompetition auction of Subsection 3.1 is stronglybudgetbalanced, individuallyrational and dominantstrategy truthful, and its gainfromtrade approaches the optimum when the optimal market size () approaches .
Proof. Strong budget balance is obvious: the price is calculated such that the sum of prices in each PS is .
Individual rationality:
we prove that the price paid by each trading agent is at most the agent’s reported value.

Each trading agent in a category pays the value of a nontrading agent in the same category . The agents in each category are ordered by descending value, and the value of each trading agent is at least as large as the value of each nontrading agent in the same category, so it is at least .

Let be the value of the pivot agent (who is an agent in ). By definition of external competition, the sum of values of agents in plus is at least , so
Since agents are ordered by descending value, the values of other trading agents are at least which is at least .
Truthfulness:
By Myerson’s theorem, it is sufficient to prove that the choice rule is monotone, and each trading agent pays his/her threshold value.
Monotonicity is obvious: an agent increasing his reported value (while other reports are fixed) is more likely to participate in the optimal trade, more likely to have an external competition, and thus more likely to remain in the trade.
To calculate the threshold value of an agent from category , we consider three cases, depending the fixed ordering of the categories:

The category comes before the pivotcategory . This means that an agent from had been removed from before the pivot was found. All agents whose value is higher than are in PS for , they do not affect the auction in any way, and they remain in the trade. Any such agent whose value drops below , replaces the agent in the PS , and has no external competition, and so is removed from the trade. Therefore, is a thresholdvalue for all agents of , and indeed .

. All agents whose value is higher than (the value of the pivot agent) are in PS for , they do not affect the auction in any way, and they remain in the trade. Consider an agent of whose value drops below but above (recall that ). We claim that this agent remains in the trade. First, is still in the optimal trade (it replaces the pivot agent in ), since:
so the GFT of plus the other agents in is still above 0. Second, is still an external competition for , since:
But, once drops below , the set is no longer an external competition, so the agent is removed from the trade. Hence, is a threshold value for all agents of .

The category comes after the pivotcategory . This means that no agent from had been removed from the trade before the pivot was found. As shown in Lemma 1, in this case . All agents whose value is higher than are in PS for , they do not affect the auction in any way, and they remain in the trade.
Consider an agent of whose value drops below but above . We claim that this agent remains in the optimal trade (it replaces the agent in ), since:
so the GFT of plus the other agents in is above 0.
But, once drops below , it is replaced by the agent in , and does not enter the optimal trade. Hence, is a thresholdvalue for all agents of , and .
Gainfromtrade:
For each and , denote by the value of the single agent in . Then the optimal GFT is:
If no traders are removed, then all these PS are trading, and the GFT equals OPT. If some traders are removed, they are removed from which is the least profitable PS. In this case, deals are made, where in each deal, the trader from each category is:

If is before the pivot — one of the highvalue traders in ;

If is the pivot or after the pivot — one of the highvalue traders in , selected at random.
Hence, the expected GFT is at least:
3.3 Ascendingprices auction
Our ascendingprices auction holds a price for each category . All prices are initialized to , and initially all agents are in the trade (since every agent will be happy to pay ). While the prices increase, each agent in category with value remains in the trade as long as , and exits the trade when (since the prices increase monotonically, agents never return to the trade after exiting). When , the agent is indifferent between trading and not trading; for simplicity, we assume that in this case the agent does not trade. Also, for simplicity we assume that the agents’ valuations are generic in the sense that, for each category , all agents have different values. During the presentation of the ascending auction, we use the same running example as in Subsection 3.1.
Step 1: Initialization.
For each category , count the number of agents in ; let be the size of the smallest category. For each category with more than agents, increase the price such that some agents leave the trade, until the number of remaining agents in all categories is .
In the running example, this step is not needed since initially there are 5 agents in each category.
Step 2.
Loop over the categories in the prespecified order. For each category , increase continuously until one of the following happens:
(a) an agent from category exits the trade, or —
(b) the sum of prices increases to zero: .
In case (a), repeat the step with the next category (after the last category, return to the first one). If a category becomes empty, the auction stops and there is no trade.
In case (b), stop and have the agents trade in the final prices: each agent in category trades at price . If, in some category, there are more remaining agents than in other categories, then a lottery is used to select who will trade.
In the running example, at the first round, the buyers’ price increases to 6, the sellers’ price increases to 11, the mediators’ price increases to 10; after the first round, there are 4 agents remaining in each category, and the sum of prices is still negative, so we continue. At the second round, the prices increase to 9, 8, 7 and the sum is still negative. At the third round, the buyers’ price increases to 13 and the sellers’ price is increased towards 5, but when it hits 6, the sum of prices becomes 0 so the auction stops. The final trade is exactly the same as in the externalcompetition auction.
Theorem 2.
The ascendingprices auction of Subsection 3.3 is stronglybudgetbalanced, individuallyrational and obviously truthful, and its gainfromtrade approaches the optimum when the optimal market size () approaches .
Proof.
SBB and IR are immediate from the description.
As for obvioustruthfulness: li2017obviously li2017obviously defines a strategy as obviouslydominant (for a given agent) if “for any deviating strategy , starting from an earliest information set where and diverge, the best possible outcome from is no better than the worst possible outcome from ”. We show that, in the ascendingprices auction, for each agent in category , the strategy of exiting when is obviouslydominant.
The worst outcome from has a value of . We now show that, for any deviation , the best possible outcome from when and diverge has a value of at most . Indeed, if is exiting too early (at some ), then the point at which and diverge is when , and at that point the outcome from has a value of . If is exiting too late (at some ), then the point at which and diverge is when , and at that point all possible outcomes from have a value of or less.
We now analyze the gainfromtrade.
Let be the category in which the protocol stops. Let be the number of traders of this category that remain in the trade. Then, in each category , there are remaining traders, and in each category , there are remaining traders.
Recall that is the number of deals in the optimal trade; we claim that :

First, suppose that the price of each category is increased up to the value of the next agent in (who did not exit the trade in the actual auction). Since the auction stopped when the sum of prices hit 0, the sum of prices after the increase is positive. Each price equals the th highest value in category . This means that there are at least procurementsets with a positive GFT, so .

Second, suppose that the price of each category is decreased down to the value of the previous agent in (who did exit the trade in the actual auction). Now the sum of prices is negative. Each price equals the th highest value in category . This means that there are not procurementsets with a positive GFT, so . Hence, .
So at least deals are done. From here, the proof is identical to the gainfromtrade proof in Theorem 1. ∎
4 General ProcurementSet Recipes
This section extends the previous one by allowing the PS recipe to be an arbitrary vector of positive integers, rather than just a vector of ones. For each category there is an integer , and every PS must contain exactly traders from this category.
We present the mechanisms using a running example in which there are two categories — buyers and sellers, and the recipe is , so that each PS should contain one buyer and two sellers. The market contains:

Five buyers with values: 17, 14, 13, 9, 6.

Nine sellers with values: 1, 2, 3, 4, 5, 7, 8, 10, 11.
For the externalcompetition auction we present a larger running example with three categories — buyers, mediators and sellers, and recipe — two buyers, two mediators and three sellers. The valuations are:

Buyers:

Mediators:

Sellers:
For the externalcompetition auction we also present a running example with two categories that illustrates the difference in Step 1 and 2 from Section 3 — buyers, sellers and recipe —three buyers, two sellers and the valuations are:

Buyers:

Sellers:
4.1 Externalcompetition auction
Step 1: PS Construction.
Order the agents in each category by descending order of their value. Combine the highestvalue agents in each category to a PS. Combine the nexthighestvalue agents in each category into a PS. Keep constructing PS as long as there are enough agents to follow the recipe of a PS. Unlike Section 3, the GFT of a constructed PS can be negative. The set of PS with positive GFT is the optimal trade. Like Section 3 we denote by the number of PS in the optimal trade. We denote by the number of PS we constructed in total (including the negative GFT ones if exist).
In the first running example, and . The optimal trade contains three PS: with GFT , with GFT , and with GFT . The remaining market contains the buyers and the sellers . The entire PS set contains, besides the three optimal PS, also with GFT . The remaining market contains the buyer and the seller , where denote the agents not in any PS negative or positive.
In the second running example, . The optimal trade contains two PS: with GFT , and with GFT . The remaining market contains the buyers , the mediators and the sellers .
In the third running example, and . The optimal trade contains the following PS: with GFT . The PS set contains also the following PS: and with GFT . The remaining market contains no buyers, and the sellers .
Step 2.
Order all the procurementsets (including the negative ones) by ascending GFT, such that, . In the first running example, is the PS . In the second running example, is the PS . In the third running example, is the PS .
Step 3.
Consider the agents in in the predetermined order of categories. Inside each category, order the agents by increasing value. In the first running example, the order is buyer , seller , seller . In the second running example, the order is buyer , buyer , mediator , mediator , seller , seller , seller . In the third running example, the order is buyer , buyer , buyer , seller , seller .
Let be the first agent in by this ordering, which has the lowest value of his category in . In the first running example is buyer , in the second running example is buyer and the third running example is buyer .
Step 4.
Look for an external competition for with a largest GFT. Importantly, an external competition is constructed using a single agent from each category (including ’s category), which is duplicated times. For example, to construct an external competition for buyer in the first running example, we take the highestvalued nontrading seller , create two copies of it, and get the PS . Its GFT is negative so it cannot serve as external competition. In the second running example, to construct an external competition for buyer , we take the highestvalued non trading mediator , create two copies of it, then take the highestvalued non trading seller , create three copies of it and get the PS . Its GFT is negative so it cannot serve as external competition. In the third running example, to construct an external competition for buyer , we take the highestvalued non trading seller , create two copies of it and get the PS . Its GFT is negative so it cannot serve as external competition.
There are two cases.
Case 4a.
No external competition for is found. Then, is removed from the trade (and added to and ), and we go back to step 4 with the next agent in .
In the first running example, as explained above, there is no external competition for buyer so it is removed from trade. Next, we consider the seller . We create two copies of it and add the highestvalued nontrading buyer (). We get the PS . Its GFT is negative so it cannot be an external competition. Hence, seller is removed from trade.
Next, we consider the seller . We create two copies of it and add the highestvalued nontrading buyer (). We get the PS . Its GFT is negative so it cannot be an external competition. Hence, seller is removed from trade.
Next, we consider the buyer . We create two copies of the highestvalued nontrading seller () and add to buyer . We get the PS . Its GFT is negative so it cannot be an external competition. Hence, buyer is removed from trade.
Next, we consider the seller . We create two copies of it and add the highestvalued nontrading buyer (). We get the PS . Its GFT is negative so it cannot be an external competition. Hence, seller is removed from trade.
In the second running example, as explained above, there is no external competition for buyer so it is removed from trade. Next, we consider the buyer . We create two copies of it and add two copies of the highestvalued nontrading mediator and three copies of the highestvalued nontrading seller . We get the PS . Its GFT is negative so it cannot be an external competition. Hence, buyer is removed from trade.
Next, we consider the mediator . We create two copies of it and add two copies of the highestvalued nontrading buyer and three copies of the highestvalued nontrading seller . We get the PS . Its GFT is negative so it cannot be an external competition. Hence, mediator is removed from trade.
Next, we consider the mediator . We create two copies of it and add two copies of the highestvalued nontrading buyer and three copies of the highestvalued nontrading seller . We get the PS . Its GFT is negative so it cannot be an external competition. Hence, mediator is removed from trade.
In the third running example, as explained above, there is no external competition for buyer so it is removed from trade. Next, we consider the buyer . We create three copies of it and add two copies of the highestvalued nontrading seller (). We get the PS . Its GFT is negative so it cannot be an external competition. Hence, buyer is removed from trade.
Case 4b.
An external competition for is found; denote it by . We denote the pivot category by .
In the first running example, the next agent to check is seller . The buyer serves as an external competition for it, since the GFT of is positive. Hence the pivot category is the category of sellers.
In the second running example, the next agent to check is seller . The buyer and seller and their copies serve as an external competition for it, since the GFT of is positive. Hence the pivot category is the category of sellers.
In the third running example, the next agent to check is buyer . The seller serves as an external competition for it, since the GFT of is positive. Hence the pivot category is the category of buyers.
The tradeprices are calculated as follows:

The price for each agent in category is set to the value of the single agent in . Note that, even if , there is still a single agent in , which we duplicate times.
In the first running example, the price for a buyer is set to . In the second running example, the price for a buyer is set to and the price for a mediator is set to . In the third running example, the price for a seller is set to .

The price for each agent in category is set to: .
In the first running example, the price for each seller is set to . In the second running example, the price for each seller is set to . In the third running example, the price for each buyer is set to .
The trade is calculated just like in Section 3. In the first running example, there are two remaining buyers () and all of them trade at price ; there are five remaining sellers () and four of them, selected at random, trade at price . In the second running example, there are two remaining buyers () and all of them trade at price ; there are two remaining mediators () and all of them trade at price ; there are six remaining sellers () and three of them, selected at random, trade at price . In the third running example, there are four remaining buyers () and three of them, selected at random, trade at price ; There are four remaining sellers () and two of them, selected at random, trade at price .
As an additional illustration of the mechanism, suppose it is run on the same market as above, but with a different category order: sellers before buyers. Then, in the first running example, the agents in are checked in order . Seller is considered first. The highestvalued nontrading buyer is , but the GFT of the PS is negative, so is removed. Similarly, is removed and so is buyer , seller and seller . Now, buyer has an external competition — the removed seller , since the GFT of is positive. The seller price is set to and the buyer price is set to . There are four remaining sellers and all of them trade at price ; there are three remaining buyers and two of them, selected at random, trade at price .
In the second running example if we consider a different category order, for instance: mediators then sellers and last buyers. Then, the agents in are checked in order . Mediator is considered first. The highestvalued nontrading buyer is and the highestvalued nontrading seller is , but the GFT of the PS is negative, so mediator is removed. Similarly, mediator is removed. Then seller is considered. The highestvalued nontrading buyer is and the highestvalued nontrading mediator is , but the GFT of the PS is negative, so seller is removed. Now, seller has an external competition — the removed mediator and nontrading buyer , since the GFT of is positive. The buyer price is set to , the mediator price is set to and the seller price is set to . There are four remaining buyers and two of them, selected at random, trade at price ; there are two remaining mediators and all of them trade at price ; there are five remaining sellers and three of them, selected at random, trade at price .
In the third running example, the agents in are checked in order . Seller is considered first. There are no buyers that are not part of a PS, so is removed. Similarly seller is removed. Buyer is considered next. The highestvalued nontrading seller is , but the GFT of the PS is negative, so buyer is removed. Similarly buyer is removed. Now, buyer has an external competition — the removed seller , since the GFT of is positive. The seller price is set to and the buyer price is set to . There are two remaining sellers and all of them trade at price ; there are four remaining buyers and three of them, selected at random, trade at price .
4.2 Proof of correctness
Individual rationality:
we prove that the price of each trading agent is at most the agent’s reported value.

Each trading agent in a category pays the value of a nontrading agent in the same category . The agents in each category are ordered by descending value, and the value of each trading agent is at least as large as the value of each nontrading agent in the same category, so it is at least .

Each trading agent in the pivot category pays , which is calculated such that: . Let be the value of the pivot agent. By definition of external competition, , so . Since agents are ordered by descending value, the values of other trading agents are at least which is at least .
Truthfulness.
As in Section 3, the monotonicity of the choicerule is obvious, and we focus on proving that each trading agent pays his/her threshold value. — To calculate the threshold value of an agent from category , we consider three cases:

The category comes before the pivotcategory . This means that agents from had been removed from before the pivot was found. The highestvalued removed agent, whose value was denoted by , participated in the external competition. All agents whose value is higher than are in PS for , they do not affect the mechanism in any way, and they remain in the trade. Any such agent whose value drops below , replaces the agent in the PS , has no external competition, and is removed from the trade. Therefore, is a thresholdvalue for all trading agents of , and indeed .

. All agents whose value is higher than (the value of the pivot agent) are in PS for , they do not affect the mechanism in any way, and they remain in the trade. Consider such agent whose value drops below but above (recall that ). We claim that is still an external competition for this agent. This is because, when each agent in is duplicated in accordance with the PS recipe, the sum of their values is (by definition of ). Adding copies of gives a total GFT of . Hence, this agent remains in the trade. But an agent whose value drops below no longer has an external competition, since now , and thus is removed from the trade. Therefore, is indeed a thresholdvalue for all agents of .

The category comes after the pivotcategory .
This means that no agent from had been removed from the trade (not necessarily the optimal trade) before the pivot was found. So no agent from in the trade, could be in an external competition. Since is the value of an agent in an external competition, is a value of an agent who was never a part of the trade. Let be the nexthighest value of an agent in — the lowest value of an agent in . All agents whose value is higher than are in PS for , they do not affect the mechanism in any way, and they remain in the trade.
Any such agent whose value drops below but above becomes a member of , since the highest value agents of are divided to PS and the agent that drops his value is still among the highest value , but the lowest value one of them.
However, since no agent of category is removed in this case, members of trade and is still in the place.
Any such agent whose value drops below , makes the member of . Therefore we conclude that is added to and is replacing it in the external competition.
Therefore, is a thresholdvalue for all agents of , and indeed .
Gainfromtrade.
For each and , denote by the sum of values of all agents in . Then the optimal GFT is:
If has positive GFT then: If no traders are removed, then all these PS are trading, and the GFT equals OPT. If some traders are removed, they are removed from . If has positive GFT, is the least profitable PS. In this case, deals are made, where the traders from category are:

If is before the pivot — the highvalue traders in (since there are traders from in the optimal trade, and the lowvalued traders were removed from before the pivot).

If is after the pivot — selected at random from the highvalue traders in .

If is the pivot — selected at random from between the high value traders in (when lowest value trader in is not removed) and (when all traders in were removed except the highest value one).
Hence, the excepted GFT is at least:
If has negative GFT and agents were removed only from ( has positive GFT). ^{4}^{4}4If has a negative GFT and no trade was removed that means by external competition that the lowest value agent in , when multiplied by is greater than the sum on of where is the largest value of an agent in not in the trade. Therefore it follows that is greater than the sum on of where is the lowest value of an agent in in the trade and in . Thus contradicting the fact that has a negative GFT.
In this case, deals are made, where the traders from category are:

If is before the pivot — the highvalue traders in (since there are traders from in the optimal trade, and the lowvalued traders were removed from before the pivot).

If is after the pivot — selected at random from the highvalue traders in .

If is the pivot — selected at random from between high value traders in .
Hence, the excepted GFT is at least:
4.3 Ascendingprices auction
Similarly to subsection 3.3, the auction maintains a price for each category . All prices are initialized to , and initially all agents are in the trade.
Step 1: Initialization.
For each category , let ; this is the largest number of PS that can be composed of agents of category . Let ; this is the largest number of PS that can be composed of the existing agents. For each category for which , increase the price such that some agents leave the trade, until the number of remaining agents in each category decreases such that . Note that, when is the category for which the minimum of is attained, we already have without any increase, so the price of this category (at least) remains , and the initial pricesum is negative.
Initialize . Informally, is the number of procurementsets that we aim to construct from the traders currently in the market. Note that initially, for every category , we have so .
In the running example, and and . In the initialization step, increases to so that the lowvalue buyer leaves. The market now has buyers and sellers. The value of is initially .
Step 2.
Loop over the categories in the prespecified order. For each category , increase until one of the following happens:
(a) The number of agents in drops to , or —
(b) The weighted sum of prices increases to zero, where the weights are the recipe constants, i.e.: .
In case (a), repeat the step with the next category in the prespecified order. After the last category, set and cycle back to the first category. If drops to then the auction ends and there is no trade.
In case (b), the auction terminates and the agents trade in the final prices. If, in some category, there are more remaining agents than needed to fill the procurementsets, then a lottery is used to select who will trade.
In the running example, at the first round, increases to so that one seller leaves. Now there are buyers and sellers so exactly PS are supported. However, the pricesum is . Hence, we decrease to and continue.
In the second round, increases to such that one buyer leaves, and increases to such that two sellers leave. The weighted sum of prices is , so we decrease to and continue.
In the third round, increases to such that one buyer leaves. We start increasing towards such that two sellers would leave, but during the increase, the price hits , and then the sum of prices is , so the auction stops.
There are now two remaining buyers () and five remaining sellers (). All remaining buyers trade and pay ; out of remaining sellers are selected at random, they trade and receive .
Theorem 3.
The ascendingprices auction of Subsection 4.3 is stronglybudgetbalanced, individuallyrational and obviously truthful, and its gainfromtrade approaches the optimum when the optimal market size () approaches .
Proof.
SBB, IR and truthfulness are obvious — just as in Theorem 2. We now analyze the gainfromtrade. Let be the final value of . Note that the number of agents remaining in each category is at least and at most .
We claim that :

First, suppose that the price of each category is increased such that exactly agents remain. Now the sum of prices is positive, and each price equals the th highest value in category . This means that there are at least procurementsets with a positive GFT, so .

Second, suppose that the price of each category is decreased to its value at the end of round , such that exactly agents remain. Now the sum of prices is negative. Each price equals the th highest value in category . The expression is at most , with equality holding iff . This means that there are not procurementsets with a positive GFT, so .
Hence, in each category , the number of agents is at least and at most . At least deals are done, and the participants are from the at most highest sets of traders in each category . From here, the proof is similar to the gainfromtrade proof in Theorem 1. ∎
5 Related Work
The literature on twosided markets is large and we do not attempt to cover it here; see e.g. [Brustle et al.2017, Babaioff et al.2018, Babaioff, Goldner, and Gonczarowski2020] for some recent references. Below we focus on auctions for markets with three or more sides.
babaioff2004concurrent babaioff2004concurrent handle a multisided market using multiple twosided submarkets, where each submarket hosts an independent doubleauction. Their example is the lemonade industry, which consists of lemon pickers, squeezers, and drinkers. In our auction, all three categories bid together in a single centralized auction with recipe ; in their setting, there are three different doubleauctions, one each for pickers, squeezers and drinkers. The submarkets are constructed so that the optimal number of deals is the same in all of them. So if the doubleauction mechanisms make deals as a function of the optimal number only, their protocol is guaranteed to have a material balance. However, their protocol does not preserve SBB: in https://github.com/erelsgl/auctions
we have a runnable example in which the same SBB doubleauction is used in all submarkets, but the combined outcome is not SBB. babaioff2004concurrent babaioff2004concurrent do present a SBB variant of their mechanism, but only in expectation, and it requires a prior distribution on the agents’ valuations. In contrast, our mechanism is SBB with probability 1, and requires no prior.
babaioff2005incentivecompatible babaioff2005incentivecompatible extend the above work from a linear supplychain to an arbitrary directed acyclic graph. For example, they consider a market in which pickers sell lemons to squeezers, sugarmakers and squeezers sell to manufacturers, and manufacturers sell lemonade to drinkers. It still does not guarantee SBB.
chen2005efficient chen2005efficient consider a supplychain auction with a sole buyer and single itemkind, but there are different producers in different supplylocations. The buyer needs a different quantity of the item in different demandlocations. The buyer conducts a reverse auction and has to pay, in addition to the cost of production, also the cost of transportation from the supplylocations to the demandlocations. They do not guarantee SBB.
designs fixed price SBB double auction under the assumptions that the buyer’s distribution dominates the seller’s distribution or that there is exponential distribution. Our result does not assume knowledge of the distribution of participating categories. Additionally, we also allow for general number of categories as opposed to two.
CKLT16,colini2017approximately CKLT16,colini2017approximately also presents SBB auctions. Their auctions target doublesided and combinatorial markets respectively. However, their goal is to maximize social welfare as opposed to our goal which is maximizing gain from trade^{5}^{5}5When optimizing gain from trade we optimize the difference between the total value of the sold items for the buyers and the total value of these items for the sellers. When optimizing social welfare in a market we optimize the sum of the buying agents’ valuations plus the sum of the unsold items’ value held by selling agents at the end of trade. Despite their conceptual similarity, the two objectives are rather different in approximation. In many cases the social welfare approximation is close to the optimal social welfare solution; however, the gain from trade approximation may not be within any constant factor of the optimal gain from trade.. Thus their mechanisms are not asymptoticallyoptimal for gain from trade. They also require a prior on the agents’ valuations.
[Feldman, Frim, and Gonen2018] presents a multilateral randomized market with buyers, mediators and sellers in the context of ad auctions. Their sellers are preassociated with the mediators and they assume that mediators and buyers arrive over time in some uniform random order. Moreover, their trade matches are conducted in two stages: first the mediator trade with the buyer on behalf of his sellers and then the mediator transfers payments to his matched sellers. Our auction unites all three categories of buyer, seller and mediator actions into a single simultaneous trade step.
Some works attempt to handle mechanisms with buyers and sellers interacting through an intermediary or trader such as [Feldman et al.2010] and [Blume et al.2007]. However, their design reduces to a onesided auction or a twosided auction.
The present work handles multiple categories of agents, but each agent is singleparametric. An orthogonal line of work [SegalHalevi, Hassidim, and Aumann2018a, SegalHalevi, Hassidim, and Aumann2018b, Gerstgrasser et al.2019] remains with two agent categories (buyers and sellers), but aims to handle multiparametric agents. Another orthogonal line of work gets around Myerson –Satterthwaite in a different way: it relaxes truthfulness but keeps the maximum GFT. See e.g. lubin2008ice lubin2008ice.
6 Experiments
We evaluated the performance of our auctions using a simulation experiment similar to the one described by mcafee1992dominant mcafee1992dominant: for several values of between and , we constructed a market with agents in each category. The value of each agent was selected uniformly at random. We performed experiments for each value of , calculated the total gainfromtrade of our auction, and divided by the total optimal gainfromtrade.
The code used for the experiments and the experiment results are available at https://github.com/erelsgl/auctions. In general, the performance of our auctions is similar to that of McAfee’s auction: in all auctions, the GFT is significantly larger than the theoretical lower bound of .
7 Future Work
The results in this paper can be generalized in several ways.
1. Allow several recipes of procurementsets. For example, suppose there are three categories: buyer, seller and purchaser. Each PS should contain either a buyer and a seller, or a purchaser and two sellers. In this case, even calculating the optimal trade, without any strategic considerations, may already be nontrivial.
2. Allow transaction costs. In general, each procurementset may have a different costoftransaction, depending on the geographic locations of the agents in the PS, as well as other factors. Again, such transaction costs make the computation of the optimal trade difficult, even before strategic considerations, and even when all transaction costs are common knowledge. We have preliminary results showing that, without any restrictions on the transaction costs, there might be no auction that satisfies all the desirable properties of Theorem 1. We believe that such an auction can be found given some natural restrictions on the transaction costs.
Acknowledgments
We are grateful to three referees of AAAI 2020 for their helpful comments.
References

[Babaioff and
Nisan2004]
Babaioff, M., and Nisan, N.
2004.
Concurrent Auctions Across the Supply Chain.
Journal of Artificial Intelligence Research (JAIR)
21:595–629.  [Babaioff and Walsh2005] Babaioff, M., and Walsh, W. E. 2005. Incentivecompatible, budgetbalanced, yet highly efficient auctions for supply chain formation. Decision Support Systems 39(1):123–149.
 [Babaioff et al.2018] Babaioff, M.; Cai, Y.; Gonczarowski, Y. A.; and Zhao, M. 2018. The best of both worlds: Asymptotically efficient mechanisms with a guarantee on the expected gainsfromtrade. In Proceedings of the 2018 ACM Conference on Economics and Computation, 373–373. ACM. arXiv preprint 1802.08023.
 [Babaioff, Goldner, and Gonczarowski2020] Babaioff, M.; Goldner, K.; and Gonczarowski, Y. A. 2020. Bulowklempererstyle results for welfare maximization in twosided markets. In Proceedings of SODA’20. arXiv preprint arXiv:1903.06696.
 [Blume et al.2007] Blume, L.; Easley, D.; Kleinberg, J.; and Tardos, E. 2007. Trading networks with pricesetting agents. In EC, 13–16.
 [Brustle et al.2017] Brustle, J.; Cai, Y.; Wu, F.; and Zhao, M. 2017. Approximating Gains from Trade in Twosided Markets via Simple Mechanisms.
 [Chen et al.2005] Chen, R. R.; Roundy, R. O.; Zhang, R. Q.; and Janakiraman, G. 2005. Efficient auction mechanisms for supply chain procurement. Management Science 51(3):467–482.
 [Clarke1971] Clarke, E. H. 1971. Multipart pricing of public goods. Public Choice 2:17–33.
 [ColiniBaldeschi et al.2016] ColiniBaldeschi, R.; de Keijzer, B.; Leonardi, S.; and Turchetta, S. 2016. Approximately efficient double auctions with strong budget balance. In SODA, 1424–1443.
 [ColiniBaldeschi et al.2017] ColiniBaldeschi, R.; Goldberg, P. W.; de Keijzer, B.; Leonardi, S.; Roughgarden, T.; and Turchetta, S. 2017. Approximately efficient twosided combinatorial auctions. In Proceedings of the 2017 ACM Conference on Economics and Computation, 591–608. ACM.
 [Feldman et al.2010] Feldman, J.; Mirrokni, V. S.; Muthukrishnan, S.; and Pai, M. M. 2010. Auctions with intermediaries: extended abstract. In ACM Conference on Electronic Commerce, 23–32.
 [Feldman, Frim, and Gonen2018] Feldman, M.; Frim, G.; and Gonen, R. 2018. Multisided advertising markets: Dynamic mechanisms and incremental user compensations. In GameSec.
 [Gerstgrasser et al.2019] Gerstgrasser, M.; Goldberg, P. W.; de Keijzer, B.; Lazos, P.; and Skopalik, A. 2019. Multiunit bilateral trade. In Proceedings of the AAAI’19, volume 33, 1973–1980. arXiv preprint 1811.05130.
 [Groves1973] Groves, T. 1973. Incentives in teams. Econometrica 41:617–631.
 [Guo et al.2013] Guo, M.; Markakis, E.; Apt, K. R.; and Conitzer, V. 2013. Undominated groves mechanisms. J. Artif. Intell. Res. (JAIR) 46:129–163.
 [Li2017] Li, S. 2017. Obviously strategyproof mechanisms. American Economic Review 107(11):3257–87.
 [Lubin et al.2008] Lubin, B.; Juda, A. I.; Cavallo, R.; Lahaie, S.; Shneidman, J.; and Parkes, D. C. 2008. Ice: An expressive iterative combinatorial exchange. Journal of Artificial Intelligence Research 33:33–77.
 [McAfee1992] McAfee, R. P. 1992. A dominant strategy double auction. Journal of Economic Theory 56(2):434–450.
 [McAfee2008] McAfee, R. P. 2008. The gains from trade under fixed price mechanisms. Applied Economics Research Bulletin 1.
 [Myerson and Satterthwaite1983] Myerson, R. B., and Satterthwaite, M. A. 1983. Efficient mechanisms for bilateral trading. Journal of Economic Theory 29(2):265–281.
 [SegalHalevi, Hassidim, and Aumann2016] SegalHalevi, E.; Hassidim, A.; and Aumann, Y. 2016. SBBA: A StronglyBudgetBalanced DoubleAuction Mechanism. In Gairing, M., and Savani, R., eds., Algorithmic Game Theory, volume 9928 of Lecture Notes in Computer Science. Springer Berlin Heidelberg. 260–272.
 [SegalHalevi, Hassidim, and Aumann2018a] SegalHalevi, E.; Hassidim, A.; and Aumann, Y. 2018a. MUDA: A Truthful MultiUnit DoubleAuction Mechanism. In Proceedings of AAAI’18. AAAI Press. arXiv preprint 1712.06848.
 [SegalHalevi, Hassidim, and Aumann2018b] SegalHalevi, E.; Hassidim, A.; and Aumann, Y. 2018b. Double Auctions in Markets for Multiple Kinds of Goods. In Proceedings of IJCAI’18. AAAI Press. Previous name: ”MIDA: A Multi Itemtype DoubleAuction Mechanism”. arXiv preprint: 1604.06210.
 [Vickrey1961] Vickrey, W. 1961. Counterspeculation, auctions and competitive sealed tenders. Journal of Finance 16:8–37.
Comments
There are no comments yet.