Pricing Scarce Inventory

Why capacity constraints push prices higher

Airlines / Hotels / EventsIntermediate

Constrained Supply Pricing

When supply is limited—seats on a flight, rooms in a hotel, tickets at a concert—the optimal price is no longer determined solely by the demand curve. The capacity constraint forces the firm to ration demand, and the shadow price of capacity reveals the true economic cost of each unit sold.

The Problem

Consider a concert venue with C=500C = 500 seats facing a linear demand curve d(p)=100010pd(p) = 1000 - 10p. In the unconstrained world of the previous topic, the firm would set the profit-maximizing price without regard to supply. But here the unconstrained optimum might call for selling 600 tickets—and only 500 exist. The firm must either raise the price until demand falls to capacity, or ration through some non-price mechanism (first-come first-served, lottery, etc.).

This is the conceptual bridge between static pricing (where supply is unlimited) and revenue management (where demand is stochastic and there are multiple fare classes). By studying the deterministic, single-price case with a hard capacity limit, we isolate the core effect: capacity creates an opportunity cost that must be incorporated into every pricing decision.

Mathematical Formulation

The Unconstrained Problem

Recall the unconstrained problem from Price Optimization: the firm maximizes total contribution over price:

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

Under linear demand d(p)=abpd(p) = a - bp with unit cost cc, the first-order condition yields the familiar optimal price:

p=a2b+c2p^* = \frac{a}{2b} + \frac{c}{2}
(2)

with corresponding demand d(p)=abc2d(p^*) = \frac{a - bc}{2}.

The Constrained Problem

Now suppose the firm has a fixed capacity CC units. The quantity it can sell at price pp is min(d(p),C)\min(d(p), C), so the constrained optimization problem becomes:

maxp  ΠC(p)=(pc)min(d(p),C)\max_{p} \; \Pi_C(p) = (p - c) \cdot \min\bigl(d(p),\, C\bigr)
(3)

Two cases arise depending on whether the capacity constraint binds at the unconstrained optimum:

  • Case 1: d(p)Cd(p^*) \le C — The constraint does not bind. The unconstrained solution is feasible, and pC=pp_C^* = p^*. The capacity is underutilized.
  • Case 2: d(p)>Cd(p^*) > C — The constraint binds. The firm must raise the price until demand equals capacity. Using the inverse demand function, the constrained-optimal price is:
pC=d1(C)=aCbp_C^* = d^{-1}(C) = \frac{a - C}{b}
(4)
Constrained-Optimal Price (Linear Demand)

When capacity binds, the constrained-optimal price exceeds the unconstrained optimum. The gap pCp=abc2C2bp_C^* - p^* = \frac{a - bc - 2C}{2b} is increasing in the tightness of the constraint (decreasing CC). As capacity shrinks, the price rises until either the venue is full at the higher price, or the choke price is reached.

The Shadow Price of Capacity

Definition — Shadow Price of Capacity

The shadow price of capacity λ\lambda is the marginal value of relaxing the capacity constraint by one unit. Formally, λ=ΠC/C\lambda = \partial \Pi_C^* / \partial C. It represents the additional profit the firm would earn if it could sell one more unit at the constrained-optimal price.

When the constraint binds under linear demand, the constrained profit is ΠC=(pCc)C\Pi_C^* = (p_C^* - c) \cdot C. Substituting pC=(aC)/bp_C^* = (a - C)/b and differentiating with respect to CC:

λ=ΠCC=a2Cbc+Cb(1/b)b=aCbc=pCc\lambda = \frac{\partial \Pi_C^*}{\partial C} = \frac{a - 2C}{b} - c + \frac{C}{b} \cdot (-1/b) \cdot b = \frac{a - C}{b} - c = p_C^* - c
(5)

That is, the shadow price equals the margin at the constrained-optimal price. This result is intuitive: one additional unit of capacity would be sold at the current price, contributing pCcp_C^* - c to profit. In revenue management, this shadow price becomes the bid price—the minimum fare the firm should accept for the last unit of capacity (Phillips, 2021).

Concert Venue Example

Suppose a=1000a = 1000, b=10b = 10, c=10c = 10, C=500C = 500.

  • Unconstrained optimal price: p=1000/20+10/2=$55p^* = 1000/20 + 10/2 = \$55
  • Demand at pp^*: d(55)=1000550=450<500d(55) = 1000 - 550 = 450 < 500
  • Constraint does not bind. The venue has 50 empty seats at the optimal price.

