# Strongly Budget Balanced Auctions for Multi-Sided Markets

## Authors

• 4 publications
• 22 publications
• ### Polyhedral Clinching Auctions for Two-sided Markets

In this paper, we present a new model and mechanism for auctions in two-...
08/15/2017 ∙ by Hiroshi Hirai, et al. ∙ 0

Trades based on bilateral (indivisible) contracts can be represented by ...
08/22/2020 ∙ by Can Kizilkale, et al. ∙ 0

• ### MUDA: A Truthful Multi-Unit Double-Auction Mechanism

In a seminal paper, McAfee (1992) presented a truthful mechanism for dou...
12/19/2017 ∙ by Erel Segal-Halevi, et al. ∙ 0

• ### Verified Double Sided Auctions for Financial Markets

Double sided auctions are widely used in financial markets to match dema...
04/17/2021 ∙ by Raja Natarajan, et al. ∙ 0

• ### Formal verification of trading in financial markets

We introduce a formal framework for analyzing trades in financial market...
07/18/2019 ∙ by Suneel Sarswat, et al. ∙ 0

• ### Cost Sharing in Two-Sided Markets

Motivated by the emergence of popular service-based two-sided markets wh...
09/07/2018 ∙ by Sreenivas Gollapudi, et al. ∙ 0

• ### Single-leader multi-follower games for the regulation of two-sided Mobility-as-a-Service markets

Mobility-as-a-Service (MaaS) is emerging mobility trend driven by the co...
06/03/2021 ∙ by Haoning Xi, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Mechanism design for one-sided 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 Vickrey-Clarke-Groves (VCG) auction [Vickrey1961, Clarke1971, Groves1973] is a pillar of mechanism design. VCG auctions maximize the social welfare of the agents. They are dominant-strategy 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 two-sided markets, in which the set of agents is partitioned into buyers and sellers. As opposed to the one-sided setting, where the auctioneer initially holds the items, in the two-sided 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 two-sided markets can be attributed to various important applications. Examples range from selling display-advertising 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., multi-sided markets.

For double-sided 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 double-auction 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 . 222 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.

The complexity of practical requirements in areas such as supply chain require one to look beyond double-sided 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 multi-sided 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 multi-sided 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 well-performing procedure that generalizes [McAfee1992]’s trade reduction. The shift to thinking in terms of competition allows us to broadly address situations common to multi-sided 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 direct-revelation multi-sided auction, our result presents a multi-sided ascending-prices auction that implements the same outcome. In the theory of one-sided auctions, it is well-known that a second-price direct-revelation auction and an ascending-prices auction are strategically equivalent. In both auctions, the agent with the highest value wins and pays the second-highest value. However, an ascending-prices auction has the advantage that it is obviously truthful

