Heatmap of Gym Attendance

1. Project overview

What:
A simple dashboard based on scraped publicly available web data, cleaned in Excel and visualized in Tableau.

Why:
As a member of this very popular (and often crowded) gym in Brooklyn, New York, I was interested in the optimal times to work out.

How:
1. Scrape data using a cloud web scraper

2. Quick data cleaning in Excel

3. Data visualization with Tableau to create a simple dashboard

2. Analysing and visualizing the data

Scraping the web data

I decided to scrape the openly accessible attendance data from the gym’s website on an hourly basis for one month. In this case, I set up a cloud-based web scraper tool to store the desired data in a Google Sheet document.

After data collection was completed, I decided to use Excel to clean the data before visualization as this dataset is quite small.

Defining a research question

As a member and frequent user of the gym in question, I was interested in the optimal days of the week and times of the day to avoid overcrowding.

Creating the Tableau storyboard

To make the data easily glanceable, I decided to create an interactive line chart that displays the average gym attendance by hour. Users can choose whether they would like to see the weekly average or by a specific weekday.

In addition, I created a heatmap as this format is uniquely suited to display the hourly average attendance in one visualization. The color grading is based on personal observation: Below 150 gym goers in attendance seems optimal (blue), at 200 it starts getting crowded (light red) and at 300 the gym is packed (dark red).

3. Insights and next steps

The insights represented on the dashboard:
  • We can see that the highest overall average attendance measured was at 7pm. This varies, unsurprisingly depending on the weekday. From Monday to Thursday, the gym gets crowded between 5pm and 9pm. On Friday, this shifts to slightly earlier (3pm to 9pm). Finally, on Saturday and Sunday we see high attendance between 11am and 6pm.
  • For someone working traditional office hours, the only way to avoid the crowds would be to either go in the morning or late at night. Gym goers who live close enough should also consider dropping by during their lunch break.

  • Next steps:
  • The following month's gym attendance tracked very closely with the collected data and was a useful guide to timing my (almost) daily visits. To further improve the accuracy of the data, I might collect hourly data for a full year to account for seasonal effects, etc. I might also combine this with weather data for the location of the gym to see if there are any correlations.

  • Please feel free to check out the full storyboard at the top of this page or on Tableau Public.