Questions · Addresses
What is address normalization, and how is it done?
Normalizing an address means verifying that it exists and rewriting it in the standard delivery form of its country: the street written in full, the house number in the right place, the postcode in the country's format and confirmed for that house number, the city in its official form. It is done by comparing what is written with the national address register and declaring every correction.
What it means, in practice
The same address can be written in dozens of ways: “kalverstr 92”, “Kalverstr. 92 Amsterdam”, “KALVERSTRAAT 92 1012PH”, with the postcode squeezed together or missing altogether. For a person they are all the same place. For a database, a carrier or a program that has to compare two records they are different strings. Normalization brings every one of these spellings back to the same form: Kalverstraat 92, 1012 PH AMSTERDAM.
It is not only a matter of form. To reach that line the engine has to establish that the city is Amsterdam, that a Kalverstraat exists there, that house number 92 lies in the stretch of street with postcode 1012 PH and not in the neighbouring one. Every step is a check: if a street is not found in the municipality, or a house number does not exist in that street, normalization does not invent anything and says so.
What happens if you skip it
The consequences show up in three places. In shipping: part of the letters and parcels come back or arrive late, because a wrong postcode sends the envelope to the wrong sorting centre and an abbreviated street is not resolved at the first attempt. In the database: the same person ends up on two or three records, because a search by address does not find the existing record written another way, and counts by city or by area do not add up. In integrations: an ERP, a CRM and an online shop that talk about different customers only because each of them writes the address its own way.
The cost is never a single line in the accounts. It is made of returns, of duplicate communications, of time spent searching by hand, and of decisions taken on numbers that count the same people twice.
How a correct address is written
Every country has its own delivery form, and normalization applies the form of the country the address belongs to. In the Netherlands it is made of three elements, always in the same order:
- The street name in full, in the spelling of the register: “Kalverstr.” becomes “Kalverstraat”, “Nwe” becomes “Nieuwe”, capitals and lower case as the street is officially written.
- The house number, after the street name, with any addition attached in the Dutch way: “92 A” or “92-2”. Floor, flat and “c/o” are not part of the address: they go on a separate line.
- The postcode and the city: four digits, a space and two capital letters, then the city in capitals. A Dutch postcode identifies a stretch of a street, so postcode plus house number is enough to pinpoint the address; a postcode from the wrong stretch, or written without the space, is what normalization fixes.
Elsewhere the order changes — the house number comes before the street in France and Belgium, after it in Germany and the Nordic countries; postcodes have five digits in Germany and Spain, a letter-and-digit block in the Netherlands, three digits in Iceland — and the engine writes each address the way its own country expects. Phone and email are not part of the address, but they are worth checking in the same pass, because the errors come from the same hand and the same hurry.
How it is done
A normalization engine works from the general to the particular: first the city, then the street in the register of that municipality, finally the house number and the postcode that belongs to it. When the data written contradict each other, it chooses and declares the choice.
The result is not just the rewritten address. It is the address plus an outcome: correct, modified with the list of changes, or to be checked with the reason (street not found in the municipality, house number missing, ambiguous city). An engine that always returns a nice-looking address and never a doubt is hiding the errors instead of solving them.
With RadarAddress normalization is the address verification: one at a time from the site, from an Excel or CSV file for a whole database, from the API inside your own software or in the form of your site with autocomplete. In the same pass it tidies surname and first name, corrects typos in the email address and returns the coordinates and the municipality code. In the countries whose national register is in service, street and house number are verified one by one; the list is on the countries page, and the price list on the pricing page.
Normalizing, validating, geocoding: three different things
Validating means answering yes or no: does this address exist? It is the minimum, and on its own it is of little use: a no without the correction leaves the work to you. Normalizing means validating and rewriting in the correct form, with the changes declared: that is what a database needs. Geocoding means adding coordinates to an address that has already been resolved: useful for maps and distances, misleading if done on an address that has not been normalized, because a point on the map comes out anyway, even a wrong one. The right order is always the same: first normalization, then everything else.
The same address, before and after
1012 PH amsterdam
1012 PH AMSTERDAM
Two declared changes: the street written in full, the city in capitals; street and house number verified in the national register and the postcode confirmed for that house number. The outcome says “address verified, modified”, not “address wrong”.
The questions that follow
What does it mean not to normalize an address?
It means using the address as it was written, without verifying it. It works as long as someone reads and interprets it; it stops working when a machine uses it: a sorting centre, a search in a database, a comparison between two records.
How is an address written correctly?
In the form of its country. In the Netherlands: street name in full, then the house number with any addition, then postcode with the space and city in capitals. Floor, flat and “c/o” go on a separate line. In other countries the order of house number and street, and the format of the postcode, follow the local rule.
Does normalization change the meaning of the address?
No. It changes the form, not the place. When the correct form cannot be established with certainty, for example a street that is not found in the municipality, the address stays as it is and the outcome flags it: no address is replaced with a plausible one.
Is it needed even if the letters arrive anyway?
Yes, for the database. An address written in three different ways makes three records of the same person, three wrong counts and three mailings. Normalization is the precondition for deduplication.
Can I normalize addresses as they are entered?
Yes, with autocomplete in the form and with the API at the moment of saving. It is the cheapest way: an address that is correct on entry does not have to be corrected afterwards.
How long does it take for a whole database?
A file is uploaded and processed in a queue, row by row, up to a million addresses in a single job; when the job is finished an email arrives with the result and the report of the outcomes.
See address verification
Three example addresses, each normalized by the engine with every correction explained field by field.
See address verificationRead also: Why mail comes back · Verifying and correcting a customer database · An API to normalize addresses