Monthly Patterns

Overview

Aggregated raw counts of visits to POIs from a panel of mobile devices over a given month, detailing how often people visit, how long they stay, where they came from, where else they go, and more.

This dataset includes visitor and demographic aggregations for points of interest (POIs) in the US over the course of a month. Data is anonymized and aggregated to provide insights into the volume of visitors to certain locations and overall behavioral patterns. SafeGraph Places and Geometry datasets which can be added to Patterns via the Placekey unique identifier for further context.

Data InformationValue
Refresh CadenceMonthly
Historical Coverage2019-Present
Geographic CoverageUnited States
Observation LevelVisits per month, by point of interest

Key Concepts

Visit Attribution

Advan Research computes the visits/visitors and other metrics inside a POI using the POI’s geometry. They do not apply any dwell time or any concept of “stops”; they rely on the polygon for accuracy. Advan Research has tested their data on 1,500 publicly traded tickers versus (a) top line revenue as reported from the companies and (b) credit card transaction counts on physical locations, and they have determined consistently that in the vast majority of cases filtering for dwell time reduces the signal and makes the correlation/forecasting worse.

Advan Research does not report data when less than 2 visitors are observed from that group. If there are
between 2 and 4 visitors this is reported as 4.

Determining Home Location

Advan Research computes a device’s home/work (night/day) location by computing the time a device spent in each building in the country; then taking the most frequented building. Advan uses a calendar month window (instead of 45 days) to be consistent with the month window of the patterns, and defines “nighttime” as 6pm-8am.

Backfills

Backfill is when we take our most recent locations (i.e., addresses + geofences) and run our visit attribution algorithm backward in time to generate a new history of “backfilled” Patterns. Backfills are typically generated every time new Advan POIs are added (typically monthly, with the exception of August and December) on Advan POIs only. This means historical Patterns will only be present for all Advan POIs, including over 20,000 Industrial POIs, or any other POIs that were released on or before December 2022.

Understanding Visitation and Trade Area Panels

For visitations Advan uses a panel which is consistent across time and can be normalized, in order to generate accurate year-over-year growth metrics. For trade areas visitor_home_cbgs, visitor_home_aggregation, visitor_daytime_cbgs, visitor_country_of_origin Advan uses all the panels they are receiving, for
which they have explicit permission to utilize for trade areas, as some panels prohibit Advan from computing where the cellphone spends its nights, i.e., the "home"; and its days, i.e., the "work" area.

This is a much larger panel, which intersects but does not fully contain the visitation panel, but it is more volatile month-over-month so therefore it should not be used for year-over-year comparisons (use the visitation metrics instead). Advan aligns the visitation & trade area fields by adjusting the trade area values as a percentage of the
visitations, as the sum of the trade area fields would not otherwise equal visits/visitors (Advan does not have a home census block group assigned for each visitor). Advan recommends that users interpret these trade area values as ratios or scaled indicators rather than absolute numbers due to the impact of adjustments (i.e., if one CBG has a value of 100 and another of 50, it means that the first one is about twice as large as the second one).

Updates to underlying Places data

SafeGraph made a disproportionately high number of changes to POIs in April - June 2023, this affected their usability for Advan given the history of millions of POIs were inconsistent with current data (Advan stopped taking the changes in June 2023). In particular, the ratio of shared polygons increased from ~20% to ~40% on the new POIs.

Panel

Along with the Monthly Patterns file, Advan Research also provides a Panel Overview Data to help you better understand the context of the data appearing in Monthly Patterns. They also provide a file containing information on the panel for each day of the week to help with normalization. This file will have rows for each region for each day of the week.

Home Location Distributions by State/Census Block Group ↗️

Number of Visits/Visitors by State ↗️

Normalization Stats ↗️

Schema

