Business, Marketing & E-commerce Pricing, Margin & Markup Arc (midpoint) elasticity of demand

Price Elasticity of Demand Calculator

Enter the price and unit volume before and after a price change and this calculator returns the price elasticity of demand by the midpoint (arc) method, the standard way to measure elasticity between two observed points. It also gives you the two numbers the coefficient exists to inform: what the move did to total revenue, and what it did to gross profit — which frequently point in opposite directions. You get the volume you would have needed at the new price to hold gross profit flat, and the elasticity at which profit would have been unchanged.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
Original priceThe price actually charged before the change, net of any routine discount.20 $
Units sold at the original priceVolume over a period long enough to be representative — a full month or quarter, not a launch week.1000 units
New priceThe price after the change. It must differ from the original price or the ratio has no value.22 $
Units sold at the new priceVolume over a comparable period of the same length at the new price.880 units
Variable cost per unitEvery cost that moves with each unit sold: goods, packaging, per-unit shipping, card fees. Enter 0 to see revenue effects only.12 $

It returns

  • Price elasticity of demand — Negative for a normal downward-sloping demand curve. Values beyond −1 are elastic, between −1 and 0 inelastic.
  • Change in price (midpoint)
  • Change in quantity (midpoint)
  • Change in total revenue
  • Change in total revenue
  • Change in gross profit — Unit margin times units, before and after. This is the figure a price decision should be judged on.
  • Units needed at the new price to hold gross profit
  • |PED| at which gross profit is unchanged — Equal to one divided by the gross margin at the midpoint price.

The formula

E=Q2Q1(Q1+Q2)/2P2P1(P1+P2)/2
ΔR=Q¯ΔP(1+E)
ΔΠ=Q¯ΔP(1+Eg¯)

In plain text: E = ((Q₂ − Q₁) / ((Q₁ + Q₂)/2)) / ((P₂ − P₁) / ((P₁ + P₂)/2))

  • EPrice elasticity of demand, negative for normal goods (dimensionless)
  • P₁, P₂Price before and after the change ($)
  • Q₁, Q₂Units sold before and after, over comparable periods (units)
  • Midpoint quantity, (Q₁ + Q₂)/2 (units)
  • Gross margin at the midpoint price, (P̄ − c)/P̄ (decimal)

Both percentage changes use the midpoint as the base, which is what makes the coefficient identical whichever direction you travel between the two points. Elasticity is a property of a range, not of a product.

Updated Category Pricing, Margin & Markup Verified against published test cases Reading time 13 min

What price elasticity of demand actually measures

Price elasticity of demand is one number that answers the only question that matters before a price change: if I move the price by one percent, by what percent does the quantity I sell move? Divide the percentage change in units by the percentage change in price and you have it. A coefficient of −1.5 says a one percent price rise costs you one and a half percent of volume.

The sign is almost always negative, because raising a price almost always sells fewer units. Since the sign is predictable, practitioners usually talk about the absolute value and reserve three labels for it, all of them describing a normal downward-sloping curve. Elastic demand has |E| greater than 1: volume responds more than proportionally, typical of commodity products with close substitutes. Inelastic demand has |E| below 1: volume barely moves, typical of essentials, habits, spare parts and anything bought under time pressure. Unit elastic demand sits at exactly 1, where the percentage moves cancel and total revenue is unchanged.

What makes elasticity useful is that it is a pure ratio with no units. You can compare the price sensitivity of a $4 coffee with that of a $40,000 machine, and you can transfer an estimate between markets in different currencies. What makes it dangerous is that it is a property of a range, not of a product. The same coffee may be nearly inelastic between $3.75 and $4.00 and violently elastic above $5.00, where buyers switch to the shop next door. An elasticity measured over a 5% move tells you very little about a 40% move.

Elasticity is also the missing half of every margin calculation. Markup arithmetic tells you what a price change does to profit per unit; only elasticity tells you what it does to the number of units. Without it, a decision to discount is a guess. The markup vs margin calculator supplies the per-unit half of that pair.

Why the midpoint method, and not simply dividing by the old price

The naive calculation divides each change by its starting value. It works, but it gives two different answers for the same pair of points depending on which one you call the start. Take $4 and $6 with 120 and 80 units. Going up, the price rises 50% and quantity falls 33.3%, so |E| = 0.67. Coming back down, the price falls 33.3% and quantity rises 50%, so |E| = 1.50. The same two observations produce an inelastic verdict and an elastic verdict from the same arithmetic.

