MapBees logoMapBees

Blog

Clusters: hot spot analysis (Getis-Ord Gi*), explained simply

A bright stretch of map is not proof of anything - random scatter makes bright stretches too. The Clusters map runs the standard hot-spot test (Getis-Ord Gi*) and marks only the hexes where there is genuinely more, or less, around than chance would explain. Pubs in London show how, along with the odd ones out and Standouts on this map.

Formula seriesBeginner friendlyLondon example
ByTinkal Gogoi(LinkedIn profile, opens in a new tab)September 14, 2026Updated October 21, 20269 min read

A bright stretch of map is not proof

Color a map by pub counts and you will see busy-looking stretches. Some of them are real neighborhoods. Some are what random scatter looks like - throw enough pubs at a city and a few will land next to each other by luck alone. The two look identical on an ordinary map.

The Clusters map tells them apart. It runs the standard hot-spot test used across the GIS industry - Getis-Ord Gi*, the thing ArcGIS calls Hot Spot Analysis - and colors only the hexes (a hex is one hexagon on the map, about 350 m across, roughly 0.1 km²) where there is genuinely more, or genuinely less, around than chance would explain. Everywhere else stays gray, because “nothing unusual” is the honest answer nearly everywhere.

Clustersthe field's term: Getis-Ord Gi*

Pubs, tested for real clusters. Orange is genuinely busy; gray is nothing unusual. The center, plus a string of town centers - Ealing, Wimbledon, Kingston, Bromley, Romford - come out as real.

What the test actually asks

For every hex it looks at the hex and its neighbors together, and asks one question: if London's pubs were shuffled at random across the city, how often would surroundings this busy turn up? If the answer is “hardly ever”, the cluster is real. If the answer is “all the time”, it is noise.

Genuinely busy

More pubs around here than chance would explain. Not one busy hex, but a whole stretch of hexes that is busy together.

Nothing unusual

The surroundings are within what random scatter would produce. This is most of the map, and it should be.

Genuinely quiet

Fewer than chance would explain - a real cold spot. For pubs in London there are none; for other measures there can be many.

Two details make the result trustworthy rather than merely pretty. The test is two-sided, so quiet pockets can be significant as well as busy ones. And it applies a correction (Benjamini-Hochberg) that removes the roughly 5% of hexes that would look unusual by luck alone across 40 000 hexes - without it, a city-sized map would be dotted with false alarms.

Switching it on

Clusters is a row in the Map type picker, under the heading Is it real - the group whose maps answer with a verdict rather than a number. Whatever measure you already had comes with you; only the question changes.

Clusters selected in the picker: the plain name, the field's term beside it, and the question it answers. The three-color thumbnail is the legend you are about to get. The picker holds nine map types in five groups; the list goes on below this crop to Put together, with Your formula.

Where to click

  1. Map type
  2. Clusters
  3. Pub
The panel counts the verdicts instead of drawing a spread: 1,633 hexes are genuinely busy for pubs, 11,013 are nothing unusual, none are genuinely quiet. The switch above the counts is the subject of the last section.

One row is missing here, and that is deliberate

On every other map the measure has a Look at row, choosing between just this hex and a 10-minute walk. On Clusters it is simply absent. A cluster test already reads each hex's neighbors, so a walk would count them twice - and rather than show you a permanently grayed control on a map where it could never be used, the app leaves the row out. A grayed option tells you something about your data; this would only have told you something about the map you had chosen.

Reading the map

Three colors, no ramp. There is no “slightly hot” here, because the question has a yes-or-no answer: either a hex's surroundings beat chance or they do not.

The legend also carries the one honest caveat: hexes at the edge of the data are not judged, because their surrounding ring is incomplete.
Hovering an orange hex: the verdict in words, then the hex's own count. This hex has just one pub - it is the hexes around it that are unusual.

Why a hex with one pub can be a hot spot

The test is about the surroundings, not the single hex. A hex with one pub whose neighbors all have several is part of a real cluster; a hex with six pubs surrounded by none is a lone spike, and Gi* dilutes it. That is exactly the opposite of a top-ten list, and it is why the orange stretches look like neighborhoods rather than dots. The lone spikes, and the quiet holes inside busy stretches, have a switch of their own - see the last section.

