Population and demographics

How to find underserved neighbourhoods, step by step

Put where people live next to where businesses are, and the gaps show. A step-by-step method using residents, counts and distance to the nearest place, with checks.

xMap Flows team · · 4 min read

To find underserved neighbourhoods, cut the city into small areas, count the residents in each, then look at the businesses of your kind around each one: how many there are and how far the nearest is. Areas with many residents, few businesses and a long walk to the closest one are your gaps. Then check each gap by eye before acting, because water, parks and industrial land create false ones.

This guide is for anyone hunting for room in a market: a grocer looking for a next store, a city team checking access to services, a charity planning outreach, a franchise developer filling a territory. It gives a method you can follow by hand or hand to an AI employee, with the checks that keep it honest.

Three signals of a gap

No single number proves an area is underserved. Three together make a strong case:

  • Many residents. Enough people live there to support the business. This comes from Demographics.
  • Few businesses for them. The count of your kind of place in or around the area is low for its population (see people per business).
  • A long way to the nearest. Even if a few exist, the closest one is a long walk or drive. Nearby places gives nearby_nearest_m, the distance to the nearest match, for each point it checks.

An area that scores on all three is a much better lead than one that scores on one.

The method

  1. Choose the city and the kind of place. Be precise: "supermarket" is not the same as "convenience store". Nearby places lets you pick one type or a group of related types.
  2. Cut the city into small areas. Draw districts on the map with an Area of interest, or start from a grid of points. Smaller areas find smaller gaps.
  3. Count residents in each. Demographics with Totals for each area gives population, and people_per_km2 so dense and sparse areas are easy to tell apart.
  4. Keep the areas where people live. A Filter on population drops the parks, rail yards and lakes before they confuse the result.
  5. Count and measure the businesses. Nearby places, set to pass on each incoming place with counts, adds nearby_count and the distance to the nearest.
  6. Score and rank. A Calculated field can combine them, for example residents for each business, and Sort and limit keeps the top ten.
  7. Look at each one. Open the map and check every candidate before calling it a gap.

What the city-level figures already hint at

xMap's market pages split a 10 km circle around a city's centre into nine equal parts and say where a kind of place is fewest. For supermarkets in Sydney (November 2026) the database lists 190 in the circle, 75 of them in chains, and the thinnest parts are the north-east and the north-west, with 2 and 7 supermarkets. That is a starting point for a closer look, not a conclusion.

190Supermarkets listed
75Chains
115Independent
3.9Average rating
Supermarkets within 10 km of the centre of Sydney, xMap's places database, November 2026.

Toronto shows why the closer look matters. The same circle there holds 82 supermarkets, and its emptiest parts are the south and south-east, with none at all. Much of that ground is Lake Ontario. A method that skipped the population filter would rank the lake as Toronto's biggest supermarket gap.

Checks before you trust a gap

  • Is anyone there? Check residents first. Zero businesses among zero people is not a gap.
  • Is it covered from next door? A large store just outside the area's edge may serve it well. Distance to the nearest catches this better than a count.
  • Does the type list miss anything? A market hall, a discount store or a petrol station shop may meet the need without carrying your label.
  • Is the land usable? A residential gap with no commercial frontage may have nowhere to open.
  • Is there data for the country? Population figures exist in about 100 countries; among them Canada, Australia, France, India, Thailand and Egypt, but not the United Kingdom or the United States.

Asking quickly, then watching

For a one-off question, Ask the map answers questions such as "where are pharmacies fewest for the people living within 2 km of this point" on the spot, with a small map, cutting the circle into a three by three grid and naming the parts with the most people for each place.

For a gap you want to keep an eye on, an AI employee is better, because gaps open and close. A good shape: a monthly schedule, your drawn districts, Demographics, a Filter on population, Nearby places with counts, a Calculated field, Sort and limit, then an Email with a map. In the inbox each month: the ten areas with the most residents for each business, with the distance to the nearest one and a map. Add Only new after a separate Nearby places search if you also want to hear when someone opens in one of your gaps.

Ready-made: Neighbourhoods without a grocery store, New homes with no supermarket yet, Neighbourhoods far from a hospital and Neighbourhoods far from a food bank.

Questions

What makes a neighbourhood underserved?

Many residents, few businesses of a kind for them, and a long way to the nearest one. The more of these three it shows, the stronger the case.

Why filter on population first?

Lakes, parks and industrial land have no businesses and no people. Without the filter they rank as the biggest gaps.

How small should the areas be?

Small enough to match how far people go: walking-sized areas for daily needs, larger ones for destinations people drive to.

Can I find gaps in cities without population figures?

You can still map where businesses are fewest and how far the nearest is, but not set that against residents. The step says when a place has no population data.

Templates that do this

Read next

More on population and demographics · Every article · Templates

Put it to work

An AI employee in xMap Flows does this on live data, on its own timetable. Start from a template or describe it in plain words.