Do regional towns really pay more at Coles?

Luke Durrant · Prices captured 21 September 2026 · 6 min read

Across 25 Coles stores, 96.2% of lines cost a country town exactly what they cost its own capital city — to the cent. Two capital cities agree with each other less often than that (84.9%). The price line runs between states and into the far north, not between the city and the bush.

One household's real weekly shop — 49 lines mapped from a real receipt — priced at 25 Coles stores across eight states and territories, every price read on the same day as the price Coles lists for that store.

Town vs its own capital
96.2%
of shared lines priced identically, to the cent
Capital vs capital
84.9%
identical — cities disagree more than towns do (widest: Adelaide vs Perth)
Dearest town: Broome
+2.6%
on the same basket as its own capital — a freight loading, not a country loading
Specials
10 of 13
discounted lines ring up at the same price in all 25 stores
Stock, not price
40 vs 48
lines in stock: Broome against Wagga Wagga — the gap that is real

01 / 06Town vs its own capital

Eighteen country towns, priced against their own capital city

Each town is compared only with the capital of its own state, and only on lines both stores price — comparing a country store against a city store on lines it doesn't stock would make it look cheap for the wrong reason.
TownCompared withSame priceBasketDifference
Broome WA
Remote town · 2,230 km from Perth
Perth
73%
29 of 40 lines
$215.92
capital $210.43
+2.6%
Port Hedland WA
Remote town · 1,640 km from Perth
Perth
76%
31 of 41 lines
$220.26
capital $215.18
+2.4%
Bendigo VIC
Regional town · 150 km from Melbourne
Melbourne
100%
48 of 48 lines
$249.02
capital $249.02
0.0%
Rockhampton QLD
Regional town · 600 km from Brisbane
Brisbane
100%
45 of 45 lines
$232.90
capital $232.90
0.0%
Cairns QLD
Regional town · 1,390 km from Brisbane
Brisbane
100%
46 of 46 lines
$238.30
capital $238.30
0.0%
Mount Isa QLD
Remote town · 1,830 km from Brisbane
Brisbane
100%
41 of 41 lines
$214.70
capital $214.70
0.0%
Port Lincoln SA
Regional town · 650 km from Adelaide
Adelaide
100%
45 of 45 lines
$231.43
capital $231.43
0.0%
Geraldton WA
Regional town · 420 km from Perth
Perth
100%
43 of 43 lines
$225.13
capital $225.13
0.0%
Kalgoorlie WA
Regional town · 595 km from Perth
Perth
100%
43 of 43 lines
$225.13
capital $225.13
0.0%
Alice Springs NT
Remote town · 1,490 km from Darwin
Darwin
100%
39 of 39 lines
$191.39
capital $191.39
0.0%
Devonport TAS
Regional town · 280 km from Hobart
Hobart
100%
41 of 41 lines
$215.18
capital $215.18
0.0%
Dubbo NSW
Regional town · 300 km from Sydney
Sydney
98%
43 of 44 lines
$231.01
capital $231.31
−0.1%
Wagga Wagga NSW
Regional town · 450 km from Sydney
Sydney
98%
43 of 44 lines
$231.01
capital $231.31
−0.1%
Bairnsdale VIC
Regional town · 280 km from Melbourne
Melbourne
98%
45 of 46 lines
$237.32
capital $237.62
−0.1%
Mildura VIC
Regional town · 540 km from Melbourne
Melbourne
98%
45 of 46 lines
$238.22
capital $238.52
−0.1%
Bunbury WA
Regional town · 175 km from Perth
Perth
98%
42 of 43 lines
$224.78
capital $225.08
−0.1%
Coffs Harbour NSW
Regional town · 500 km from Sydney
Sydney
98%
41 of 42 lines
$221.41
capital $221.71
−0.1%
Broken Hill NSW
Remote town · 1,140 km from Sydney
Sydney
93%
40 of 43 lines
$223.63
capital $227.51
−1.7%

02 / 06The exception

Even remote isn't a rule — freight is