The midpoint or arc method fixes this by dividing each change by the average of the two values rather than by one of them. The price change of $2 is measured against the midpoint $5, giving 40%. The quantity change of −40 units is measured against the midpoint 100, giving −40%. The elasticity is −40% ÷ 40% = −1.00, and you get −1.00 travelling in either direction. This is the version taught in every introductory economics course and the version reported in most empirical work on discrete price changes.

The midpoint form also buys you something better than symmetry: an exact accounting identity. Because P₂ = P̄ + ΔP/2 and Q₂ = Q̄ + ΔQ/2, the change in revenue expands to ΔR = P̄·ΔQ + Q̄·ΔP with no approximation at all. Substituting the definition of elasticity, ΔQ = E·Q̄·ΔP/P̄, gives

ΔR = Q̄ · ΔP · (1 + E)

Read the bracket. If E is more negative than −1, the bracket is negative, so a price cut (ΔP negative) multiplies two negatives and revenue rises. If E sits between −1 and 0 the bracket is positive and revenue moves in the same direction as price. At E = −1 the bracket is zero and revenue does not move at all — which is exactly what the $4-to-$6 example shows, since 120 × $4 and 80 × $6 are both $480.

The same expansion applied to gross profit, Π = (P − c)·Q, gives ΔΠ = Q̄ · ΔP · (1 + E·ḡ), where ḡ is the gross margin at the midpoint price. That single change — multiplying E by the margin — is why revenue-based and profit-based advice so often conflict, and why the profit-neutral threshold is |E| = 1 ÷ ḡ rather than 1. On a 40% margin, gross profit is unchanged at |E| = 2.5, not at 1.0.

Worked example: raising a $20 product to $22

You sell a product at $20 and move 1,000 units a month. Variable cost is $12, so the unit margin is $8. You raise the price to $22 and the next month you sell 880 units. Work the numbers by hand.

  1. Changes. ΔP = $22 − $20 = +$2. ΔQ = 880 − 1,000 = −120 units.
  2. Midpoints. P̄ = ($20 + $22) ÷ 2 = $21. Q̄ = (1,000 + 880) ÷ 2 = 940 units.
  3. Percentage changes. %ΔP = $2 ÷ $21 = +9.524%. %ΔQ = −120 ÷ 940 = −12.766%.
  4. Elasticity. E = −12.766% ÷ 9.524% = −1.340. |E| exceeds 1, so demand is elastic over this range.
  5. Revenue. Before: 1,000 × $20 = $20,000. After: 880 × $22 = $19,360. Revenue fell $640. Check with the identity: 940 × $2 × (1 − 1.340) = $1,880 × (−0.340) = −$640.
  6. Gross profit. Before: 1,000 × $8 = $8,000. After: 880 × ($22 − $12) = 880 × $10 = $8,800. Gross profit rose $800. Check: ḡ = ($21 − $12) ÷ $21 = 0.4286, so 940 × $2 × (1 − 1.340 × 0.4286) = $1,880 × 0.4255 = +$800.

This is the case that trips up anyone who works from revenue. Demand was elastic, revenue fell, and the price rise was still clearly the right decision: $800 more gross profit on 120 fewer units, with less stock to buy, ship and warehouse.

Two more figures complete the picture. The break-even volume at $22 is the old gross profit divided by the new unit margin: $8,000 ÷ $10 = 800 units. You sold 880, clearing the bar by 80 units, and you could have lost up to 200 units of volume before the price rise cost you anything. The profit-neutral elasticity is 1 ÷ 0.4286 = 2.333: demand would have had to be nearly twice as elastic as it turned out to be for this price rise to hurt.

How to read the coefficient, and what a normal value looks like

Start with the sign. A negative coefficient is what you expect. A positive one means units and price moved together, and that is almost never a demand curve sloping the wrong way — it is a confounded measurement. A seasonal upswing, a competitor stock-out, a fresh advertising campaign or a distribution win can all raise volume during the same month you raised price, and the calculator has no way to know. Treat a positive result as a signal to find the other variable, not as evidence that customers like paying more.

Then compare |E| against 1 for revenue and against 1 ÷ ḡ for profit. Those are the only two thresholds the arithmetic supports, and the second is the one that pays your bills. Because 1 ÷ ḡ is always at least 1, there is a band between them — between |E| = 1 and |E| = 1 ÷ ḡ — where a price rise reduces revenue and increases gross profit at the same time. The band closes only when variable cost is zero, which makes ḡ = 1 and the two thresholds identical; on any product with a real unit cost the band exists, and the worked example above sits squarely inside it at |E| = 1.340 against a threshold of 2.333.