The math, honestly

For each hex, add up the pubs in the hex and its two rings of neighbors. Work out what that total would be on average if the city's values were shuffled. Compare the two, divided by the normal wobble you would expect from shuffling. The result is a z-score: roughly, how many wobbles away from chance these surroundings sit.

'Show the math' is where the field's term lives, in a sentence anyone can check. The method card under it records the method version, the map id and the data release, ready to copy. On the map itself you only ever see the verdicts.

The statistic never appears on the map, and that is a rule of the product rather than an omission: a z-score of 2.6 means nothing to most people, but “genuinely busy, not a fluke” does. “Show the math” names the test and what it compares, for anyone who wants to check the working.

Test pubs in London for real clusters

Three more things on this map

Also show the odd ones out. The switch on the panel adds two verdicts the cluster test cannot see: Busy among quiet, a hex genuinely busier than the hexes around it, and Quiet among busy, a hex genuinely quieter. For London's pubs it finds 31 and 36 of them, and every other hex keeps its verdict: with the switch on, the genuinely busy count drops from 1,633 to 1,597 and nothing unusual from 11,013 to 10,982. The odd ones out post explains the test behind it, Local Moran's I.

Standouts. The Standouts button next to the Map type picker ranks “The most genuinely busy and quiet hexes”: each Standout is a group of nearby hexes, and #1 holds the most hexes with that verdict, with the busy and quiet ends ranked each on its own. The test's statistic is never used to rank, for the same reason it is never printed. London's pubs have no genuinely quiet hexes, so only the busy end has anything to rank. The Standouts post covers every map.

No Only where … row. Other maps let you add a condition - “only where no pharmacy is within a 10-minute walk” - and mute the hexes that miss it. A cluster test reads the whole city, so there is nothing for a condition to narrow, and the row is left out here just like Look at. Pick another map to use it.

The whole idea, in six lines

  • The Clusters map asks whether a hex's surroundings are busier, or quieter, than random scatter would produce. That is the Getis-Ord Gi* test.
  • Three verdicts, no ramp: genuinely busy, nothing unusual, genuinely quiet. Most of any map is the middle one.
  • A false-discovery correction removes the hexes that would look unusual by luck, and edge hexes are never judged.
  • The 'Look at' and 'Only where …' rows are absent here: the test already reads the neighbors and the whole city.
  • Also show the odd ones out adds Busy among quiet and Quiet among busy; Standouts rank the most genuinely busy and quiet hexes.
  • Hover for the verdict in words; open 'Show the math' for the statistic behind it.

Want the magnitude rather than the verdict? That is the Fair share post - the two are designed to be read together.

Quick questions

What is hot spot analysis?

A statistical test (Getis-Ord Gi*) that looks at each hex together with the hexes around it and asks whether there is more, or less, of something there than a random arrangement of the city's own values would produce. MapBees calls it the Clusters map.

Why is most of the map gray?

Because 'nothing unusual' is the honest answer nearly everywhere. Only hexes whose surroundings are genuinely busier (orange) or quieter (blue) than chance would explain are colored, after a correction that removes the ~5% of hexes that would look unusual by luck alone.

Why is there no 'Within a 10-minute walk' option on the Clusters map?

Because the cluster test already reads the hexes around each one. Adding a walk would count those surroundings twice, so the app leaves that row out entirely on this map rather than showing a control that could never be used.

What happens at the edge of the city?

Hexes whose surrounding ring runs off the edge of the data are not judged. Their ring is incomplete, so a verdict there would be about the wrong surroundings.

Do I need to know what a z-score or p-value is?

No. The map says 'Genuinely busy', 'Nothing unusual' or 'Genuinely quiet', and the panel counts how many hexes fall in each. 'Show the math' names the test and what it compares for anyone who wants to check the working.

Can the Clusters map show a busy hex in a quiet neighborhood?

Yes. Turn on 'Also show the odd ones out' and two more verdicts appear: Busy among quiet and Quiet among busy, for a hex genuinely unlike the hexes around it. For London's pubs that is 31 and 36 hexes.

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.

About the author

Tinkal Gogoi(LinkedIn profile, opens in a new tab)Founder & Location Data Engineer

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.