Skip to main content

The case for simple geocoders

Not every geocodinggeocodingThe process of converting an address into geographic coordinates (latitude and longitude). Mailwoman geocodes in a multi-tier cascade: exact address-point match → street interpolation → locality centroid. Each tier is progressively coarser but more widely available. problem needs a neural parser. This series steel-mans the reasonably defensible compromises that work for most applications — the architectures that ship in days, cover 90% of addresses, and cost nothing to maintain. Each article describes one approach, when it works, what it loses, and where Mailwoman fits (or doesn't).

These are the architectures most production geocoders actually use, and for many applications they are the right choice. Mailwoman exists for the applications where they are not.

Compromises

CompromiseWhat you doWhat you lose
Normalize-to-matchStrip, lowercase, abbreviate, fuzzy-match against a known databaseUnderstanding of what anything means
Postcode-onlyParseaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. the postcodepostcodeThe country-specific postal code (US ZIP, French code postal, etc.). Mailwoman handles postcode parsing entirely by rule classifier — a regex problem, not an ML one., centroid the resultEverything finer than ~1 mile
Gazetteer-firstSkip parsingaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates., treat as IR — try every tokentokenOne word or subword in the tokenized input. For the neural classifier, tokens come from SentencePiece (subword units); for the rule classifiers, tokens are whitespace- and punctuation-separated words. against a placename indexStreetsstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels., building numbers, venuevenueA named, non-address place — a business, building, park, or stadium. Mailwoman's free-text point-of-interest component, added as a Tier 2 fine label. names
Regex-anchored fieldsExtract the 3-4 fields you care about, ignore the restThe rest
Locality-onlyFind the citylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy., centroid itStreetstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels.-level routing, delivery-point accuracy
Human-in-the-loopDon't parseaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. — suggest, let the user confirmAutomation, scale
Close-enoughDefine your 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. requirement, pick the cheapest approach, stopEverything below your requirement

When simple is the right choice

The simple architectures win when:

  • You are geocodinggeocodingThe process of converting an address into geographic coordinates (latitude and longitude). Mailwoman geocodes in a multi-tier cascade: exact address-point match → street interpolation → locality centroid. Each tier is progressively coarser but more widely available. US addresses only.
  • You need administrative-level accuracy (citylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy., stateregionThe first-level administrative subdivision of a country — a US state, a French region, a province. The component between country and locality., postcodepostcodeThe country-specific postal code (US ZIP, French code postal, etc.). Mailwoman handles postcode parsing entirely by rule classifier — a regex problem, not an ML one.), not streetstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels.-level.
  • Your volume is under 1 million addresses per month.
  • You can fall back to a paid API or manual review for failures.
  • You have a week, not a year.
  • You do not need graceful degradation — a confident wrong answer is acceptable if it's rare enough.

These conditions describe most geocodinggeocodingThe process of converting an address into geographic coordinates (latitude and longitude). Mailwoman geocodes in a multi-tier cascade: exact address-point match → street interpolation → locality centroid. Each tier is progressively coarser but more widely available. use cases — for them, the simple architectures are the right choice. Mailwoman exists for the applications where they are not.

When to choose Mailwoman

Mailwoman is the right choice when:

  • You need streetstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels.-level or venuevenueA named, non-address place — a business, building, park, or stadium. Mailwoman's free-text point-of-interest component, added as a Tier 2 fine label.-level parsingaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates..
  • You serve international users with non-Anglophone address formats.
  • Your volume makes fallback costs material.
  • You cannot use a third-party API for privacy, regulatory, or cost reasons.
  • You need calibrated confidence — ambiguous inputs should surface their ambiguity, not produce a confident wrong answer.
  • You are willing to invest in infrastructure for long-term accuracy gains.

See also