1. Scope
Applies the midpoint (arc) elasticity formula to two (price, quantity) points and reports whether revenue grows or shrinks under the observed elasticity. It does not estimate elasticity from a single data point or cross-elasticity between products.
2. Inputs and outputs
Inputs
- priceOld number (currency)
- priceNew number (currency)
- quantityOld number
- quantityNew number
Outputs
- elasticity
Midpoint price elasticity of demand (PED).
- classification
elastic (|PED| > 1), inelastic (|PED| < 1), unit-elastic (=1).
- revenueDirection
Whether revenue rises or falls under the price change.
Engine source: src/lib/price-elasticity-calculator/engine.ts
3. Formula / scoring logic
PED = ((Qn - Qo) / ((Qn + Qo) / 2)) / ((Pn - Po) / ((Pn + Po) / 2)) 4. Assumptions
- Two observed points are enough to approximate local elasticity. For policy decisions, estimate from a regression across many points.
- Demand is stationary between the two measurements — no seasonality, no macro shock, no competitor price move.
5. Data sources
6. Known limitations
- Two points describe a chord, not a curve. Estimated elasticity is valid only near the price band sampled.
- Cannot detect menu effects, anchoring, or promotion-driven demand spikes.
7. Reproducibility
Input
priceOld = $20, priceNew = $25, quantityOld = 100, quantityNew = 80.
Expected output
elasticity ≈ -1.0 (unit-elastic); revenue unchanged at $2,000.
8. Change log
- 2026-04-24 methodology page first published.
Worked example
Run live against the same engine this site ships
(/engines/price-elasticity-calculator.js).
The inputs and outputs below are recomputed on every build and
independently re-verified in CI — they are never hand-authored.
Input
- tool
- price_elasticity
- current_price
- 100
- new_price
- 110
- current_demand
- 1000
- new_demand
- 920
Output
- priceChangePct
- 10
- demandChangePct
- -8
- elasticity
- -0.8
- elasticityType
- Inelastic
- currentRevenue
- 100000
- newRevenue
- 101200
- revenueDelta
- 1200
- revenueDeltaPct
- 1.2
- recommendation
- Demand is inelastic — buyers are relatively insensitive to this price increase. Revenue improves, making this a strong pricing lever.
Frequently asked questions
- What does the Price Elasticity Calculator calculate?
- Applies the midpoint (arc) elasticity formula to two (price, quantity) points and reports whether revenue grows or shrinks under the observed elasticity. It does not estimate elasticity from a single data point or cross-elasticity between products.
- What inputs does the Price Elasticity Calculator need?
- It takes 4 inputs: priceOld, priceNew, quantityOld, quantityNew. Outputs returned: elasticity, classification, revenueDirection.
- What formula does the Price Elasticity Calculator use?
- The exact computation is: PED = ((Qn - Qo) / ((Qn + Qo) / 2)) / ((Pn - Po) / ((Pn + Po) / 2))
- Can I verify the Price Elasticity Calculator with a worked example?
- Yes. With priceOld = $20, priceNew = $25, quantityOld = 100, quantityNew = 80. the tool returns elasticity ≈ -1.0 (unit-elastic); revenue unchanged at $2,000.
- Where does the Price Elasticity Calculator get its benchmark data?
- Reference data is sourced from: Varian, Intermediate Microeconomics — 9th ed. (chapter on elasticity) (as of 2019).
- What can the Price Elasticity Calculator not tell me?
- Known limitations: Two points describe a chord, not a curve. Estimated elasticity is valid only near the price band sampled. Cannot detect menu effects, anchoring, or promotion-driven demand spikes.