How to plan franchise territories with places and population data
A fair franchise territory balances the people living in it against the rivals already trading there. How to draw territories from population and place counts.
A franchise territory is fair when each one holds enough of the right people, does not start buried under established rivals, and has a boundary both sides can see on a map. Build territories from two layers, residents and places, share the small cells of the city into compact groups, and check every group's totals before a franchisee signs for it.
This guide is for franchisors, master franchisees and development teams who sell territories city by city: tutoring, fitness, cleaning, food, pet care, home services. It covers what fair means, the data each layer gives you, a worked example, and the checks that stop an uneven territory from becoming a dispute two years later.
What a fair territory has
- Enough demand. People of the age and kind your brand serves live inside it.
- Room to trade. Rivals are present but not packed in, and the strongest ones are known before the franchisee signs.
- One piece. It is compact and joined up, so one franchisee can serve all of it without crossing someone else's patch.
- A boundary on a map. Not a list of postcodes typed into a contract, but a shape both sides can open.
- Comparable with its neighbours. Two franchisees paying the same fee should get territories that are close in size of opportunity.
The two layers of data
Who lives there
The Demographics block reads xMap's population grid: residents in small hexagons of about 0.1 km² each, split into men and women and nine age groups. It can give totals for a city or area, or every hexagon on its own, which is what territory planning needs, because hexagons are small enough to be shared out and added back up.
Who is already trading
The Nearby places block looks in xMap's places database for places of a type around each point, and can pass your items on with counts added: how many rivals within the distance, the nearest one, their average rating and how many belong to a chain. Chains matter in franchising more than anywhere, because a rival franchise network is the competition your franchisee will feel most.
A gym brand planning Sydney is not entering an empty market: the database lists 692 gyms within 10 km of the centre, and of the 347 nearest the centre almost a quarter belong to a chain, several of them franchise networks. The gyms in Sydney page shows the biggest chains and how the gyms are rated; to see where they are thin across the whole city, count them cell by cell as in the example below.
A worked example
Here is a made-up case to show the method; the city is real, the plan is invented. A children's tutoring brand wants six territories in Lyon, where population data exists.
- An Area of interest set to Lyon.
- Demographics with Give back set to every hexagon, so each small cell of the city becomes an item with its residents and age groups.
- Sort and limit by the children's age group, keeping the busiest hexagons only, so empty industrial land and parks do not dilute the territories.
- Nearby places around each incoming hexagon, set to tutoring centres within a kilometre and to pass each hexagon on with counts. It handles up to 100 places a run, so keep the sort to that many.
- A Calculated field line such as children_per_rival = children_0_19 / (nearby_count + 1), so a cell with many children and no tutoring centre stands out.
- Split by territory with six reps, which here means six franchise territories.
- xMap LLM on the whole list, writing a short plan for each territory, then Show on a map and an email to the development team.
The map is the part people look at. Each hexagon is coloured by its territory, so a franchisee can see their area street by street, and the team can see at once if one territory took all the central cells.
Check the totals before anyone signs
Split by territory makes groups that are compact and hold about the same number of items. That is fair by count of cells, which is not the same as fair by people: six territories of twenty hexagons each can still hold very different numbers of children if the cells differ. So add up each territory before you treat them as equal.
- Send the hexagons to a sheet with Google Sheets, or download the results as a CSV, and total the population and the rivals by the territory field.
- Ask the xMap LLM report to state each territory's total too, then check one territory by hand. Treat the AI's sums as a draft, never as the figure in a contract.
- If one territory is clearly richer, move a few border cells, or rerun with a different number of cells in the sort and compare.
Fixed boundaries and growth over time
Territories made by Split by territory come from the items of that run, so a rerun next month can draw slightly different lines as the data changes. That is useful while you plan and wrong once a contract is signed. When a territory is sold, keep its hexagons in a table in My data and use Match with my table in later flows, so each new place or new resident count lands in the territory it belongs to by contract.
From there, a monthly flow can report to each franchisee what changed inside their own boundary: new rivals, closures, new schools or offices that bring customers. That turns the territory map from a one-off sales document into something the franchisee keeps using.
Mistakes that cause disputes later
- Drawing by district names. Districts are drawn for government, not for your customers, and vary enormously in size.
- Equal area instead of equal demand. A territory twice the size can hold half the people.
- Ignoring rival franchise networks. A territory next to a strong rival's flagship is worth less than one that is not.
- Using population where it does not exist. In a country without the grid, every cell is 0 and the split becomes meaningless.
- Re-splitting after signing. Lock sold territories in a table and stop splitting them.
Questions
How many people should a franchise territory have?
It depends on the brand and on how often customers buy, so there is no general number. Work out how many customers one franchisee needs and how many residents of the right age it takes to find them, then size territories to that.
Can I plan territories in a country without population data?
Yes, but from places and your own data instead: rivals, anchors such as schools or offices, and your existing customers. The Demographics block gives 0 where it has no figures and says so.
Does Split by territory balance population?
No. It balances the number of items it receives and keeps them close together. Make each item a small cell and check the population totals of each territory afterwards.
Why do my territories change when I run the flow again?
Split by territory works from the items of each run. Once territories are agreed, keep them in a table and match new data against it instead of splitting again.
Templates that do this
Read next
More on site selection and expansion · Every article · Templates