Coverage Bias: Why Your Map Is Wrong About Poor Places

Coverage Bias: Why Your Map Is Wrong About Poor Places

E
By Etzal Earth
11 min read

Every spatial dataset is incomplete. That much is uncontroversial and mostly harmless, because analysts are used to reasoning about noise. The problem is that spatial incompleteness is not noise. It is structured, and the structure runs along the same lines as wealth, attention, commercial value, and state capacity.

The result is a specific and repeatable failure. An analysis compares two areas, one well mapped and one poorly mapped, and reports that the second has fewer businesses, less traffic, fewer hazards, fewer incidents, and less activity. Every one of those findings is an artifact of who was looking. The analysis is internally correct and its conclusion is backwards.

This failure is more damaging than most data quality problems because it is invisible from inside the data. There is no error bar on a record that was never created, and nothing in a query result distinguishes an empty area from an unobserved one.

Coverage is systematic, not random

If missing data were random, sampling theory would handle it. Estimates would be noisier in sparsely covered places and unbiased on average, and larger sample sizes would fix it. None of that applies here.

Consider how spatial data comes into existence. Volunteer mapping is done by people with time, devices, connectivity, and interest, concentrated in cities, in wealthier countries, and around places those mappers care about. Commercial data collection follows commercial value, so street level imagery, point of interest coverage, and address databases are densest where there is money to be made from them. Government data reflects state capacity and priorities, so cadastral records, hazard maps, and infrastructure inventories are best where administrations are well funded. Sensor networks, from air quality monitors to seismic stations to vessel receivers, are installed where somebody funded them.

Every one of these mechanisms points the same direction. The overlap is not coincidental, it is the same underlying variable expressed four times. That means the missingness correlates with almost anything an analyst might want to study, which is the textbook condition under which ignoring missing data produces biased rather than merely imprecise results.

Within a single city the same pattern repeats at smaller scale. Central districts and affluent neighborhoods have detailed building attributes, named businesses, mapped footpaths, and complete address coverage. Informal settlements on the edge of the same city may have building outlines and nothing else, or a road network reduced to a few through routes, or no representation at all beyond a land cover class.

The reinforcing loop

Coverage bias does not stay constant. It compounds.

A place that is well mapped is easier to map further. Existing geometry gives contributors something to attach detail to, existing addresses give delivery and commerce a foothold, existing imagery gives remote mappers something to trace. A place with no base data is harder to start on, and the first contribution has to be built from nothing.

Commercial data collection follows commercial activity, and commercial activity follows the ability to operate, which depends on data. A logistics company enters markets it can route in. Its operations then generate the address confirmations, the traffic data, and the point of interest updates that make the market easier for the next entrant. The market that could not be routed in generates nothing and stays unrouteable.

Analytical attention follows data availability. Researchers, product teams, and models are drawn to places where the data supports the work. Papers, benchmarks, and trained models therefore concentrate on well covered geographies, and the tools built on them are tuned for those conditions and degrade quietly elsewhere.

Each loop is individually reasonable. Together they mean that the gap between well observed and poorly observed places widens without anyone deciding it should, and that a snapshot of coverage taken today understates where things are heading.

Less observed reads as quieter, emptier, safer

The specific mechanism by which this corrupts analysis is worth stating precisely, because it is always the same substitution: absence of a record is treated as a record of absence.

A retail catchment model counts competitors from a point of interest dataset. In a well covered district it finds many. In a poorly covered district it finds few and reports an underserved market, when the reality may be a dense informal retail sector that no dataset contains. The model has confused unmapped with unserved.

A risk model counts recorded incidents. Areas with less reporting infrastructure produce fewer records, so the model scores them lower risk. Insurance and emergency planning built on that model underprovision exactly where provision matters most.

An accessibility analysis routes on a road network. Streets that exist but are unmapped do not carry routes, so the area appears cut off, or the analysis fails to reach addresses that are reachable in practice. Depending on the direction of the error, the same area can be reported as unreachable and as low demand.

An activity model counts mobile derived presence, sensor readings, or transaction density. Every one of those depends on device ownership, network coverage, and formal commerce, so lower measured activity reflects lower instrumentation as much as lower activity.

The pattern is consistent: whatever the metric, the poorly covered area looks like the low end of it. Fewer people, less commerce, less risk, less traffic, less need. That is a coherent and completely false picture, and it is coherent enough to be convincing, which is the dangerous part.

What happens when decisions are attached

Analysis of this kind is not usually produced for its own sake. It steers something.

Investment screening uses spatial indicators to shortlist locations. Areas that read as low activity drop out of the shortlist before any human considers them. The capital goes to places that were already legible, which reinforces their legibility.

Infrastructure planning sizes provision against measured demand. Measured demand is low where measurement is thin, so provision is low, so the instrumentation that would generate demand data is never installed.

Emergency response allocates against exposure estimates. A settlement whose buildings are not in the footprint dataset contributes nothing to estimated exposure and is not prioritized. In a disaster, response reaches the areas the model could see.

