Restaurants around train stations are bad and I can prove it
This analysis investigates whether restaurants located near train stations in Germany are systematically lower in quality than those in city centers. The study utilizes a dataset of 226 German train stations identified by the presence of a Reisezentrum (travel center), using these locations as GPS anchors. Restaurant data was gathered via the Google Maps Nearby Search API, resulting in a dataset of 10,272 restaurants near stations and 11,331 restaurants in city centers. To ensure data reliability and mitigate the impact of review tampering, the analysis primarily filters for establishments with more than 100 reviews.
The findings indicate a strong correlation between proximity to major train stations and lower ratings. In large cities, restaurants in the city center consistently outperform those at the main station; for example, Berlin city center restaurants average 0.4 stars higher than those at the main station. A linear fit of the data reveals that for every kilometer a diner moves closer to a train station, the average rating decreases by 0.69 stars. In the largest and lowest-rated stations, this decline is more severe, dropping by 1.41 stars per kilometer, which equates to a loss of over 0.1 stars for every 100 meters of approach.
Further analysis of restaurant chains and naming conventions shows that Burger King consistently ranks as the lowest-rated option, while pizzerias, doner shops, and "Asiabock" establishments perform better. Restaurants incorporating "Tokyo" in their name achieved the highest average rating at 4.5 stars. The data suggests that while small-town stations like Backnang and Sinsheim maintain high standards, major urban transit hubs are associated with significantly lower-rated dining options.
This description was generated by Open-Source AI using the transcript of the session and the original submission contents.
This session took place in track Machine Learning & Deep Learning & Statistics and was classified suitable for novice domain by the speaker.
Submission
The proposal as submitted by the speaker before the conference.
Does the quality of restaurants degrade with your proximity to a train station? And which German town is worst for the hungry traveller? In this culinary data exploration, we used publicly accessible data to assess whether busy train stations correlate with lower restaurant ratings - and which towns are actually the worst. Using the Google Maps API and the hottest framework for data manipulation, polars, we give an overview over publicly available data resources and show how far you can get with them.
Of course, this talk will also deliver all the cold hard food facts: Analyzing the data of over 10,000 restaurants in Germany and worldwide, we will present the best and worst dining options available at train stations. We compare urban and rural environments, examine the impact of chain stores, and provide practical advice for you, the hungry traveler.
Transcript (auto)
Auto-generated from the recording utilizing Open-Source AI. Speaker labels (Speaker 1, Speaker 2) reflect diarization, not identity. Timestamps refer to the recording.
Speaker 1 [01:13]
One, two. Dear attendees, please find yourself a seat and give a warm welcome to Denis Shultz with his talk on restaurants. On restaurants around train stations are bad and he will prove it.
Speaker 2 [01:41]
Thanks to that one person. Thanks to all of you. I'm super happy that so many people show up at the last slot of a three-day conference. That is very nice. Thank you. Just as a quick context, I am from a company called, bless you, TNG Technology Consulting. But in our daily work, we have nothing to do with restaurants. This has been a hobby project because we have some time off where we can do hobby projects. And this was one, and it was created in the moment where I was at Stuttgart main station. And the problem there was, like, I had about one hour of time, and I was like, there must be some place to get at least slightly decent food. And there wasn't. There was just nothing. And then I was like, but that's often the case at train stations. That happens all the time. Like, can I somehow, you know, look up if there are any, you know, train stations? Like, if this is a systematic problem, if there is a conspiracy that bad restaurants are around train stations and they somehow cluster there. And this is my attempt. I will go through three steps. I will tell you where I got my data from. I will analyze the data and then there will be results. Yay. That is the principle. So let's start with where I got the data from. Can we make that a little bigger? Yeah, that's a little bigger. There's a lot of wonderful data sources. There is gothdata.de, which has all kinds of data about Germany. There is the Mobilität, that has all kinds of data about mobility in Germany. There's Open Data, ÖPNV, which has all kinds of data about public transport in Germany. And then up around like three years ago, there was an open data portal of the German train system, of Deutsche Bahn, which is now deprecated, but within the last month that they were online, I found this data set, which is the data set of every single Reisezentrum, which are these places where you can get tickets. And a Reisezentrum, that's a great measurement for if, you know, if a train station is important enough. Because if they actually pay a person to sit there, like full-time, kind of full-time, to help you, then probably there's enough people that frequent that train station. So that's great. That's super cool. What is in that data set? Well, the address, that's kind of cool. It says that it's a Typ Reisezentrum, which just confirms what we already knew. There's opening times, and it's opening times for all of the days, so that's also super helpful. Some of them are open on Sundays. And then they have some coordinates, which for some reason they give in... Oh, well, it's in the end. Yes, which for some reason they just give as this full number, and then you just have to trust that they use six digits beyond the comma, and then you have to pass it, and then you get these kind of latitudes and longitudes. Well, cool. So we have GPS data of important train stations. That's surely the first step. So let's continue with, you know, just a quick check. And this check is, are these reliable? And I will just quickly... Oh, boy, I didn't think that I have to do this in a mirrored way. Let's see if I manage. If not, just believe me, it's perfect. Like the GPS locations work. They know where the train stations are. That's super cool. They have fitting GPS data for what they want. So that's cool. The GPS locations are reliable. Okay. So how do we get the restaurant data. For the purpose of this particular talk, I will just assume that Google Maps ratings are truth. Which, you know, it's okay. Kind of works. It's often it's okay. And there is a nearby search API for which you can get a 90 days free limited trial and then you pay per request, but there's ample limits within where your requests are still free. And that is obviously one of the many ways Google makes money. I found this number that, for example, Uber used Google Maps and then paid $58 million in the years 2016 and 2018. If this is added for both years, I don't know. But they make some money off of that. It's It's one of the many ways in which Google makes money. And that's how Google Maps makes money, kind of. And what you then get is a list of restaurants. So I just went down the list. How many restaurants? It's a little hard to read. It's 10,272 restaurants that are in the data set. And what you get is, well, you get the... This is linked up with the place that this restaurant is around. There is a latitude and longitude, there is a rating, there's an amount of ratings, then for every restaurant, Google gives some tags that can be cafe, point of interest, something like that. We'll take a closer look into that in a second. Sometimes there's a price level, if it's expensive, really expensive, kind of cheap, and then of course a unique identifier. All of that kind of expected. So let's check like how many restaurants do we have per train station. We have exactly 60 for every single train station. Why is that? Because the places API, they say it should not be a search engine for restaurants. What they want to do is deliver reasonable results that make sense. So they just deliver 60. if you go back from Munich, which has 74, which is because they have a Reisezentrum for the ICEs and all the big train traffic, and then one for the small metro and S-Bahn. So I did two requests, and within that range, there's basically more restaurants than 60. So that's the idea. Okay, cool. So let's take a look at the labels. Every single one of the 10,272 restaurants got the label food. Makes sense. All of them are an establishment, a point of interest, a restaurant, and then we go into, like, a lot of them offer meal takeaway. You know, some are a store. Let's go a little bit. Let's check the slightly, you know, less common ones. We have things that are, you know, a restaurant and a tourist attraction, a restaurant and hair care, which I guess works. We have a drugstore, a furniture store, and a funeral home. Also, there's one space that is rated as a restaurant and a funeral home at the same time, which I'm sure is a great business model. Okay, cool. Data kind of makes sense. so I would suggest to just take a look you know and maybe sort a little things for the rest of the talk and this is the only measure that I will do against you know there's a lot of faking of reviews and adding reviews artificially and my safety measure is that I only allow places that have more than 100 reviews if you want to challenge that metric sure do that Cool. Yay. We all want to know, so what is the worst place you could go? It is Buckfish Mike at the Reisezentrum Wismar, which I have to say delivered quite the heartbreak because up until a few days ago, this was open. But unfortunately, it is now permanently closed. it has been open for the last three years I check in with my restaurants I don't know, I checked it from time to time people complain that the fish is so solid that it feels like concrete I guess that's not good then let's check the other end of the scale I know we have some stuff the one with the most ratings is the Mamma Mia pizzeria in Fürth. Let's just check. Since I collected the data, it has lost 0.1 stars. But it is still rated very well. So if you ever happen to find yourself at the main station of Fürth in Bayern, check it out, it's within 500 meters. That's all I can say. Seems good. Seems cool. So with that, we have a data analysis. You know, we have a lot of restaurants. We have our data set. Kind of makes sense to look into it. And I will... I don't know. The thing is that another thing that we can look into later maybe is that then it's a lot of Burger Kings that follow each other. I don't know what to make of that. Okay. So, let's, you know, let's aggregate. Let's, like, check which place, like, which train stations are actually the best places, you know, to have, to grab some food in the entirety of Germany. Well, this is the list by station. We have 226 places that have Reisezentrum in Germany that are in the list. And the best place to eat are Backnang, Immenstadt, Abensberg, Lichtenfels, Traunstein, Oberkirch, Sinsheim, Horb, Winnenden and Ravensburg. I am not sure how many of those you would be able to locate on a map with confidence? I don't know. I don't know. Is this a pattern? I don't know. We can just check the other end of the list. You know. Like let's check what the worst places are. Frankfurt, Berlin, Karlsruhe, Osnabrück, stuttgart stuttgart berlin again wiesbaden hamburg bremen those are places that you know and that makes you think right that kind of i don't know it sounds like maybe i don't know bigger cities are maybe bad like maybe maybe it's just that the size of the place kind of leads to worse restaurants. There's all kinds of hypotheses that you could do with that. Now, I kind of wanted to check if it is just like at a train station you have thousands of people that rush by. And it's super, you know, you can just say, I mean, maybe they are dissatisfied. Maybe they are stressed. Maybe, you know, they just missed their train and then they enact their fury on the local subway. I don't know. but I don't know what is the data that we could kind of compare this to and if you have any better ideas please let me know but the best idea that I had was to compare it with city centers because those are typically the other places where a lot of people are so let's use a data set from govdata.de you can download this it's super cool It's just every single place that somehow has a name in Germany. It has, you know, places, if you saw it, by population. It has places like Brunsleberfeld with a population of zero. So, I don't know if you want to look for a place in Germany where you want to move and then increase the inhabitants by infinite percent. This is a list of places. The other end, again, is, of course, all the big cities, Berlin, Hamburg, Munich, Cologne, Frankfurt, and so on. And nicely enough, there is a longitude and a latitude directly. Inside of that data set, we can just do the same thing over again. Through this, we get 11,331 restaurants. That's, again, a lot of restaurants. Cool. So, let's keep the minimum amount of ratings at zero. I don't know, just because it's fun, let's look at the worst restaurants from the data set again. The worst restaurant from this entire data set, let's verify it here in the data, is... Sometimes these break and I have interesting results. For some reason I think I said 80 here before and it was like 80 is a number of reviews that is extremely safe against tampering. So the worst place with 86 ratings is of course the City Döner in Hameln. Let's check that one. That one is also permanently closed. And the second-to-worst restaurant is still open, which is the Hanoi Cuisine Vietnamese Deli and Sushi Pizza and Döner Kebab. Which they could have just named food. I mean, I don't know, I guess they don't do burger. I don't know. Cool. But that one still shockingly exists, which I guess is good for them and sad for Chemnitz. Okay, cool. Let's do the same exercise as we did just a second ago. And the best city centres to eat in, you might already recognise the pattern. Those cities are Leonsberg, Radebeul, Eberswalde, Hennef, Backnang, Sinsheim. Sinsheim, again, very strong, both in train station and city centre, which I think is mostly because the train station is the city centre. Weiblingen, Detmold, Pirna, Bensheim, if you map them, there's a weird, like, there's a really weird weight towards the southern end of Germany. I don't know. In general, that seems to be a thing. Cool. So I think we've gotten what we wanted out of that plot. And now let's compare. So we have the average rating at the train station, of restaurants at the train station, we have the average rating of restaurants in the city centre, and the assumption is, if it's just about a lot of people passing through, then the ratings should be kind of the same. So let's plot it. So this is a lot of dots and a very raw plot. Down here you have inhabitants, So those are the cities that have more than one million people living there. This is the zero line. Those are the cities where, well, where the restaurants at the train station are better. These are the ones where the restaurants in the city center are better. I think you see that it strongly, you know, that it strongly skews towards one direction. we can even you know because let's just say that we need around oh yeah this is okay this is around 150 000 people to just ensure that we have a town where the city center is at least a little different than the train station that would be lovely and then you know we skew strongly towards city centers city centers usually give you better food in berlin the average rating is 0.4 stars better than at the main station in this particular case. Well, that's a pretty cool thing. So seemingly train stations have this thing about them, which of course begs the question, if you approach a train station, does it get worse the closer you get to the train station. Like, are you on a slope of raiding with every meter that you approach the Reisezentrum of a train station? Basically, how fast does it get worse? And the next plot, I'm happy to say, is the messiest plot that I have ever seen. is every dot here is one restaurant in the data set and this is the distance from the Reisezentrum in kilometers and then what do you get when you have such a cloud of points? Well, you do a linear fit and the linear fit tells you that per kilometer that you get closer to a train station the rating decreases by 0.69 stars. Now, this includes a lot of places where the train station and the city center are kind of the same place. So let's just look at the places, at the worst train stations, which just happen to be also the worst, the biggest train stations. And there you get a decrease of 1.41 stars per kilometer, which means that with every 100 meters you approach the train station, the average rating drops by more than 0.1 stars. So just keep this in mind next time. If you approach a train station it does get worse which can have all kinds of reasons. Honestly, one reason that I find kind of convincing is that of course you only get 60 restaurants And in big train stations, within a 500-meter radius, you have hundreds of restaurants, not just 60. So if you do a search, it will give you restaurants that are close to where you searched and then good restaurants that are a little further away. So this might be an effect, though I didn't see this effect in the city center data set as strongly, but I assume that this is somehow true. For the purpose of this talk, again, we ignore all of this. And we will just say that you shouldn't approach train stations while being hungry. And just as a service portion of the talk, let's quickly go through the few places that are in Darmstadt. So this is the places that are around Darmstadt train station. you should definitely avoid the subway at the main station and Le Crobat and Vapiano. Just that one is basically, I mean, yeah, do with that what you want. And those places are the ones where you can easily grab some food before you go and take your train to home. And then, I mean, you know, we assembled a data set here of about, you know, 18,000 restaurants, I think it is, when you remove all the duplicates. So let's also just quickly check which chains or, you know, if you are just in a, like, random place and you just have the names of restaurants and you have to decide where to go, then let's just see, like, what is better? If in the name of the restaurant there's something like McDonald's is Subway better, Asiabock, Backwerk, and then I just included Pizzeria for fun. And if we rub salt by average rating, Burger King is consistently the worst, while Pizzeria, Asiabock and Doner are consistently the best choices. And then, you know, places are sometimes named after cities, so I also checked some cities that are typically names of restaurants, Istanbul, Napoli, Paris, Tokyo, USA, a place, and Italy, and basically places that are named Tokyo. I have an average rating of 4.5 stars, which is impressive, so to sum From this part up, I guess, a pizzeria Tokyo is the best place that you can go to. So, what have we learned? I don't know. I mean, if a place is called Vietnamese sushi pizza burger, then maybe don't go there, especially if you're in Chemnitz. I also just want to stretch the part that it was so much fun to do this and kind of easy. So if you have a question like this, I don't know, I mean, probably all of you, you know, know that it's very easy to do this. But if you, you know, just miss this, like, push to actually, like, go after your question and try to answer it with data, you know, like very realistic questions sometimes do have data sets that you can just look up and just take an attempt at it. It is really fun. And I don't know, you get weird facts like what the easternmost train station in Germany is, Frankfurt, oder? And apart from that, I can only repeat what I have already said. You know, like if you approach a train station and you're hungry, I mean, good luck. Yeah, don't, unless you're in Backnang or Sinsheim or some really small place. Thanks for staying till the end of the conference. If you want to add me on LinkedIn, I do. I am called Dennis Schulz, like I am called in real life. I would appreciate that. And I really appreciated you all being here. Thanks for listening.
Speaker 1 [25:16]
Thank you once again, Dennis, for so engaging presentation on the last day on the conference. And the first question we have.