1 Introduction
We focus on marketplaces that contain multiple vendors offering a single product and unitdemand buyers. For example, we may think of software development companies, each offering an operating system. Each potential user is interested in buying one operating system from some software company and has preferences over the different options available in the market. Her final choice depends not only on her preferences but also on the prices of the available products; eventually, each user will choose the product with the best value for money, or will simply abstain from purchasing a product if the available options are not satisfactory for her. In turn, vendors are aware of this buyer behaviour and aim to set the price of their product to a value that will maximize their profit. In particular, the dilemma a vendor faces is to select between a very small price that will guarantee a large market share or a huge price that will be attractive only to a few buyers. Of course, there are usually many options in between, and coming up with a pricing that will maximize profits in such an environment is rather challenging.
We model the above scenario as a twostage fullinformation game (with both the vendors and the buyers as players) which we call a price competition game
. In the first stage, each vendor selects the price of its product among a set of viable price values (i.e., the price values that are above a fixed production cost per unit of product). Buyers have unit demands and (possibly different) valuations for vendors. Together with the valuations of buyers, a vector of prices (with one price per vendor) determines in a second stage the most attractive vendor for each buyer. Each vendor has full information about the valuations of buyers and can predict their behaviour. The objective of each vendor is to set its price so that its profit (i.e., volume of buyers it attracts times the difference of price and production cost) is maximized given the prices of the other vendors.
We present a list of results for these price competition games. Our starting point is the observation that equilibria (i.e., buyerstovendors assignments and corresponding prices so that all vendors and all buyers are satisfied) are guaranteed to exist only when all buyers have the same valuations; price competition games with buyers belonging to at least two different types (with respect to their valuations) may not have equilibria. Even when equilibria exist, they may be highly suboptimal. We use the notion of the price of anarchy (introduced by Koutsoupias and Papadimitriou [11]; see also Papadimitriou [17]) to quantify how low the social welfare of equilibria can be compared to the optimal one. The social welfare is essentially the sum of buyer utilities and vendor profits. We also formulate several variations of equilibrium computation problems and present complexity results about them. These range from polynomialtime algorithms (e.g., for the problem of determining prices that form an equilibrium together with a given buyerstovendors assignment) to hardness results (e.g., for the general problem of deciding whether a given price competition game admits an equilibrium). Motivated by the negative results on the existence and quality of equilibria, we investigate whether efficient buyerstovendors assignments can be enforced as equilibria by subsidizing the vendors. Our main contribution here is conceptual: subsidies can indeed overcome the drawbacks of price competition. Our technical contributions include tight bounds on the amount of subsidies sufficient to enforce a social welfaremaximizing buyerstovendors assignment as an equilibrium, as well as inapproximability results for the problem of minimizing the amount of subsidies sufficient to do so.
Our model is very similar to (and actually inspired from) the one considered by Meir et al. [14] who focus on the impact of discounts (i.e., prices that are decreasing functions of demand) on vendors’ profit compared to fixed prices. After observing that price discounts have no impact at all in the fullinformation setting, they mostly focus on a Bayesian setting with uncertainty on buyers’ valuations. In contrast, we restrict our attention to the fullinformation model and consider only fixed prices. As we will see, this simple setting is very rich from the computational point of view. With the work of Meir et al. [14] as an exception, our assumptions differ significantly from most of the literature on price competition. For example, unlike early models such as the ones proposed by Cournot and Bertrand (see the book of MasColell et al. [13]) as well as very recent refinements (e.g., the work of Babaioff et al. [2]), we assume that all vendors have unlimited supply. Also, contrary to other recent models that consider buyers with combinatorial valuations for bundles of different products as in the papers of Guruswami et al. [10], Chawla and Roughgarden [6], Babaioff et al. [3], Lev et al. [12] and more, we specifically assume that each buyer is interested in obtaining just a single product. In this way, the decision each buyer faces is rather trivial and this allows us to concentrate on the competition between the vendors. On a more technical level, we implicitly assume an infinite number of buyers and use the notion of buyer types to distinguish between sets of buyers; this is a less important difference of our model to previous work on pricing.
The use of subsidies in price competition games suggests yet another way of introducing external monetary incentives in games; such incentives (or disincentives) have been considered in many different contexts. Much of the work in mechanism design uses such incentives to motivate players to act truthfully (see [16] for an introduction to the field). The (apparently nonexhaustive) list also includes their use in cooperative game theory in order to encourage coalitions of players to reach stability [4] and as a means to stabilize normal form games [15]. As in [1] and [5], the use of monetary incentives in the current paper aims to improve efficiency. Monetary disincentives like taxes have been used to improve the efficiency of network routing (see [7] and the references therein for a relatively recent approach that extends early developments in the literature of the economics of transportation) and, in the recent AI literature, in boolean games [18].
The rest of the paper is structured as follows. We begin with preliminary definitions in Section 2. Then, we consider questions about the existence of equilibria in price competition games and their price of anarchy in Section 3. We formulate computational problems for equilibria and study related complexity questions in Section 4. We investigate the potential of subsidizing specific vendor prices in Section 5 and, finally, we conclude with open questions in Section 6.
2 Preliminaries
Our setting includes a set containing
vendors targeting a large population of buyers. The buyers are classified into
buyer types from a set . We denote by the volume of buyer type . Each of these buyers has a nonnegative valuation for vendor (representing the satisfaction each buyer of type has when buying the product of vendor ). Each vendor has a nonnegative cost per unit of product; we refer to as the production cost of vendor . The objective of each vendor is to determine a price for its product; naturally, so that the vendor always has nonnegative profit. A price vector (containing a price per vendor) defines a demand set which, for each buyer type , denotes the set of vendors that maximize the utility of the buyers of type , i.e., . Intuitively, the demand set for buyers of type consists of the most attractive vendors for these buyers. We assume that the operator returns (a set containing) an artificial vendor which represents an “abstain” option that a buyer has when its maximum utility (over all vendors) is nonpositive. With a small abuse of notation, we introduce an extra vendor into in order to represent this abstain option for buyers; this vendor has production cost of , it always has a price of , and the valuations of buyers for it are . A buyerstovendors assignment (or, simply, an assignment) is represented by an matrix which denotes how the volume of the buyers of each type is split among different vendors. In particular, the entry denotes the volume of buyers of type that are assigned to vendor and it must be for every buyer type . An assignment is consistent to a price vector if implies . We can interpret such an assignment as maximizing the utility of buyers given the price vector . We will denote by the total utility of buyers of type given a price vector and a consistent assignment .We study the game induced among vendors and buyers and use the term price competition game to refer to it. This can be thought of as a two stage game. At a first stage, the strategy of each vendor is its price. At a second stage, the buyers respond to these prices as described above. The utility of vendor , when the vendors use a price vector and the buyers are assigned to vendors according to an assignment that is consistent to , is defined as . Vendors are utilitymaximizers. A price vector and a consistent assignment form a (pure Nash) equilibrium when for every vendor , the price maximizes the utility among all prices and all assignments that are consistent to . Here, the notation is used to represent the price vector where all vendors besides use the prices in and vendor has deviated to price .
The social welfare of an assignment is defined as
This definition does not require the assignment to be consistent to a price vector and can be used to define the optimal social welfare as
When the assignment is consistent to a price vector , the social welfare can be equivalently seen as the total utility of vendors and buyers since
The price of anarchy of a price competition game is the ratio of the optimal social welfare over the minimum social welfare among all equilibria. Of course, this is welldefined only for price competition games that do have equilibria.
In the following, we sometimes use the abbreviation instead of and write instead of the set for an integer .
3 Existence and quality of equilibria
As a warm up, we present a negative result that reveals a strong relation of the price of anarchy of price competition games to the number of buyer types.
Lemma 1.
There are onevendor price competition games with price of anarchy that is arbitrarily close to .
Proof.
Consider a price competition game with buyer types and one vendor with a production cost of . Let . The volume of a buyer type is . The valuation of buyers of type is for and . By setting its price up to for , the vendor can only get a utility of at most by attracting the buyers of type . By the definition of , this utility is at most . This is smaller than the utility the vendor would have by selecting a price of and attracting only the buyers of type (the remaining buyers simply abstain). This is an equilibrium in which the utility of the vendor (as well as the social welfare) is . In contrast, the social welfare of the assignment in which all buyers are assigned to the vendor is ; the inequality holds by the definition of and since . The price of anarchy is then at least which can become arbitrarily close to by selecting appropriately. ∎
Interestingly, the price of anarchy does not depend on any other quantity and the lower bound of Lemma 1 is tight.
Theorem 2.
The price of anarchy of any price competition game with buyer types is at most .
Proof.
Consider an equilibrium of a price competition game. We first claim that if buyers of some type are split between two vendors and , then it must be and (hence, the two vendors have zero utility) and the assignment in which all these buyers are assigned to vendor without changing the prices is still an equilibrium and has the same social welfare. This is due to the fact that, at equilibrium, the utilities of buyers assigned to and should be the same. Hence, if one of the two vendors had a price strictly higher than its production cost, it could increase its utility by negligibly decreasing its price; this would result in attracting all buyers of type previously assigned to and . So, by moving all buyers of type from vendor to vendor , we still have an assignment that is consistent to in which the utilities of buyers and vendors do not change. Clearly, this new assignment is an equilibrium with a social welfare equal to the initial one.
So, without loss of generality, we consider an equilibrium such that, for every , all buyers of type are assigned to the same vendor , i.e., . We denote by the vendor where the buyers of type are assigned in . Also, we denote by the vendor to which the buyers of type are assigned in an optimal assignment. We can further assume that when , this implies that . If this is not the case and it is , we can consider the optimal assignment that assigns the buyers of type to vendor .
We will show that
(1) 
for every . Then, the following derivation can prove the theorem:
The first inequality follows by the definition of the social welfare, the second one follows from the fact that the function can assign at most all buyer types to the same vendor, and the third one follows from (1).
It remains to prove inequality (1). If , we use the fact that vendor attracts (at least) the buyers of type at equilibrium. Hence,
If , let . By our assumption above and since , we have
This means that vendor can consider deviating to any price value from the nonempty interval . Since , with this deviation, vendor attracts the buyers of type from vendor . Using the equilibrium condition (and denoting by the resulting assignment when vendor deviates to price ), we have that
Since the above inequality holds for any , it must also be
This completes the proof of the theorem. ∎
Recall that the upper bound on the price of anarchy is meaningful only for games that admit equilibria. In the following, we show that games with one buyer type always have equilibria (and, by Theorem 2, they also have optimal social welfare) while the existence of a second buyer type may result to instability.
Lemma 3.
Price competition games with one buyer type always have at least one equilibrium.
Proof.
Consider a price competition game with one buyer type. We use the simplified notation to denote the valuation of the buyers for vendor . Let and be two vendors with the highest values for the difference . Set and for any vendor . We claim that this price vector together with the consistent assignment that assigns the buyers to vendor is an equilibrium. Indeed, no vendor has any incentive to change its price; a decrease would result in negative utility while an increase would not change the assignment. Moreover, vendor has no incentive to change its price; a decrease can only lower its utility while an increase would result in a new assignment in which all buyers are attracted by vendor . ∎
Lemma 4.
There exists a price competition game with two buyer types that admits no equilibrium.
Proof.
Consider the price competition game with two buyer types of unit volume each and two vendors with a production cost of . We use the terms left and right to refer to the vendors and buyer types. The valuation of the left buyers is for the left vendor and for the right vendor; the valuation of the right buyers is for the left vendor and for the right vendor. We show that no pair of a price vector (with prices and for the left and the right vendor, respectively) and consistent assignment can be an equilibrium. We distinguish between cases.
If only the left vendor is assigned buyers (the argument holds symmetrically for the right vendor), the right vendor can attract the right buyers by setting its price to any nonzero value smaller than and increase its utility from to positive.
The case where the left vendor gets no left buyers and the right vendor gets no right buyers requires the inequalities and which imply that and . This in turn implies that no vendor receives any buyers and by setting its price to a value negligibly smaller than would attract either the left or the right buyers and increase its utility from to arbitrarily close to .
The only remaining case is when some left buyers are assigned to the left vendor and some right buyers are assigned to the right vendor. This requires the two inequalities and . Clearly, if the first inequality is strict, the left vendor can increase (and, consequently, its utility) so that the first inequality becomes equality. Similarly, the second inequality should be an equality as well. So, the requirements for this case are actually the equalities and . The only prices that satisfy both equalities simultaneously are which do not form an equilibrium since any vendor can set its price to a value negligibly smaller than , attract all buyers, and increase its utility from to arbitrarily close to . The proof is complete. ∎
4 Complexity of equilibria
We begin the discussion of this section by formulating some concrete computational problems related to equilibria of price competition games.
VerifyEquilibrium: Given a price vector and a buyerstovendors assignment in a price competition game , decide whether is an equilibrium of .
ComputePrice: Given a buyerstovendors assignment in a price competition game , decide whether there exists a price vector to which is consistent so that is an equilibrium of .
PriceCompetition: Decide whether a given price competition game has any equilibrium or not.
VerifyEquilibrium can be easily seen to be solvable in time . First, one needs to check whether is consistent to , i.e., whether the utility of each buyer type is maximized at the vendor(s) used in ; this can be done by computing at most buyer utilities. Then, for every vendor and every buyer type , it suffices to compute the maximum price level which is sufficient so that vendor attracts buyers of type and the vendor’s utility when deviating to this price level (equal to the volume of buyers it attracts times the difference of the price level from the production cost). The final decision is YES if is consistent to and the utility of all vendors in is equal to the maximum utility over all the deviations considered; otherwise, it is NO. In the following, we call this algorithm Verify.
The problem ComputePrice looks significantly more difficult at first glance since there are too many price vectors (to which is consistent) that have to be considered. Interestingly, we will present a polynomialtime algorithm (henceforth called CandidatePrice) which, given a price competition game and a buyerstovendors assignment , comes up with a single candidate price vector that can in turn easily be checked whether it forms an equilibrium together with using Verify.
CandidatePrice works as follows. It first computes a set of seed vendors which will have a price equal to their production cost. In order to define , it is convenient to consider the directed graph that has a node for each vendor and a directed edge from node to node labelled by if buyers of type are assigned to vendor in and, furthermore, . Now, the set is defined recursively as follows:

