Multi-Product Price Optimization
When a firm sells multiple products whose demands are linked through cross-price elasticities, optimizing each price in isolation ignores the profit impact of substitution and complementarity. Joint optimization over the full portfolio recovers this lost profit.
The Multi-Product Problem
Most firms sell more than one product. A grocery retailer manages thousands of SKUs; a SaaS company offers several subscription tiers; an airline prices dozens of origin–destination pairs on overlapping routes. In each case, the demand for one product depends not only on its own price but also on the prices of related products in the portfolio.
If the firm optimizes each product’s price independently—treating every SKU as a standalone optimization problem—it ignores the profit consequences of cross-product demand shifts. Setting a low price on Product A may cannibalize sales of the higher-margin Product B. Conversely, raising the price of Product A may push customers toward a complement whose margin the firm also captures. The single-product framework from basic price optimization has no mechanism to account for these spillovers.
The multi-product pricing problem corrects this by jointly choosing a price vector that maximizes total portfolio profit. The solution differs from the collection of independent optima whenever cross-price effects are nonzero, and the magnitude of the difference grows with the strength of the cross-elasticities.
Cross-Price Effects
Linear Demand with Cross-Price Terms
Consider a two-product firm. Demand for each product is a linear function of both prices:
Here is the base demand for product , is the own-price slope, and is the cross-price coefficient measuring how the price of product affects demand for product .
The cross-price elasticity of product with respect to the price of product is:
In the linear model, . The sign of determines the relationship:
- : products and are substitutes. Raising the price of diverts demand to .
- : the products are complements. Raising the price of depresses demand for both.
- : demands are independent, and joint optimization reduces to separate single-product problems.
In practice, cross-price effects arise from consumer substitution behavior. A customer choosing between two variants of a product—say a standard and a premium tier—shifts demand from one to the other as relative prices change. Formal models of this substitution behavior, including logit and nested logit, are covered in the choice models literature (Talluri and van Ryzin (2004)). The linear specification in Eq. 1 is a useful first approximation that admits closed-form results.
Substitutes versus Complements
The distinction between substitutes and complements has a direct pricing implication. For substitutes, the independent optimum sets each price too low: because it ignores the fact that raising diverts demand to product (whose margin the firm also captures), the independent solution underprices both products. For complements, the opposite holds: the independent optimum overprices each product because it ignores that a price reduction on one product stimulates demand for the other.
Joint Optimality Conditions
The Portfolio Profit Function
The firm maximizes total contribution across both products:
where is the unit cost of product . For the two-product linear case, expanding this expression produces a jointly concave quadratic in (provided the own-price effects dominate the cross-price effects, which holds whenever for each product).
First-Order Conditions
Taking the partial derivative of with respect to and setting it to zero yields:
The first two terms are identical to the single-product first-order condition: demand at the optimal price plus the margin times the own-price demand slope. The third term, , is new. It captures the cross-product profit effect—the change in profit on all other products caused by a marginal increase in .
The cross-product effect for product at prices is:
When products are substitutes (), raising increases demand for product , so whenever . When products are complements (), .
The Modified Pricing Rule
Rearranging the first-order condition (Eq. 3) and dividing by gives a modified inverse-elasticity rule that accounts for cross-product spillovers (Phillips (2021)):
At the jointly optimal prices , each product’s price satisfies:
Compared with the independent optimum , the joint optimum shifts the price by . For substitutes where , the joint optimum is lower than the independent margin formula might suggest but still higher than the independent optimum because the joint solution accounts for how the raised price on one product boosts demand on the other, effectively raising the demand intercepts that feed into the formula.
Closed-Form Solution (Two Products)
For the symmetric two-product case with linear demand (Eq. 1), the first-order conditions form a linear system. Solving it yields explicit formulas for the joint optimal prices as a function of the demand parameters and costs. The key structural result is that the joint optimal prices satisfy (Phillips (2021)):
where aggregates the total cross-price effect. As , the formula collapses to the independent solution .
Consider two products with symmetric parameters: , , , and cross-price coefficient .
- Independent optimum: each. Total profit: .
- Joint optimum: The system of first-order conditions yields each. Total profit: .
- Profit gap: approximately , or 0.4% of total profit. The joint prices are higher than the independent prices because the firm internalizes the substitution effect—raising both prices simultaneously loses fewer total units than raising either price alone.
Use the interactive heatmap below to verify these numbers and observe how the gap widens as the cross-elasticity increases.
Independent vs. Joint Optimization
The heatmap below displays the total profit surface over the feasible price region for a two-product portfolio with linear demand. Two markers show the independently optimal prices (star) and the jointly optimal prices (diamond). Adjust the cross-elasticity slider to observe how the gap between the two widens as the cross-price coefficient grows.
The heatmap shows joint profit over the price grid. Contour lines trace iso-profit curves. The diamond marks the joint optimum; the star marks the independent optima. The metric cards report the profit gap between the two solutions.
Reading the Visualization
Several patterns are visible in the heatmap:
- Zero cross-elasticity. When , the diamond and star coincide. The iso-profit contours are axis-aligned ellipses, confirming that the two products can be optimized separately.
- Positive cross-elasticity (substitutes). The diamond shifts to higher prices than the star along both axes. The profit gap grows quadratically in the cross-price coefficient. At strong substitution levels (), the gap can exceed several percent of total profit.
- Negative cross-elasticity (complements). The diamond shifts to lower prices than the star. The firm internalizes the demand-boosting effect of a price cut on the complementary product.
- Asymmetric costs. Raise the cost of one product and observe that the joint optimum adjusts the price of both products—not just the one whose cost changed. The cross-product effect means that a cost shock in one product propagates through the portfolio.
Practical Implications
When the Gap Is Large
The profit difference between independent and joint optimization is largest when:
- Cross-elasticities are high. Product lines with strong substitution (e.g., adjacent tiers, similar SKUs differing only in size or flavor) have the largest gaps. Dobson and Kalish (1988) show that product line positioning and pricing must be solved jointly to avoid cannibalization.
- Margins differ across products. When a low-margin product substitutes against a high-margin product, independent pricing underprices the low-margin product, accelerating cannibalization of the profitable one.
- The portfolio is small. With two or three products, each cross-price effect is a large fraction of total demand. In portfolios with hundreds of SKUs, any single cross-price effect is diluted, though aggregate cannibalization can still be substantial.
When Independent Pricing Suffices
If cross-price elasticities are near zero—because products serve distinct customer segments or operate in unrelated categories—the independent optimum is a close approximation to the joint optimum. The computational simplicity of solving independent one-dimensional problems rather than one -dimensional problem can be a practical advantage for large assortments.
Bundling and Product Line Design
Multi-product pricing extends naturally to bundling decisions. Hanson and Martin (1990) show that the optimal bundle price depends on the joint distribution of valuations across products and can be formulated as a mixed-integer programming problem. When components are complements, bundling at a discount can increase total profit by stimulating demand for the entire set. When components are substitutes, bundling is less attractive because customers who want only one product are forced to pay for unwanted items.
Computational Considerations
For the linear demand model, the joint optimality conditions reduce to a system of linear equations in unknowns and can be solved exactly. For nonlinear demand models such as logit or nested logit, the first-order conditions are nonlinear and require iterative methods—gradient descent, Newton’s method, or expectation–maximization. The revenue management literature provides efficient algorithms for these settings (Talluri and van Ryzin (2004)). The general structure of the problem—maximizing a concave function over a convex feasible set—guarantees that any local optimum is also a global optimum, provided the own-price effects dominate the cross-price effects.
References
- Dobson, G. & Kalish, S. (1988). “Positioning and Pricing a Product Line.” Marketing Science, 7(2), 107–125.
- Hanson, W. & Martin, R. K. (1990). “Optimal Bundle Pricing.” Management Science, 36(2), 155–174.
- Phillips, R. L. (2021). Pricing and Revenue Optimization, 2nd ed.. Stanford University Press.