A transparent explanation of the Bayesian average method we use to rank restaurants fairly — whether they have 50 or 5,000 reviews.
The simplest way to rank restaurants is by raw Google rating. But that creates a problem: a restaurant with 4.9 from 8 reviews suddenly ranks above one with 4.6 from 3,000 reviews — even though the first rating is statistically unreliable and can easily be flipped by a single unhappy guest.
The solution is to weigh each restaurant's actual rating against a global mean, with the weight depending on how many reviews the restaurant has. Restaurants with few reviews are pulled toward the mean (4.3), while restaurants with many reviews stand on their own merits. This is the same principle IMDb uses for its Top 250 list.
score = (v / (v + m)) × R + (m / (v + m)) × CThree restaurants are compared below. Notice how restaurant C — despite having the highest rating — ends up last because its 25 reviews are not enough for the rating to be statistically credible.
| Restaurant | Rating (R) | Reviews (v) | Score |
|---|---|---|---|
| Restaurant A | 4.8 | 362 | 4.692 |
| Restaurant B | 4.7 | 2,114 | 4.682 |
| Restaurant C | 4.9 | 25 | 4.420 |
Restaurant A narrowly beats B because its higher rating (0.1 more) just outweighs B's larger volume — both are well above the credibility threshold. Restaurant C falls far behind because its few reviews drag the score strongly toward the global mean of 4.3.
m = 100: A balance between requiring statistical credibility and not punishing newer good restaurants too harshly. At 100 reviews, the restaurant's own rating weighs about as much as the global mean; at 1,000 reviews the restaurant's own rating dominates entirely.
C = 4.3: Calculated as the average of all restaurants in the data that pass our base requirements (≥ 4.3 rating and ≥ 50 reviews). It serves as a "neutral starting point" that restaurants with few reviews are pulled toward.
All ratings and review counts are fetched directly from the Google Places API. The data is synced continuously — when a restaurant gets new reviews, its Bayesian score is updated the next time the top list is generated. Only restaurants with at least 4.3 in rating and 50 reviews qualify for the ranking.