We apply complex engineering and have human verification for accuracy so you can have data you trust.
Our accurate polygons allow you to reduce errors and more precisely attribute consumer visits to a specific place.
We give you metadata so you can easily distinguish the spatial hierarchy and relationship between different places.
Create an account in the SafeGraph Shop and customize a free sample dataset of SafeGraph Geometry today. No credit card required.
SafeGraph issues updates to Places once per month, which is much more frequently than other POI vendors, who may update once every 3-6 months. We can do this because we work with more sources of data and are much more efficient at combining those sources. During each month, some subset of our sources will send us their updates, and we ensure that we onboard and integrate those changes quickly and easily.
This enables us to quickly reflect store openings and closings in our Places database. The time between a store opening/closing and being reflected in our Places database is approximately equal to the time that the store update is seen by one of our sources and the time it takes SafeGraph to reflect this in our data. The latter of these two is typically within the month, which is very fast compared to other providers, which might be within 3 months. The former of these two is hard to predict - but we do work with sources that generally receive updates very quickly.
We identify spatial relationships (what we refer to as “spatial hierarchy”) by measuring polygon overlap. For each pair of overlapping polygons, if the larger polygon contains at least 80% of the smaller polygon, and if the larger polygon is also of a particular POI category, then we mark it as the “parent” of the smaller polygon. It’s important to restrict parent POI candidates to a specific set of categories or brands so that we’re not solely reliant on polygon precision to determine spatial hierarchy. For example, we want airports to be parents when overlapping other POIs, but we generally don’t want cafes to be parents if overlap exists and the cafe happens to be the larger of the two polygons. See our Geometry docs for a complete list of POI categories that are eligible parents. We flag these relationships in our geometry data by setting the “parent_placekey” of the smaller POI equal to the “placekey” of the larger, encompassing POI. We colloquially refer to the larger, containing POI as the "parent" and the smaller POI as the "child."
Similar to determining eligible parent POIs, we rely on categories to distinguish enclosing vs. non-enclosing spatial hierarchy relationships. See our Geometry docs for a complete breakdown of the spatial hierarchy relationships we treat as “enclosing.”
Although simple, the enclosed column is super important fuel for our visits algorithm. Due to GPS drift within major structures, when 'enclosed' = “true,” we exclude visits to that POI and only attribute visits to the parent POI. We pride ourselves in archiving facts, so we would rather not attribute visits at all than make rash assumptions.