How to measure whether a price change worked
How to measure price change impact with your own sales data: break-even volume, fair before-and-after windows, confounders and comparison groups.
Luska Research
Pricing team
Most online stores change prices far more often than they check whether the changes worked. The check does not need a data team. It needs a clear definition of "worked", a fair before-and-after comparison, and an honest list of the other things that changed at the same time. This guide sets out a method you can apply to any price change with ordinary sales data.
Decide what "worked" means before you look
A price change can raise revenue and lower profit, or lose units and make more money. Pick the measure first, or you will be tempted to choose whichever one looks best afterwards.
- Gross profit (revenue minus cost of goods) is the right default for most changes. It captures both the price and the volume effect.
- Units matter when the goal is to clear stock or win customers on a traffic product.
- Revenue on its own is rarely the right measure; a price cut can lift revenue while profit falls.
Know your break-even volume in advance
Before changing a price, work out how much volume you can afford to lose (on an increase) or need to gain (on a cut) to make the same gross profit. With an old price P₀, a new price P₁ and unit cost C:
Break-even units = old units × (P₀ − C) ÷ (P₁ − C)
Worked example: break-even (illustrative figures)
This one calculation reframes most results. A price rise that cost you 5% of units was a success; a cut that brought 10% more units was not.
Set up a fair before-and-after comparison
- Record the change. Date, product, old price, new price, and the reason.
- Use equal windows of whole weeks. Seven days before against seven days after avoids weekday effects; longer windows help for slow sellers.
- Wait before judging. Look at the result after the "after" window is complete, not on day two. A sensible range is one to four weeks after the change.
- Compare per day. Units, revenue and gross profit per day in each window, so slightly different lengths still compare.
- Note everything else that changed. This is the step most people skip, and the one that most often changes the conclusion.
The things that fool before-and-after comparisons
- Seasonality and events. A price rise the week before Christmas will look brilliant for reasons unrelated to the price.
- Stock-outs. If you or a competitor ran out of stock in either window, the comparison is distorted.
- Promotions and advertising. A newsletter, a paid campaign or a site-wide discount in one window but not the other.
- Competitor moves. If your main competitor changed their price at the same time, you are measuring both changes.
- Low volume. A product that sells three units a week can easily sell one or six by chance. Small numbers prove little.
- Regression to the mean. Products are often repriced because they had an unusually bad week. The next week is likely to be better whatever you do.
Use a comparison group where you can
The simplest guard against seasonality is a comparison group: similar products whose prices you did not change. If your repriced products sold 8% more units but the unchanged comparison group also sold 8% more, the price change probably did nothing. If the repriced group sold 8% more while the comparison group was flat, you have better evidence.
This "difference in differences" approach needs no special software — two columns in a spreadsheet — and it is the single biggest improvement you can make over a raw before-and-after comparison.
A worked example
Illustrative figures for an invented product.
A garden-tools store raises the price of a pruning saw from €39.90 to €42.90. Unit cost is €24.00.
- Before (7 days): 70 units, €2,793 revenue, gross profit €1,113 — €159 a day.
- After (7 days): 64 units, €2,745.60 revenue, gross profit €1,209.60 — €172.80 a day.
- Break-even units: 70 × 15.90 ÷ 18.90 ≈ 59. Actual units, 64, are above break-even.
- Comparison group (other saws and loppers, prices unchanged): units down 3% over the same weeks, consistent with the season tailing off.
- No promotions in either window; the main competitor's price was unchanged and in stock throughout.
Units fell about 9%, slightly more than the comparison group's 3%, but gross profit per day rose about 9%. With the confounders checked, the change looks like it worked. The store keeps the price and checks again in a month.
Measuring many changes at once
If you reprice dozens of products in one batch, measuring each one individually can be misleading: many will sell too few units for a clear result. Two practical approaches:
- Group by type of change. Add up all the increases in a category, and separately all the decreases, and compare each group's gross profit before and after against a comparison group. Individual noise tends to cancel out across a group.
- Stagger the changes. Change half the batch this week and half next week. The second half acts as a comparison group for the first.
Avoid changing the same product again before its first change has been measured. Overlapping changes make both impossible to read.
When to reverse a change
Reverse when gross profit is clearly below the before window, the comparison group does not explain the drop, and nothing else in your list of confounders does either. Do not reverse on the first two or three days of data, and do not keep adjusting the same product every week — each change resets the measurement.
What about A/B testing prices?
Showing different visitors different prices at the same time gives cleaner evidence, but it carries risks for an online store: customers who notice feel treated unfairly, and in the EU personalised prices bring disclosure duties. For most stores, careful before-and-after comparisons with a comparison group are the better trade-off. The issues are covered in dynamic vs personalised pricing.
Building up evidence over time
One change tells you little. A log of dozens of changes, each with its result, starts to show patterns: which categories tolerate increases, which products customers watch closely, how your customers respond to small versus large moves. That is, in effect, a practical estimate of your price elasticity of demand.
Luska automates the basic version of this. Its "Did it work?" view compares sales in the 7 days before and the 7 days after each approved price change, measured between 7 and 30 days after the change. It needs your sales data — from Shopify sync on the Professional plan and above, or a CSV import. It is a straight before-and-after comparison, so the confounder check above still applies.
FAQ
How long should I wait before judging a price change?
At least one full week after the change, and longer for products that sell only a few units a week. One to four weeks covers most cases.
What if my sales were affected by something else?
Note it, and use a comparison group of similar unchanged products. If the confounder is large — a stock-out, a major campaign — treat the result as inconclusive and measure again later.
Should I measure revenue or profit?
Gross profit, in most cases. Revenue can rise while profit falls, especially after a price cut.
Planning the change itself? See repricing strategy for e-commerce.
See whether each price change worked
Compare sales in the 7 days before and after every approved price change, with your sales data from Shopify or a CSV. 14-day free trial, no card needed.
See price change impact