Bendigo, Wagga, Cairns, Port Lincoln and Devonport all pay their capital's price to the cent. So do Mount Isa, 1,830 km from Brisbane, and Alice Springs, 1,490 km from Darwin. Only two stores in the whole capture carry a loading, and both sit at the end of the same north-west freight run.
  • Broome, WA

    +2.6%

    on the same basket as Perth, 2,230 km away. Same price on 29 of 40 lines.

  • Port Hedland, WA

    +2.4%

    on the same basket as Perth, 1,640 km away. Same price on 31 of 41 lines.

  • Mount Isa, QLD

    0.0%

    on the same basket as Brisbane, 1,830 km away. Same price on 41 of 41 lines.

  • Alice Springs, NT

    0.0%

    on the same basket as Darwin, 1,490 km away. Same price on 39 of 39 lines.

  • Broken Hill, NSW

    −1.7%

    on the same basket as Sydney, 1,140 km away. Same price on 40 of 43 lines.

Even there the loading is single-digit, and it lands on packaged goods trucked a long way — pasta, tinned tomatoes, chips, flavoured milk — not on the store's whole range. Distance alone doesn't predict it: Broken Hill, 1,140 km from Sydney, came in slightly BELOW Sydney on the same basket.

03 / 06Where the gap really is

Two capital cities agree with each other less than a town agrees with its capital

Every capital-city pair in the study, on the lines they share. This is the axis worth modelling — your state, not your postcode.
  • Adelaide vs Perth38 of 43 same+2.7%
  • Perth vs Hobart35 of 40 same−2.1%
  • Adelaide vs Darwin32 of 43 same+1.9%
  • Sydney vs Adelaide40 of 43 same−1.7%
  • Brisbane vs Perth39 of 44 same+1.6%
  • Melbourne vs Perth39 of 44 same+1.5%
  • Melbourne vs Adelaide43 of 46 same−1.2%
  • Sydney vs Hobart37 of 40 same−1.2%
  • Perth vs Darwin25 of 40 same−1.1%
  • Sydney vs Perth36 of 41 same+1.1%
  • Darwin vs Hobart29 of 40 same−1.1%
  • Brisbane vs Adelaide41 of 45 same−0.9%
  • Sydney vs Brisbane39 of 43 same−0.7%
  • Melbourne vs Hobart40 of 42 same−0.7%
  • Brisbane vs Darwin28 of 42 same+0.7%
  • Adelaide vs Hobart41 of 42 same+0.6%
  • Melbourne vs Darwin29 of 43 same+0.5%
  • Sydney vs Melbourne42 of 44 same−0.5%
  • Brisbane vs Hobart38 of 42 same−0.4%
  • Melbourne vs Brisbane42 of 47 same−0.3%
  • Sydney vs Darwin26 of 40 same+0.0%

04 / 06What moves

Most of the basket is flat; these are the lines that aren't

Of the 29 lines priced at all 25 stores, most cost exactly the same everywhere. The movers split into two groups: produce, which follows state and season, and packaged goods carried a long way north.
ProductCheapestDearestSpreadDear end
Coles Green Zucchini (each)
produce
$0.78$2.50+221%Perth, Bunbury, Geraldton
Coles Pink Lady Apple (each)
produce
$0.70$1.50+114%Sydney, Dubbo, Wagga Wagga
Coles Truss Tomatoes (each)
produce
$0.77$1.29+68%Perth, Bunbury, Geraldton
Coles Cherry Tomatoes 250g
produce
$2.50$3.20+28%Sydney, Dubbo, Wagga Wagga
Dairy Farmers Protein Smoothie 400mL
dairy
$4.55$5.10+12%Port Hedland, Broome
San Remo Penne Rigate 500g
pantry
$2.95$3.22+9%Port Hedland, Broome
Mutti Polpa with Basil 400g
pantry
$2.75$3.00+9%Port Hedland, Broome
Red Rock Deli Sea Salt & Balsamic 165g
pantry
$6.00$6.54+9%Port Hedland, Broome
Mutti Sugo Bolognese 400g
pantry
$4.80$5.23+9%Port Hedland, Broome
Coles Bananas (each)
produce
$0.77$0.83+8%Sydney, Broken Hill, Melbourne
Coles Mushrooms Cup 200g
produce
$4.00$4.20+5%Perth, Bunbury, Geraldton

