Postcode Lookups Suck

Websites which have address forms for UK residences, whether for buying new products, paying bills or registering interest, I have a simple request: do not presume your database knows my address better than me.

For the benefit of non-UK readers, let me explain. The UK has a system originally designed for mail delivery called the Postcode, which is similar to the US zip code system. Unlike zip codes, it’s far more granular, generally resolving to a handful of addresses. In fact, most of the time, if you have a post code and house number, you can uniquely identify a particular delivery address. That’s all that is needed: a G1 4BQ and a 35.

In 7 characters, most people can be readily identified. That’s the power of postcodes.

A lot of UK websites take this as an absolute fact with no room for error. They take the data from the Post Office, see that it works for them, and forget about it. You either fit the pattern, or your house doesn’t exist. I’m sure you can see where I’m going with this.

One big problem is that large parts of the UK have some form of communal housing: tenement blocks, modern apartment blocks, high-rises etc. This is where things break down. As well as having a house number (the 35 above), they will also have a flat number like 3/2 (floor 3, flat 2), 4D (floor 4, flat D) or any other variation on the above. This is where things get very hairy:

  • Most post-code lookup systems will offer you a list of possible matches, which often miss some of the variations. That’s incomplete reference data.
  • Most post-code lookup systems are never given updated data (compile once and you’re done). That’s poor data management.
  • Most post-code lookup systems don’t allow for changes to addresses. That’s, again, poor data management.
  • Most systems don’t allow for even more complex forms, where a flat has a house number (35, two part flat number (3/2), and a block number (D); the combinations of these can come in endless forms (D3/2, 35 Example St vs. Flat 2, Floor 3, Block D, 35 Example St).

Most systems will fall flat in the face of any of these. While fixing these problems directly is hard (to near enough impossible), there’s a very simple solution originally posited by Postel:

Be conservative in what you do; be liberal in what you accept from others

Yes, it’s the simple: just accept whatever your users, the people who live at the address, put into your form. They know the correct answer far better than you ever will, so believe them when they put something in. If you want to help them by offering a post-code lookup, that’s fine, encouraged even; but don’t insist that they use it. That just hurts the usability of your system.

  1. Neil’s avatar

    True dat. My flat address is 7/BF2. I’ve encounted a number of forms which simply do not let you enter non alpha-numeric numbers into the house number box and it’s driven me mad.

  2. Gary Fleming’s avatar

    Neil: it was exactly that problem that made me decide to write about the numerous problems I’ve had over the last few years. I don’t think I’ve lived anywhere that the address hasn’t caused a problem at some point (maybe the house I grew up in, but only because it was pre-internet becoming popular).

  3. Colin Riley’s avatar

    Ditto. Number 2/1 for me.

    You also sometimes have sites that accept that as the house number, but then remove all non alphanumeric characters. So I end up being house 21, and as the order has gone through already no room to edit it. Meh :)

  4. Matt’s avatar

    In reference to the following comment, it’s poor *implementation*, not poor data management.

    “Most post-code lookup systems don’t allow for changes to addresses. That’s, again, poor data management.”

  5. Gary Fleming’s avatar

    Matt: Agreed, that’s clearer. I had meant that it was a poor data management implementation.

  6. Matt’s avatar

    I posted up a while back saying it was poor implementation, as I found this blog/post because at the time I was working on a project for our web hosting site and its order form. We wanted a solution that worked nicely, and didn’t hinder the user in any way. Any feature like that should add value to the form, making it easier, not more difficult to use.

    I wanted to suggest the solution we found here. It’s a feed type service, and is updated daily, so it’s the most up to date data. They provide lots of samples etc.

    Hope its helpful to some others like it has been to us.

  7. brunely’s avatar

    am looking for a site or software that can find addresses that matches an incomplete post code…any help please