Foursquare’s ongoing work to map every place in the world
About The Guest
Kyle Fowler is the senior director of engineering at Foursquare. Before joining Foursquare in 2011, he was a third party user of Foursquare developer tools. Ever since, he has worked on different projects, in varying roles to solve a variety of location problems.
What Is Foursquare?
Foursquare is a cloud-based location technology platform that supports building solutions based on a deep understanding of location. For the general public, Foursquare is a location-based social network that facilitates meeting up with friends and discovering new places. Users can check-in to places and show their network where they are, and what they are doing. On the other hand, commercial companies and organizations use Foursquare APIs and advertising enablement products to gain insights from the physical world.
Swarm is a life-logging app that keeps a user’s history of interaction with the world. It is a perfect diary for keeping a personal log of the places you have visited, alongside photos, and information about the friends you have been with, and the experiences you had. Logging places into Swarm can happen passively in the background or through active interaction with the app. In active logging, you have to interact with the app in every place you visit. But passive loggers can also actively build their history by periodically reviewing their history feed to confirm the places they have visited.
How to Download Your Swarm Data
One way to download your Swarm data is by requesting it through your profile. The data will include all your check-ins and any other information you logged. The other way is through the Foursquare API after signing up to be a Foursquare developer (anyone can sign up). Using an API is the best way to pull your data if you want to use it for running analysis or building your own features.
How Is Foursquare Mapping All Of The Places In The World?
Crowdsourcing is a huge contributor to Foursquare location data. But Foursquare may not have users in every corner of the world. To get a good amount of coverage the data is obtained from several other sources that include machine-generated approaches and from other companies. For completeness of coverage, Foursquare purchases licenses for regional data generated by other trusted companies that have a particular interest in a specific area.
How Does Foursquare Control the Quality of Location Data?
All the places submitted at Foursquare go through a quality audit process to ensure that the location is real. The initial screening removes low accuracy points that may introduce skewed locations.
Machine learning models are also used to review the input sources and assign a confidence score of whether a place exists. Further controls also involve sending samples of places to human moderators for review.
Foursquare understands that the negative outcomes of being wrong about a place are worse than the place not being listed at all. If people using that location information actually go there and find that it does not exist, it results to a bad user experience and a negative perception on the app.
A quality auditing of the data helps to take out all the bad sources and ensures the recorded locations are an accurate reflection of the real world.
Maximizing Accuracy with the Geosummarizer
Foursquare’s Geosummarizer is a model that analyzes the inputs for a certain POI (Point of Interest) and selects the right coordinates.
The Geosummarizer helps to solve different challenges such as when people record slightly different coordinates for the same place they check into. This is more likely to happen in dense urban environments especially when the user is inside a building.
To try and find the right coordinate, the Geosummarizer compares the input coordinate to the geocodes of that place’s address and infer whether the coordinate should exist within that place. The process then picks the best coordinate that has the most corroborating features with that address.
If there are multiple clusters of coordinates for a given location, the Geo-summarizer tries to assign them appropriately to different geocodes. A place can have multiple geocodes; and the users will use the one appropriate for them based on the use case.
For instance, an app may want a pickup and drop-off location of a POI (Point of Interest). The Geosummarizer also outlines various levels of venue hierarchy for describing relationships of places within places such as a gate inside an airport terminal.
Locations for mobile things like food trucks are treated separately from other categories. The summarization process for generating a new coordinate for that venue takes the latest data into account much more heavily than it would for a brick-and-mortar store that is not expected to move.
Mobile POIs can get updated in real-time – on every single check-in – as long as the coordinates are believed to be legitimate.
Foursquare’s Taxonomy of Places
Foursquare has over 1200 categories for classifying places across the world. In an effort to make the places locally familiar, some of those categories are only visible in certain countries. For instance, one would not expect a Chinese Food category in China, or Italian restaurants to show up in Italy.
Foursquare tries to adapt the categories system to reflect the depth of reflectiveness for a particular country. Categories are re-evaluated on a monthly basis to ensure they are showing up appropriately, and whether new categories should be added.
Mapping all the places in the world and making them locally familiar is a challenging task. However, Foursquare’s knowledge of the world is continually increasing. As more locations are added and their model is continuously improving, Foursquare is steadily moving towards achieving this goal.
es I am going to publish in partnership with Foursquare and the idea is to use it as a reference for later episodes about Privacy and location data, Knowledge Graphs, AI, Location Based Marketing and Big geospatial Data in the Browser.