Finding the Best Price

The margin-versus-volume tradeoff

Retail / CPGIntroductory

Price Optimization

Finding the profit-maximizing price by balancing margin per unit against the volume that the market will bear.

The Problem

A retailer stocks a product with a known unit cost cc. Raising the price increases the margin on every unit sold but depresses demand; lowering the price does the opposite. Somewhere between these two extremes lies a single price that maximizes total contribution—revenue minus variable cost. The challenge is to find that price, understand how it shifts when market conditions change, and quantify how far from optimal a price chosen without formal optimization actually is.

This is the foundational problem in pricing analytics. It is the single-product, single-period case: one SKU, one customer segment, no inventory constraint, no competition. It is deliberately simple so that clean closed-form results can be derived, yet the insights carry over to every richer model on this site.

Mathematical Formulation

The Price-Response Function

Definition — Price-Response (Demand) Function

The price-response function d(p)d(p) maps a price pp to the expected quantity demanded. We require:

  • d(p)d(p) is decreasing in pp (the law of demand).
  • There exists a choke price pˉ=a/b\bar{p} = a/b above which demand is zero.
  • d(0)=a>0d(0) = a > 0 (positive demand at a price of zero).

The simplest specification that satisfies these properties is the linear demand function:

d(p)=abp,pa/bd(p) = a - b \cdot p, \quad p \le a/b
(1)

where a>0a > 0 is the demand intercept (maximum demand when the product is free) and b>0b > 0 is the demand slope (units of demand lost per dollar of price increase).

The Optimization Problem

The firm’s objective is to choose a price pp that maximizes the total contribution (profit before fixed costs):

maxp  Π(p)=(pc)d(p)\max_{p} \; \Pi(p) = (p - c) \cdot d(p)
(2)

Expanding with the linear demand function gives a concave quadratic in pp:

Π(p)=(pc)(abp)=bp2+(a+bc)pac\Pi(p) = (p - c)(a - bp) = -b \cdot p^2 + (a + bc) \cdot p - ac
(3)

First-Order Condition

Setting the derivative of Π(p)\Pi(p) to zero yields the first-order condition:

d(p)+(pc)d(p)=0d(p^*) + (p^* - c) \cdot d'(p^*) = 0
(4)

For linear demand where d(p)=bd'(p) = -b, this resolves to the closed-form optimal price:

p=a2b+c2p^* = \frac{a}{2b} + \frac{c}{2}
(5)
Optimal-Price Rule (Linear Demand)

Under linear demand d(p)=abpd(p) = a - b \cdot p with unit cost cc, the profit-maximizing price is the average of the choke price a/ba/b and the unit cost cc. Equivalently, the optimal margin (pc)(p^* - c) equals exactly half the range from cost to choke price.

Beyond Linear: Optimizing Other Demand Models

The first-order condition (Eq. 4) applies to any differentiable demand function—not just linear demand. Different functional forms yield qualitatively different pricing rules. Below we derive the optimal price for three additional demand models, each of which is covered in detail on the demand models page.

Constant-Elasticity (Power) Demand

Definition — Constant-Elasticity Demand

The constant-elasticity (or iso-elastic) demand function takes the form:

d(p)=Apε,A>0,  ε>0d(p) = A \cdot p^{-\varepsilon}, \quad A > 0, \; \varepsilon > 0

where AA is a scale parameter and ε\varepsilon is the (constant) price elasticity of demand.

Substituting into the first-order condition (Eq. 4) and noting that d(p)=εApε1d'(p) = -\varepsilon A \cdot p^{-\varepsilon - 1}:

Apε+(pc)(εApε1)=0A p^{-\varepsilon} + (p - c)\bigl(-\varepsilon A p^{-\varepsilon - 1}\bigr) = 0

Dividing through by Apε1A p^{-\varepsilon - 1} and solving for pp:

p=εε1cp^* = \frac{\varepsilon}{\varepsilon - 1} \cdot c
(7)

This is the celebrated Lerner markup rule. The markup fraction is:

pcp=1ε\frac{p^* - c}{p^*} = \frac{1}{\varepsilon}

