How Demand Responds to Price

Price-response functions and willingness to pay

Cross-IndustryIntroductory

Models of Demand

Every pricing decision rests on a model of how customers respond to price. The price-response function maps price to expected demand, and its shape determines optimal prices, revenue forecasts, and competitive strategy.

The Problem

A firm needs to answer a deceptively simple question: if I raise price by one dollar, how many fewer units will I sell? The answer depends on the functional form used to model demand. Different forms capture different market behaviors—some allow demand to reach zero at a finite price, others let it decay asymptotically. Some imply constant elasticity; others imply elasticity that varies with price. The choice of demand model is not merely a technical convenience: it affects optimal prices, profit forecasts, and the qualitative conclusions drawn from the analysis.

This chapter introduces four widely used functional forms, establishes the connection between demand curves and willingness-to-pay distributions, and explores the role of price elasticity in pricing decisions.

Price-Response Functions

A price-response function (or demand function) d(p)d(p) specifies the expected quantity demanded as a function of price pp. For a well-behaved price-response function, we require:

  • Decreasing in price: d(p)0d'(p) \leq 0 for all p0p \geq 0.
  • Non-negative: d(p)0d(p) \geq 0 for all p0p \geq 0.
  • Finite at zero price: d(0)<d(0) < \infty.

Some forms also exhibit a choke price—a finite price pˉ\bar{p} above which demand is exactly zero. We now present the four most common functional forms used in pricing and revenue optimization (Phillips, 2021).

Linear Demand

Definition — Linear Price-Response Function

The linear demand function has the form d(p)=abpd(p) = a - bp, where a>0a > 0 is the demand intercept (maximum demand at zero price) and b>0b > 0 is the slope (units of demand lost per unit price increase).

d(p)=max(0,  abp)d(p) = \max(0,\; a - bp)
(1)

The choke price is pˉ=a/b\bar{p} = a/b, at which demand drops to zero. The price elasticity of demand under the linear form is:

ε(p)=bpabp\varepsilon(p) = \frac{bp}{a - bp}
(2)

Note that elasticity varies with price: it is zero at p=0p = 0 and approaches infinity as pa/bp \to a/b. The linear form is analytically convenient and widely used in introductory models, but its assumption of a constant demand slope can be unrealistic at extreme prices.

Logit Demand

Definition — Logit Price-Response Function

The logit demand function models a market of size MM in which each customer’s purchase probability follows a logistic function of price:

d(p)=Mexp(abp)1+exp(abp)d(p) = M \cdot \frac{\exp(a - bp)}{1 + \exp(a - bp)}
(3)

The logit form produces an S-shaped demand curve bounded between 00 and MM. At low prices, demand approaches the market size MM; at high prices, it approaches zero—but never exactly reaches either bound. The parameter bb controls price sensitivity, while aa shifts the curve horizontally. The logit form arises naturally from random utility models in which customer utility is linear in price plus a Gumbel-distributed random component (McFadden, 1974).

Exponential Demand

Definition — Exponential Price-Response Function

The exponential (log-linear) demand function specifies demand as an exponentially decaying function of price:

d(p)=Aexp(bp)d(p) = A \cdot \exp(-bp)
(4)

where A>0A > 0 is demand at zero price and b>0b > 0 is the decay rate. Unlike the linear form, exponential demand never reaches zero—there is no finite choke price. A distinctive property is constant semi-elasticity: a unit price increase always reduces demand by the same percentage, namely 100b%100b\%. This makes the exponential form popular in empirical work where log-demand is regressed on price.

Constant Elasticity (Power) Demand

Definition — Constant-Elasticity Price-Response Function

The constant-elasticity (or isoelastic) demand function takes the power form:

d(p)=Apεd(p) = A \cdot p^{-\varepsilon}
(5)

where A>0A > 0 is a scale parameter and ε>0\varepsilon > 0 is the (constant) price elasticity of demand. At every price, a 1% price increase reduces demand by exactly ε\varepsilon percent. The function has no choke price and is undefined at p=0p = 0. It is widely used in econometrics because a log-log regression of quantity on price yields ε\varepsilon directly as the slope coefficient.