Now reduce capacity to C=300C = 300:

  • d(p)=450>300d(p^*) = 450 > 300 — constraint binds
  • Constrained price: pC=(1000300)/10=$70p_C^* = (1000 - 300)/10 = \$70
  • Shadow price: λ=7010=$60\lambda = 70 - 10 = \$60 per unit
  • Constrained profit: ΠC=(7010)×300=$18,000\Pi_C^* = (70 - 10) \times 300 = \$18{,}000
  • Unconstrained profit: Π=(5510)×450=$20,250\Pi^* = (55 - 10) \times 450 = \$20{,}250
  • Profit loss from constraint: $2,250\$2{,}250 (11.1%)

Try these values in the interactive explorer below to verify.

Variable Pricing Under Constraints

The single-price analysis above assumes the firm must charge every customer the same price. In practice, many capacity-constrained firms—airlines, hotels, event venues—serve multiple customer segments with distinct demand curves.

When two segments share a total capacity CC, the firm sets separate prices p1p_1 and p2p_2 to maximize total contribution:

maxp1,p2  (p1c)d1(p1)+(p2c)d2(p2)s.t.d1(p1)+d2(p2)C\max_{p_1,\, p_2} \; (p_1 - c) \cdot d_1(p_1) + (p_2 - c) \cdot d_2(p_2) \quad \text{s.t.} \quad d_1(p_1) + d_2(p_2) \le C
(6)

The Lagrangian of this problem introduces a single multiplier λ\lambda on the capacity constraint. The first-order conditions show that, at the optimum, each segment is priced as if its unit cost were c+λc + \lambda rather than cc alone. The shadow price λ\lambda acts as an opportunity cost: selling one more unit to segment 1 displaces a unit that could be sold to segment 2.

The core revenue management principle follows directly: the firm should allocate scarce capacity to the highest-value uses. Uniform pricing under a shared constraint is suboptimal whenever the segments differ in price sensitivity, because it fails to exploit the willingness-to-pay differential between them (Talluri and van Ryzin, 2004).

Advance Selling: Pricing Before the Curtain Rises

Many capacity-constrained firms sell inventory well before the service date—airline tickets months ahead, concert seats on announcement day, hotel rooms for future dates. Advance selling exploits the information asymmetry between the point of sale and the point of consumption: at the time of purchase, neither the buyer nor the seller knows the exact state of demand that will prevail on the service date (Xie and Shugan (2001)).

The Advance-Selling Mechanism

Definition — Advance Selling

A pricing strategy in which the firm offers a discounted advance price pap_a before demand uncertainty resolves, alongside a spot price psp_s available after uncertainty resolves. Buyers who purchase in advance commit before knowing their exact valuation, trading price certainty for the risk of over- or under-valuing the purchase.

The mechanism works because buyers differ in both their expected valuation and their uncertainty. Risk-averse buyers or those with high expected valuations buy early at the advance price to lock in a discount. Uncertain buyers prefer to wait for the spot market, where they can make a more informed decision—but face a higher price and the risk that capacity sells out.

Buyer Screening

Consider a buyer with expected valuation vv and valuation uncertainty σ\sigma. In the advance period, the buyer’s surplus from purchasing at pap_a is:

Sadvance=vpaS_{\text{advance}} = v - p_a

If the buyer waits, their valuation realizes as v+εv + \varepsilon where εN(0,σ2)\varepsilon \sim N(0, \sigma^2). The buyer purchases in the spot market only if v+εpsv + \varepsilon \ge p_s, yielding expected surplus:

Swait=E[max(v+εps,  0)]S_{\text{wait}} = \mathbb{E}\bigl[\max(v + \varepsilon - p_s,\; 0)\bigr]

The buyer purchases in advance if Sadvance>SwaitS_{\text{advance}} > S_{\text{wait}}. This creates a natural screening mechanism: buyers with high certainty (low σ\sigma) about their high valuation prefer to lock in the advance discount, while uncertain buyers (high σ\sigma) prefer the option value of waiting.

Optimal Advance Price

Advance Price Indifference Condition

The optimal advance price pap_a^* is set to make the marginal buyer—the buyer at the boundary between advance and spot purchase—exactly indifferent between buying early and waiting:

pa=psE[max(ε,  psv)]+(vps+E[max(ε,psv)])p_a^* = p_s - \mathbb{E}\bigl[\max(\varepsilon,\; p_s - v^*)\bigr] + (v^* - p_s + \mathbb{E}[\max(\varepsilon, p_s - v^*)])

For the simplified case where the marginal buyer’s expected valuation equals the spot price (v=psv^* = p_s), this reduces to:

pa=psE[max(ε,0)]=psσϕ(0)p_a^* = p_s - \mathbb{E}[\max(\varepsilon, 0)] = p_s - \sigma \cdot \phi(0)

where ϕ(0)0.399\phi(0) \approx 0.399 is the standard normal PDF at zero. The advance discount is proportional to buyer uncertainty σ\sigma.

Cannibalization Risk

If the advance price is set too low, it cannibalizes spot revenue by attracting high-WTP buyers who would have paid full price. The firm must balance two forces: a lower pap_a captures more advance demand (and the certainty that comes with early sales), but bleeds revenue from the spot market. The optimal advance price ensures that only buyers with moderate valuations self-select into the advance channel (Aviv and Vulcano (2012)).

Concert Pre-Sale

A venue sells tickets at advance price pa=$60p_a = \$60 (available three months before the show) and spot price ps=$85p_s = \$85. A fan with expected valuation v=$90v = \$90 and low uncertainty (σ=$5\sigma = \$5) buys in advance: surplus = $30 vs. expected wait surplus of roughly $7. A casual attendee with v=$70v = \$70 and high uncertainty (σ=$25\sigma = \$25) waits: the option value of deciding later ($12.50) exceeds the advance surplus ($10). The advance price screens effectively, filling seats early with committed fans while preserving spot revenue from spontaneous buyers.

Interactive Explorer

Use the sliders to adjust capacity, cost, and demand parameters. The charts update in real time, showing how the capacity constraint reshapes the optimal pricing decision.

Top panel: The demand curve d(p)=abpd(p) = a - bp with a horizontal capacity line at CC. The blue dot marks the unconstrained optimum pp^*; the orange dot marks the constrained optimum pCp_C^*. The shaded region shows excess demand when the constraint binds. Bottom panel: The constrained contribution curve (solid) versus the unconstrained curve (dashed). Note the kink where capacity begins to bind.

Key Insights

1. Moderate Constraints, Substantial Price Increases

Even a modest capacity constraint pushes the optimal price substantially above the unconstrained optimum. Reduce capacity from abundant to binding in the explorer above, and observe the price jump. The tighter the constraint, the steeper the increase.

2. The Shadow Price Is the Marginal Value of Capacity

The shadow price λ=pCc\lambda = p_C^* - c tells the firm exactly how much one additional unit of capacity is worth. If the firm can acquire extra capacity (e.g., an extra row of seats, an additional server) at a cost below λ\lambda, it should do so. When λ\lambda is large, there is a strong case for capacity investment.

3. Capacity Constraints Create Opportunity Costs

In the unconstrained world, the cost of serving a customer is simply the unit cost cc. With a binding capacity constraint, the true cost becomes c+λc + \lambda: the unit cost plus the opportunity cost of using one unit of scarce capacity. This is the foundation of the bid-price concept in revenue management.

4. Variable Pricing Allocates Capacity to Highest-Value Uses

When multiple segments share capacity, charging a uniform price typically leaves money on the table. Differentiated pricing shifts capacity toward the segment with higher willingness to pay, improving total contribution. Experiment with the multi-segment tab to see the profit gain.

5. The Bridge to Revenue Management

The constrained-supply problem introduces every concept that revenue management generalizes: opportunity costs, capacity allocation, and the distinction between variable cost and effective cost. Adding stochastic demand and multiple booking periods transforms this into the full revenue management framework explored in subsequent topics.

Extensions

The constrained-supply model is a stepping stone to richer settings:

  • Revenue management with fare classes—When demand arrives sequentially and the firm offers multiple fare classes, the problem becomes single-resource revenue management, solved by Littlewood’s rule and EMSR heuristics.
  • Multi-class capacity allocation—The capacity allocation topic extends the two-segment model to many fare classes with booking limits and protection levels.
  • Markdown management—When unsold inventory loses all value at the end of the season, markdown management optimizes the sequence of price reductions over time.

References

  • Aviv, Y. & Vulcano, G. (2012). Dynamic List Pricing. In The Oxford Handbook of Pricing Management, 522–584.
  • Gallego, G. & van Ryzin, G. (1994). “Optimal Dynamic Pricing of Inventories with Stochastic Demand over Finite Horizons.” Management Science, 40(8), 999–1020.
  • Phillips, R. L. (2021). Pricing and Revenue Optimization, 2nd ed.. Stanford University Press.
  • Talluri, K. T. & van Ryzin, G. J. (2004). The Theory and Practice of Revenue Management. Springer.
  • Xie, J. & Shugan, S. M. (2001). “Electronic Tickets, Smart Cards, and Online Prepayments: When and How to Advance Sell.” Marketing Science, 20(3), 219–243.