Specials are national. The sale price is identical in every store measured — what differs is the “was” price printed beside it, so the same special reads as a deeper discount the further from the city you are.

05 / 06The real regional gap

It isn't the price. It's whether the shelf has it at all.

The same basket, rung up store by store — and next to each total, how much of the 49-line shop that store actually had in stock.

The same 29 lines — the ones every store in the study prices — rung up at each store on the same day, with that store's stock coverage of the full shop beside it.

  • Broken Hill$140.3845/49 in stock
  • Adelaide$140.3845/49 in stock
  • Port Lincoln$140.3845/49 in stock
  • Hobart$141.7841/49 in stock
  • Devonport$141.7842/49 in stock
  • Darwin$142.0942/49 in stock
  • Alice Springs$142.0942/49 in stock
  • Bairnsdale$142.5245/49 in stock
  • Mildura$142.5246/49 in stock
  • Brisbane$142.6047/49 in stock
  • Rockhampton$142.6043/49 in stock
  • Cairns$142.6045/49 in stock
  • Mount Isa$142.6041/49 in stock
  • Melbourne$142.8247/49 in stock
  • Bendigo$142.8247/49 in stock
  • Dubbo$143.5647/49 in stock
  • Wagga Wagga$143.5648/49 in stock
  • Coffs Harbour$143.5644/49 in stock
  • Sydney$143.8644/49 in stock
  • Bunbury$145.8842/49 in stock
  • Perth$146.1843/49 in stock
  • Geraldton$146.1843/49 in stock
  • Kalgoorlie$146.1841/49 in stock
  • Port Hedland$148.8741/49 in stock
  • Broome$148.8740/49 in stock
  • Capital city
  • Regional town
  • Remote town

Stock coverage doesn't split city from country either: the best-stocked store in this capture is Wagga Wagga, a country town, and the gaps that remain sit in the premium and specialty tail rather than the staples. It splits big stores from small ones.

That's the number worth acting on: a thinner shelf pushes you to a dearer substitute, and the receipt goes up without a single price changing.

06 / 06When the line is missing

What a missing line actually costs you — priced per kilo, not per pack

This is the mechanism behind the stock gap. For 9 everyday needs in this basket we priced every product a shopper would accept instead, at all 25 stores, under one rule: you can't buy less than you came for. Then we measured it twice — once as a price per kilo or litre, once as cash handed over that day — because those two numbers disagree, and only the first one is a price.

Often yes — and it is worth separating two things people feel as one. Measured per kilo or litre, the replacement is genuinely dearer in 26 of 49 forced swaps, median +22%. On top of that, the cash you hand over rises further — median +47% — because in 36 of 49 cases the only thing left was a bigger pack. The first number is a price rise. The second is buying more than you came for, and only the first should be called expensive.

Price, per kilo or litre
+22%
median across 49 forced swaps — a real price rise, dearer in 26 of them
Cash at the till
+47%
median — the rest is pack size, not price (36 of 49 forced bigger)
Worst single swap
+79%
per unit: Pizza base/dough in Broome
Worst basket: Bunbury
+$5.06
real price penalty across 3 forced swaps (+$7.20 at the till)

Every need, dearest per unit first

Read both columns. Strawberries in Broome are the honest example: the 250g punnet was gone, so the swap is the 350g Premium — 22% dearer per kilo, which is a genuine price rise, and 71% more at the till, which is mostly just more strawberries than you wanted.