Absolute magnitudes vary far too much across categories for any single benchmark to be useful, and any figure you see quoted as a universal elasticity should be treated as marketing. What travels reliably is the list of drivers: elasticity rises with the number of close substitutes, with the share of the buyer's budget the item takes, with how easy the price is to compare, with the time buyers have to shop around, and with how discretionary the purchase is. It falls with brand attachment, switching costs, urgency, reimbursement by a third party, and habit.

Finally, be honest about the confidence interval. An elasticity estimated from two months of data on one product carries enormous sampling error, and the estimate is only valid near the prices you observed. If a decision is large, run a proper price test — a genuine holdout with randomised assignment — and size it before you start with the A/B test sample size calculator. Two adjacent months are a hypothesis, not a measurement.

Unit volume increase needed to break even on a price cut

Required percentage increase in units for gross profit to stay flat after a price cut, by the gross margin you started with. The formula is d ÷ (g − d), where d is the cut as a fraction of price and g is the starting gross margin. Example: a 40% margin cut by 10% needs 0.10 ÷ 0.30 = 33.3% more units.
Starting gross margin5% price cut10% price cut15% price cut20% price cut
20%+33.3%+100%+300%Impossible
30%+20.0%+50.0%+100%+200%
40%+14.3%+33.3%+60.0%+100%
50%+11.1%+25.0%+42.9%+66.7%
60%+9.1%+20.0%+33.3%+50.0%
70%+7.7%+16.7%+27.3%+40.0%

The 20% margin row cut by 20% is marked impossible because the price cut removes the entire unit margin: no volume, however large, restores gross profit when each unit earns nothing. Thin-margin businesses cannot discount their way to profit.

Two adjacent periods are not a controlled experiment

This calculator computes exactly what you give it. It cannot tell whether the volume change was caused by your price. Anything else that moved in the same window is silently attributed to the price change: seasonality, a promotion, a stock-out, a review, a competitor's price, a change in ad spend, a new sales channel.

Three habits make the estimate defensible. Compare like periods — the same number of days, and ideally the same weeks of the year against last year. Hold advertising and distribution steady across the two windows. And where the stakes justify it, split traffic or stores randomly rather than comparing before with after, so the confounders fall on both sides equally.

Mistakes that produce a misleading elasticity

  • Dividing by the starting values instead of the midpoints. That gives a different answer in each direction, and the two can straddle 1 — the difference between an elastic and an inelastic verdict on the same data.
  • Using list price instead of realised price. If half of the volume moved on promotion, the effective price is not the ticket price. Compute revenue ÷ units for each period and use that.
  • Measuring across unequal periods. Four weeks against five weeks builds a 25% volume difference into the numerator before a single customer reacts.
  • Reading a revenue-maximising conclusion as a profit-maximising one. The revenue threshold is |E| = 1; the gross-profit threshold is |E| = 1 ÷ margin. On a 50% margin those are 1.0 and 2.0 — far apart enough to reverse a decision.
  • Extrapolating a small measured move to a large one. An elasticity fitted between $20 and $22 says nothing dependable about $30, where substitution behaviour changes character.
  • Forgetting cross-elasticity within your own range. Raising the price of one size often pushes buyers to another size you also sell. Measure the category, not just the item.

Related measures and when to use one instead

Point elasticity replaces the finite changes with derivatives: E = (dQ/dP)·(P/Q). Use it when you have an estimated demand function rather than two observations, and note that the arc elasticity from this calculator approximates the point elasticity at the midpoint price. The constant-elasticity projection in the results table is exactly that: a curve Q = Q₁·(P/P₁)^E, which has the same elasticity at every price.

Cross-price elasticity divides the percentage change in another product's volume by the percentage change in this product's price. Positive means substitutes, negative means complements. It is the right tool for line pricing and for cannibalisation questions.

Income elasticity and advertising elasticity use the same ratio with a different denominator, and the interpretation carries over unchanged.

Contribution-margin analysis answers the neighbouring question of how much volume a price change must deliver. The threshold from the reference table above is the same arithmetic the contribution margin calculator and the break-even point calculator use, applied to a price change rather than to fixed costs.

