Improve Your Address Data with HERE Geocoding - Part 3

By Sayna Parsi | 03 August 2020

Try HERE Maps

Create a free API key to build location-aware apps and services.

Get Started

[Writer’s note: This is the final part in our series about modern data management. Our first blog post focuses on how you can collect better location data using Autosuggest and our second blog post focuses on how you can validate and standardize addresses. In this part, you’ll learn how to improve existing ambiguous or incomplete location data.]

Let’s say you want to send packages to your customers, and you’ve just found out that some of the addresses cannot be mapped to a location because of problems as innocent as typos. Some addresses don’t map to any location, others represent multiple places, and there are many others with spelling or formatting problems. If you proceed with the current data, some customers won’t receive their packages, some packages will be returned and you’ll face unhappy customers and increased shipping costs for resending packages. How should you proceed? As your business gains more traction and you collect more data, maintaining perfect data becomes harder and that’s okay. At HERE, we’re ready to help you improve your address data and ultimately improve your customer satisfaction.


Enriching existing location data

When people are responsible for manually inputting data (for example when shopping online and typing the delivery address), it’s generally safe to assume that the data won’t be perfect. We've all had the experience of typing an address on our phone where it’s easy to make a typo or select an incorrect address suggestion. I have accidentally purchased a few things for my address doppelgänger in Wisconsin, but it is safe to say that they were never sent back. There’s little that can be done to salvage valid but incorrect addresses (like gifts I sent to my doppelgänger), but we learned that with Autosuggest, we can introduce a preference or bias for results that are closer to the user, and ultimately increase the likelihood that the user would pick the right suggestion.

So, how can we use geocoding to improve incorrect or incomplete addresses?

Geocoding empowers you to do more than formatting and standardizing; you can also fix incomplete or incorrect addresses. If you specify a central location for your search, you can introduce a preference for results that are closer to your central location. Most often, you’ll want to set the center to where your user is, or the city where you might expect your users to live. For example, if you know that the incomplete addresses are from users who live in Seattle, you can specify Seattle as the center so you will get results that are most likely what your users intended as their home address.

Let’s take Seattle Volunteer Park Conservatory as an example. Their complete address is “1400 E Galer St, Seattle, WA 98112,” but let’s say we called them to ask about their address. However, the connection wasn’t great so we only heard something that could be: “1400 galer st,” or “1400 e gamer st seattle.” You can try these examples below and see the predictions from HERE Geocoder:

Here’s what an example call to HERE Geocoder looks like:


https://geocode.search.hereapi.com/v1/geocode?apiKey=API_KEY&q=1400 galer st seattle

You can see below how returned address is broken down into country, state, city,... and you can use this information to customize how the address is displayed, save the individual components in the database, or fill a custom form:


{
    "items": [
        {
            "title": "1400 W Galer St, Seattle, WA 98119, United States",
            "id": "here:af:streetsection:rYa8kC3gTMNOq8atovDWvC:EAIaBDE0MDAoZA",
            "resultType": "houseNumber",
            "houseNumberType": "interpolated",
            "address": {
                "label": "1400 W Galer St, Seattle, WA 98119, United States",
                "countryCode": "USA",
                "countryName": "United States",
                "state": "Washington",
                "county": "King",
                "city": "Seattle",
                "district": "Interbay",
                "street": "W Galer St",
                "postalCode": "98119",
                "houseNumber": "1400"
            },
            "position": {
                "lat": 47.63225,
                "lng": -122.37591
            },
            "access": [
                {
                    "lat": 47.63215,
                    "lng": -122.37578
                }
            ],
            "mapView": {
                "west": -122.37724,
                "south": 47.63135,
                "east": -122.37458,
                "north": 47.63315
            },
            "scoring": {
                "queryScore": 0.99,
                "fieldScore": {
                    "city": 1.0,
                    "streets": [
                        0.87
                    ],
                    "houseNumber": 1.0
                }
            }
        },
        ...

If an address maps to multiple results, they will all be standardized and formatted. The queryScore and fieldScore show how closely the results match the input and you can use these values to select the closest match. We are actively working on improving the scoring mechanism so stay tuned for the updates!

Tip: For improving address data in larger datasets we recommend using batch geocoding so you can make fewer queries. If you are interested in using HERE Batch Geocoder, contact us for a plan that supports storing results from geocodes.

 

Ready to get started?

You can sign up for a free account and try geocoding today. Follow us on Twitter @heredev for more updates and share what you’re working on with us.