NameDescription
PLACEKEYUnique and persistent ID tied to this POI.
PARENT_PLACEKEYParent placekey if the place is within a larger location.
SAFEGRAPH_BRAND_IDSUnique ID representing this specific brand.
LOCATION_NAMEThe name of the place of interest.
BRANDSBrand name if identified explicitly.
STORE_IDUnique store ID provided by the store/brand.
TOP_CATEGORYFirst 4 digits of the NAICS category.
SUB_CATEGORYFull 6-digit NAICS category label.
NAICS_CODE4-digit or 6-digit NAICS code.
LATITUDELatitude of POI.
LONGITUDELongitude of POI.
STREET_ADDRESSStreet address of the POI.
CITYCity where the POI is located.
REGIONState/province/county of the POI.
POSTAL_CODEPostal code of the POI.
OPEN_HOURSJSON string of operating hours.
CATEGORY_TAGSDescriptive tags indicating category details.
OPENED_ONYear and month the POI opened.
CLOSED_ONYear and month the POI closed (if applicable).
TRACKING_CLOSED_SINCEStart of "closed_on" tracking.
WEBSITESPublicly available website URL.
GEOMETRY_TYPEGeometric shape type of the POI.
POLYGON_WKTShape of the POI in WKT format.
POLYGON_CLASSPolygon classification (owned/shared).
ENCLOSEDWhether the POI is enclosed.
PHONE_NUMBERPhone number of the POI.
IS_SYNTHETICIndicates if the polygon is inferred.
INCLUDES_PARKING_LOTWhether the polygon includes parking lot.
ISO_COUNTRY_CODE2-letter ISO country code.
WKT_AREA_SQ_METERSCalculated area of the polygon in square meters.
DATE_RANGE_STARTStart of the date range.
DATE_RANGE_ENDEnd of the date range.
RAW_VISIT_COUNTSNumber of visits to the POI during the date range.
RAW_VISITOR_COUNTSNumber of unique visitors.
VISITS_BY_DAYNumber of visits by day (local time).
VISITOR_HOME_CBGSNumber of visitors by home census block group.
VISITOR_HOME_AGGREGATIONThe number of visitors to the POI from each census tract based on the visitor's home location.
VISITOR_DAYTIME_CBGSThe number of visitors to the POI from each census block group based on primary daytime location between 9 am - 5 pm.
VISITOR_COUNTRY_OF_ORIGINThe number of visitors to the POI from each country based on visitor's home country code.
DISTANCE_FROM_HOMEMedian distance from home travelled by visitors (of visitors whose home we have identified) in meters.
MEDIAN_DWELLMedian minimum dwell time in minutes.
BUCKETED_DWELL_TIMESThe distribution of visit dwell times based on pre-specified buckets. Key is the range of dwell time in minutes and value is number of visits that were within that range.
RELATED_SAME_DAY_BRANDOther brands that the visitors to this POI visited on the same day as the visit to this POI. Limited to top 20.
RELATED_SAME_MONTH_BRANDOther brands that the visitors to this POI visited in the same month as the visit to this POI. Limited to top 20.
POPULARITY_BY_HOURThe number of visits in each hour over the course of the date range, in local time. First element in the array corresponds to the hour of midnight to 1 am, second is 1am to 2am, etc.
POPULARITY_BY_DAYThe number of visits in total on each day of the week (in local time) over the course of the date range.
DEVICE_TYPEThe number of visitors to the POI that are using Android vs. iOS.
NORMALIZED_VISITS_BY_STATE_SCALINGraw_visit_counts scaled using the mobile device sampling rate for the state in which the POI is located.
NORMALIZED_VISITS_BY_REGION_NAICS_VISITSraw_visit_counts divided by the sum(raw_visit_counts) to the naics_code in the same state or province during the same time period. This measures changes in the category-specific popularity of the POI over time.
NORMALIZED_VISITS_BY_REGION_NAICS_VISITORSraw_visit_counts divided by the sum(raw_visitor_counts) to the naics_code in the same state or province during the same time period. This measures changes in the visits per devices that visited the same category in Advan's panel to the POI over time.
NORMALIZED_VISITS_BY_TOTAL_VISITSraw_visit_counts divided by the total_visits in the same state or province during the same time period. This measures changes in the relative popularity of POI over time.
NORMALIZED_VISITS_BY_TOTAL_VISITORSraw_visit_counts divided by the total_devices_seen in the same state or province during the same time period. This measures changes in the visits per device in Advan's panel to the POI over time.