All articles

Pricing & Promotion

Using scan data to understand price sensitivity

Price sensitivity is the degree to which unit sales change when price changes, and scan data is the most direct way to observe it, because every scan record carries the price actually paid. Economists formalize this as price elasticity: the percentage change in units sold relative to the percentage change in price. Scan data turns that abstraction into something you can watch happen.

It also punishes careless analysis. Prices in the real world never move in a vacuum, so reading sensitivity well is mostly about controlling what else moved.

What does price sensitivity look like in scan data?

Two kinds of evidence show up. The first is longitudinal: an item's price changes at a store, and its unit velocity before and after the change can be compared. The second is cross-sectional: the same item sells at different prices across different stores at the same time, and velocity differences across those price points hint at where demand bends.

As a purely hypothetical illustration: an item selling 100 units a week at $2.00 that sells about 90 a week after moving to $2.20 lost roughly ten percent of its units against a ten percent price increase. Whether that trade was good business depends on margins and strategy, but the sensitivity itself is now an observed thing, not a guess.

Independent retail adds a useful wrinkle: because owners set their own prices, the channel naturally produces price variation that centrally priced chains don't, which gives analysts more real-world price points to learn from.

Direction matters as much as size. A question worth asking of any item: does demand react the same way to an increase as to a decrease? Analysts also watch for threshold behavior, where crossing a visible price point, say moving from just under two dollars to just over it, matters more than the cents involved. Scan data lets you test those ideas instead of assuming them.

What can confound the read?

Almost everything, if you let it. The usual suspects:

  • promotions, which mix a price change with displays and signage, so the lift isn't purely price
  • seasonality, since demand for many items swings with the calendar regardless of price
  • out-of-stocks, where an item that stopped selling may simply have been missing from the shelf
  • competing items, because a rival's price cut can move your units while your price sat still
  • pack changes, where a new size quietly changes the price per unit without changing the shelf price

A velocity drop that coincides with a price increase looks like elasticity. Sometimes it's a hot month ending, or a competitor's promotion starting. The data can't stop you from confusing those; only method can.

How do you keep the analysis honest?

Compare like with like. Match periods with similar seasonality, separate promoted weeks from everyday-price weeks, confirm the item was actually in stock, and use enough stores and weeks that one odd location can't steer the conclusion. Then report a range rather than a false-precision decimal. An honest "units respond noticeably above this price point" beats a fragile-looking elasticity coefficient that won't survive next quarter.

Document the exclusions, too. Weeks removed for promotions or suspected out-of-stocks should be listed, not silently dropped, so the next analyst can reproduce the read. Sensitivity work earns trust the same way any measurement does: by showing what was left out and why.

It's worth saying plainly: scan data shows the relationship between price and movement. Turning that into a pricing decision still requires judgment about margin, brand position, and competitive response.

Frequently asked questions

What is price elasticity in simple terms?

It's a measure of how much demand reacts to price. If units fall sharply when price rises, demand is elastic, or price sensitive. If units barely move, demand is inelastic. Scan data lets you observe the reaction directly, because it records both the price paid and the quantity sold.

Why is independent-store data useful for pricing questions?

Because prices genuinely vary. Independent owners price their own shelves, so the same item sells at different price points across the channel at the same time. That natural variation gives analysts more observation points than uniformly priced chains produce, which strengthens the sensitivity read.

Can scan data tell you the right price to charge?

No dataset can, by itself. Scan data shows how units moved at the prices stores actually charged, which frames the decision honestly. The choice still weighs margin, positioning, and how competitors might respond. Treat the data as the evidence, not the verdict.

How much price variation do I need before this is measurable?

Enough that prices actually differ across stores and over time. If your item sells at effectively one price everywhere, the data contains no evidence about what happens when the price changes, and no amount of analysis will manufacture some. Look for variation first and decide whether the question is answerable before commissioning the work.

What if my price barely varies at all?

Then measure where variation does exist: different store types, promotional weeks, different pack sizes, or markets where local pricing differs. If none of those apply, the honest conclusion is that this dataset cannot answer the question, which is a better outcome than an elasticity estimate built on almost no movement.

What if the price variation I can see is between stores rather than over time?

Then you are comparing stores, and stores differ in far more than price: neighborhood, competition, assortment, and who walks in. Cross-store variation can support an analysis if those differences are controlled for or at least named. Variation over time within the same store is the cleaner evidence when you have enough of it.

For a running view of how pricing and demand play out across the independent channel, see the NRS Insights monthly report and the archive.