Comparing Functional Forms

Suppose we calibrate all four demand models so that they agree at a reference price of p=40p = 40, each yielding demand of approximately 60 units. Even though the four curves intersect at this point, they diverge sharply at higher and lower prices. The linear model predicts demand reaches zero at the choke price; the exponential and power models predict demand that decays but never vanishes. The logit model levels off near its market-size ceiling at low prices. These differences matter most for decisions at the extremes of the price range—markdowns, luxury pricing, or competitive price wars.

Willingness to Pay

An alternative—and deeply intuitive—way to derive a demand curve is through the concept of willingness to pay (WTP).

Definition — Willingness to Pay

The willingness to pay of a customer is the maximum price at which that customer would choose to purchase the product. If the posted price pp is below a customer’s WTP, the customer buys; if pp exceeds WTP, the customer does not buy.

In a market of NN potential customers, each with a WTP drawn from a distribution with cumulative distribution function (CDF) F(w)F(w), the expected demand at price pp is the number of customers whose WTP exceeds pp:

d(p)=N[1F(p)]=NPr(WTPp)d(p) = N \cdot [1 - F(p)] = N \cdot \Pr(\text{WTP} \geq p)
(6)

This result reveals a powerful duality: the demand curve is the complement CDF of the WTP distribution, scaled by market size. Every demand curve implicitly assumes some underlying distribution of willingness to pay, and every WTP distribution implies a demand curve.

Normal WTP Distribution

If WTP is normally distributed with mean μ=50\mu = 50 and standard deviation σ=15\sigma = 15, in a market of N=500N = 500 customers, then demand at price p=50p = 50 is d(50)=500[1Φ(0)]=250d(50) = 500 \cdot [1 - \Phi(0)] = 250 units (exactly half the market). At p=35p = 35, demand rises to approximately d(35)=500[1Φ(1)]420d(35) = 500 \cdot [1 - \Phi(-1)] \approx 420 units. The S-shaped demand curve mirrors the shape of the normal complement CDF.

Uniform WTP Distribution

If WTP is uniformly distributed on [a,b][a, b], then d(p)=N(bp)/(ba)d(p) = N \cdot (b - p)/(b - a) for p[a,b]p \in [a, b]. This is a linear demand function with intercept Nb/(ba)Nb/(b-a) and slope N/(ba)N/(b-a)—demonstrating that linear demand arises naturally from a uniform WTP distribution.

WTP Distribution Determines Demand Form

The choice of WTP distribution directly determines the shape of the demand curve d(p)=N[1F(p)]d(p) = N \cdot [1 - F(p)]. Four canonical correspondences:

  • Uniform WTP on [a,b][a, b] yields linear demand d(p)=N(bp)/(ba)d(p) = N(b-p)/(b-a).
  • Normal WTP with mean μ\mu and std σ\sigma yields an S-shaped (logit-like) demand curve.
  • Exponential WTP with rate λ\lambda yields exponential demand d(p)=Neλpd(p) = N \cdot e^{-\lambda p}.
  • Lognormal WTP yields demand that behaves like a power law at high prices — decaying polynomially rather than exponentially.

Try the WTP → Demand explorer below to see these correspondences interactively.

Elasticity

The price elasticity of demand measures the responsiveness of demand to a percentage change in price. It is defined as:

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

The negative sign is a convention that makes ε\varepsilon positive for a downward-sloping demand curve. When ε>1\varepsilon > 1, demand is said to be elastic: a 1% price increase reduces demand by more than 1%. When ε<1\varepsilon < 1, demand is inelastic: the same price increase reduces demand by less than 1%.

Elasticity varies across functional forms:

  • Linear: ε(p)=bp/(abp)\varepsilon(p) = bp / (a - bp). Varies from 0 to \infty.
  • Exponential: ε(p)=bp\varepsilon(p) = bp. Proportional to price.
  • Constant elasticity: ε(p)=ε\varepsilon(p) = \varepsilon. Constant at all prices.
  • Logit: ε(p)=bp[1d(p)/M]\varepsilon(p) = bp \cdot [1 - d(p)/M]. Depends on both price and current demand share.
