Skip to content

See a demo

30 minutes with Sasha Zhang · video link on confirmation

Loading scheduler…

CPG glossary

Geographical pricing: how retail price zones are set

What geographical pricing is

Geographical pricing is charging a different price for the same item depending on where it is sold. In retail that means a chain sorts its stores into price zones and gives each zone its own shelf price, so a 64 oz orange juice can ring $5.49 in one store and $4.69 in another twenty miles away with nothing about the product different.

The version I keep running into is smaller and more awkward than the textbook one. A 46-store grocery operator has three zones, a pricing manager who inherited them from someone who left in 2021, and no record of why any given store sits in the zone it sits in. The zones are real, they move millions of dollars a year, and nobody can reconstruct the logic.

The freight sense, and why this page is not about it

Marketing textbooks use "geographical pricing" for a manufacturer's freight policy: FOB origin, uniform delivered or postage-stamp pricing, basing-point pricing, and freight absorption. Those all describe who pays to move the goods and how the shipping cost gets buried in the price.

That is a legitimate sense of the term and it is not what a retailer means by it. The rest of this page is about the retail sense: differentiating shelf price by store location, usually called zone pricing or location based pricing.

How stores get cut into price zones

Three inputs do most of the work, and only two of them are things a retailer can observe in its own data:

  • Local competitive intensity. How many substitutes sit within a short drive, and how they price the key value items. This is a shop-the-competition exercise or a purchased price feed, not something your registers know.
  • Cost to serve. Delivery frequency, drop size, distance from the distribution center, and occupancy cost. Two stores with the same shelf price can have very different landed margins.
  • Observed price response. How units actually moved the last time that store or store cluster saw a different price. This is the only one of the three that is first-party and repeatable, and it is the one most zone structures were built without.

A note on a fourth input people reach for: shopper demographics. Register data records baskets, not people, so a trade-area income or age profile has to come from a census file, a loyalty program, or a survey. Nothing in your POS supports it, and a zone built on an assumption about who shops there rather than on how that store's units respond to price is an assumption dressed as an analysis.

Practically, most chains land on three to five zones. Fewer than three and you are not differentiating; more than five and pricebook maintenance and shelf-tag churn eat the gains.

A worked zone cut

Harbor Row Markets, an invented 46-store operator in one metro, prices a 64 oz orange juice across three zones. Unit cost is $3.95 in all of them.

ZoneStoresZone priceUnits/store/wkWeekly unitsWeekly gross profit
A, urban core12$5.4961732$1,127.28
B, suburban24$4.99882,112$2,196.48
C, value trade areas10$4.691041,040$769.60
Chain, as designed46$5.003,884$4,093.36

The arithmetic: ($5.49 minus $3.95) times 732 = $1,127.28 in Zone A, and the same subtraction runs the other two rows. Chain revenue is $19,435.16 across 3,884 units, so the blended average price is $5.00 and the blended gross margin is 21.1%.

The $5.00 is worth flagging because it is the number that ends up on a report, and it is a price no shopper anywhere in the chain pays. Reading a blended average as if it were a real shelf price is the most common way zone pricing misleads a brand-side analyst, and the EDLP and Hi-Lo page works through that trap from the supplier's side.

Proving the zone held

Setting a zone is a decision. Whether the zone exists is a measurement, and it is the step most chains skip. Zone C above was cut from $4.99 to $4.69 to test response in value trade areas. Here is what the registers actually rang over the following four weeks:

Zone C groupStoresPrice rungUnits/store/wkWeekly unitsWeekly gross profit
Took the price file7$4.69104728$538.72
Never took it3$4.9977231$240.24
Zone C as measured10$4.7695.9959$778.96

Three stores never took the price file. The zone's unit-weighted average ring came out at $4.76, not $4.69: (728 times $4.69 plus 231 times $4.99) divided by 959 equals $4.76.

Now watch what that does to the test. The pre-cut baseline for all ten stores was 77 units per store per week, which is exactly what the three stale stores kept doing, so they are an accidental control group. Measured across the whole zone the cut reads as 95.9 / 77, a 24.5% lift. In the seven stores that actually got $4.69 it was 104 / 77, a 35.1% lift. The reported number understates the real price response by more than ten points.

Gross profit is the trap inside the trap. Zone C earned $778.96 as measured against $769.60 as designed, because the three stale stores sold at a fatter margin. Anyone checking the zone on gross profit alone would conclude it went fine. The volume is 81 units a week short and the elasticity read is unusable, and neither shows up in the margin line.

Four checks that make a zone verifiable rather than assumed:

  • Observed ring price by store, not intended price. The pricebook says what should happen. Only the register says what did.
  • Store-week coverage. A store missing from the period reads as a zero rather than as absent, which quietly drags the zone average.
  • Exception count and age. How many store-weeks rang off-zone, and how long the oldest exception has been outstanding.
  • A held-out control. If every store moves, you have no counterfactual and the "lift" is just whatever else happened that month.

Regional price differentiation without fooling yourself

Zone pricing is a live experiment whether or not you designed it as one, so the discipline is the same as any other test. Change one zone at a time. Hold the comparison stores at their existing price for the whole read. Run at least four weeks, because the first week of any price change carries a stock-up effect that is not the new steady state. And measure against each store's own prior rate rather than against the chain average, since the whole premise of a zone is that these stores are not the chain average.

If you want the underlying method, price elasticity covers estimating response, and the retail price index covers benchmarking a zone's prices against a competitive set.

Where Scout fits

Scout reads your own store-level POS, so it can hold the item file, carry zone price by store, push the price file to the POS, and then report what each store actually rang against what its zone said it should. The exception list on the Zone C table above is the output: which stores, which weeks, how far off, and what it cost in units.

One boundary worth stating. Scout analyses store and geographic performance against your own transactions. It is not a mobility, footfall or geospatial panel, so it will not tell you about visits, catchment, or a competitor's foot traffic. If your zone logic depends on who walks past the door, that data comes from somewhere else.

The short version

  • Geographical pricing in retail means differentiating shelf price by store location, usually as three to five price zones. The freight sense of the term is a manufacturer's shipping policy and a different subject.
  • Zones are built from local competitive intensity, cost to serve, and observed price response. Only the last two are in your own data, and shopper demographics are in none of it.
  • A blended chain average price is an artifact. Harbor Row's $5.00 is a price no store charges.
  • Setting a zone is not the same as having one. Three of ten stores that never took the price file made a 35.1% price response read as 24.5%, while gross profit looked fine.

Sources: Wikipedia, "Geographical pricing".

See your CPG data answer questions in plain English — book a Scout demo

Want the rest of the CPG analyst's glossary?

Drop your email and we'll send the full set of CPG and retail-data definitions as one reference sheet.