A dark choropleth of “orders by county” makes three large rural counties look quiet and two small urban counties look like the entire business. Someone concludes demand lives only in dense ZIP codes and cancels a rural pilot that was actually healthy on a per-customer basis. The map did not compute malice. It computed counts on unequal areas and let color do the storytelling without a denominator.
This is Part 2 of Geospatial for beginners. Part 1 asked when geo helps at all. This part assumes you passed that filter and now need a map that informs without smuggling a false spatial story. You will leave with a path: question, aggregation, color scale, caveats.
What you’ll learn
- Why choropleths on raw counts mislead, and when rates or densities fix them
- How binning and color scales change the story without changing the data
- How to treat missing regions, tiny n, and basemap distraction
- An honest map path you can run as a checklist before publish
- A worked county-style example with counts versus rates
Maps are arguments with color
Tables make people argue about numbers. Maps make people argue about places while half-remembering the numbers. That power is useful in ops reviews and dangerous in executive packs. Your job is not to make the least exciting map. Your job is to make the map’s implicit argument match the explicit question.
If the question is “where is absolute volume highest for staffing,” raw counts can be right. If the question is “where is intensity high relative to opportunity,” rates or per-capita style measures belong on the color channel. Mixing those questions under one legend is how strategy slides go wrong for a quarter.
Rule of thumb: Write the question as a sentence on the chart. If the color field does not answer that sentence, you built a poster.
The honest map path
Four stages. Skip one and the map still ships. That is the problem.

1. Question
Examples of clear questions:
- Which districts have the highest order volume for staffing?
- Which districts have the highest orders per 1,000 residents?
- Where are delivery failures elevated relative to delivery attempts?
- Which store catchments show coverage gaps with meaningful demand?
Unclear questions (“show performance on a map”) force you to invent a metric under deadline. Invented metrics become permanent because the PNG gets reused.
2. Aggregation
Pick a spatial unit that matches the decision and the data density: store buffer, H3 cell, ZIP, county, sales territory. Smaller units show more detail and more noise. Larger units hide pockets and stabilize rates. Suppress or gray out units under a minimum count. Part 1’s privacy rule still applies: aggregate when points are sensitive.
Join attribute data carefully. A region id mismatch drops rows and creates fake “empty” places. Empty is not the same as zero. Empty means you do not know or you did not match.
3. Color scale
Sequential scales (light to dark) fit low-to-high magnitudes. Diverging scales fit values around a meaningful center (above/below target). Rainbow scales rarely help continuous data and often harm colorblind readers. Class breaks (quantile, equal interval, manual) change which places look extreme. If a stakeholder can flip from quantile to equal interval and reverse the hero region, put the break method in the footnote.
4. Caveats
State incomplete geocodes, suppressed cells, time window, and metric definition on the figure. Caveats are not legal fluff. They are how the map remains true when it travels without you.
Pitfall table: counts, bins, missingness

