Skip to content
🛠️ToolsShed

Price Elasticity Calculator

Calculate price elasticity of demand and supply.

% Price Change

+20.00%

% Quantity Change

-20.00%

Elasticity

-1.0000

Interpretation

Unit Elastic (|E| = 1) — Proportional change

0 (inelastic)
3+ (elastic)

About this tool

Price elasticity measures how sensitive demand or supply is to price changes—a fundamental concept in economics and business strategy. When demand is elastic, a small price increase causes a larger percentage drop in quantity demanded, reducing total revenue. Conversely, inelastic demand means price changes have little effect on quantity, allowing businesses to raise prices without losing many customers. This calculator helps you quantify that relationship using the standard elasticity formula: percentage change in quantity divided by percentage change in price.

To use the tool, simply enter the initial and final prices, along with the initial and final quantities sold. The calculator instantly computes the price elasticity coefficient and classifies the result as elastic, inelastic, or unit elastic. Typical users include business analysts setting pricing strategies, economists studying market behavior, and students learning microeconomics. You can also explore sensitivity by adjusting prices and quantities to see how elasticity shifts—useful for understanding price optimization in different market conditions.

Keep in mind that elasticity can vary across different price ranges and customer segments; what works at $10 may differ at $20. The tool assumes linear demand curves and simple demand–supply relationships. For real-world applications, consider collecting actual sales data over time to validate your elasticity estimates, and factor in external variables like competition, seasonality, and consumer income that also influence buying behavior.

Frequently Asked Questions

Code Implementation

def price_elasticity(q1, q2, p1, p2):
    """
    Calculate price elasticity of demand using midpoint method.
    q1, q2: quantity demanded before and after price change
    p1, p2: price before and after
    """
    avg_q = (q1 + q2) / 2
    avg_p = (p1 + p2) / 2
    pct_change_q = (q2 - q1) / avg_q * 100
    pct_change_p = (p2 - p1) / avg_p * 100
    ped = pct_change_q / pct_change_p if pct_change_p != 0 else float('inf')
    return ped

# Example: price rises from $10 to $12, quantity falls from 100 to 80
ped = price_elasticity(100, 80, 10, 12)
print(f"Price Elasticity of Demand: {ped:.4f}")
abs_ped = abs(ped)
if abs_ped > 1:
    print("Elastic demand (|PED| > 1) - price-sensitive")
elif abs_ped < 1:
    print("Inelastic demand (|PED| < 1) - price-insensitive")
else:
    print("Unit elastic (|PED| = 1)")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.