Ranking Formula: How We Rank Restaurants in Sausalito

Curious about the formula we use to rank restaurants in Sausalito, like my best brunch or best burgers list? Let me break it down.

I’ve designed my own formula that takes into account three factors:

  1. public ratings (including my own, as we leave reviews on sites like Yelp, Google, and Facebook too)
  2. the restaurant’s popularity (total reviews)
  3. proximity to the Sausalito Ferry

Here’s how each one works:

Public Ratings Base Score

To begin, we collect both the number of ratings/reviews and the score for ratings/reviews from Google, Yelp, and Facebook. we do not include any data from a source with fewer than 10 reviews/ratings, to prevent outliers from spoiling the data.

Next we multiply and average them:

(number of Google reviews X Google score)+(number of Yelp reviews X Yelp score)+(number of Facebook reviews X Facebook score))/total number of reviews

This gives me a base score out of 5.

Restaurant Popularity Bonus

Next, we add up the total number of reviews/ratings for each restaurant, and rank order them from most popular (most reviews) to least. The restaurant with the most ratings gets a bonus of:

1 + (the number of restaurants in the list / 100)

So if there are 10 restaurants, the most-reviewed one receives a bonus of 1.10 multiplied by their base score.

We work down the list. In the event of a tie, those restaurants all receive the higher multiplier, and we skip down to the lower multiplier. (If three restaurants tie for #1 they all get 1.10, the #4 restaurant will receive a 1.07 bonus).

Ferry Proximity Bonus

Finally, we give each restaurant a bonus for its proximity to the Sausalito ferry, since the vast majority of visitors either come to Sausalito via the ferry or base themselves in that area when visiting.

The score is calculated the same way as the restaurant bonus: the closest restaurant receives a multiplier of:

1 + (the number of restaurants in the list / 100)

And multipliers decrease the further a restaurant is from the ferry terminal.

Final Score

The final score for any restaurant is the reviews/ratings average X the popularity bonus X the ferry proximity bonus.

Example

Here’s an example for Restaurante Sausalito (a fake restaurant):

(((number of Google reviews X Google score)+(number of Yelp reviews X Yelp score)+(number of Facebook reviews X Facebook score))/total number of reviews) X (1 + (the number of restaurants in the list / 100)) X (1 + (the number of restaurants in the list / 100))

(((100 X 4.5)+(25 X 5)+(15 X 5)/140) X (1.05) X (1.05))

Final score: (4.64) X (1.05) X (1.05) = 5.12

Caveats

First, it’s important to note that the score for any restaurant is calculated for the list it is ranking on. The final score of a restaurant on my brunch list is different than its score on my burger list, because it is being ranked against different restaurants for each list.

One weakness in this model is that there is multicollinearity between the bonuses: restaurants nearer the ferry are also more likely to have a lot of reviews because of this. This can artificially inflate restaurants nearer the ferry.

However, the practical application shows the following:

  1. Receiving more reviews results in a high likelihood of lower reviews; thus being more popular means that base scores are typically lower.
  2. Many Sausalito restaurants that are not near the ferry have great review scores, helping them achieve higher final scores than their competitors on any given list.

If you have any questions, please don’t hesitate to reach out!

Leave a Reply

Your email address will not be published. Required fields are marked *