What you wanted → what was thereStorePrice (per kilo/litre)Cash that day
Coles Dough Ball 250g → Coles Mini Bases 280g
Pizza base/dough · 250g → 280g
Broome
and 5 more stores
+79% per kilo
+$1.57 for the 250g you wanted
+$2.00 out today
$2.00 → $4.00
plus 30g you didn't come for
Home Chef Quiche 200g → Herbert Adams 200g
Quiche · 200g → 200g
Broome
+62% per kilo
+$3.74 for the 200g you wanted
+$3.74 out today
$6.00 → $9.74
Coles Strawberries 250g → Coles Premium 350g
Strawberries · 250g → 350g
Broome
and 5 more stores
+22% per kilo
+$0.79 for the 250g you wanted
+$2.50 out today
$3.50 → $6.00
plus 100g you didn't come for
La Casa Ball 250g → Coles Mozzarella Pear 500g
Fresh mozzarella · 250g → 500g
Broome
and 1 more store
−27% per kilo
−$1.50 for the 250g you wanted
+$2.50 out today
$5.50 → $8.00
plus 250g you didn't come for
Coles Deli Strips 130g → Always Fresh Strips 310g
Roast capsicum · 130g → 310g
Broome
−33% per kilo
−$1.23 for the 130g you wanted
+$2.25 out today
$3.75 → $6.00
plus 180g you didn't come for
Perfect Italiano Tub 250g → Perfect Italiano 500g
Ricotta · 250g → 500g
Broome
−37% per kilo
−$2.00 for the 250g you wanted
+$1.40 out today
$5.40 → $6.80
plus 250g you didn't come for

Who gets forced into it

The cash effect is identical everywhere — the same median in a capital, a regional town and a remote one, because pack sizes are national. The price effect moves around, and not in the direction you would guess: the remote stores' gaps happened to fall on needs where the replacement is a bigger tub of the same thing. What changes most between towns is simply how often you are forced into a swap at all, and that follows store size, not the map — Perth, a capital city, was forced into 3.

Store typeForced swapsMedian price changeMedian cash that dayGenuinely dearer
Capital city9+22%+47%5 of 9
Regional town23+22%+47%13 of 23
Remote town17−27%+47%8 of 17

And sometimes there is no substitute at all

  • Strawberries — nothing acceptable in stock in Bairnsdale
  • English muffins — nothing acceptable in stock in Hobart
  • English muffins — nothing acceptable in stock in Devonport

This is the one unambiguous loss: no pack size makes up for the shelf being empty — and note that a capital city is on this list too.

And the staple never went missing anywhere

  • Zucchini — listed as available in all 25 stores, typically $1.58
  • Full-cream milk (1L, any brand) — listed as available in all 25 stores, typically $1.75

Plain full-cream milk, any brand, was stocked in every store measured, and the cheapest litre cost the same in all 25. Loose zucchini was available everywhere too — it only looked missing in Western Australia because Coles lists it there under a different product code, at a different price. The gaps in this basket sit in the premium and specialty tail — a named-brand quiche, a particular tub of ricotta — not in the things everyone buys. That is worth holding onto before concluding a town is being short-changed.

You can't buy less than you came for: the substitute is the smallest available pack at least as big as the usual one (the largest available if nothing reaches it). The price impact is the substitute's rate applied to the amount you wanted; the cash impact is what you actually hand over.

How this was measured

Coles per-store product API (/api/bff/products/{sku}?storeId=), one live call per product per store, same day.