The result requires ε>1\varepsilon > 1; when demand is inelastic (ε1\varepsilon \le 1), no finite price maximizes profit because revenue increases without bound as price rises.

Constant-Elasticity Example

Let ε=2\varepsilon = 2, c=10c = 10.

  • Optimal price: p=221×10=$20p^* = \frac{2}{2-1} \times 10 = \$20
  • Margin: pc=$10p^* - c = \$10 (100% markup on cost, 50% on price)

Exponential Demand

Definition — Exponential Demand

The exponential (or semi-log) demand function is:

d(p)=Aebp,A>0,  b>0d(p) = A \cdot e^{-bp}, \quad A > 0, \; b > 0

where AA is the maximum demand (at price zero) and bb governs price sensitivity.

Here d(p)=bAebpd'(p) = -bA e^{-bp}. Substituting into the first-order condition:

Aebp+(pc)(bAebp)=0A e^{-bp} + (p - c)(-bA e^{-bp}) = 0

Dividing through by AebpA e^{-bp} (which is always positive):

1b(pc)=01 - b(p - c) = 0

Solving immediately gives:

p=c+1bp^* = c + \frac{1}{b}
(8)

The optimal markup is a constant absolute amount 1/b1/b, independent of the scale parameter AA. Doubling the market size does not change the optimal price—it only doubles the profit.

Exponential Demand Example

Let b=0.05b = 0.05, c=10c = 10.

  • Optimal price: p=10+1/0.05=$30p^* = 10 + 1/0.05 = \$30
  • Markup: $20\$20 regardless of AA

Logit Demand

Definition — Logit Demand

The logit (logistic) demand function models an S-shaped response:

d(p)=Meabp1+eabp,M>0,  b>0d(p) = \frac{M \cdot e^{a - bp}}{1 + e^{a - bp}}, \quad M > 0, \; b > 0

where MM is the market size, aa controls the base attractiveness, and bb is the price-sensitivity parameter.

Let v=eabpv = e^{a-bp} so that d=Mv/(1+v)d = Mv/(1+v). After differentiation, d(p)=bMv/(1+v)2d'(p) = -bMv/(1+v)^2. Substituting into the first-order condition and simplifying:

Mv1+vb(pc)Mv(1+v)2=0\frac{Mv}{1+v} - b(p-c)\frac{Mv}{(1+v)^2} = 0

Dividing by Mv/(1+v)2Mv/(1+v)^2:

1+vb(pc)=01 + v - b(p - c) = 0

Since v=eabpv = e^{a-bp} itself depends on pp, this is an implicit equation with no closed-form solution. The optimal price must be found numerically—for example, via golden-section search over the interval [c,  c+(1+ea)/b][c, \; c + (1+e^a)/b].

Logit Demand Example

Let M=200M = 200, a=5a = 5, b=0.1b = 0.1, c=10c = 10. The optimal price is computed numerically and lies in the interior of the feasible range. The capstone simulator below solves this case and lets you explore how the S-shaped response curve affects the profit landscape.

Comparison of Optimal Pricing Rules

Demand FormFormula d(p)d(p)Optimal Price pp^*Markup RuleClosed Form?
Linearabpa - bpa2b+c2\frac{a}{2b} + \frac{c}{2}Average of choke price and costYes
Constant-elasticityApεAp^{-\varepsilon}εε1c\frac{\varepsilon}{\varepsilon-1} \cdot cConstant percentage markup 1/ε1/\varepsilonYes
ExponentialAebpAe^{-bp}c+1/bc + 1/bConstant absolute markup 1/b1/bYes
LogitMeabp1+eabp\frac{Me^{a-bp}}{1+e^{a-bp}}Implicit equationDepends on demand levelNo

The Elasticity Rule

Definition — Price Elasticity of Demand

The price elasticity of demand at price pp is defined as:

ε(p)=pd(p)d(p)\varepsilon(p) = -\frac{p \cdot d'(p)}{d(p)}

It measures the percentage decrease in demand for a one-percent increase in price.

Dividing the first-order condition (Eq. 4) through by d(p)d(p^*) produces an elegant relationship between the optimal price and elasticity:

ε(p)=ppc\varepsilon(p^*) = \frac{p^*}{p^* - c}
(6)

This is the inverse-elasticity pricing rule (also known as the Amoroso–Robinson relation). At the optimum, the markup over cost expressed as a fraction of price equals the reciprocal of the elasticity. High elasticity (price-sensitive customers) implies a slim markup; low elasticity allows a wider margin.

Numerical Example

Suppose a=100a = 100, b=1b = 1, c=10c = 10.

  • Choke price: a/b=100a/b = 100
  • Optimal price: p=100/2+10/2=$55.00p^* = 100/2 + 10/2 = \$55.00
  • Demand at pp^*: d(55)=10055=45d(55) = 100 - 55 = 45 units
  • Maximum contribution: Π(55)=(5510)×45=$2,025\Pi(55) = (55 - 10) \times 45 = \$2{,}025
  • Elasticity: ε(55)=55/(5510)1.222\varepsilon(55) = 55/(55 - 10) \approx 1.222

Try these values in the interactive explorer below and observe the curve confirming these numbers.

Interactive Explorer

Use the sliders to change the cost structure and demand parameters. The charts update in real time, showing the contribution curve, surplus decomposition, and sensitivity landscape.

The blue curve plots total contribution Π(p)=(pc)d(p)\Pi(p) = (p - c) \cdot d(p). The green dashed line shows total revenue R(p)=pd(p)R(p) = p \cdot d(p) for comparison. The red dashed vertical marks the optimal price pp^*.

Key Insights

1. The Margin–Volume Tradeoff

Drag the cost slider upward and observe that pp^* increases, but not dollar-for-dollar. A $1 increase in cost raises the optimal price by only $0.50 (half the cost pass-through). The firm absorbs the other half through lower volume. This 50% pass-through rate is characteristic of linear demand.

2. Demand Sensitivity Matters More Than Demand Level

Increasing the intercept aa (shifting the demand curve out) raises both the optimal price and the maximum profit. But increasing the slope bb (making customers more price-sensitive) compresses the margin. Compare the effect of doubling aa versus doubling bb on the metrics panel.

3. Elasticity at the Optimum Is Always Greater Than One

From the elasticity rule ε(p)=p/(pc)\varepsilon(p^*) = p^*/(p^* - c), and since p>cp^* > c (the firm must earn a positive margin), the ratio is always greater than one. The firm never prices on the inelastic portion of the demand curve—doing so would mean that a price increase would raise both revenue and margin simultaneously.

4. The Revenue-Maximizing Price Differs From the Profit-Maximizing Price

The revenue curve peaks at a/(2b)a/(2b) (the midpoint of the demand curve), while the contribution curve peaks at a/(2b)+c/2a/(2b) + c/2. When cost is zero the two coincide; as cost rises the profit-maximizing price moves to the right of the revenue-maximizing price.

Extensions

The linear model is a starting point. More general pricing problems extend it along several axes:

  • Nonlinear demand—Logit, exponential, and power-law demand functions capture S-shaped response and constant-elasticity behavior. Closed-form solutions rarely exist, but numerical optimization (e.g., golden-section search) finds pp^* readily.
  • Multiple products—When products are substitutes or complements, the demand for one depends on the prices of others. The first-order conditions become a system of equations.
  • Customer heterogeneity—Different segments have different demand curves. This leads to price differentiation, the next topic in this series.
  • Capacity constraints—When supply is fixed (airlines, hotels), the problem becomes revenue management.
  • Dynamic pricing—When demand or inventory evolves over time, the firm solves a multi-period problem. The markdown management topic explores one important special case.

Capstone: Price Discovery Game

In Play mode, you act as a pricing manager setting prices across multiple rounds under different demand models. Watch how your choices affect contribution profit, compare against the analytically optimal price, and earn a grade based on cumulative performance. In Design mode, explore how demand parameters, cost structure, and demand model choice affect the optimal price and profit.

References

  • Phillips, R. L. (2021). Pricing and Revenue Optimization, 2nd ed.. Stanford University Press.
  • Shy, O. (2008). How to Price: A Guide to Pricing Techniques and Yield Management. Cambridge University Press.
  • Talluri, K. T. & van Ryzin, G. J. (2004). The Theory and Practice of Revenue Management. Springer.