Two practical companions complete the toolkit. Before you set a price, solve for the one your margin target requires with the selling price from target margin calculator. Afterwards, watch whether a price move shifted basket composition rather than unit count using the average order value calculator — a price rise that holds units but shrinks the basket is a different problem from one that loses customers.

Key terms

Arc (midpoint) elasticity
Elasticity between two observed points, with each percentage change measured against the average of the two values. Symmetric in both directions.
Elastic demand
E below −1, so |E| greater than 1. Units respond more than proportionally to price, and total revenue moves opposite to price.
Inelastic demand
E between −1 and 0. Units respond less than proportionally, and total revenue moves in the same direction as price.
Unit elastic
|E| exactly 1. The percentage changes cancel and total revenue is identical at both prices.
Profit-neutral elasticity
1 ÷ ḡ, the value of |E| at which a small price change leaves gross profit unchanged. Always at least 1, and larger the thinner the margin.
Confounding
Any other factor that moved between the two periods and is therefore wrongly credited to the price change.

Frequently asked questions

How do I calculate price elasticity of demand with the midpoint formula?

Divide the change in quantity by the average of the two quantities, divide the change in price by the average of the two prices, then divide the first result by the second. With prices of $4 and $6 and quantities of 120 and 80: −40 ÷ 100 = −40%, and $2 ÷ $5 = +40%, so E = −1.0. Using the midpoints rather than the starting values is what makes the answer the same whichever direction you measure.

Is a negative elasticity bad?

No — it is the normal result and simply means you sell fewer units at a higher price. The information is in the magnitude, not the sign. A coefficient of −0.3 says volume barely reacts, so you have pricing power. A coefficient of −3.0 says buyers leave quickly, so discounting may pay and price rises are risky. A positive coefficient is the one worth worrying about, because it usually means something other than price moved.

If demand is elastic, should I always cut my price?

No. Elastic demand means a price cut raises revenue, but revenue is not profit. Gross profit only improves if |E| exceeds 1 ÷ your gross margin. On a 40% margin that threshold is 2.5, so at |E| = 1.5 a price cut raises revenue and lowers profit at the same time. Check the required volume increase in the reference table above before discounting.

What counts as a good sample of data for this?

Two comparable periods of equal length, with the same marketing, distribution and stock availability, and enough volume that ordinary week-to-week noise is small relative to the change you are measuring. Year-over-year comparisons of the same weeks handle seasonality better than consecutive months. If you can randomise which customers or stores see which price, do that instead — a before-and-after comparison cannot separate your price from everything else that changed.

Why does the calculator give a different answer than my textbook?

Almost certainly because the textbook used the simple percentage-change method, dividing by the starting values rather than the midpoints. That method gives a different figure for a rise than for a fall between the same two points. Check whether the exercise asks for the midpoint or arc method. This calculator always uses the midpoint method, which is the convention for a discrete change between two observations.

What does an elasticity of −1.5 mean in plain terms?

Roughly, a 1% price rise loses you about 1.5% of unit volume, and a 1% price cut gains you about 1.5%. Revenue therefore moves against price: cutting price raises revenue, raising price lowers it. Whether profit follows depends on your margin — at a 50% gross margin the profit-neutral threshold is 2.0, so at −1.5 a price rise would still improve gross profit.

How do I handle a price change that came with a promotion?

Use realised price, not ticket price, and treat the promotion as a confounder. Divide each period's revenue by its units to get the average price actually paid, and use those two figures as your price points. If the promotion also included extra advertising or better shelf placement, the elasticity you compute includes those effects and overstates the pure price response.

Does this work for subscriptions and SaaS pricing?

Partly. The ratio works for any quantity, so you can measure how many new subscriptions a price change wins or loses. What it misses is that a subscription's value arrives over many periods, so a price change alters retention and lifetime value as well as sign-ups. Measure the sign-up elasticity here, then feed the new price and the new retention into a lifetime-value model before you decide.

References

  • Microeconomics, 9th ed. — elasticity of demand — Pearson (Pindyck & Rubinfeld)
  • Principles of Economics, 9th ed. — the elasticity of demand and total revenue — Cengage (Mankiw)
  • The Strategy and Tactics of Pricing — break-even sales changes and price elasticity — Routledge (Nagle & Müller)
  • Cost Accounting: A Managerial Emphasis, 17th ed. — pricing decisions and cost management — Pearson (Horngren, Datar & Rajan)