In the new world of real estate technology and data, local information must be accurate down to the lowest levels. It is one thing when your customers are physically visiting a property they are interested in. It is a completely different story when your customers are not only locating potential listings from a mobile or desktop application, but also reviewing comparables and points of interest (POIs) in the area. In that case, any data you display must be geocoded.
Geocoding for real estate is the process of turning an address into a set of latitude and longitude coordinates. This may seem insignificant at first, but it is important to consider the ramifications that an incorrect lat/long may have on your customers.
Let’s look at the basic example of a typical listing page that shows property details, nearby points of interest, local schools, and a summary of the neighborhood demographics. The flow for your customer may start with a neighborhood search that shows them multiple listings in the area based on some basic search criteria for beds, baths, list price, etc. The customer might then select a property, view the details about home, and then look into the comparable recent home sales in the area. If they like what they see, they will then check out the schools and demographics information to make sure that this is a place where they can raise their kids. In the end, you have provided them with all of the tools needed to determine that they are going to call an agent to talk about buying that home.
Now let’s imagine that the address for the property being reviewed doesn’t have the correct latitude and longitude associated to it… The first issue that comes up may be that the neighborhood search doesn’t actually show the correct listings because the boundary data doesn’t include that property. If the customer is able to make it to that property, the school attendance zones may not line up with the listing and their kids can’t actually go to the schools listed on your site. Furthermore, the demographics data is showing for the zip code just to the south and the crime rate and weather don’t look very appealing.
Geocoding all of the data used for this customer experience would ensure that the property really belongs in the neighborhood, has access to the highly rated schools nearby, and is in an area with the exact demographics that your customer is looking for. This type of accuracy not only makes for a better customer experience, but it is also an expectation from users of any application. It is important to understand that in places with new developments, low data density (e.g. rural areas), and multi-family homes, a geocoder may not be the perfect solution, but we will discuss below how the process works.
In order to deliver accurate data, there are a few steps that go into the process of turning an address into a location. Geocoders can have different levels of processes, but overall, there are three main steps that occur.
The first step is to take an address and normalize it. This is important because not all data is gathered the same way and consistency can depend on the source of the data. For example, entering “123 Main Street New York 10009” as a single string needs to be broken up into the street address, city, and zip code in order to maintain consistency when locating the address. The image below shows how a standard address would be broken down into individual parts in order to maintain a consistent data set for geocoding.
Once a potential address has been identified, a number of potential matching addresses can be identified and ranked in order of likelihood to be a match. This is done using an algorithm that includes finding the Levenshtein distance, which basically determines the number of “steps” the information is from the potential options available for a match. The fewer number of “steps” that needed for a match, the more likely it is that the address entered is the address at the correct location. In the example below, the closest match would be between “rcik” and “rick” because the only step needed to get from one to the other is to switch the “ci” to “ic.”
The final step varies depending on which geocoder you use, but most use pieces of a road with ranges of addresses to interpolate how far down the street the address may be. The geocoder will continue to narrow down the potential matches until it lands on the correct latitude and longitude. It is possible that some addresses can only be geocoded to a zip code or neighborhood level because of a lack of data for matching, but the more accurate results are obtained by looking at each property on a street and using the address to determine where that property belongs on a street segment (seen in the example below).
Now that you know the basics about geocoding and why it is important in your customer experience, you can implement some great functionality to showcase it. For example, you could find all of the best restaurants within a radius of a given point, sort airports by the travel distance from a location, or find all of the shopping in Cleveland.
If you’re interested to see how Onboard Informatics can help you get the data you need to power your products, check out our developer platform here. From our documentation, you can use the interactive docs to make the exact calls mentioned above and get real time data from our APIs to get started!