Insurance and credit price against risk models. An area with no data may be declined outright, since an unassessable risk is treated as an unacceptable one, which is a defensible position for an individual underwriter and a systematic exclusion in aggregate.

In each case the harm has the same shape. The decision is defensible on the evidence, the evidence is biased in a known direction, and the outcome deepens the bias that produced it. The person harmed has no visibility into the mechanism and no route to contest it, because the input was not a wrong record about them, it was the absence of any record at all.

Detecting the bias

Coverage bias cannot be detected from inside the dataset, because the dataset agrees with itself. It requires an external reference: something that measures presence or activity through a completely different mechanism, and comparing the two.

Several comparisons are practical.

  • Building footprints against the dataset in question. Footprints derived from imagery are produced by a mechanism that does not care about commercial value or mapper interest. An area with many buildings and no mapped businesses, no addresses, and few road attributes is under mapped, not empty.
  • Built up area or settlement layers against network density. If the built up fraction is high and the road network is a few coarse lines, the network is incomplete rather than the settlement being sparse.
  • Gridded population against record counts. Records per thousand residents, computed per unit, exposes areas where the ratio collapses. The absolute number is not meaningful, the spatial pattern of the ratio is.
  • Night lights or imagery derived activity against mapped activity. Two independent mechanisms disagreeing is a coverage signal.
  • Edit or update recency against area. Where the underlying data carries timestamps, the age distribution of records is a direct measure of attention. A district whose most recent edits are years old is not stable, it is unvisited.

None of these references is unbiased itself. Footprint extraction performs worse on small, irregular, low contrast structures, which are more common in exactly the settlements at issue, so it undercounts in the same direction. Gridded population inherits census gaps. The point is not to find a perfect yardstick but to use one whose biases differ, so that a large discrepancy is informative even when a small one is not.

The output of this exercise should be a per area coverage measure, computed once and stored, rather than a one time diagnostic. It is an attribute of the data about a place, and it belongs beside every other attribute.

Coverage as a first-class field

The change that fixes most of the downstream damage is structural rather than analytical: every result that describes an area carries a coverage figure in the same record, and every interface that renders the result renders the coverage.

Concretely, a query that returns twelve businesses in an area should also return what the coverage assessment for that area is, when the underlying data was last updated there, and what the expected count would be given the built form. A risk score should carry the proportion of its inputs that were populated from real observation. A density figure should carry the completeness of the footprint layer it was computed from.

Three design rules make this work in practice.

Coverage travels in the payload, not in documentation. The consumer most likely to misuse a number is an automated one, and it will not read a method note. For systems read by agents this is not optional: a tool that returns a bare count invites a confident summary of a fact that was never established.

Coverage is per area, not per dataset. A global statement that a dataset has good coverage is worthless, because the variation within it is the entire problem. The figure has to be computed at roughly the resolution at which queries are answered.

Low coverage changes the response, not just the metadata. A count from an area with very low coverage should be returned as a lower bound with that framing, or as unknown, rather than as a count with a warning attached. Warnings get dropped in the second system that touches the data. Types do not.

The same reasoning applies to the empty result. Zero records returned from a well covered area is a finding. Zero records from an uncovered area is a non answer, and the response should be structured differently in the two cases so that no consumer can conflate them.

Refusing the comparison

Some questions cannot be answered honestly with the data available, and the correct output is a refusal with a reason.

The clearest case is a direct comparison between areas with substantially different coverage. Ranking a well mapped district against a poorly mapped one on any count based metric produces a result that is dominated by the coverage difference. There is no weighting scheme that repairs this, because the size of the missingness is unknown, and any correction factor invents the very quantity in question.

What can be offered instead is usually enough to be useful.

  • A comparison restricted to areas with comparable coverage, with the excluded areas listed and the reason given.
  • A comparison on a metric that is less coverage sensitive, such as a built form measure derived from imagery, which is imperfect but at least uniformly imperfect.
  • Change over time within each area separately, which cancels a stable coverage bias and is often the question actually being asked.
  • The comparison as requested, accompanied by the coverage figures, with an explicit statement that the difference in coverage is large enough to account for the difference in the result.

That last option is a judgment call and it is often the right one, because refusing outright pushes the requester to a tool that will not warn them at all. The line worth holding is that the caveat has to be as prominent as the result and structurally attached to it, not a footnote under a chart.

The map that reports its own edges

A map that shows nothing in an area makes a claim, whether or not anyone intended it to. Rendered as empty space, that claim is that nothing is there. Rendered as an area marked unsurveyed, the claim is accurate and the reader knows what to do with it.

The engineering version of the same idea is that a system built on open spatial data should be able to answer, for any location, how much it knows there and how it knows that. Not a global quality statement, not a data source list, but a local, computed, honest answer about this place. Systems that can do this degrade gracefully, because a consumer can decide whether to trust an answer. Systems that cannot are uniformly confident, and their confidence is highest, relative to their accuracy, exactly where the people affected have the least ability to correct them.