(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
Price elasticity of demand: set prices with data
Economy

Price elasticity of demand: set prices with data

João Barros 04/07/2026 7 min

Few decisions hit the margin as directly as price — and few are made with so little evidence. Many companies still set prices by intuition, by copying competitors, or by a markup rule inherited a decade ago. The result is usually the same: some products leave money on the table and others drive customers away without anyone being able to explain why.

The price elasticity of demand is the concept that changes this conversation. It measures how much the quantity sold varies when the price changes and, contrary to what people assume, it is not an academic abstraction: it can be estimated from the sales data your company already stores. Knowing whether a product is price-sensitive is the difference between a promotion that grows profit and one that merely hands a discount to people who were going to buy anyway.

This article explains what price elasticity is, how to read it, where to find the data to estimate it and — above all — how to move from the number to the pricing decision without falling into the most common statistical traps.

What price elasticity actually is

The price elasticity of demand answers a simple question: if I raise or lower the price by 1%, how much does the quantity I sell change? Formally, it is the ratio between the percentage change in quantity and the percentage change in price.

Price elasticity of demand: set prices with data

Elasticity = % change in quantity ÷ % change in price

Because demand almost always falls when price rises, the value is usually negative. In practice we work with the absolute value: an elasticity of -1.8 reads as "1.8" and means that each 1% price increase corresponds, on average, to a 1.8% drop in units sold. The sign shows the direction; the magnitude shows the sensitivity.

Elastic, inelastic and the threshold that decides everything

The number gains meaning when we compare it with 1:

  • Elastic demand (absolute value above 1): customers react strongly to price. Raising the price reduces total revenue; lowering it can increase revenue. Typical of goods with many substitutes or postponable purchases.
  • Inelastic demand (absolute value below 1): customers react little. Raising the price increases revenue. Typical of essential goods, habitual purchases, or items with no close alternative.
  • Unit elasticity (absolute value equal to 1): the price and quantity changes cancel out and revenue stays the same.

This threshold is why there is no universal "right price". The same 5% increase can be excellent on an inelastic product and disastrous on an elastic one. Without measuring, you are betting blind.

The data you already have, and it is enough to start

Estimating elasticity does not require a six-month data science project. In most cases, the ingredients are already in the billing system or the ERP:

  • Sales history by product and by period (ideally weekly or daily), with quantity and the price actually charged.
  • A record of price changes and promotions: start and end dates, discount type and mechanics.
  • Context that helps explain variation unrelated to price: seasonality, stockouts, holidays and marketing campaigns.

The quality of this data matters more than the sophistication of the model. An average price computed over sales that include returns, or a quantity that mixes units and cases, produces meaningless elasticities. It is worth investing in cleaning before investing in the algorithm.

How to estimate elasticity from history

There are three approaches, from the simplest to the most robust.

1. Natural price variation. If a product's price has fluctuated over time, you can relate each price level to the quantity sold in the same period. It is fast, but dangerous: much of that variation tends to coincide with promotions and advertising, which contaminates the result.

2. Log-log regression. The most widely used method models the logarithm of quantity as a function of the logarithm of price:

ln(Q) = a + b · ln(P) + other factors

The great advantage is that the coefficient b is directly the elasticity, with no conversions needed. Adding control variables (seasonality, promotion yes or no, holiday) isolates the price effect more cleanly.

3. Controlled price tests. The most reliable approach is to trigger the variation on purpose: apply different prices in comparable stores or regions, or in alternating time windows, and measure the difference. It is the logic of an A/B test applied to price, and the only one that approaches a causal relationship rather than a mere correlation.

Cross-price elasticity: when one product pulls or eats another

No price lives in isolation. Cross-price elasticity measures how demand for one product reacts to the price of another, and it is essential for anyone managing a portfolio:

  • Substitutes (positive cross-price elasticity): lowering the price of the private label steals sales from the leading brand. Useful to gain share, dangerous for total margin.
  • Complements (negative cross-price elasticity): lowering the printer's price increases sales of cartridges. Here the pricing decision must look at the basket, not the isolated item.

Ignoring cross-price elasticity is why so many promotions seem to work but leave no profit: the "extra" units came from another product in the same store. This is called cannibalization, and you only see it by looking at the whole.

From the number to the decision: revenue is not profit

Knowing elasticity is not about maximizing units sold, but the contribution margin. A classic mistake is to optimize revenue and forget the cost. On an inelastic product with a good margin, a small price increase can lose few customers and improve the result considerably; on an elastic, low-margin product, cutting the price only makes sense if the extra volume covers the additional variable cost.

The practical rule is to combine the estimated elasticity with the margin: cross "how price-sensitive is this product?" with "how much do I earn on each unit?". That simple matrix usually reveals, right away, where the easy increases are and which discounts only destroy value.

Mistakes that make elasticity lie

  • Confusing correlation with causation. If every time you lowered the price you also spent on advertising, the model credits price with an effect that belonged to the ad.
  • Ignoring the pull-forward effect. In a strong promotion, part of the sales is just stock the customer would have bought later. The spike is misleading; the following weeks pay the bill.
  • Over-aggregating. The average elasticity of a category can hide segments with opposite behaviors — the classic case where the whole says the opposite of its parts.
  • Forgetting the time horizon. In the short run customers have few alternatives; in the long run they change habits. A week's elasticity is not a year's.

Mini-case: when stopping the discount earned more profit

A mid-sized food retail chain promoted a private-label soft drink almost every week, at 20% off, convinced it was a traffic magnet. When it estimated elasticity with a log-log regression over 18 months of data, the team found an absolute value of about 0.7 — clearly inelastic demand. Customers bought roughly the same quantity with or without the discount.

Looking at cross-price elasticity, they also realized that much of the "extra sales" during the promotion came from the more profitable leading-brand soft drink: pure cannibalization. The company cut the promotion's frequency from weekly to once a quarter and raised the base price by 4%. Volume fell less than 3%, within what elasticity predicted, and the category's contribution margin rose by about 11% in six months — with no loss of customers or noticeable traffic.

In practice

Price elasticity is not a magic formula that delivers "the optimal price" at the push of a button. It is a lens that replaces intuition with evidence: it shows which products can take an increase, which ones need a low price to sell, and where discounts only hand margin to people who were going to buy anyway. Start small — a handful of important products, the history you already have, a simple regression with a couple of controls — and validate the conclusions with a real price test before generalizing. The goal is not to get it right the first time, but to swap blind decisions for informed ones and improve every cycle. At a time when every margin point counts, this is one of the fastest ways for data to pay back the investment it demands.

← Back to insights
Let's talk?

Ready to transform your data?

Book a free 30-minute meeting and find out how we can help your team make better decisions.

Book a Free Meeting
bConcepts