Geocoding: How doorways.ai does it better

If you're making deliveries to somewhere you've never been before, you will be painfully aware of how difficult it can sometimes be to find a place to park, then locating the front door. To understand why, we need to understand how conventional navigation apps work.

Most people define geocoding as the process of converting addresses into geographic coordinates (latitude and longitude) which you can plot on a map.

At doorways, a geocode is not just a single point, but a choice of paths stemming from the public road network, along pavements, driveways, footways and garden paths, all arriving to the customer's doorstep.

Geocoding

How existing navigation apps work

1. Locating the address (easy)

Geocoding

Type in an address and your navigation app will return to you a point from a database. Some apps are better than others - it depends on how much they pay for their data. Usually this points to the correct building, but Google Maps is notorious for its mistakes. Having evaluated 1000s of randomly sampled addresses, we see many that are 100m+ off and plenty that Google just did not know existed, both new builds and old.

Alternatively, you may have been provided coordinates straight from the customer - move this pin to where you live 📍, or use my current location). This is often less error prone, but the lack of context about the address itself creates other problems.

2. Knowing where to drive or ride (hard)

Let's assume the pin is perfect. In 90% of cases, this is all you need for a great navigation experience. With the rest, it won't do.

Unless you're flying a drone, we need to find the best navigable point on the public road network.

...
The Naive Approach

Almost every navigation platform will simply ask, given this point 📍, find me the closest road, then draw a dotted line from there to the building. We call this the leap of faith. Very often, you will be taken to the back of an address. Not at all convenient unless you are delivering garden furniture.

The Better Way

Our algorithm is proprietary, but to give a few hints: road names are more important than positioning and you can infer a lot from the metadata about the road and address. We use a probablistic method. We don't just blindly look for the nearest road and hope for the best, irrespective of any obstacles in the way.

...

3. Knowing where to walk (nightmare)

Geocoding

Existing navigation apps might take you to the correct road, but they won't take you to the front door.

There is no public database of building entrances. At doorways, we are building one. Much of our code is dedicated to predicting where the front door is on each building and we get it right the vast majority of the time. As we grow and amass data, we will improve.

For those difficult to access houses and flats, a short walk might be necessary from car door to front door. By combining data from many sources and making some intelligent assumptions like tarmac > grass > water, we take you on the shortest walk.

Geocoding

Sygic expects its users to swim 🏊

How do couriers cope?

Geocoding

Decipher confusing delivery notes from other couriers 📝

Geocoding

Call the customer and ask for directions 📞

Geocoding

Drive slowly down the road, counting house numbers 👀

Geocoding

Toss the package in the garden and mark as delivered 📦

How do customers cope?

Geocoding

Provide aggressive delivery instructions 🗯️

Geocoding

Make a complaint (which might impact the courier's ranking) 🤬

Geocoding

Putting up signs or barriers around their building 🚧

Geocoding

Claim non-delivery and get a refund 💰