apps/nextjs/tests/fixtures/real-carts-au.json — order ww-2026-09-01 (the owner's own 51-line Woolworths shop), mapped line-for-line to the nearest Coles product.

  • Coles only — every claim on this page is a Coles claim. Woolworths and Aldi are covered in the checks below.
  • One store per town — the first full-size supermarket the retailer's own store finder returns for that postcode. Small-format stores are excluded, because store format is a separate effect from location.
  • Basket totals only ever sum lines both stores price. 29 of the 49 lines are priced at all 25 stores.
  • A single day's capture. Specials rotate weekly, so the produce numbers in particular are one week's picture, not a trend.
  • For each shopping need in the study basket, a hand-checked set of the products a shopper would actually accept instead — priced and stock-checked at all 25 stores through the same per-store product API. Milk is measured as an everyday need rather than one product code: Coles lists house-brand milk under a different SKU in every state, so the 'usual' is whichever 1-litre plain full-cream milk that state's store lists.
  • These are the prices Coles quotes online for each store, and fulfilment method makes no difference to them (checked: click and collect, delivery and home delivery return the same price at every store tested). What the capture cannot see is the physical shelf ticket. Coles' own terms say in-store prices may differ from online, so every claim here is a claim about the price Coles lists for that store, not one read off its shelf.

How the numbers were checked

A per-store price is only worth publishing if the store id really changed the answer. Four checks, run against the retailer's own pages after the capture:

  • Negative control: the price endpoint rejects a missing, zero or nonsense store id with HTTP 400. Every price here came back from a call that named a real store, so an identical price between two towns is two stores agreeing — not one national price served twice.
  • Store echo: for a sample of stores the product page was loaded with that store pinned and the page echoed the same store id back (initStoreId), at the same price the API gave. Dubbo $4.55, Broome $5.10 and Port Hedland $5.10 for the same line, read twice through two different code paths.
  • Store identity: every store id was resolved back through the retailer's own store finder and confirmed to sit in the town it is credited to — Coles Chinatown is Broome's Chinatown (Broome WA 6725), Coles Toormina is a Coffs Harbour suburb, Coles South Hedland serves Port Hedland.
  • Coles only, and not by preference: Woolworths' fulfilment endpoint returns HTTP 401 to an anonymous caller, so a town's Woolworths price cannot be read without signing in, and Aldi publishes a single national price. Coles is the one Australian grocer whose per-store listed price is publicly readable at 25 stores in a day.
  • State-variant SKUs: Coles lists some products under a different code in each state, which reads as a phantom stock-out if a product is keyed to one code. Every one of the 116 gaps in this capture was re-checked twice against a store search — once on brand, name and size, then again on name alone because produce sizes are written differently per state. Two were variants, not gaps, both in WA: Pauls Farmhouse Gold 1.5L milk (WA code 3058255) and loose zucchini (WA code 157716, and $2.50 each against $1.58 in the east). Both are merged. The other 114 gaps are real.
  • Fulfilment method: the same product at the same store returns the identical price whether the API is asked for click and collect, delivery or home delivery, or nothing — checked at Sydney, Dubbo, Alice Springs, Port Hedland and Broome. What this capture cannot see is the physical shelf ticket: these are the prices Coles quotes for that store online, and Coles' own terms say in-store prices may differ.

Frequently asked questions

Do supermarkets charge more in regional towns?
On this capture, almost never. Across 18 country towns measured against the capital city of their own state, 96.2% of shared lines were the same listed price to the cent on the same day. Dubbo pays Sydney's price, Mount Isa pays Brisbane's, Devonport pays Hobart's.
So why does a country shop feel more expensive?
Substitution, and it comes in two parts worth separating. Across the forced swaps in this basket the replacement was dearer per kilo or litre in a median across 49 forced swaps — a real price rise, dearer in 26 of them — that is a real price rise. On top of that the cash handed over rose by a median of +47%, because the survivor on the shelf is usually a bigger pack: Broome's 250g strawberry punnet was gone, so you take the 350g at $6.00. The first number is being charged more; the second is buying more than you came for. Both make a shop feel expensive, and only the first one is. The staples don't drive this at all — plain full-cream milk and loose zucchini were stocked in all 25 stores.
Where do prices actually differ, then?
Between states and at the far end of freight routes. Two capital cities agreed on only 84.9% of lines in this capture — less often than a country town agrees with its own capital. Produce moves with state and season — loose zucchini is $2.50 each in Western Australia and $1.58 in the east — and remote stores add a freight loading to packaged goods.
Are specials the same everywhere?
The sale price is. Ten of the thirteen lines on special rang up at exactly the same price in all 25 stores. What changes is the 'was' price printed next to it, so the same special is advertised as a bigger saving in a remote store than in the city.
Does OpenOrder work outside the cities?
Yes. Prices are matched to your state and zone, and because the listed price of a given line is the same in town and city, the comparison holds. What matters more for a regional shopper is whether a store stocks the line at all — which is why the basket comparison prices whole baskets and flags what a store doesn't carry.

Price your own basket, wherever you shop

OpenOrder prices a whole week's shopping list at every major supermarket and tells you which store is cheapest for the lot — and which lines a store doesn't carry.

Plan a week and compare