I like building new products 🚀 and drinking old scotch 🥃. I also ride my bike 🚴 around Berlin, drink coffee ☕️, and lead the product team @marleyspoon 🍱.

Mar 4

Right place, right time: Analysis of car sharing availability in Berlin

Wednesday, 9pm, raining. You just finished watching Bergman’s latest movie and you really want to be home soon, without having to walk around in the rain. You open your car2go app, only to find that the nearest car is good 20 minute walk from you. Well, the öffi it is, then.

As an avid user of car-sharing services I found myself in a similar situation quite often, staring at an empty screen, hoping for at least one available car to appear in a reasonable vicinity. Every time I thought whether it’s just bad luck, or whether I am literally in the wrong place at the wrong time. Is there a pattern to the availability of car sharing cars? Where (and when) do you have the highest chance of getting a car?

To answer such questions I only needed one thing — data. Data about which cars are available and where they are, ideally in real-time. Unfortunately neither of the companies are very open towards sharing such data, and even though car2go officially has a public API, it is no longer possible to get a key (believe me, I tried).

It seemed to me that the only way to get my hands on such data would require me to put on my hoodie and hack into the mainframe, while staring at a black screen with green text. At least that’s how they would solve it in the movies.

Couple of weeks back, pretty much by accident, I discovered that car2go have a map on their website, which shows the locations of all available car2go cars in Berlin. Surely, there must be a way to make use of it, I thought. And I was right. I could get the data I was longing for and start nerding out.

How many?

The number #1 question that I wanted to answer was pretty simple — how many different cars are there in Berlin?

All the (available) car2go cars in Berlin. Can you count them all? (source: car2go iOS app)

Over the period of time that I used for analysis there were 1169 different car2go cars in Berlin. I’m pretty confident that I’ve “seen” all the cars, since the number matches the numbers on the car2go wikipedia page. It’s quite interesting that the number has not increased since the launch, which means that a lot of the older smarts, which were available before were replaced by the different Mercedes models.

The data I have unfortunately does not include car make and model, so I cannot get the exact split between the different car2go cars.

UPDATE: Recently I realized that this is not entirely true, as the VIN (which was included in the response) can be used to identify the make and model of the car. Unfortunately I did not store the VIN with my data set, so I cannot look at it again. Lesson learned — always store as much data as you can, kid!

Availability

Let’s move on to some more challenging questions — how does car availability change during the day? To answer that I’ve looked at the average number of available cars between 7am and midnight, comparing weekend with the rest of the week.

Average number of available car2go cars on a weekday

On an average weekday, the availability decreases quite steeply between 7 and 9am, as people take the car to go to work. After 9am the numbers start rising again since people stop commuting and make their cars available again. This goes on until around 10:30am when we enter the “time when nothing happens”, which lasts approx. until 4pm. This is the time where the availability changes (decreases) only very slowly, but starts picking up the pace between 4pm and 5pm. The busiest time for the cars is then between 6pm and 8pm, where as little as 450 cars were available (i.e. less than 50% availability). From 8pm on the availability slowly increases until midnight when it reaches very similar levels as at 7am (more than 900 cars available).

Average number of available car2go cars on a weekend

On the weekend everything is a bit slower. There is no time in which most of the people are busy, the availability slowly decreases throughout the day to, quite surprisingly, reach the same minimum between 6pm and 8pm. There is just one noticeable change around 10:30am, the so called “brunch peak”, which happens after people drive to brunch and everybody starts eating.

What is more interesting, though, is that the during the weekend the availability levels at the beginning and at the end of the timeframe are very different, which shows that people tend to use the service past midnight more than during the week. There is nothing like rolling in front of Berghain in a car2go smart, trust me!

Overall I was quite surprised to see the availability rate. Most of the time more than 70% of all the cars are available and sitting idle on the side of the road. Even during the peaks still more than 50% of the cars were available.

Which brings me to the next question — where are all those cars?

Location

If there are more than 500 cars available at any given moment of the day, why is it that I so often see the sad “There are currently no cars around you” message? The answer, as already hinted at at the beginning, is not about luck, but rather about where you are at that particular moment.

Of course, when you’re at the outskirts of Berlin, right where the business area ends, you’re probably going to be pretty unlucky, but what about in the heart of Berlin, within the area of the ring?

To answer this question I’ve first calculated the car density per zip code, based on the number of cars available at one given moment and the area of the zip code. This gave me an absolute number of available cars per square kilometer, for each part of Berlin, which I then analyzed based on the time of the day. For the purpose of this article I’ve focused on weekdays only, as after some initial data analysis I found that weekends are a bit boring, from location data perspective.

