Two hexes with no grocery store are not the same: one has 3 000 residents, the other has 50. Gap analysis (leakage) tells them apart by counting how many are missing at the London rate. Here is how it works and how to read it.
Color a map by “hexes with no grocery store” - a hex is one hexagon on the map, about 350 m across (roughly 0.1 km²) - and every one of them ties. A hex of 3 000 residents with none and a hex of 50 residents with none look identical - and only one of them is an opportunity.
The Missing map tells them apart. It works out how many grocery stores each hex would have if London's overall rate applied to its residents, then subtracts what is really there. The 3 000-resident hex comes out several stores short; the 50-resident hex comes out short by a fraction of one. The field calls this gap analysis, or leakage - demand that has to leak out of the hex to be served elsewhere.
Missingthe field's term: Gap / leakage
Grocery stores within a 10-minute walk, missing at the London rate. Blue is a shortfall - people without the stores their numbers would predict. Red has more than expected, here the center and the high streets. Gray is roughly as expected.
The idea, in one sentence
What should be here, minus what is here. The “should” comes from the city itself: London's rate of grocery stores per resident, applied to this hex's residents. It is the Fair share idea rearranged into a count you can act on - not “0.4× the average” but “2.8 stores short”.
Fewer than expected
A positive gap. The residents here would support more stores than exist. The bigger the shortfall, the deeper the blue.
As expected
Supply roughly matches what the residents would predict - within half a store either way.
More than expected
A negative gap. More stores than the residents alone explain - a high street, a retail park, a neighborhood that serves its neighbors.
Switching it on
Missing is a row in the Map type picker, beside Fair share under Compared with - the two maps that answer with a middle meaning “neither”. Its question is “How many are missing?”.
Where to click
Map type
Missing
Grocery store
Count as: Per 1 000 residents
Look at: Within a 10-minute walk
The panel is titled Missing, with the map's question under it. The scope row asks its own question too: not 'Average of' but 'Expected at the rate of'.The badge names the map in both registers, says in one line what is drawn, and links to this guide.
This map insists on a division, and picks one for you
A gap needs something to count against: how many grocery stores for what. So “Total” is struck out of the Count as row on this map entirely, and if you arrive from a map that was counting totals, Missing quietly picks a division that works rather than opening a map it would have to refuse.
Count as on the Missing map, already set to a division. There is no 'Total' in the list - a gap measured against nothing is the one answer this map is guaranteed to refuse.The rate can be London's, that of a neighborhood or area you selected, or that of the country's cities.
The country's cities swaps London's rate for the average rate of the 12 UK cities MapBees covers, so the legend reads “… missing at the rate of the 12 UK cities MapBees covers”. Choosing it counts per 1 000 residents, the one division that can be compared across cities. The Fair share post shows the same choice on its own map.
We read the measure within a 10-minute walk here, and it is worth saying why. A single hex is small - about 0.1 km² - and rarely holds more than one grocery store, so most single-hex gaps are fractions. Within a 10-minute walk counts the stores you can reach on foot within 10 minutes, along streets and paths - nearer ones counting more - and sets them against the people living around the hex. The expected counts become whole stores, and the shortfalls become neighborhoods rather than dots. The walk post covers that choice on its own.
Reading the map
Unlike the Fair share map, the legend's steps are counts, not multiples: “2.8 grocery stores short” means exactly that. The class edges are cut once over the whole city, so panning never recolors a hex that did not change.
Zero is in the middle: within half a store either way reads as expected. Blue counts stores short, red counts stores over, and the darkest step starts at 5.5.Hovering a red hex: the London rate predicts 4.5 grocery stores within this walk, and there are 5.6 more than that - a neighborhood that serves well beyond its own residents.
To pull the biggest gaps out as named groups of hexes, open Standouts: on this map they rank “the biggest differences from what is expected”, shortfalls and surpluses each on their own side. That post is worked on this very map. To look only at some hexes - say, where at least 2,000 people live - Only where … mutes the rest without changing the rate they are measured against.
The math, honestly
Two steps and a subtraction. The figures are illustrative.
Grocery stores missing around one London hex
London's rateall grocery stores ÷ all residents × 1 000
0.3 per 1 000
Residents living around the hexthe hex and the hexes around it
18 000
Expected at London's rate
0.3 × 18 = 5.4 stores
Actually within a 10-minute walk
2 stores
Missing
5.4 − 2 = 3.4 short
The same sum for a 50-resident hex gives 0.015 expected, so its gap is a rounding error - which is the whole point. It no longer ties with the hex above.
'Show the math' states the subtraction in one line: what the London rate predicts for this hex, minus what is actually here. The method card under it can be copied whole.
A shortfall is a lead, not a verdict
The gap uses residents as the demand. It does not see commuters, tourists or the shop just over the boundary, and it cannot tell a shortage from a park. Treat a deep-blue neighborhood as the shortlist to go and look at - and check the coverage line in the panel, because a hex with no census data has no gap either.
It works inside a Score, too
The Missing map draws the gap on its own. In the Score, any factor counted per 1 000 residents can also be shown as “Missing” - each factor keeps its own “Show” control. That is how you make a Score reward hexes that are genuinely short of stores for the people living there, rather than simply empty ones.
Expected = the city's rate × this hex's residents. That is how many there 'should' be.
Missing = expected − actual. Positive is a shortfall; negative is more than expected.
Hexes with zero no longer tie: the one with more residents is short by more, and ranks higher.
Blue is short, red is over, gray is within half a store - and the steps are counts, cut once over the whole city.
Hover for the verdict and the expected count; use 'Show the math' for the subtraction and the method card.
Quick questions
What does the Missing map calculate?
It works out how many of something a hex would have at the city-wide rate (the city rate times the hex's residents), then subtracts what is actually there. A positive number is a shortfall; a negative one means more than expected.
Why not just look for hexes with zero shops?
Because every hex with zero ties. A hex of 3 000 residents with no grocery store and a hex of 50 residents with none look identical on a plain count. The gap ranks the first one far higher, because far more are missing there.
What does the map show?
Gray is about as expected, within half a store either way. Blue means fewer than expected (a shortfall, deepening with its size). Red means more than expected. The class edges are counts, not multiples, so they are set once over the whole city and do not change when you pan.
Can I use it in a score, not just on its own?
Yes. On the Score map, set a factor's Show to 'Missing' and it contributes its shortfall instead of its raw count, so hexes genuinely short for the people living there rank higher.
Can I compare with a rate other than London's?
Yes. 'Expected at the rate of' can be the whole city, a neighborhood or area you selected, or the country's cities - the 12 UK cities MapBees covers, counted per 1 000 residents.
Is a shortfall a guarantee that a shop would work there?
No. It is decision support built from open census and map data: it finds the hexes where demand is not yet matched by supply. Confirm the final call with local knowledge and footfall on the ground.
See it on a real map
The best way to understand the score is to play with it. The full app is on a Free Tier, with no sales call.
Builds MapBees's location-intelligence pipeline end to end — census and Overture Maps ingestion, H3 hex scoring, and the map interface — and writes the methodology behind every number on the site.