Why Your Elasticity Numbers Are Probably Wrong
Price elasticity of demand is simply a ratio that tells you how much quantity demanded changes when price changes. Most people learn the formula and stop there. That's where things fall apart. The basic formula is percentage change in quantity divided by percentage change in price. That's it. But here's what nobody tells you: if you're just taking two data points from your POS system and plugging them in, you're calculating nothing useful. Real pricing data is noisy as hell. Sales jump because of a holiday, a competitor ran out of stock, your marketing team pushed a banner, the weather was weird. All of those show up in your quantity numbers, and they'll absolutely wreck your elasticity calculation if you don't account for them.
How To Calculate Price Elasticity (The Actual Way)
Start with the midpoint formula instead of the basic version. It's more accurate, especially when price changes are larger than five percent. Elasticity = [(Q2 - Q1) / ((Q1 + Q2) / 2)] ÷ [(P2 - P1) / ((P1 + P2) / 2)] The midpoint approach averages your starting and ending values as the denominator for both price and quantity. This prevents the absurd situation where going from $10 to $12 gives you a different elasticity than going from $12 to $10, which should obviously be the same relationship viewed from opposite directions.
Let me walk through a real example. You sell a product at $10 per unit and move 1000 units per week. You raise the price to $12, and demand drops to 800 units per week. Your quantity change is 800 minus 1000, which is minus 200. The midpoint quantity is (1000 plus 800) divided by 2, which equals 900. So your percentage quantity change is minus 200 divided by 900, or about minus 22.2 percent. Your price change is 12 minus 10, or 2. The midpoint price is (10 plus 12) divided by 2, which is 11. Your percentage price change is 2 divided by 11, or about 18.2 percent. Divide minus 22.2 by 18.2 and you get an elasticity of roughly minus 1.22. The absolute value is 1.22, which means demand is elastic—consumers are sensitive to this price change. If the result had been below 1 in absolute value, demand would be inelastic, meaning customers keep buying even as the price moves. Above 1 means they start walking away. Equal to 1 is unit elastic, which is a theoretical edge case you'll barely see in real data. That formula works fine for quick back-of-the-envelope math. For anything that actually drives pricing decisions, you need regression analysis. I spent three years doing pricing work for a regional retail chain, and the elasticity numbers from a simple midpoint formula were consistently misleading because we couldn't isolate the price effect from everything else happening simultaneously. We ended up running a multivariate regression with price, promotional activity, competitor pricing, seasonality indicators, and regional demand shifts as independent variables, with weekly unit sales as the dependent variable. The elasticity coefficient that came out of that model was what we actually used for pricing decisions.
Get the Full Details

The regression approach gave us an elasticity around 1.4 for most of our SKU family, compared to the 0.8 to 2.1 range we were getting from raw midpoint calculations. That's a massive difference in pricing strategy, and the regression was the only way we got close to the real number.
Where This Method Breaks Down Completely
Elasticity calculations assume you can isolate price as the only changing variable. That assumption is almost never true. If you ran a promotion at the same time you changed price, you can't tell if the demand shift came from the price change or the promotion. You'll get garbage output, and you might not even realize it until you've already implemented a pricing strategy based on faulty numbers. Another hard limitation: if your product has been priced at the same point for years with no variation, elasticity is effectively un estimable from historical data alone. There's no price movement to analyze. In those cases you have to run controlled experiments, like testing different price points in select stores or using digital A/B pricing if you operate online. Choice-based conjoint analysis is another option where you show customers different product-price combinations and ask them to choose, then back out implicit price sensitivity from those choices. There's also the issue of point elasticity versus arc elasticity. The midpoint formula gives you arc elasticity across a range of prices. But elasticity isn't constant across all price points. A 10 percent price increase from $5 to $5.50 feels very different to consumers than the same percentage increase from $50 to $55, even though the elasticity coefficient might look similar. If you need elasticity at a specific price point rather than across a range, you use point elasticity, which requires the derivative of the demand function at that point. That means you need a properly estimated demand curve, not just two data points.
And one more thing people regularly miss: cross-price elasticity. Your product doesn't exist in a vacuum. If you raise the price of Product A and customers switch to Product B, that's substitution effect showing up in your data. If Product A and Product B are sold together, raising the price of one could actually increase demand for the other if they're complements. I once saw a team calculate negative elasticity for a printer cartridge and call it "good" without realizing it meant customers were buying more when the price went up—because the complementary product, the printer itself, had just gone on sale. The elasticity wasn't wrong. Their interpretation was. If you want a practical starting point, grab your last twelve weeks of pricing and sales data, filter out any weeks with promotions or special events, and run the midpoint formula on consecutive price changes. Compare those numbers against your regression-based estimates if you have them. The gap between the two tells you how much confounding noise is in your raw data, which is useful information in itself.
