Population and demographics

How to estimate demand from population around a site

Residents in the right ages, times the share who buy, times how often, shared with the competitors already there. A demand estimate you can build and defend.

xMap Flows team · · 5 min read

Demand from population is a chain of four numbers multiplied together: the residents within reach of the site, the share of them in the group that buys what you sell, the share of that group who buy at all, and how often each buyer comes in a year. That gives the total visits or orders the area can produce. Divide it by the number of businesses already serving it, plus your own, and you have a rough share for one site. Only the first two numbers come from data; the last two are your assumptions, and the estimate is only as good as you are honest about them.

This is for someone writing a business case: an operator weighing a new site, a lender reading a franchisee's plan, a founder sizing a first location. It shows the arithmetic, a worked example in Toronto, how to keep the assumptions visible, and how to have an AI employee run the same sum for many candidate sites.

The four numbers, and where each comes from

NumberWhat it isWhere it comes from
Residents within reachEveryone living within the distance customers travelDemographics, at your chosen distance
Share in your groupThe ages you serve, as a share of residentsDemographics, from its nine age groups
Share who buyOf that group, how many use this kind of service at allYour own records, a trade survey or a careful guess
Visits per buyer per yearHow often a buyer comesYour own records, or a careful guess

Only the first two are measured by xMap Flows; the last two are assumptions you supply.

Then two steps more: divide by the number of businesses sharing the demand, and check the result against what one site needs to break even.

A worked example in Toronto

Every figure here is made up, to show the method. A children's swimming school is weighing a unit in a residential area of Toronto. Parents in its existing area drive up to about 3 km for lessons.

  1. Residents within 3 km: 96,000.
  2. Children aged 0 to 9: the two youngest age groups give 10,600. The school teaches ages 3 to 10, so the owner takes about four-fifths of that group: roughly 8,500.
  3. Share who take swimming lessons in a year: from the school's own sign-ups in its first area, about one child in five. That gives about 1,700 children.
  4. Lessons per child per year: a term-based course of 30 weekly lessons, so about 51,000 lessons a year in the area.
  5. Shared with competitors: there are three other swim schools within the same 3 km. With the new school, five. An even split is about 10,200 lessons a year each.
  6. Check it: the owner knows a site needs about 7,000 lessons a year to cover its costs. The even share clears that by a margin, so the site is worth a closer look.

The useful part is not the final number. It is seeing which assumption moves it most. If only one child in eight takes lessons rather than one in five, the even share falls to about 6,400 lessons, below the line. So the owner's next job is to check that one assumption, not to refine the residents count.

Mistakes that inflate an estimate

  • Counting everyone. Total residents overstate demand for almost anything. Narrow to the ages that buy before applying any share.
  • Assuming you will get more than an even share. A new site rarely starts with more than its share. If the plan needs it, write down why.
  • Overlapping areas. Two candidate sites 2 km apart, each with a 3 km reach, share most of their residents. Their demand estimates cannot both be counted in a network plan.
  • Forgetting people who come from elsewhere. A site near offices, a station or a hospital draws customers who do not live nearby. Residents miss them; footfall is the measure for those.
  • Treating the result as a forecast. It is an order of magnitude. Present it as a range.

Doing it with an AI employee

Once the sum is set up, an AI employee can run it for every candidate site you are offered, with the same assumptions each time.

  1. Put candidate sites in a My data table, or have them arrive with New rows when your property team adds one to a shared sheet.
  2. Add Demographics, Each incoming place, at the distance your customers travel. Each site gets population and the nine age groups.
  3. Add Nearby places, Each incoming place with counts, for your kind of business at the same distance. Each site gets nearby_count.
  4. Add a Calculated field holding your chain of numbers, for example buyers = age_0_9 * 0.8 * 0.2, lessons = buyers * 30 and share = round(lessons / (nearby_count + 1)). Write the assumptions into the block's name so they are visible on the canvas.
  5. Add a Branch on share against your break-even line, and send both sides to Email with a different subject.

What lands in the inbox for each new site is its residents, the group you serve, the competitors around it and the estimated share, with a plain yes or no against your line. When you change an assumption, you change one line in the Calculated field and every future site uses it.

Questions

What is the simplest way to estimate demand from population?

Residents in the ages you serve, times the share who buy, times visits per year, divided by the businesses sharing them. The first two come from data, the rest from your own records or careful assumptions.

Where do I get the share of people who buy?

Best from your own customers in an area you already serve. Failing that, a trade association's survey or a cautious guess, stated as a guess.

Should I assume an even share of the market?

Start with an even share. If the plan needs more, write down the specific reason a new site would beat established ones.

Does population cover customers who work nearby but live elsewhere?

No. It counts residents. For offices, stations and hospitals, look at footfall as well.

How accurate is a demand estimate like this?

It is an order of magnitude, sensitive mostly to your assumptions. Run a cautious, middle and hopeful case and see whether the site works in the first.

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.