Weekday availability per zip code

Analyzing such amount of data (all cars in more than hundred zip codes during the whole day) is quite difficult, so I tried to simplify it by visualizing the different densities on a map of Berlin.

Based on the data I’ve picked out a 6 times which could be considered points of significance — 7:00, 9:00, 13:00, 16:00, 18:00, and 23:30. You can see the different distribution below.

Absolute car density per zip code throughout the day (on a weekday)

The first thing that stands out the first and last snapshot (7:00 and 23:30) are almost identical, which shows that, indeed, nothing really happens during the night (at least with respect to car2go availability).

So, what happens during the day?

7:00: Calm before the storm.Most of the cars are in the outer areas of the inner city, waiting to be picked up by commuters. The distribution is fairly balanced, with no area being an outlier when it comes to the car density

9:00: Coming in.We’re hitting the lowest availability point before noon, which means that a lot of cars are either reserved or being used. The density in Mitte is slowly increasing, on behalf of the more outer areas.

13:00: All eyes on Mitte.Around noon the number of available cars is back up, however, their distribution has changed dramatically. Instead of the outer areas most of the cars are now in Mitte, more specifically in the 10117 zip code. Between 13:00 and 14:00 this area reaches the highest absolute density, with more than 30 cars per km² (that’s more than 110 cars).

16:00: Going out in style.We’re slowly getting closer to the time of max. utilization. At 16:00 Mitte is still the area with the highest density, but there is a clear decreasing trend.

18:00: Welcome to the availability trench.More than half of the car2go cars are either reserved or being used, which leads to low density levels overall. Mitte has already lost it’s crown.

23:30: Back to start.We’re back at the beginning. Most cars are available, and they’re mainly spread around the outer areas of the inner city, just like at 7am. People are watching Netflix and getting ready to pick up a car again in the morning.

It’s clear that during the week people heavily use car sharing to commute, go to meetings, or pick up a coffee in The Barn, bringing in cars from all around Berlin to the center, only to reverse that in the afternoon. And if you were ever wondering where should you be to have the highest chance of getting a car2go, now you know — Mitte, 10117, between 13:00 and 14:00 on a weekday.

Since 2018 is the year of video (or was it 2017?), I’ve also compiled all the individual renders into a short video.

car2go availability/density per zip code on a weekday

Come fly with me 🛫

The above analysis only focused on the city of Berlin, excluding two important places for car sharing— airports.

car2go (as well as DriveNow) have dedicated parking spots on both Schoenefeld (SXF) and Tegel (TXL), where people can park and take their cars (for a small fee), which comes especially handy in situations when you have to catch that early morning flight from SXF and don’t want to take the S-bahn.

Given the low n it was not that easy to get some beautiful data, so just a couple of general observations:

Even though there are only 25 and 40 dedicated parking spots on TXL and SXF, respectively, the total number of available cars routinely exceeded this amount. On SXF there were more than 60 available cars available at one moment, while at TXL it was just around 40. I wonder where did people manage to fit all those cars 🤔.

As expected, airports are much more sensitive to time of the day. There aren’t many cars in the morning and if your flight arrives late in the evening (especially on the weekend), you’re probably going to be unlucky as well, since most cars are back in the city.

To avoid paying the extra fee for parking at TXL some people opt to park alongside the A100, which is just one or two stops away from the airport by bus. People don’t have such choice for SXF, considering how remote it is.

Conclusion

One of the values in Marley Spoon is that “We don’t care about opinions, we care about data,” and so while until now I had a lot of opinions (or ideas) about what are the dynamics behind car sharing in Berlin, now I bring some numbers to the table.

I know that given the limited dataset and the short timeframe this analysis is far from perfect. Especially the data for the weekends is not really sufficient to draw conclusions, but I quite frankly I am not that disappointed by it. The goal of this whole project was not to generate highly scientific results worth publishing in renowned journals. For me it was more of an an exercise in data processing and analysis, that I was itching to do for quite some time.

I’m thinking about what else I could look at, especially going one level deeper and looking at individual cars, but for now I’ll probably take a short break and go back to only being a car sharing user, not an analyst.

Thanks for reading 🙏!

P.S. I’d love to get my hands on more data from car2go or DriveNow to take a look at longer timeframes and compare the different brands. Just saying! 😏

P.P.S Also, if you’re curious about the behind the scenes look at this project, check out my next post 🤓.