Monthly Patterns corresponds to the SafeGraph Patterns dataset. It represents the place traffic and demographic aggregations that answer questions like "how often people visit", "how long they stay", "where they came from", "where else they go", and more. Available for ~4.4MM POI.
Specifying a Date
Note that the
monthly_patterns
data set includes historical data. Each query must specify a date (as show in the below examples).
Sample Query containing all fields:
query {
lookup(placekey: "225-222@5vg-7gs-t9z") {
monthly_patterns (start_date: "2022-02-01", end_date: "2022-02-28") {
placekey
location_name
street_address
city
region
postal_code
brands {
brand_id
brand_name
}
date_range_start
date_range_end
raw_visit_counts
raw_visitor_counts
visits_by_day
poi_cbg
popularity_by_hour
visitor_home_cbgs
visitor_home_aggregation
visitor_daytime_cbgs
visitor_country_of_origin
distance_from_home
bucketed_dwell_times
median_dwell
related_same_day_brand
related_same_month_brand
popularity_by_day
device_type
}
}
}
Sample Query containing all fields:
{
"data": {
"lookup": {
"monthly_patterns": [
{
"placekey": "225-222@5vg-7gs-t9z",
"location_name": "McDonald's",
"street_address": "1100 Fillmore St",
"city": "San Francisco",
"region": "ca",
"postal_code": "94115",
"brands": [
{
"brand_id": "SG_BRAND_5179b21fc1d50950b99b4eecaa48c614",
"brand_name": "McDonald's"
}
],
"date_range_start": "2022-02-01T00:00:00-08:00",
"date_range_end": "2022-03-01T00:00:00-08:00",
"raw_visit_counts": 526,
"raw_visitor_counts": 366,
"visits_by_day": [
18,
22,
26,
21,
27,
12,
16,
14,
25,
14,
22,
24,
18,
21,
12,
15,
28,
16,
18,
15,
14,
16,
16,
20,
24,
21,
14,
17
],
"poi_cbg": "060750161003",
"popularity_by_hour": [
36,
26,
26,
14,
4,
6,
6,
18,
33,
25,
26,
20,
31,
30,
28,
34,
35,
39,
40,
34,
45,
38,
34,
33
],
"visitor_home_cbgs": {
"060750161003": 10,
"060750161004": 8,
"060750164001": 7,
"060750353006": 6,
"060379201041": 6,
"060750452002": 5,
"060750176013": 5,
"060816060001": 5,
"060750208003": 5,
"060750158012": 5,
"060750451003": 4,
"060014227003": 4,
"060750159001": 4,
"060750123021": 4,
"060750302021": 4,
"060750234002": 4,
"060750477013": 4,
"060670067023": 4,
"060133160001": 4,
"060750176012": 4,
"060750203002": 4,
"060190074003": 4,
"060770051221": 4,
"060750157003": 4,
"060750152001": 4,
"060750607003": 4,
"060014446022": 4,
"060750101002": 4,
"060133020091": 4,
"060770004024": 4,
"060014228002": 4,
"060014501021": 4,
"060014015001": 4,
"060750261003": 4,
"060530142011": 4,
"060133131031": 4,
"060750328013": 4,
"060971513104": 4,
"060750154003": 4,
"060990025032": 4,
"060670081191": 4,
"060670093072": 4,
"060750607001": 4,
"060750332011": 4,
"060750161002": 4,
"060750158013": 4,
"060390005032": 4,
"060750162003": 4,
"060990028022": 4,
"060670093292": 4,
"060375773002": 4,
"060750204013": 4,
"060750231021": 4,
"060133361024": 4,
"060750210001": 4,
"060750161001": 4,
"060750168013": 4,
"060750157004": 4,
"060670062013": 4,
"060750156001": 4,
"060019832001": 4,
"060750151001": 4,
"060750614002": 4,
"060750229032": 4,
"060750126011": 4,
"060816008001": 4,
"060750327001": 4,
"060750232003": 4,
"060750303023": 4,
"060590994153": 4,
"060750332031": 4,
"060190052032": 4,
"060750330004": 4,
"060750479022": 4,
"060710091141": 4,
"060750179021": 4,
"060816034001": 4,
"060190062024": 4,
"060670061022": 4,
"060750167004": 4,
"060816058003": 4,
"060750108003": 4,
"060133923001": 4,
"060750615006": 4,
"060750326022": 4,
"060372079001": 4,
"060750476001": 4,
"060819843001": 4
},
"visitor_home_aggregation": {
"06075016100": 22,
"06075015801": 11,
"06075017601": 11,
"06001450102": 7,
"06075026200": 6,
"06037920104": 6,
"06075035300": 6,
"06075015700": 5,
"06099000803": 5,
"06075016200": 5,
"06075047600": 5,
"06019007400": 4,
"06075015100": 4,
"06075016600": 4,
"06075060700": 4,
"06075020800": 4,
"06075015900": 4,
"06075010100": 4,
"06029001700": 4,
"06075033201": 4,
"06075015200": 4,
"06019005203": 4,
"06075022903": 4,
"06081984300": 4,
"06075016400": 4,
"06081601502": 4,
"06075020100": 4,
"06075047802": 4,
"06095252607": 4,
"06075013200": 4,
"06075023200": 4,
"06013314200": 4,
"06067006702": 4,
"06081606200": 4,
"06053014201": 4,
"06077003801": 4,
"06075012602": 4,
"06067007424": 4,
"06001437102": 4,
"06075010800": 4,
"06075023400": 4,
"06075013400": 4,
"06075016700": 4,
"06001433500": 4,
"06075021500": 4,
"06075033203": 4,
"06081601100": 4,
"06059011504": 4,
"06075032802": 4,
"06053000104": 4,
"06075060100": 4,
"06075015400": 4,
"06013381000": 4,
"06081602600": 4,
"12086008904": 4,
"06001422100": 4,
"06041111000": 4,
"06013336102": 4,
"06099002503": 4,
"06075016300": 4,
"06013316000": 4,
"06067005510": 4,
"06081606400": 4,
"06081603700": 4,
"06037207900": 4,
"06001437400": 4,
"06013392300": 4,
"06075021600": 4,
"06081606000": 4,
"06001406601": 4,
"06075016500": 4,
"06075017902": 4,
"06075030202": 4,
"06001421300": 4,
"06075031301": 4
},
"visitor_daytime_cbgs": {
"060750161004": 9,
"060750152001": 6,
"060750158012": 6,
"060750451003": 5,
"060750176013": 5,
"060014083005": 5,
"060770004024": 5,
"060750313022": 5,
"060750151001": 5,
"060750301011": 5,
"060014072002": 4,
"060890127014": 4,
"060670045022": 4,
"060750452002": 4,
"060750161001": 4,
"060750601001": 4,
"060730207081": 4,
"060750176012": 4,
"061130101011": 4,
"060750216002": 4,
"060750166001": 4,
"060750328013": 4,
"060750353006": 4,
"060750161002": 4,
"060750156001": 4,
"060990008033": 4,
"060070018003": 4,
"060133060022": 4,
"060750332031": 4,
"060750157003": 4,
"060750158013": 4,
"060014227003": 4,
"060411110004": 4,
"060750101002": 4,
"060855120011": 4,
"060552002023": 4,
"060133142003": 4,
"060750326013": 4,
"060750451002": 4,
"060750208003": 4,
"060750615001": 4,
"060750162003": 4,
"060750124022": 4,
"060750261003": 4,
"060019832001": 4,
"060190018004": 4,
"060816011004": 4,
"060470015033": 4,
"060014057002": 4,
"060590115045": 4,
"060971513104": 4,
"060750178021": 4,
"060014501021": 4,
"060750476001": 4,
"060014446022": 4,
"060670074241": 4,
"060750135001": 4,
"060133400021": 4,
"060014363001": 4,
"060750177001": 4,
"060750154003": 4,
"060750108003": 4,
"060750129011": 4,
"060070007003": 4,
"060750479015": 4,
"060750332032": 4,
"060750167004": 4,
"060670096061": 4,
"060710091142": 4,
"060816012003": 4,
"060750161003": 4,
"060750332011": 4
},
"visitor_country_of_origin": {
"US": 360
},
"distance_from_home": 7381,
"bucketed_dwell_times": {
"<5": 30,
"5-10": 358,
"11-20": 77,
"21-60": 40,
"61-120": 10,
"121-240": 8,
">240": 3
},
"median_dwell": 8,
"related_same_day_brand": {
"76": 2,
"Safeway": 7,
"Popeyes Louisiana Kitchen": 7,
"Starbucks": 7,
"ARCO": 6,
"Shell Oil": 5,
"Chevron": 4,
"Target": 3,
"ampm": 3,
"Costco": 2,
"Walgreens": 2,
"Burger King": 2,
"Jack in the Box": 2,
"PetSmart": 2,
"Kaiser Permanente": 1,
"Peet's Coffee and Tea": 1,
"Valero Energy": 1,
"Mixt": 1,
"Taco Bell": 1,
"Dutch Bros Coffee": 1
},
"related_same_month_brand": {
"76": 23,
"Starbucks": 45,
"Safeway": 40,
"ARCO": 39,
"Chevron": 37,
"Shell Oil": 36,
"Target": 36,
"Costco": 30,
"Walgreens": 28,
"Taco Bell": 23,
"In-N-Out Burger": 23,
"Popeyes Louisiana Kitchen": 22,
"Walmart": 21,
"Burger King": 20,
"Jack in the Box": 19,
"ampm": 19,
"7-Eleven": 19,
"Subway": 18,
"Peet's Coffee and Tea": 17,
"Ross Stores": 16
},
"popularity_by_day": {
"Monday": 68,
"Tuesday": 60,
"Wednesday": 78,
"Thursday": 88,
"Friday": 83,
"Saturday": 90,
"Sunday": 59
},
"device_type": {
"android": 124,
"ios": 240
}
}
]
}
},
"extensions": {
"row_count": 1,
"version_date": [
"safegraph_core: 1645948803__2022_02",
"safegraph_geometry: 1645948803__2022_02",
"safegraph_weekly_patterns2: 2022_01_11",
"safegraph_monthly_patterns: 2022_01_11"
]
}
}
Normalized Columns
query lookup {
lookup(placekey: "zzy-222@5vg-7gv-6kz") {
placekey
monthly_patterns(start_date: "2022-01-01" end_date: "2022-01-02") {
normalized_visits_by_total_visits
normalized_visits_by_state_scaling
normalized_visits_by_total_visitors
normalized_visits_by_region_naics_visits
normalized_visits_by_region_naics_visitors
}
}
}
{
"data": {
"lookup": {
"placekey": "zzy-222@5vg-7gv-6kz",
"monthly_patterns": [
{
"normalized_visits_by_total_visits": 4.1111311709396307e-7,
"normalized_visits_by_state_scaling": 965.6789116398678,
"normalized_visits_by_total_visitors": 0.0000012352338195524557,
"normalized_visits_by_region_naics_visits": 0.000003306859020843854,
"normalized_visits_by_region_naics_visitors": 0.000004818174786035808
}
]
}
},
"extensions": {
"row_count": 1,
"version_date": [
"safegraph_core: 1645948803__2022_02",
"safegraph_geometry: 1645948803__2022_02",
"safegraph_weekly_patterns2: 2022_01_11",
"safegraph_monthly_patterns: 2022_01_11"
]
}
}
Field | Description |
---|---|
normalized_visits_by_total_visits | raw_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_state_scaling | raw_visit_counts scaled using the mobile device sampling rate for the state in which the POI is located. |
normalized_visits_by_total_visitors | raw_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 SafeGraph's panel to the POI over time. |
normalized_visits_by_region_naics_visits | raw_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_visitors | raw_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 SafeGraph's panel to the POI over time. |