(see li2017obviously li2017obviously for formal definitions and proofs). The practical advantage of an obviously-truthful 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 multi-sided 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 open-source 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 pairwise-disjoint, 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 procurement-set (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 two-sided 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 two-sided market, the value of a buyer is typically positive while the value of a seller is typically negative. The agents are quasi-linear in money: the utility of agent participating in some PS and paying is .

The gain-from-trade of a procurement-set , denoted , is the sum of values of all agents in :

 \textscGFT(S):=∑i∈Svi.

In a standard two-sided 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 pairwise-disjoint procurement-sets. 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 procurement-sets participating in the trade:

 \textscGFT(S1,…,Sk):=k∑j=1\textscGFT(Sj)

A trade is called optimal if its GFT is maximum over all possible trades.

### 2.3 Competition

Our direct-revelation 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:

 GFT(T∪{i})≥0

In a simple two-sided market, the external competition of a trading buyer is a non-trading seller whose value is sufficiently high such that, combining the trading buyer with the non-trading seller yields a pair with a GFT above .

In a three-sided market with buyers, sellers and mediators, with , an external competition of a trading buyer is a pair of a non-trading seller and a non-trading 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 External-competition 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 highest-value agents in each category to a PS. Combine the next-highest-value 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 procurement-sets in the optimal trade by ascending GFT, such that, . In the running example, is the PS .

#### Step 3.

Consider the agents in in the pre-determined 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 price-vector 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 category-orders leads to a different outcome. A-priori, 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 — buyers-sellers or sellers-buyers.

### 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:

 ∑g≠govTg≤∑g≠govSg
###### 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 (non-trading) agent was used as an external competition. Since the values of non-trading agents are smaller than that of trading agents, . ∎

Now we prove the properties of the auction.

###### Theorem 1.

The external-competition auction of Subsection 3.1 is strongly-budget-balanced, individually-rational and dominant-strategy truthful, and its gain-from-trade 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 non-trading 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 non-trading 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

 vSo+∑g≠govTg≥0 ⟹ vSo≥−∑g≠govTg=po

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:

1. The category comes before the pivot-category . 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 threshold-value for all agents of , and indeed .

2. . 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:

 vo+∑g≠govSg ≥vo+∑g≠govTg~{}~{}(by Lemma ???) =vo−po~{}~{}(by definition of po) ≥0~{}~{}(by assumption on vo),

so the GFT of plus the other agents in is still above 0. Second, is still an external competition for , since:

 vo+∑g≠govTg=vo−po≥0.

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 .

3. The category comes after the pivot-category . 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:

 GFT(S1)−vSg+vg ≥GFT(S1)−vSg+vTg =vSo+∑g≠govSg−vSg+vTg ≥vSo+∑g≠govTg~{}~{}(by Lemma % ???) ≥0~{}~{}(T1 is an external competition)

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 threshold-value for all agents of , and .

For each and , denote by the value of the single agent in . Then the optimal GFT is:

 OPT=∑g∈Gk∑j=1vjg

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 high-value traders in ;

• If is the pivot or after the pivot — one of the high-value traders in , selected at random.

Hence, the expected GFT is at least:

 ∑g

### 3.3 Ascending-prices auction

Our ascending-prices 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 pre-specified 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 external-competition auction.

###### Theorem 2.

The ascending-prices auction of Subsection 3.3 is strongly-budget-balanced, individually-rational and obviously truthful, and its gain-from-trade approaches the optimum when the optimal market size () approaches .

###### Proof.

SBB and IR are immediate from the description.

As for obvious-truthfulness: li2017obviously li2017obviously defines a strategy as obviously-dominant (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 ascending-prices auction, for each agent in category , the strategy of exiting when is obviously-dominant.

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.

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 procurement-sets 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 procurement-sets with a positive GFT, so . Hence, .

So at least deals are done. From here, the proof is identical to the gain-from-trade proof in Theorem 1. ∎

## 4 General Procurement-Set 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 external-competition 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:

• Mediators:

• Sellers:

For the external-competition 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:

• Sellers:

### 4.1 External-competition auction

#### Step 1: PS Construction.

Order the agents in each category by descending order of their value. Combine the highest-value agents in each category to a PS. Combine the next-highest-value 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 procurement-sets (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 pre-determined 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 highest-valued non-trading 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 highest-valued non trading mediator , create two copies of it, then take the highest-valued 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 highest-valued 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 highest-valued non-trading 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 highest-valued non-trading 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 highest-valued non-trading 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 highest-valued non-trading 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 highest-valued non-trading mediator and three copies of the highest-valued non-trading 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 highest-valued non-trading buyer and three copies of the highest-valued non-trading 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 highest-valued non-trading buyer and three copies of the highest-valued non-trading 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 highest-valued non-trading 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 trade-prices 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 .

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 highest-valued non-trading 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 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 highest-valued non-trading 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 non-trading 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 non-trading 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 choice-rule 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:

1. The category comes before the pivot-category . This means that agents from had been removed from before the pivot was found. The highest-valued 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 threshold-value for all trading agents of , and indeed .

2. . 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 threshold-value for all agents of .

3. The category comes after the pivot-category .

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 next-highest 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 threshold-value for all agents of , and indeed .

For each and , denote by the sum of values of all agents in . Then the optimal GFT is:

 OPT=∑g∈Gk∑j=1Vg,j

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 high-value traders in (since there are traders from in the optimal trade, and the low-valued traders were removed from before the pivot).

• If is after the pivot — selected at random from the high-value 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:

 ∑g≤gok∑j=2Vg,j+∑g>gok−1kk∑j=1Vg,j ≥ ∑g∈Gk−1kk∑j=1Vg,j = k−1kOPT.

If has negative GFT and agents were removed only from ( has positive GFT). 444If 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 high-value traders in (since there are traders from in the optimal trade, and the low-valued traders were removed from before the pivot).

• If is after the pivot — selected at random from the high-value traders in .

• If is the pivot — selected at random from between high value traders in .

Hence, the excepted GFT is at least:

 ∑g≤gok∑j=2Vg,j+∑g>gok−1kk∑j=1Vg,j ≥ ∑g∈Gk−1kk∑j=1Vg,j = k−1kOPT.

### 4.3 Ascending-prices 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 price-sum is negative.

Initialize . Informally, is the number of procurement-sets 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 low-value buyer leaves. The market now has buyers and sellers. The value of is initially .

#### Step 2.

Loop over the categories in the pre-specified 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 pre-specified 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 procurement-sets, 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 price-sum 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 ascending-prices auction of Subsection 4.3 is strongly-budget-balanced, individually-rational and obviously truthful, and its gain-from-trade 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 gain-from-trade. 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 procurement-sets 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 procurement-sets 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 gain-from-trade proof in Theorem 1. ∎

## 5 Related Work

The literature on two-sided 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 multi-sided market using multiple two-sided sub-markets, where each sub-market hosts an independent double-auction. 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 double-auctions, one each for pickers, squeezers and drinkers. The sub-markets are constructed so that the optimal number of deals is the same in all of them. So if the double-auction 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 double-auction is used in all sub-markets, 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 supply-chain to an arbitrary directed acyclic graph. For example, they consider a market in which pickers sell lemons to squeezers, sugar-makers and squeezers sell to manufacturers, and manufacturers sell lemonade to drinkers. It still does not guarantee SBB.

chen2005efficient chen2005efficient consider a supply-chain auction with a sole buyer and single item-kind, but there are different producers in different supply-locations. The buyer needs a different quantity of the item in different demand-locations. The buyer conducts a reverse auction and has to pay, in addition to the cost of production, also the cost of transportation from the supply-locations to the demand-locations. They do not guarantee SBB.

[McAfee2008]

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 double-sided and combinatorial markets respectively. However, their goal is to maximize social welfare as opposed to our goal which is maximizing gain from trade555When 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 asymptotically-optimal 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 pre-associated 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 one-sided auction or a two-sided auction.

The present work handles multiple categories of agents, but each agent is single-parametric. An orthogonal line of work [Segal-Halevi, Hassidim, and Aumann2018a, Segal-Halevi, Hassidim, and Aumann2018b, Gerstgrasser et al.2019] remains with two agent categories (buyers and sellers), but aims to handle multi-parametric 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 gain-from-trade of our auction, and divided by the total optimal gain-from-trade.

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 procurement-sets. 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 non-trivial.

2. Allow transaction costs. In general, each procurement-set may have a different cost-of-transaction, 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.