Memorize those three pairs. Most misleading business maps fail at least one of them.
Choropleth on counts
Large polygons dominate the eye. A county with many people will often have many orders even if adoption is weak. Prefer rates when comparing intensity across unequal areas or populations. Keep a companion bar chart of top absolute counts if staffing still needs volume.
Weird bins
Automatic breaks can isolate a single outlier in the top class and mush everyone else into similar colors. Sometimes that is correct. Sometimes it hides a real gradient. Try one alternative classification and see whether the story is solid. Manual breaks tied to SLA thresholds (for example under 2%, 2% to 5%, over 5% failure) are often more honest for ops than pure statistical bins.
Missing regions
If a region has no rows because of a join miss, do not color it like zero demand. Use a distinct “no data” style. List unmatched rate in the caption: “4.2% of orders failed geocode and are off-map.”
Worked example: counts versus rates
Toy regions for a subscription hardware accessory (numbers invented for teaching):
| Region | Orders | Households (k) | Orders per 1k households |
|---|---|---|---|
| North | 8,000 | 400 | 20.0 |
| East | 3,000 | 80 | 37.5 |
| South | 5,500 | 250 | 22.0 |
| West | 1,200 | 30 | 40.0 |
| Central | 6,000 | 300 | 20.0 |
On a count choropleth, North and Central look like winners. On a rate choropleth, West and East look strongest. Both maps can be true. Only one answers “where is adoption intense?” Only the other answers “where do we ship the most boxes?” Put the matching title on each.
Sketch for the rate metric:
SELECT
r.region_id,
r.region_name,
COUNT(o.order_id) AS orders,
h.households,
COUNT(o.order_id) * 1000.0 / NULLIF(h.households, 0) AS orders_per_1k_hh
FROM regions r
LEFT JOIN households h ON h.region_id = r.region_id
LEFT JOIN orders o
ON o.region_id = r.region_id
AND o.order_date BETWEEN DATE '2026-01-01' AND DATE '2026-03-31'
GROUP BY r.region_id, r.region_name, h.households;Then apply a minimum volume rule before you celebrate a rate champion:
SELECT *
FROM region_rates
WHERE orders >= 100 -- suppress fluky high rates on tiny volume
ORDER BY orders_per_1k_hh DESC;West with 1,200 orders might still qualify. A region with 12 orders and a wild rate should not lead a capital allocation meeting.
Point maps, heatmaps, and when to avoid both
Point maps are honest about locations when privacy allows and when overplotting is controlled (sample, jitter with care, or cluster). Heatmaps and kernel density surfaces look scientific and can hide bandwidth choices that invent blobs. If you use a density surface, fix the parameters, state them, and confirm the blob survives a second parameter setting.
Hex or grid choropleths often beat raw points for public dashboards because they aggregate by design. They still need rates or normalized measures when cell opportunity differs (employment density, population, store traffic).
Basemaps and visual noise
Roads, terrain, and POI labels compete with your data layer. For analytical maps, prefer quiet basemaps, limited labels, and a legend that states units. 3D buildings rarely improve a rate comparison. Animation can help time series for a live audience and can destroy comprehension in a static PDF export.
Accessibility is part of honesty: do not rely on red/green alone; include direct labels for a few callout regions; ensure contrast holds when the slide is projected in a dim room.
A pre-publish map checklist
- Question sentence matches the colored field.
- Aggregation unit and time window are labeled.
- Counts versus rates choice is intentional and stated.
- Minimum n / suppression rule applied.
- No-data regions are styled differently from zero.
- Classification method named (quantile, equal interval, manual thresholds).
- Geocode match rate noted if relevant.
- Privacy review done for point-level views.
- Colorblind-safe palette and readable legend units.
- Companion table available for the top and bottom regions.
This is the same spirit as the finance series chart checklist: definition, sample size, alignment. Geography adds privacy and classification as first-class citizens.
Common mistakes
- Defaulting every metric to a county choropleth of counts.
- Letting software auto-bin without reading the breaks.
- Coloring unmatched regions as zero.
- Publishing customer point maps to wide audiences.
- Changing basemap zoom until the desired region fills the frame and implying national importance.
- Using dual encodings (size and color both mapped to related fields) that people misread as one field.
- Skipping the table. If the map cannot be summarized in ten ranked rows, the meeting will invent its own ranking from color memory.
How to practice
- Take one existing map at work and write the question it actually answers. Rewrite the title to match.
- Rebuild the same data as a rate (or count) alternative. Note which regions flip rank.
- Apply a minimum n filter and restyle no-data regions.
- Export a companion table of top 10 and bottom 10 units with the metric and n.
- Run the ten-point checklist and fix anything that fails before the next review.
That completes this two-part Geospatial for beginners arc: when geo is worth doing, and how to draw it without lying by accident. For more learning paths across analytics topics, visit the Learn hub. When spatial metrics join the official KPI list, treat them like any other metric contract in the metrics series, with quality checks inspired by the data quality series.
Quick recap
- Maps argue with color; match the argument to a written question.
- Path: question, aggregation, color scale, caveats.
- Prefer rates for intensity across unequal areas; keep counts when volume is the decision.
- Binning methods and missing-data styling can reverse the hero region.
- Suppress tiny n; never confuse no data with zero.
- Ship a checklist-backed map plus a small table, not a basemap performance.
Sources
- Cynthia Brewer / ColorBrewer. Color advice for cartography (sequential and diverging schemes). https://colorbrewer2.org/
- US Census Bureau. Geography resources and notes on comparing areas of different sizes. https://www.census.gov/programs-surveys/geography.html
- PostGIS. Documentation (spatial aggregates and joins underlying many warehouse maps). https://postgis.net/documentation/
- Kenneth Field. Cartography resources and practical mapping guidance (see Esri cartography blog and related writing on classification). https://www.esri.com/arcgis-blog/products/arcgis-pro/mapping/
- H3 documentation. Hex binning concepts for analytical grids. https://h3geo.org/docs/
- Stephen Few. “Save the Pies for Dessert” and related visual integrity essays (principles transfer from charts to thematic maps). https://www.perceptualedge.com/articles/visual_business_intelligence/save_the_pies_for_dessert.pdf
