Title: Pricing Partially Compatible Products
1Pricing Partially Compatible Products
- David Kempe, University of Southern California
- Adam Meyerson, University of California, Los
Angeles - Nainesh Solanki, MediaDefender Inc.
- Ramnath Chellappa, Emory University
- This paper to appear in ACM Conference on
Electronic Commerce (EC) 2007.
2Two Companies Selling Equivalent Software Products
- Word Processor
- Web Browser
- Operating System
- Spreadsheet
- Web Page Editor
- MP3 Software
- Word Processor
- Web Browser
- Operating System
- Spreadsheet
- Web Page Editor
- MP3 Software
3Products Differ in Price and Quality
Customer Prefers
- Word Processor
- Q5 P3
- Web Browser
- Q4 P0
- Operating System
- Q9 P4
- Spreadsheet
- Q3 P2
- Web Page Editor
- Q5 P4
- MP3 Software
- Q3 P4
- Total Q29 and P17
- Word Processor
- Q3 P2
- Web Browser
- Q8 P3
- Operating System
- Q4 P0
- Spreadsheet
- Q2 P0
- Web Page Editor
- Q6 P6
- MP3 Software
- Q3 P2
- Total Q26 and P13
4Customers Strategy Mix and Match?
- Word Processor
- Q5 P3
- Web Browser
- Q4 P0
- Operating System
- Q9 P4
- Spreadsheet
- Q3 P2
- Web Page Editor
- Q5 P4
- MP3 Software
- Q3 P4
- Word Processor
- Q3 P2
- Web Browser
- Q8 P3
- Operating System
- Q4 P0
- Spreadsheet
- Q2 P0
- Web Page Editor
- Q6 P6
- MP3 Software
- Q3 P2
Why not? Not everything is compatible. Using
incompatible products is okay, but it incurs some
additional costs. It may be better to purchase an
inferior product to avoid these added costs.
5Our Model
- We have a set of n products labeled 1n. Each
product has two different versions, one made by
each company. - Each product has a price for each companys
version p1j is company ones price for product
j, and p2j is company twos price. - Each product has a quality rating for each
companys version ?1j is company ones quality
for j, and ?2j is company twos quality. - Each ordered pair of products (i,j) has an
incompatibility penalty ?ij which applies if we
purchase product i from company 1 and product j
from company 2. - The customer selects a set of products S to
purchase from company 1, purchasing the rest from
company 2.
6Our Results
- We consider each of the following problems
- Customers Selection Problem Which products
should the customer buy from each company? We
give a polynomial-time algorithm. - Budgeted Improvement Problem If company 1 can
improve product qualities by some total amount B,
how should the improvement be allocated? We prove
this is NP-Hard and equivalent to MaxSBCC. - Pricing Problem How should company 1 price its
products in order to maximize revenue? We give a
polynomial-time algorithm. - Compatibility Alteration Problem How should
company 1 set compatibilities to maximize
revenue? We prove this is NP-Hard and give a PTAS
by reduction to Knapsack. - Compatibility Improvement Problem. If company 1
can only improve compatibilities, how can it
maximize revenue? We prove this is NP-Hard and
hard to approximate, but give algorithms for some
special cases via duality.
7Previous Work on Compatibility
- A number of previous results in Economics deal
with compatibility. - N. Economides. Desirability of compatibility in
the absence of network externalities. American
Economic Review, 791165-1181, 1989. - J. Farrell and G. Saloner. Standardization,
compatibility, and innovation. Rand Journal of
Economics, 1670-83, 1985. - J. Farrell and G. Saloner. Converters,
compatibility, and control of interfaces. Journal
of Industrial Economics, 409-36, 1992. - M. Katz and C. Shapiro. Network externalities,
competition, and compatibility. American Economic
Review, 73424-440, 1985. - C. Malutes and P. Regibeau. Mix and Match
Product compatibility without network
externalities. Rand Journal of Economics,
19221-234, 1988. - C. Malutes and P. Regibeau. Compatibility and
bundling of complementary goods in a duopoly. The
Journal of Industrial Economics, 4037-54, 1992.
8Our Work vs. Previous Work in Economics
- Previous results considered the situation where
products are either fully compatible or fully
incompatible. This makes sense for mechanical
components (for example) where they will simply
work together or not. - We are the first to consider the possibility of
partial incompatibility, which makes sense in a
software application, where incompatibility often
manifests itself as an annoyance to the
end-user, who must convert file types, purchase
emulators, or check that documents import
properly from one application to another. - We also consider the scenario of digital goods,
which has become standard in the computer science
literature (for example on mechanism design) but
differs from the model in previous economic
results (including all the previous work on
incompatibility).
9Customer Selection Problem
- Customers Selection Problem
- Budgeted Improvement Problem
- Pricing Problem
- Compatibility Alteration Problem
- Compatibility Improvement Problem
10Customer Selection Problem
- We consider a graph with vertices corresponding
to the various products along with special
designated source and sink nodes s,t. We will
find an s-t cut S, where those vertices in S are
the products purchased from company one (along
with the source). We prove a correspondence
between our problem and minimum cut.
Three kinds of edges Edges to sink capture
p1,?2 Edges from source p2,?1 Edges between
products ? Min Cut ? Customer Selection
OS
S
p1WP?2WP
WP
t
s
?WPWB
WB
p2MP?1WP
MP
11Budgeted Improvement Problem
- Customers Selection Problem
- Budgeted Improvement Problem
- Pricing Problem
- Compatibility Alteration Problem
- Compatibility Improvement Problem
12Budgeted Improvement
- We are allowed to improve the quality of company
1s products in order to maximize company 1s
revenue. Obviously if we just increase the
quality to infinity, all products will be
purchased from company 1. The more interesting
problem is, if we can improve the products by a
total of at most B, how much revenue can we
generate? - In the cut formulation of the customers problem,
we are trying to increase the weight of edges
from s by at most B so as to increase the S size
of the minimum cut.
Min cut
t
s
Increase
13Facts about Budgeted Improvement
- Claim Let G be a graph with capacities ce where
S is the minimum s-t cut, of capacity C. Select
some other cut S with capacity CC. By
increasing the capacities out of s by a total of
at most C-C, we can ensure that there is a new
minimum cut S with S?S. - Proof For every node in S-S, we add an edge
from the source with capacity C-C. This
guarantees the desired cut property. Since
minimum cut equals maximum flow and the capacity
of cut S is unchanged, there is now a maximum
flow in this graph of value C. There is an
augmenting flow from the original maximum flow to
this new flow, of value C-C. We reduce the
capacity of the additional edges to equal the
amount of augmenting flow placed upon them.
14Budgeted Improvement and MaxSBCC
- We can write the following IP for budgeted
improvement. - Maximize ?vpvxv
- Subject to xs1 and xt0
- For all e(u,v) we have yexv-xu
- ?eyece C B
- xv,ye?0,1
- This is exactly a weighted version of
Maximum-Size Bounded Capacity Cut. In this
problem, the goal is to find a cut with the
largest possible number of nodes on the s side,
while maintaining a bounded cut capacity. The
problem is known to be NP-Hard, and there is an
algorithm which exceeds the capacity increase (B)
by at most O(log2 n) while obtaining optimum
weighted value of nodes on the s side (Feige
and Krauthgamer, Siam Journal on Computing 2002).
No results without increasing the budget are
known.
15Pricing Problem
- Customers Selection Problem
- Budgeted Improvement Problem
- Pricing Problem
- Compatibility Alteration Problem
- Compatibility Improvement Problem
16Pricing Integer Program
- We can write a very similar program for the
pricing problem. It looks like this - Maximize ?vpvxv - R
- Subject to xs1 and xt0
- For all e(u,v) we have yexv-xu
- ?eyece C R
- xv,ye?0,1
- Here we can think of setting the prices really
high, and then offering a rebate of R. Reducing
the price is equivalent to increasing the
quality, but it also reduces our revenue. We note
that at optimality, the red constraint must be
tight. -
17Modifying the Pricing Program
- Maximize ?vpvxv - ?eyece
- Subject to xs1 and xt0
- For all e(u,v) we have yexv-xu
- xv,ye?0,1
- But this simply requires us to find an s-t cut S
which maximizes - ?i?Spi - ?i?S,j?Sc(i,j) which is the same as
minimizing - ?i?Spi ?i?S,j?Sc(i,j)
- This is just a minimum-cut problem, equivalent to
reducing the capacity of all edges (i,t) by pi.
This proves the following lemma - Lemma With the optimal price setting, company 1
sells exactly the same set S of products as if it
gives away all its products for free.
18Coming up with Optimum Prices
- We now know how to determine (in polynomial time)
the set S of products company 1 sells with the
optimum pricing policy. Now we want to determine
the prices. - We again use max-flow and min-cut duality. We
draw the graph corresponding to zero prices for
company 1 and find the maximum flow. We then
increase the (i,t) edges to some large capacity
and find the maximum augmenting flow. If we
change these new edge capacities to equal the
augmenting flow on them, we have found the
optimum prices. - Theorem There is a polynomial-time algorithm for
selecting profit-maximizing best-response prices.
19Compatibility Alteration Problem
- Customers Selection Problem
- Budgeted Improvement Problem
- Pricing Problem
- Compatibility Alteration Problem
- Compatibility Improvement Problem
20Compatibility Alteration
- Suppose company 1 can unilaterally alter
compatibilities. In the optimum solution, let S
be the set of products the customer purchases
from company 1. Suppose we were to set
incompatibilities to be zero for pairs (u,v) with
u?S and v?V-S, and set incompatibility to be
infinite for all other pairs. Clearly this does
not change the minimum cut from (S, V-S) to
something else. - We observe that the customer can always be forced
to buy from only one company by setting infinite
incompatibility. If this means buying all from
company 1 then its the optimum solution. So we
assume this means buying all from company 2. - Now S can be the set of products sold by company
1 if any only if S is a minimum cut under the
capacity assignment described.
21Possible Minimum Cuts
- The only finite-capacity cuts under this
assignment are S, s, and V-t. We know that
s is a smaller cut than V-t.
S
0
8
8
s
t
0
8
22Defining Minimum Cut
- It follows that S can be the set of products sold
by company 1 if and only if the capacity of cut S
is smaller than the capacity of cut s. This
means - ?i?S(?2ip1i) ?i?S(?1ip2i) ?i(?1ip2i)
- ?i?S(?1ip2i-?2i-p1i) 0
- We define d(i) ?1ip2i-?2i-p1i and observe that
the optimum solution S will always include all i
such that d(i)0. We can then define a value
D?d(i)gt0d(i). Then the optimum solution is the
set S maximizing the total price pS subject to
?i?S, d(i)lt0(-d(i)) D. - This is exactly Knapsack, with values pi,
weights -d(i), and weight bound D. As a result,
the problem is NP-Hard but has a PTAS.
23Compatibility Improvement Problem
- Customers Selection Problem
- Budgeted Improvement Problem
- Pricing Problem
- Compatibility Alteration Problem
- Compatibility Improvement Problem
24Compatibility Improvement
- We consider the case where company 1 can improve
compatibilities arbitrarily, but cannot worsen
them. This corresponds to looking for new
capacities ce on each edge not incident with the
source or sink, such that cece and the value of
pS (where S is the minimum cut) is as large as
possible. - We will call such a set of capacities valid
capacities, and we call a set S which is a
minimum s-t cut for some set of valid capacities
a minimizable cut. - Note that we can assume for any vertex i, that i
does not have both an edge to the source and the
sink. Otherwise we can reduce the capacity of
these edges by an equal amount without effecting
the cuts.
25Properties of Minimizable Cuts
- Suppose there is some cut S which is minimizable.
Thus there exist some capacities cece (but
cece for edges adjoining source or sink) such
that S is a minimum cut. - Now consider increasing the capacity of edges
which do not cross S so that cece. This does
not increase the capacity of cut S, and does not
decrease the capacity of any cut, so S is still a
minimum cut. - Now consider decreasing the capacity of edges
which cross S (and do not have the source or sink
as an endpoint) such that ce0. This decreases
the capacity of cut S by ce and cannot decrease
the capacity of any other cut by more than ce,
so S remains a minimum cut. - So if S is minimizable, then it is the min cut
under c capacities.
26S-Exclusive Flows
- We will say that a flow F is S-Exclusive for some
set S containing the source but not the sink if - F(i,t)c(i,t) for all i?S
- F(i,j)0 for all j?S with j?t.
- Theorem Let S be a partition with c(s,j)0 for
all j?S. Then S is minimizable if and only if
there exists an S-Exclusive flow F. - Proof If S minimizable, then let F be the
maximum flow with capacities ce. We can see F
is S-Exclusive. If there exists a flow F which is
S-Exclusive, then it will also be a feasible flow
with capacities ce, and its value is equal to
the value of cut S under those capacities, which
implies S is a minimum cut for ce and thus
minimizable.
27A Simple Special Case
- Suppose all edges into t have capacity 0 or 1,
and all the prices are uniform. This corresponds
to almost equivalent products. In this case we
can compute the best minimizable cut (and
therefore solve the compatibility improvement
problem) in polynomial time. - Proof Just compute an integral maximum s-t flow.
We can modify the flow such that any node with
positive incoming flow will saturate its
(capacity zero or one) edge to the sink without
effecting the total flow value. After this
modification, the flow is S-Exclusive for some
set S, and S is the number of nodes with
c(i,t)0 plus the value of the flow. No larger
minimizable set exists.
28An Approximation
- Suppose all prices are 1 and the edges into t
have integral capacities in the range 0,C for
some C. We consider the following greedy
approximation algorithm - Start with S?i c(i,t)0
- Repeat
- Among all i?S such that S?i is minimizable, let
i be the one minimizing c(i,t). - Set S?S?i
- Until S?i not minimizable for any i
- Return S
29Proof of Approximation
- Suppose the greedy algorithm finds set S, and the
optimum solution is set S. We claim that
SS/C. - Proof There exist corresponding exclusive flows
F and F. For any set R including source but not
sink, define ?(R) to be the maximum value s-t
flow that does not use any edges (i,j) with j?R
unless jt. We observe that R is minimizable if
and only if ?(R)?i?Rc(i,t). - Let A be a non-empty node set disjoint from S. We
prove that - ?(S?A) ?(S) ?i?Ac(i,t) - A
- We observe that the flow for the union can be
formed by augmenting the flow for S and therefore
saturates edges from S to t. We can then view the
flow as giving us a DAG, and progressively
reroute flow to saturate earlier DAG vertices
sink edges.
30Proof of Approximation
- The argument is that if ?(S?A) was larger, we
could keep pushing flow back through the DAG
until we saturate some nodes edges to t where
the nodes only incoming flow is from S. This
node then could be added to S, implying the
greedy algorithm would not terminate. - Now we consider the set AS-S. Applying the
inequality along with the maximum capacity of C
gives us the desired bound.
31Hardness Results
- Even if all prices and all capacities into the
sink are from 0,1, the maximum-price
minimizable cut cannot be approximated to better
than ?(n1-?) for any ?gt0. - Even if all prices are 1, the maximum-size
minimizable cut cannot be approximated to better
than ?(n(1/3)-?) for any ?gt0. - Both these results are based on reduction from
independent set.
32Idea of Independent Set Reduction
- We want to approximate independent set on graph G.
- We create a capacitated graph with a node for
each vertex and each edge in G, plus s and t.
Edge nodes have p0, vertex nodes p1.
s
a
b
a,c
b,c
a,b
b,d
c,d
c
d
c
a
b
d
3
3
2
2
t
33Proof Sketch
- An S-exclusive flow which includes the node for a
must saturate the edge (a,t). Since the capacity
of this edge is degree(a), we have to send all
flow from nodes representing edges including a
through a. This prevents us from selecting two
adjacent nodes, giving us a correspondence
between S-exclusive flows, minimizable cuts, and
independent sets in G.
- We can transform the vertex nodes as follows.
a
a
8
?(a)
t
a
t
8
a
34Open Problems
- Combining the problems. What if company 1 can
modify any of price, compatibility, quality? How
do we combine the results? - Improving MaxSBCC approximation.
- What if theres more than two companies? Even
customers selection problem is NP-Hard
(multi-way cut) but there are good
approximations. How do companies strategize here? - What if different customers have different
quality ratings for products? - What about pricing games between companies?
- What about auctions/mechanisms between customers
and companies?