Skip to content

You are a product manager for a fitness studio and are interested in understanding the current demand for digital fitness classes. You plan to conduct a market analysis in Python to gauge demand and identify potential areas for growth of digital products and services.

The Data

You are provided with a number of CSV files in the "Files/data" folder, which offer international and national-level data on Google Trends keyword searches related to fitness and related products.

workout.csv

ColumnDescription
'month'Month when the data was measured.
'workout_worldwide'Index representing the popularity of the keyword 'workout', on a scale of 0 to 100.

three_keywords.csv

ColumnDescription
'month'Month when the data was measured.
'home_workout_worldwide'Index representing the popularity of the keyword 'home workout', on a scale of 0 to 100.
'gym_workout_worldwide'Index representing the popularity of the keyword 'gym workout', on a scale of 0 to 100.
'home_gym_worldwide'Index representing the popularity of the keyword 'home gym', on a scale of 0 to 100.

workout_geo.csv

ColumnDescription
'country'Country where the data was measured.
'workout_2018_2023'Index representing the popularity of the keyword 'workout' during the 5 year period.

three_keywords_geo.csv

ColumnDescription
'country'Country where the data was measured.
'home_workout_2018_2023'Index representing the popularity of the keyword 'home workout' during the 5 year period.
'gym_workout_2018_2023'Index representing the popularity of the keyword 'gym workout' during the 5 year period.
'home_gym_2018_2023'Index representing the popularity of the keyword 'home gym' during the 5 year period.
# Import the necessary libraries
import pandas as pd
import matplotlib.pyplot as plt

# Start coding here
workout = pd.read_csv("data/workout.csv")
three_keywords = pd.read_csv("data/three_keywords.csv")
workout_geo = pd.read_csv("data/workout_geo.csv")
three_keywords_geo = pd.read_csv("data/three_keywords_geo.csv")

print(workout.head())
print(three_keywords.head())
print(workout_geo.head())
print(three_keywords_geo.head())

# First Question
ax = workout.plot(x="month", y="workout_worldwide", kind="line", figsize=(12, 6))
ax.set_xticks(range(len(workout["month"])))
ax.set_xticklabels(workout["month"], rotation=90)
plt.show()
year_str = "2020"

# Second Question
ax = three_keywords.plot(x="month", y=["home_workout_worldwide", "gym_workout_worldwide", "home_gym_worldwide"], kind="line", figsize=(12, 6))
ax.set_xticks(range(len(workout["month"])))
ax.set_xticklabels(workout["month"], rotation=90)
plt.show()
peak_covid = "home_workout_worldwide"
current = "gym_workout_worldwide"

# Third Question
filtered = workout_geo[workout_geo["country"].isin(["United States", "Australia", "Japan"])]
ax = filtered.plot(x="country", y="workout_2018_2023", kind="line", figsize=(12, 6))
ax.set_xticks(range(len(filtered["country"])))
ax.set_xticklabels(filtered["country"], rotation=90)
plt.show()
top_country = "United States"

# Fourth Question
filtered2 = three_keywords_geo[three_keywords_geo["Country"].isin(["Philippines", "Malaysia"])]
ax = filtered2.plot(x="Country", y="home_workout_2018_2023", kind="line", figsize=(12, 6))
ax.set_xticks(range(len(filtered2["Country"])))
ax.set_xticklabels(filtered2["Country"], rotation=90)
plt.show()
home_workout_geo = "Philippines"