I always felt I knew what a good time to go to a gym is, but I never had any empirical evidence to back it up or ensure that my insights are correct. On my gym app, I could only see the current capacity, so even if I leave home situation can still change in the next 20-30 minutes, and it might change even more after an hour.
I could also get an insight via Google maps, but it's simply not as reliable.
Basically, I want to know the best time to go to my local gym and make sure capacity is low during my exercise.
So I started collecting data from Virgin Active UK (my local gym) via an API used for mobile app and writing it down every 5 minutes in my Postgres database. I started collecting data on the 30th of May 2022.
Through this API, I get data on 34 gyms in the UK. While some gyms in commercial areas like Aldersgate are much less busy than gyms like Canary Riverside. They also show different patterns during the day because of it. Right now, I will narrow it down just for Canary Riverside gym, and then I will make some general comparisons.
We don't see per-hour capacity, just day to day. I wanted to start with this image to show that, on average, there may be some differences during the day. Still, the weekend and weekdays dynamics are very different from this one. The weekend is the best time to go there, especially Saturday.
So, even if on average capacity on Monday is higher, before 5pm, its usually lower then on Sunday. This graph shows that a window between 2pm and 4pm is generally under 40%, which should be long enough.
From these graphs, we can observe that 2pm-4pm on Weekdays is probably the best time, although there are some differences during the week as it gets less intense.
Let's compare a few of the charts to Aldersgate(a more commercial area)
Looks like there is definitely some difference between the behaviour in a more commercial area to a less commercial. 2-4pm window is still a great option on Weekdays. Lunch peak is closer to Dinner time peak in more commercial areas as many people go to gyms during their lunch break.
Let's look at the whole dataset averaged.
If looking at both Canary Riverside and Aldersgate and comparing it to this chart, there is definitely some difference between commercial and residential gyms. Also, none are purely commercial or residential, so there will always be some local differences.
This interactive chart shows all 34 gyms' average capacity per weekday.
The best time to go on Weekdays is 2-4pm. So if you have an opportunity to switch your schedule at work, you will benefit from nearly half the occupancy resulting in fewer people around you.
For Weekends it is best to go after 2pm or later on in the evening.
I used pandas to wrangle the data, and here is my python notebook on github
Also, because of the difference in gyms in different areas, I created this website which uses prophet to forecast capacity mygym.institute