Any vendor that is not assigned any buyer in belongs to ; such a vendor is called empty.

Any vendor such that belongs to .

Any vendor that is part of a directed cycle in belongs to .

Any vendor that has a directed edge to a vendor of also belongs to .
CandidatePrice returns the price vector with for each seed vendor and
for each nonseed vendor.
The correctness of the algorithm is given by the following lemma.
Lemma 5.
Let be the price vector returned by CandidatePrice on input a price competition game and a buyerstovendors assignment . If admits an equilibrium , then for every nonempty vendor .
Proof.
Given the price vector , we construct a new price vector by setting for every empty vendor in and for every other vendor . Since is an equilibrium, is an equilibrium as well. To see why, it suffices to show that no buyer has any incentive to deviate to an empty vendor in . Assume otherwise that buyers of type are assigned to a vendor in and satisfy for some vendor that is empty in . This means that and vendor could set its price to a sufficiently small but positive price to attract the buyers of type and increase its utility from to positive.
Consider the price vector returned by CandidatePrice; we will show that and the theorem will follow. To do so, we will show that satisfies the very same properties as does. Clearly, has the desired structure for vendors that are empty in . Also, for any nonempty vendor with , it should obviously be since is consistent to .
Now consider a directed cycle of length in ; we have to show that for each vendor . Let , , …, be the vendors in and denote by , , …, the (not necessarily distinct) labels of the corresponding edges. Observe that the (consistency) conditions that guarantee that the buyers of type do not prefer vendor to vendor for and buyers of type do not prefer vendor to vendor together with the conditions defining the directed cycle can only hold if for all and . Now, if there is a vendor with , let be the predecessor of in . Then, by negligibly decreasing , vendor could also attract the buyers assigned to both vendor and itself in ; this would strictly increase its utility, contradicting the fact that is an equilibrium.
We will also show that for every vendor that is identified as a seed vendor by the recursive step 4 of CandidatePrice, it is . Assume otherwise and consider the first vendor that is identified as seed vendor by the recursive step 4 that has . This means that there is an edge from to some seed vendor in labelled by and, hence, . By our assumption that is the first seed vendor with identified at step 4 of the algorithm, it is . Hence, which contradicts the consistency of to .
We now focus on the nonseed vendors. First, we will prove that for every such vendor , it must be . Consider the subgraph that is induced by the nodes of corresponding to nonseed vendors. By the definition of seed vendors, is acyclic and its vendors are nonempty. We will show that the inequality holds for the leaves of and will then use this fact to also show that it holds for their parents and, recursively, for all vendors in . For a leaf vendor of , its price may satisfy only if there is a buyer type and another vendor so that . But then, it is and, hence, should also contain the directed edge from to . Since is nonseed, should be nonseed as well and the edge should exist in , contradicting the fact that is a leaf in . Now, let be a nonseed vendor with such that all its children in have . Again, there is a buyer type and another vendor so that . By our assumptions, this also implies that and is one of the children of . But then, can negligibly decrease its price to attract (in addition to all the buyers it gets in ) the buyers assigned to as well; this would increase the utility of vendor . This contradicts the fact that is an equilibrium and establishes that for every nonseed vendor .
It remains to show that for every nonseed vendor , is given by the same expression as . If there are no seed vendors, assume that there is a vendor with . Then, the only reason that may prevent vendor from increasing its price is that there is a buyer of type and another vendor such that . Since is a nonseed vendor, it is and, hence, vendor could negligibly decrease its price to attract (in addition to all the buyers it gets in ) the buyers assigned to as well; this would increase the utility of vendor .
Instead, if the set of seed vendors is nonempty, we will show that every nonseed vendor has . First, assume otherwise that . By the definition of , this means that there is a seed vendor and a buyer type such that and subsequently (since ), . This contradicts the consistency of to . Finally, assume that . Then, the only reason that may prevent vendor from increasing its price is that there is a buyer of type and another vendor such that . If , the last equality also implies that contradicting our assumption. Hence, it must be , i.e., . Then, vendor could negligibly decrease its price to attract (in addition to the buyers it gets in ) the buyers assigned to as well; this would increase the utility of vendor . This completes the proof that . ∎
We now turn our attention to PriceCompetition and first consider the cases where either the number of buyer types or the number of vendors is constant. If the number of buyer types is constant, then there are at most different buyerstovendors assignments and corresponding instances of ComputePrice that we need to consider.^{1}^{1}1At first glance, we have to consider all possible ways to split the volume of the buyers among different vendors. A naive implementation could require exponential time but, fortunately, using the same argument as in the first paragraph of the proof of Theorem 2, we can safely conclude that we only need to consider nonfractional assignments. The case of a constant number of vendors (this can be thought of as an oligopoly) is considerably more involved but still computable in polynomial time as we show in the following.
For a fixed price vector , we define the induced preference, denoted by , of buyers of type as if and if . We use the term preference profile to refer to a combination of buyer preferences. The main idea is to enumerate the different preference profiles that are defined for all price vectors . Observe that the sign (from ) of the expression indicates whether buyers of type prefer vendor to vendor (i.e., ), are indifferent between the two (i.e., ), or prefer vendor to (i.e., ). The number of different preferences of buyers between the two specific vendors is given by the number of different sign patterns for the expressions for as the difference runs from to . Since there are at most different values of the difference , this number is at most . In total, the number of distinct sign patterns we need to enumerate in order to consider all distinct preference profiles is at most ; this is polynomial in when is constant.
When considering a preference profile , we compute the following assignment which should be given to CandidatePrice in order to return a price vector ; the pair will in turn be given to Verify to detect whether it corresponds to an equilibrium or not. For each buyer type with a unique top preference (i.e., strictly preferring a particular vendor to all others), assigns buyers of type to their most preferred vendor. For each buyer type that has a set of at least two vendors tied as its top preference, assigns to a(ny) vendor of maximizing . We call this algorithm Enumerate.
Clearly, on input a price competition game that does not admit an equilibrium, Enumerate will not find any. The next lemma completes the proof of correctness of Enumerate.
Lemma 6.
On input a price competition game, Enumerate returns an equilibrium if one exists.
Proof.
Assume that Enumerate is applied on input a price competition game that admits an equilibrium . If is the unique assignment that is consistent to , Enumerate will consider the preference profile corresponding to vector and will pass the uniquely defined assignment as input to CandidatePrice to compute a price vector ; by Lemma 5, will form an equilibrium of .
Now, assume that is not the unique assignment that is consistent to . Denote by the assignment computed by Enumerate (notice that is consistent to as well) when considering the preference profile that corresponds to the price vector . We will show that is an equilibrium as well; then, Lemma 5 guarantees that an equilibrium will be found when Enumerate will run CandidatePrice with input assignment .
Consider a buyer type with and for two different vendors and . By our assumptions, we have (since buyers of type are indifferent between vendors and in ) and (since Enumerate set ). We will show that and . Indeed, assume that . Then, by negligibly decreasing its price in , vendor could increase its utility by attracting (in addition to the buyers it gets in ) all the buyers of type . Hence, and . By the inequality , we obtain that . The lemma follows since the different assignment of buyers in and does not affect the utility of the corresponding vendors (which is zero). ∎
The restrictions on the numbers of vendors or buyer types are necessary in order to come up with efficient algorithms for PriceCompetition (unless ).
Theorem 7.
PriceCompetition is NPhard.
Proof.
We use a reduction from the wellknown NPhard ExactCover problem (XC) which is formally described as follows.
Exact3Cover: Given a universe of elements and a collection of sized subsets of , is there a cover consisting of disjoint sets?
Given an instance of XC we describe an instance of PriceCompetition as follows:

