Building a better Tripadvisor

Despite me being fairly budget-focused, going out for dinner is always one of the highlights of a vacation trip. For better or for worse, the restaurant choice typically delights or haunts me for weeks after such as the first time I had real tzatziki in an Athenian taverna (delicious!) or an unsurprising 5€ frozen Yoghurt in Heraklion.

Where to eat in the unknown

Over the past few years of travelling I have developed the following strategy for finding restaurants in cities I’m visiting:

  1. Decide on what I feel like eating - full meal/ wine and tapas/ quick bite, something else?
  2. Look at where I am on the map and how far I am willing to go
  3. Grab Tripadvisor (biggest review website in Europe by far, and the main subject of this post) and search for restaurants in the area
  4. Select 3-5 restaurants >= 4.5 stars and within the area I selected
  5. Choose based on pictures or most recent reviews and confirm with a quick google search that the overall impression is correct. Anything under 4.5 stars takes me back to 4.

This mostly manual algorithm typically has never produced terrible choices, however it is tedious and time-consuming, and there’s absolutely no guarantee that the restaurant I end up choosing is a memory I take home. What if we could make it better?

Let’s test it in a controlled environment - my hometown of Porto, Portugal.

The test

  1. Let’s say I’m a single person looking for a typically Portuguese restaurant for dinner
  2. I’m sightseeing for a couple of days and I’m close to Ribeira - why not dining with a view? Besides I’m tired from all the walking.
  3. So, obviously, I search for “Porto Ribeira restaurants”.

Screenshot

(Let’s ignore the fact that some of the results are not even restaurants, but attractions and hotels - Why, Tripadvisor, why?)

  1. I select 5 restaurants:

5 screenshots

  1. And choose this one because I finally want to try one very traditional Portuguese dish - bacalhau:

Screenshot

So, what did I end up with? I paid 19€ for pasta with codfish - based on a review from 2018 where a certain Susan M describes her experience as 5 stars - “I wasn’t hungry but I ate the lot”.

I mean, it’s fine. It’s codfish with pasta - not at all traditional, and very obviously overpriced. It most definitely isn’t the meal I’m going to remember for the rest of my life. However, had I had the patience to drive 20 minutes or hop on the very scenic Bus 500 (for just 1.35€), I would have had the best codfish of my life in Matosinhos for basically the same price.

So, if the strategy for having a very good dining experience didn’t work in my hometown, why should it work when I’m abroad?

How did our sample restaurant fare?

What I typically look for in a restaurant when I’m travelling:

  • How is the quality to price ratio?
  • Is the restaurant authentic and frequented by locals or a tourist trap?

Maybe this view is a bit simplistic and ignoring factors such as ambiance and service, but as long as there are no cockroaches and the wait time is under one hour, it’s not going to significantly affect my review of the restaurant.

So how did Terra Nova fare?

  • Quality is fine, price a bit steep.
  • Based on the amount of non-Portuguese diners around me, as well as the busker asking for change after a couple of songs - this is peak tourism and not where locals go to eat.

Maybe some enjoy the ambiance and the “how-do-you-do” with fellow Brits on the next table, but this is definitely no the real Porto. So maybe 3/5 stars? And I can guarantee that any other restaurant in this area would be plagued by the same malus.

So, what’s the solution?

Why not just use the Traveller Rating?

Tripadvisor tries to provide a simple solution to problem of restaurant selection - the “Traveller Rating”.

It’s a formula that takes in several variables, such as the number and average ratings of the reviews, including how long ago they were made. The rating is then used to rank restaurants on the area selected by hter user.

Despite the apparent it comes with several caveats and downsides, which lead me to basically ignore it every time:

  • Not knowing where to go - if I don’t know the city, I probably don’t know where to look. And if I don’t know where to look, I am probably missing very good places to eat
  • Even if you know the general area you want, choosing the area to search is difficult: you need to open the map and zoom in on the area you want. However, instead of selecting a circular area, or say, the borough/ area you’re in, the filter assumes the whole screen. You can end up missing good restaurants that are actually quite close or simply including too many in a search (since phone screens are not round -_-), making the selection process harder
  • The review formula is not transparent, e.g., seeming to favor restaurants with more reviews. Does it make sense to rate a restaurant with 500+ reviews and a 4.0 star average higher than other with 150 reviews and 4.5 stars?
  • YMMV, but very well rated restaurants (5 stars) usually have tricks up their sleeve to maintain these review averages, such as promising an extra dessert for a Tripadvisor review, or simply mentioning the possibility of leaving a review to their customers, e.g. at the end of the meal. Despite being against policy, It’s very likely this skews the ratings - this was the case at two very well rated restaurants in completely different cities

Oh and if it helps, the Traveller Rating puts Terra Nostra example at 64th out almost 2000 restaurants in Porto, which means it’s about top 3%.

Do I agree? Not really.

How Tripadvisor can improve their product

Simple suggestions

There are a couple of very simple changes that could dramatically improve user experience:

  • Allow me to define a radius based on a location where I want to look for restaurants
  • Create a “locality” or “touristic” rating - how touristic is the area and the restaurant. This should help avoid the tourist traps.
    • Can be based on simple metrics such as the number of local-language ratings over the total or the level of tourism in a given area
  • Change the overall score based on the filters I apply - if I only care about what locals have to say about the restaurants, let me see the total score just for this population
  • Allow me to filter for 4.5 stars instead of just 3, 4 or 5
  • Show individual reviews not only chronologically, but by a “recommended” rating which also includes the number of past reviews by the critic, the number of likes of the review
  • Be more directive - give me a short list of the top restaurants, don’t make me look through the dozens you throw at me. This would save a lot of time for finding the suitable candidates
  • The overall score of the restaurant is still based on the experiences from people back in 2017. The traveller rating tries to deal with this, but they still show up for anyone to read.

Not so simple suggestions

Others maybe less simple:

  • Show me the top features of a restaurant based on the reviews, such as “the codfish is fantastic” or the ambiance is spectacular. With the development of LLMs, this should become a relatively feasible task in the near future without much effort
  • This may even be a list of pros and cons, and the number of times each is mentioned by the reviews
  • Create a better rating system - Amazon is dabbling with a “X% of reviews are 5 stars” at the moments - maybe implement something similar
  • Create a weighted system, e.g., penalizing reviews that are not 5 stars

You’re sitting on an amazing pile of data, Tripadvisor. Please make something out of it and improve our experience of eating while sightseeing.

In the meantime, let’s use your data to create a better experience - this involves some scraping first!