Skip to main content

Conformal coordinate intervals (2026-06-07)

A coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. guarantee on where a resolved address actually is. Companion to the isotonic calibration work — calibration tells you how much to trust the labelcomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag.; this tells you the radius the true point sits in.

The question

When the resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. places an address at a localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy., it returns that localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy.'s centroid. The honest follow-up question is not "is the name right" but "how far is the real doorstep from the point we returned, and can we put a guaranteed bound on it." A calibrated conf= answers the first kind of question; it says nothing about distance on the ground.

Method

Split conformal regression, no distributional assumption. For every row the resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. placed:

  • nonconformity score s = haversine(gold point, resolved locality centroid).
  • split the scores into a calibration half and a test half (seeded).
  • for a target coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. 1 − α, the radius R(α) is the conformal quantile of the calibration scores — the ceil((1 − α)(n + 1))-th smallest. Output a circle of that radius around the resolved centroid and the true point falls inside it with marginal probability at least 1 − α.
  • check it: the fraction of test scores at or under R(α) should land on 1 − α.

It runs offline over an oa-resolver-eval --out-resolved dump plus the admin gazetteergazetteerA geographical index that maps place names and postcodes to real-world coordinates. Mailwoman uses a custom-built Who's On First (WOF) SQLite database as its gazetteer — the 'atlas' half of the grammar/atlas architecture.'s centroids — no modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' in the loop. CoveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. is conditional on the resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. actually placing the row; rows it declined to place are reported as an abstention rate, not silently dropped.

Results

Three localeslocaleThe combination of language and country an address comes from. en-US and fr-FR are the locales Mailwoman ships weights for. off the night's resolved dumps (seed 20260607, 50/50 split). Realized coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. tracks the target everywhere, so the guarantee holds in practice and the radii are honest:

locale resolved 90% radius (realized) 95% radius (realized)
FR 98.7% 5.49 km (0.893) 8.16 km (0.954)
NL 99.0% 4.64 km (0.903) 7.60 km (0.949)
DE 65.2% 14.74 km (0.895) 19.48 km (0.952)

Read the French row as: when we place a French address at a localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy., the real point is within 5.49 km of it nine times in ten — and that "nine times in ten" is measured, not hoped for (0.893).

Two things fall out of the table for free. France and the Netherlands resolve nearly everything (~99%) into tight circles; Germany resolves only 65% and into a circle three times wider. That 34.8% German abstention is not noise — it is the Berlin / Hamburg / Bremen city-statedual-role placeA place that is two placetypes at once — Berlin as both a city and a state, Washington DC as city and district. Resolved using the coincident-roles relation plus hierarchy completion. rows where the parser drops the localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. entirely (#387), surfacing here a second time through a completely independent lens. The wider German radius is the genuine citylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy.-centroid-to-doorstep distance for the rows that do resolve, not a modelling failure.

Where it lives

scripts/eval/conformal-coord.py, with a --self-test that validates the conformal math on synthetic scores (realized coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. within 0.003 of target at 80 / 90 / 95%). The radii are modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.'-version specific — re-run per modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.'. The demo can draw R(α) as a circle, which is also the natural way to show genuine ambiguity ("could be either Berlin") instead of a false-precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. pin.