Optimality Requires Elastic Demand

At any interior profit-maximizing price pp^*, the price elasticity of demand satisfies ε(p)>1\varepsilon(p^*) > 1. That is, a firm never prices on the inelastic portion of the demand curve. Intuitively, if demand is inelastic, the firm can raise its price, lose fewer units in percentage terms than it gains in margin, and thereby increase profit. It will continue raising price until demand becomes elastic.

This result has a practical consequence: if an analyst estimates elasticity at the current price and finds ε<1\varepsilon < 1, it is a strong signal that the price is too low—provided the demand model is correctly specified.

Interactive Explorer

The two visualizations below let you experiment with the ideas developed in this chapter. The first plots all four demand functions simultaneously and lets you toggle between demand, revenue, and elasticity views. The second demonstrates the connection between a WTP distribution and the demand curve it generates.

Adjust the parameters for each functional form and move the probe price to compare demand, revenue, and elasticity at any point. Toggle between “Demand,” “Revenue,” and “Elasticity” views to see how the four curves relate under each lens.

Key Insights

1. Functional Forms Agree Near the Center but Diverge at Extremes

When calibrated to match at a reference price, all four demand functions produce similar predictions for small price changes. The differences emerge at the boundaries of the price range: the linear model hits zero, the exponential and power models never do, and the logit model saturates. These differences matter most for markdown pricing, luxury goods, and competitive price-matching scenarios.

2. The Demand Curve Is the Complement CDF of the WTP Distribution

This duality is one of the most important conceptual links in pricing theory. It means that estimating a demand curve is equivalent to estimating the distribution of customers’ willingness to pay, and vice versa. The WTP perspective is particularly useful for thinking about price differentiation: the area under the demand curve represents total potential surplus, and a firm’s pricing strategy determines how much of that surplus it captures.

3. Linear Demand Has Variable Elasticity; Constant-Elasticity Demand Has Constant Elasticity

This seemingly tautological observation has important practical implications. With linear demand, the same product can be inelastic at a low price and elastic at a high price. With constant-elasticity demand, a product that is price-elastic at one price is elastic at all prices. The choice of functional form thus determines whether the analyst concludes that a product is “elastic” or “inelastic”—a determination that should ideally come from data, not from the assumed model.

4. The Choice of Functional Form Matters Most at Price Boundaries

For small changes around a current price, the choice of demand model is relatively inconsequential—a first-order Taylor approximation is similar for all four forms. But for large price changes, markdowns, or new-product launches where the price may be far from any observed range, the functional form dominates the prediction. Analysts should select (or test) the form that best matches the behavior expected at the boundaries of the relevant price range.

5. Elasticity Exceeds One at Any Interior Optimum

No profit-maximizing firm should ever price in the inelastic region of its demand curve. If current-price elasticity is estimated below one, the firm should raise its price. This result holds regardless of the demand functional form and is one of the strongest qualitative predictions in pricing theory.

Extensions

The single-product demand models presented here extend naturally in several directions:

  • Cross-price effects: When a firm sells multiple products, the demand for product ii depends not only on its own price pip_i but also on the prices of substitutes and complements. Cross-price elasticities measure these interactions and are essential for portfolio pricing.
  • Multi-product demand systems: The logit model generalizes naturally to multi-product settings via the multinomial logit (MNL), which simultaneously determines market shares for all products in a competitive set (McFadden, 1974). Nested logit and mixed logit models add further flexibility.
  • Demand estimation: In practice, the parameters of demand functions must be estimated from data—transaction records, price experiments, conjoint surveys, or observational regressions. The estimation chapter explores these methods and the challenges of endogeneity and identification.

References

  • 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.
  • McFadden, D. (1974). Conditional logit analysis of qualitative choice behavior. In P. Zarembka (Ed.), Frontiers in Econometrics, 105–142. Academic Press.
  • Train, K. E. (2009). Discrete Choice Methods with Simulation, 2nd ed. Cambridge University Press.
  • Besanko, D. & Wayne, K. (2004). The economics of customer lock-in and market power in the wireless communications industry. Managerial and Decision Economics, 25(5), 277–296.