For every subset , there is a setvendor ;

for every element , there are two vendors and ;

for every element , there is an elementbuyer type with volume , and valuations for every vendor such that , for vendor , and for vendor ;

for every element , there is a buyer type with volume and valuation for vendor , and for vendor ;

for every subset , there are two buyer types: one buyer type with volume and valuation for vendor , and one buyer type with volume and valuation for vendor ;

all valuations not mentioned above and all production costs are zero.
First, observe that in any equilibrium , a vendor corresponding to the set of may have been assigned

either the buyers of type by setting its price to , i.e., equal to the valuation ;

or the buyers of types , , , , and by setting its price to , i.e., equal to the valuation .
To see why the above claim is true, observe that, in any case, the utility of vendor is . Clearly, by decreasing its price so that it lies in the ranges or , the utility of the vendor becomes strictly smaller than since any consistent assignment will belong to one of the two cases. By setting the price in the range , no consistent assignment includes the buyers of type and, hence, the utility of vendor is at most .
Now, assume that the initial X3C instance is a YES instance with a cover consisting of sets from . Then, consider the price vector with for every set , for every set , and and for every . Let be the consistent assignment that assigns each element buyer of type to the set vendor such that and , assigns buyer of type to vendor for every set , assigns buyer of type to vendor for every set and let the buyers of type abstain for every set , and assigns buyers of type to vendor . We now argue that is an equilibrium. All the set vendors follow one of the two strategies mentioned above. For every element , the vendors and are essentially engaged in a twovendor game competing only for buyers of type since the buyers of type have a utility of at vendor with and their deviation to a vendor among and would never increase their utility to above . Observe that the particular set of prices and is an equilibrium in this twovendor game.
On the other hand, if the initial X3C instance is a NO instance, we claim that no assignment of buyers to vendors can be consistent to a price vector so that is an equilibrium. Assume otherwise. Then, observe that there will be at least one element that is not assigned to a set vendor, since X3C admits no exact cover. As observed above, if is an equilibrium, then for every set containing . Hence, the element buyers of type would have the option either to abstain (or be assigned to some other vendor; in both cases, their utility is ) or be assigned to one of the two vendors and . But then, observe that these two vendors would follow the circular dynamics in the counterexample of Lemma 4; this implies that no equilibrium exists and the proof is complete. ∎
5 Enforcing equilibria using subsidies
We now consider the option to use subsidies. A subsidy given to a vendor aims to compensate it for setting its price at a particular value. In this way, subsidies can be used to enforce a particular pair of price vector and consistent buyerstovendors assignment. Formally, given a price vector and a consistent assignment , denote by the maximum utility of vendor over all deviations and all assignments that are consistent to . Vendor has no incentive to follow any such deviation when it is given an amount of subsidies . If this inequality holds for every vendor , we say that the pair is enforced as an equilibrium. We denote by the entrywise minimum subsidy vector that enforces as an equilibrium, i.e., . We use the terms “total amount” and “cost” to refer to the sum of all entries of a subsidy vector.
Our first observation is that a large amount of subsidies may inherently be necessary in order to enforce any equilibrium.
Theorem 8.
For every , there exists a price competition game, in which no subsidy assignment of cost smaller than can enforce any pair of price vector and consistent buyerstovendors assignment as an equilibrium.
Proof.
As in the proof of Lemma 4, we use a price competition game with two buyer types of unit volume each and two vendors. Let ; then the valuations are and . We will show that no price vector and consistent buyerstovendors assignment can be enforced as an equilibrium using an amount of subsidies less than . The optimal social welfare is and the theorem will follow by setting to a sufficiently small positive value.
Consider a buyerstovendors assignment and let and be the two prices to which is consistent. First observe that the left vendor will attract buyers of both types by setting its price to (any value that is negligibly smaller than) (if positive) while it can attract the buyers of left type by setting its price to (any value that is negligibly smaller than) ; the two terms in the expression denote the price necessary so that the buyers do not abstain and prefer the left vendor to the right one. Hence, by expressing the subsidies in terms of the maximum utility of the vendors at any deviation minus their current utility we get an amount of subsidies that is
(2)  
We will distinguish between cases (omitting symmetric ones) depending on the price values and and will use (2) to show that in any case.
Case 1: . All buyers abstain and both expressions evaluate to at least .
Case 2: and . The left buyers abstain and the right buyers may either abstain or be assigned to the right vendor. By just considering the subsidies at the left vendor and the utility of the right one (first and last term of (2)), we get .
Case 3: and . The right vendor may attract all buyers and the amount of subsidies in it is at least . The amount of subsidies at the left vendor is then at least . In total, .
Case 4: . The left (respectively, right) buyers can only be assigned to the left (respectively, right) vendor. Since the expressions of (2) evaluate to and , we have .
Case 5: and . The right hand side of (2) is minimized when buyers of different types are assigned to different vendors. The expressions are and at least . Altogether, we get .
Case 6: . We have to distinguish between a few subcases. First, consider the subcase where each vendor receives the buyers of a different type. Clearly, the expressions evaluate to at least and ; altogether, we get . If in contrast buyers of both types are assigned to the same (say, left) vendor, this should be due to the fact that (so that the right buyer prefers the left vendor). Then, the first expression is at least while the second one is at least . Overall, we have that . ∎
In the following, we restrict ourselves to optimal assignments and show tight bounds on the cost of subsidies that are necessary and sufficient to enforce these assignments as equilibria.
Theorem 9.
In every price competition game, the optimal assignment can be enforced as an equilibrium using an amount of subsidies that is at most . This bound is tight. In particular, for every , there exists a price competition game in which the optimal assignment cannot be enforced as an equilibrium with a total amount of subsidies less than .
Proof.
We first prove the upper bound. Consider an optimal assignment with for every buyer type/vendor pair and the price vector with ; clearly, is consistent to . By deviating to any other price, vendor cannot get any buyers that are not assigned to it in the optimal assignment. Hence, it suffices to assign a subsidy of to each vendor ; this obviously yields a total amount of subsidies equal to .
For the lower bound, let and consider the price competition game with two buyer types of unit volume and valuations and for a single vendor of production cost of . The optimal social welfare is . Observe that the utility of the vendor is maximized to by setting its price to while any price that is consistent to assigning both buyer types to the vendor is at most for a vendor utility of at most . Hence, the amount of subsidies required to enforce the optimal assignment as an equilibrium is at least which becomes at least by setting sufficiently large. ∎
Even though the minimum amount of subsidies that is sufficient to enforce the optimal assignment as an equilibrium can be large in terms of the optimal social welfare, one might hope that it could be efficiently computable. Unfortunately, this is far from true as we show below in Theorem 10. Before presenting the theorem, let us formally define the corresponding optimization problem:
MinSubsidies: Given a price competition game with an optimal assignment , compute a price vector that minimizes the cost over all price vectors to which is consistent.
Recall that MinSubsidies should return an equilibrium when one exists. This can be efficiently decided using algorithm CandidatePrice. The hardness of the problem manifests itself in instances that do not admit equilibria; we exploit such instances in our reduction in the proof of Theorem 10.
Theorem 10.
Approximating MinSubsidies within any constant is NPhard.
Proof.
We will use an approximationpreserving reduction from the Node Cover problem in uniform hypergraphs (i.e., hypergraphs in which every edge consists of nodes), which is formally described as follows.
Node Cover: Given a uniform hypergraph , compute a node subset of minimum size so that every (hyper)edge has at least one of its nodes in .
The quantity in the definition of Node Cover is a constant. It is known that, for every constant , approximating Node Cover within is NPhard [8]. Given a uniform hypergraph , we construct the following price competition game:

for every edge of , there is an edge vendor and a buyer type with volume and valuation for vendor ;

for every node of , there are: one node vendor , one auxiliary vendor , one buyer type with volume and valuations for vendor and for every vendor such that , and a buyer type with volume and valuations for vendor and for vendor .

all valuations not mentioned above as well as all production costs are zero.
In the optimal assignment , for every node of , buyers of type are assigned to vendor , and buyers of type are assigned to vendor and, for every edge of , buyers of type are assigned to vendor . We will show that the minimum amount of subsidies required to enforce this optimal assignment as an equilibrium is equal to the size of a minimum node cover of . We will need the following lemma.
Lemma 11.
Let