This website provides independent statistical analysis of publicly available review metadata. The calculated scores are analytical estimates derived from the methodology described on this site and represent subjective interpretations rather than objective facts. It is not intended to encourage harassment, condemnation, or any other actions against any venue.

Social media

My Projects

GPTransport

GPTransport

Real-time public transport departures for Germany

01Background

Recently, Google started allowing businesses in Germany to remove reviews by citing defamation laws. This annoys me, just like many other people. I saw people from smaller cities — because there are fewer venues there and it's easier to collect statistics — doing similar analyses with Excel spreadsheets. So I decided to build an interactive map.

02Data Collection

The main challenge is collecting information from Google Maps. Google does not allow mass data collection through automated scripts, but there's nothing stopping someone from doing it manually, so of course… I collected it manually.

I did not collect the reviews themselves, only statistical data — specifically the current rating, the number of reviews, and the number of deleted reviews. Google recently started showing approximately how many reviews were removed. For example, Spaccanapoli Nr. 12 removed between 201 and 250 reviews:

201 bis 250 Bewertungen aufgrund von Beschwerden wegen Diffamierung entfernt.

03Methodology

Based on this data, I calculated the adjusted score of a venue — as if the reviews had never been removed.

Formula

adj_score =

(current_number_reviews × current_rating + deleted_reviews_estimate × avg_deleted_rating)

/ (current_number_reviews + deleted_reviews_estimate)

deleted_reviews_estimate = (deleted_reviews_max + deleted_reviews_min) / 2

avg_deleted_rating = 1

avg_deleted_rating = 1 is the approximate average rating of deleted reviews. In other words, I assume that every deleted review was, on average, a 1-star review. That's probably not entirely accurate, but it makes sense to calculate the worst-case scenario.

Example — Spaccanapoli Nr. 12

current_rating = 4.8

current_number_reviews = 1266

deleted_reviews_estimate = (250 + 201) / 2 = 225.5

adj_score = (1266 × 4.8 + 225.5 × 1) / (1266 + 225.5) = 4.2

04Notes

  • I'll continue updating the map, although it takes a lot of time.
  • You can verify everything yourself on Google Maps. If you find any discrepancies, feel free to leave a comment on X.