How Locals Works
The methodology behind our restaurant rankings
The Problem
Google Maps rankings are skewed by tourist reviews. A restaurant near Times Square with thousands of one-time visitor reviews can outrank an authentic neighborhood spot that locals return to every week. Star ratings alone don't tell you who's doing the rating.
The Data
We scraped 48,000+ reviews across 1,000+ NYC restaurants using Apify's Google Maps crawler. For each review, we capture the star rating plus reviewer metadata:
- Global review count — total reviews posted worldwide
- NYC review count — how many reviews are for NYC restaurants
- Local Guide status — whether Google has verified them as a Local Guide
- Review recency — how recently they reviewed NYC spots
Localness Score
Each reviewer gets a localness score from 0 to 1 based on three weighted signals:
Restaurant Ranking
Each restaurant's final score blends multiple perspectives:
- Local-weighted rating — average rating weighted by reviewer localness
- Tourist-weighted rating — the inverse, to measure tourist sentiment separately
- NLP signals — keyword analysis of review text (quality language, local language, tourist complaints)
- Location and price data — distance from tourist centers, price range, rating distribution
A Random Forest model trained on 200+ hand-labeled restaurants classifies each spot as "local-approved" or not. The model uses 21 features spanning review statistics, NLP signals, and location data. Restaurants that pass are ranked by confidence score and surfaced in the app.
What's Next
Locals started with NYC, but the vision is bigger: help you find the right (non-touristy) restaurants wherever you are and wherever you travel. We're expanding to more cities soon.