Upstate New York Local Businesses

Customer reviews
Local business
Spatial analytics
Explore local business locations, ratings, categories, and featured Google reviews across upstate New York.
Author

Historic storefronts, local shops, pedestrians, and parked cars along Main Street in Canandaigua.
Local storefronts on Main Street in Canandaigua, New York (2014). Photo: Daniel Case / Wikimedia Commons · CC BY-SA 3.0.

These Google Places teaching datasets describe local businesses and places in Rochester, Buffalo, Syracuse, Geneseo / Livingston County, and the Finger Lakes / Canandaigua / Victor / Geneva areas. They connect business locations and categories with customer ratings and review text.

Explore the data on a map

Explore the project data by location. Select a location for details.

Loading the map…

Data

On-page tables preview a sample of rows. Download the files to analyze the complete datasets.

The latest supplied snapshot is dated May 27, 2026. Checked on October 6, 2026, the files match the latest supplied educational exports: 15,351 unique places and 46,141 featured reviews for 10,489 places. The collection is a grid-and-category search sample of these regions, rather than a census of all upstate New York businesses.

places <- readr::read_csv(
  "https://bcdanl.github.io/data/google_place_upstate_ny.csv"
)
reviews <- readr::read_csv(
  "https://bcdanl.github.io/data/google_place_upstate_ny_reviews.csv"
)

Variables to know

Variable Meaning
place_id Google place identifier; the shared join key
name, formatted_address Place name and street address
metro Region of the search that returned the place
place_lat, place_lon Coordinates of the business or place
query_lat, query_lon, query_radius_m Search point and radius; these describe the sampling design
query_place_type, place_type_category Requested search category and its teaching category
primary_type, types Google’s place classifications
business_status Operational or temporarily closed status, when available
rating, user_rating_count Overall Google rating and total number of user ratings
price_level Price-level category, when available
semantic_tags, n_semantic_tags Inferred tags and their count, derived by keyword rules
snapshot_date Date assigned to the collection snapshot

The review table includes place_name, review_rating, review_text, and publish_time. Parse publication timestamps with a date-time tool before extracting years or months. Reviewer names and profile links are available in the source export, but are not needed for most project questions.

query_place_type is the category used in a search. It can differ from Google’s primary_type. Semantic tags are derived teaching variables and should be checked against the source categories before using them as labels.

Joining the tables

One place can have several reviews. Join reviews to the unique place table using place_id; this is a many-to-one join. Joining in the opposite direction and then counting rows will count reviews, rather than distinct businesses.

reviews_with_places <- dplyr::left_join(
  reviews,
  places |> dplyr::select(place_id, place_lat, place_lon, business_status, price_level, primary_type),
  by = "place_id"
)

Possible story directions

  • How do business categories, ratings, and review counts differ across regions?
  • Where do restaurants, health services, or everyday amenities cluster?
  • Do highly rated businesses also attract more reviews?
  • How do review themes and sentiment vary by business category or region?
  • Are price levels associated with ratings after accounting for category and region?

A useful first pass

Start with counts of distinct place_id values by metro and primary_type, inspect missing price and rating fields, and map place_lat against place_lon. Compare overall place ratings with the featured-review ratings carefully: the API supplies at most five selected reviews per place, so this file is not a complete review history or a random sample of every customer’s opinion. The business search design also affects comparisons of business density across regions.

Return to Group Project Topics

Back to top