Introduction

Background

Bellabeat is a technology developer of health and wellness products focussed on Women. Founded in 2014 by Urška Sršen and Sandro Mur, it has in the last decade gained 10 million users and improved the health of women in Europe and The United States. Urška - Co-founder and Chief Product Officer requires analysis to answer questions on the completeness of Bellabeat products in the market over existing competing brands to facilitate new areas of opportunity and growth.

Business Task

The goal of this analysis is to understand user behavior from the data collected by smart devices that are not Bellabeat and provide recommendations that will help the company to grow its customer base while making new innovations and improving product engagement.

Data

Data Source

The dataset used in this analysis is a sample of data collected from non-Bellabeat smart devices, available on Kaggle. It includes information on users’ physical activities, sleep patterns, and other health metrics.

Load and Clean Datasets for Analysis and Visualization

Unlike the common practice of loading datasets separately, I have opted to load and merge all relevant files at the outset, streamlining the process for a more cohesive analysis.

Additional Cleaning Steps

I have taken steps to clean the data after merging, including handling NA values, converting Date-Time parameters, and enhancing the dataset by adding new columns to better illustrate relationships within the data along with their summaries.

##        Id             ActivityDate         TotalSteps.x   TotalDistance.x 
##  Min.   :1.504e+09   Min.   :2016-03-12   Min.   :    0   Min.   : 0.000  
##  1st Qu.:2.320e+09   1st Qu.:2016-04-08   1st Qu.:    0   1st Qu.: 0.000  
##  Median :4.445e+09   Median :2016-04-19   Median :    0   Median : 0.000  
##  Mean   :4.782e+09   Mean   :2016-04-19   Mean   : 2179   Mean   : 1.552  
##  3rd Qu.:6.962e+09   3rd Qu.:2016-04-30   3rd Qu.: 1985   3rd Qu.: 1.360  
##  Max.   :8.878e+09   Max.   :2016-05-12   Max.   :28497   Max.   :27.530  
##  TrackerDistance.x LoggedActivitiesDistance.x VeryActiveDistance.x
##  Min.   : 0.000    Min.   :0.00000            Min.   : 0.0000     
##  1st Qu.: 0.000    1st Qu.:0.00000            1st Qu.: 0.0000     
##  Median : 0.000    Median :0.00000            Median : 0.0000     
##  Mean   : 1.534    Mean   :0.05972            Mean   : 0.3931     
##  3rd Qu.: 1.240    3rd Qu.:0.00000            3rd Qu.: 0.0000     
##  Max.   :27.530    Max.   :6.72706            Max.   :21.9200     
##  ModeratelyActiveDistance.x LightActiveDistance.x SedentaryActiveDistance.x
##  Min.   :0.0000             Min.   : 0.000        Min.   :0.0000000        
##  1st Qu.:0.0000             1st Qu.: 0.000        1st Qu.:0.0000000        
##  Median :0.0000             Median : 0.000        Median :0.0000000        
##  Mean   :0.1593             Mean   : 0.962        Mean   :0.0006337        
##  3rd Qu.:0.0000             3rd Qu.: 0.840        3rd Qu.:0.0000000        
##  Max.   :6.4000             Max.   :12.510        Max.   :0.1000000        
##  VeryActiveMinutes.x FairlyActiveMinutes.x LightlyActiveMinutes.x
##  Min.   :  0.000     Min.   :  0.00        Min.   :  0.00        
##  1st Qu.:  0.000     1st Qu.:  0.00        1st Qu.:  0.00        
##  Median :  0.000     Median :  0.00        Median :  0.00        
##  Mean   :  5.533     Mean   :  4.35        Mean   : 56.61        
##  3rd Qu.:  0.000     3rd Qu.:  0.00        3rd Qu.: 63.00        
##  Max.   :202.000     Max.   :660.00        Max.   :720.00        
##  SedentaryMinutes.x   Calories.x      TotalSteps.y   TotalDistance.y 
##  Min.   :   0.0     Min.   :   0.0   Min.   :    0   Min.   : 0.000  
##  1st Qu.:   0.0     1st Qu.:   0.0   1st Qu.:    0   1st Qu.: 0.000  
##  Median :   0.0     Median :   0.0   Median : 4081   Median : 2.780  
##  Mean   : 331.3     Mean   : 728.8   Mean   : 5229   Mean   : 3.758  
##  3rd Qu.: 727.0     3rd Qu.:1776.0   3rd Qu.: 9388   3rd Qu.: 6.650  
##  Max.   :1440.0     Max.   :4562.0   Max.   :36019   Max.   :28.030  
##  TrackerDistance.y LoggedActivitiesDistance.y VeryActiveDistance.y
##  Min.   : 0.000    Min.   :0.00000            Min.   : 0.000      
##  1st Qu.: 0.000    1st Qu.:0.00000            1st Qu.: 0.000      
##  Median : 2.780    Median :0.00000            Median : 0.000      
##  Mean   : 3.749    Mean   :0.07406            Mean   : 1.029      
##  3rd Qu.: 6.650    3rd Qu.:0.00000            3rd Qu.: 0.980      
##  Max.   :28.030    Max.   :4.94214            Max.   :21.920      
##  ModeratelyActiveDistance.y LightActiveDistance.y SedentaryActiveDistance.y
##  Min.   :0.0000             Min.   : 0.000        Min.   :0.0000           
##  1st Qu.:0.0000             1st Qu.: 0.000        1st Qu.:0.0000           
##  Median :0.0000             Median : 2.090        Median :0.0000           
##  Mean   :0.3886             Mean   : 2.287        Mean   :0.0011           
##  3rd Qu.:0.4700             3rd Qu.: 4.170        3rd Qu.:0.0000           
##  Max.   :6.4800             Max.   :10.710        Max.   :0.1100           
##  VeryActiveMinutes.y FairlyActiveMinutes.y LightlyActiveMinutes.y
##  Min.   :  0.00      Min.   :  0.000       Min.   :  0           
##  1st Qu.:  0.00      1st Qu.:  0.000       1st Qu.:  0           
##  Median :  0.00      Median :  0.000       Median :134           
##  Mean   : 14.49      Mean   :  9.287       Mean   :132           
##  3rd Qu.: 16.00      3rd Qu.: 12.000       3rd Qu.:233           
##  Max.   :210.00      Max.   :143.000       Max.   :518           
##  SedentaryMinutes.y   Calories.y   Total_Distance   TotalVeryActiveDistance
##  Min.   :   0.0     Min.   :   0   Min.   : 0.000   Min.   : 0.000         
##  1st Qu.:   0.0     1st Qu.:   0   1st Qu.: 2.290   1st Qu.: 0.000         
##  Median : 738.0     Median :1849   Median : 5.030   Median : 0.120         
##  Mean   : 678.6     Mean   :1577   Mean   : 5.311   Mean   : 1.422         
##  3rd Qu.:1148.0     3rd Qu.:2496   3rd Qu.: 7.630   3rd Qu.: 1.870         
##  Max.   :1440.0     Max.   :4900   Max.   :28.030   Max.   :21.920         
##  TotalSedentaryDistance TotalLightlyActiveMinutes  Total_Steps   
##  Min.   :0.000000       Min.   :  0.0             Min.   :    0  
##  1st Qu.:0.000000       1st Qu.:117.0             1st Qu.: 3325  
##  Median :0.000000       Median :196.0             Median : 7142  
##  Mean   :0.001733       Mean   :188.6             Mean   : 7408  
##  3rd Qu.:0.000000       3rd Qu.:263.0             3rd Qu.:10686  
##  Max.   :0.110000       Max.   :720.0             Max.   :36019  
##  TotalLoggedActivityDistance TotalLightActiveDistance TotalFairlyActiveMinutes
##  Min.   :0.0000              Min.   : 0.000           Min.   :  0.00          
##  1st Qu.:0.0000              1st Qu.: 1.730           1st Qu.:  0.00          
##  Median :0.0000              Median : 3.280           Median :  6.00          
##  Mean   :0.1338              Mean   : 3.249           Mean   : 13.64          
##  3rd Qu.:0.0000              3rd Qu.: 4.710           3rd Qu.: 19.00          
##  Max.   :9.7396              Max.   :12.510           Max.   :660.00          
##  TotalCalories  TotalTrackerDistance TotalModeratelyActiveDistance
##  Min.   :   0   Min.   : 0.000       Min.   :0.0000               
##  1st Qu.:1820   1st Qu.: 2.270       1st Qu.:0.0000               
##  Median :2138   Median : 5.020       Median :0.2000               
##  Mean   :2306   Mean   : 5.283       Mean   :0.5479               
##  3rd Qu.:2786   3rd Qu.: 7.620       3rd Qu.:0.7900               
##  Max.   :5517   Max.   :28.030       Max.   :6.4800               
##  TotalVeryActiveMinutes TotalSedentaryMinutes
##  Min.   :  0.00         Min.   :   0         
##  1st Qu.:  0.00         1st Qu.: 737         
##  Median :  2.00         Median :1065         
##  Mean   : 20.02         Mean   :1010         
##  3rd Qu.: 30.00         3rd Qu.:1254         
##  Max.   :210.00         Max.   :2684

Analysis

Exploratory Data Analysis (EDA)

  1. Total Very Active Distance vs Total Steps

This scatter plot displays the relationship between the total distance covered during very active periods and the total number of steps taken. The color gradient from yellow to purple indicates the intensity of activity, with yellow representing fewer steps and purple indicating more. This plot helps to visualize how the distance traveled during active periods correlates with the total number of steps.

  1. Total Very Active Minutes vs Total Calories

This scatter plot illustrates the correlation between the total minutes spent in very active periods and the total calories burned. The color gradient from green to orange represents the intensity of calorie expenditure, with green indicating lower calorie counts and orange representing higher values. The plot provides insight into how time spent being very active influences overall calorie burn.

  1. Total Steps vs Total Calories

This scatter plot shows the relationship between the total number of steps taken and the total calories burned. The color gradient from blue to red reflects the calorie burn intensity, with blue representing lower calorie expenditure and red indicating higher calorie counts. This graph highlights how increasing step counts relate to changes in calorie expenditure.

  1. Total Calories by Activity Date

This line plot tracks the total calories burned over time, with data points marked in lime green. The x-axis represents activity dates, and the y-axis shows the total calories burned, with values formatted for clarity. This visualization illustrates trends in calorie expenditure over time, providing insights into how activity levels change daily.

  1. Total Steps and Calories Burned by Intensity Group

This code generates a scatter plot visualizing the relationship between TotalSteps_Combined and TotalCalories, with color representing the intensity of the steps. The color gradient ranges from light blue (low intensity) to dark blue (high intensity). The plot is faceted by IntensityGroup, allowing for separate panels for different intensity levels.

##        Id            ActivityHour         Calories.x       Calories.y    
##  Min.   :1.504e+09   Length:46008       Min.   :  0.00   Min.   :  0.00  
##  1st Qu.:2.320e+09   Class :character   1st Qu.:  0.00   1st Qu.:  0.00  
##  Median :4.559e+09   Mode  :character   Median : 50.00   Median :  0.00  
##  Mean   :4.870e+09                      Mean   : 49.35   Mean   : 46.78  
##  3rd Qu.:6.962e+09                      3rd Qu.: 79.00   3rd Qu.: 82.00  
##  Max.   :8.878e+09                      Max.   :933.00   Max.   :948.00  
##  TotalCalories    
##  Min.   :  42.00  
##  1st Qu.:  62.00  
##  Median :  81.00  
##  Mean   :  96.12  
##  3rd Qu.: 106.00  
##  Max.   :1338.00
##        Id            ActivityHour       TotalIntensity.x  AverageIntensity.x
##  Min.   :1.504e+09   Length:46008       Min.   :  0.000   Min.   :0.00000   
##  1st Qu.:2.320e+09   Class :character   1st Qu.:  0.000   1st Qu.:0.00000   
##  Median :4.559e+09   Mode  :character   Median :  0.000   Median :0.00000   
##  Mean   :4.870e+09                      Mean   :  5.667   Mean   :0.09445   
##  3rd Qu.:6.962e+09                      3rd Qu.:  2.000   3rd Qu.:0.03333   
##  Max.   :8.878e+09                      Max.   :180.000   Max.   :3.00000   
##  TotalIntensity.y  AverageIntensity.y TotalIntensity_Combined
##  Min.   :  0.000   Min.   :0.00000    Min.   :  0.00         
##  1st Qu.:  0.000   1st Qu.:0.00000    1st Qu.:  0.00         
##  Median :  0.000   Median :0.00000    Median :  2.00         
##  Mean   :  5.781   Mean   :0.09635    Mean   : 11.45         
##  3rd Qu.:  2.000   3rd Qu.:0.03333    3rd Qu.: 15.00         
##  Max.   :180.000   Max.   :3.00000    Max.   :330.00
##        Id            ActivityHour        StepTotal.x       StepTotal.y     
##  Min.   :1.504e+09   Length:46008       Min.   :    0.0   Min.   :    0.0  
##  1st Qu.:2.320e+09   Class :character   1st Qu.:    0.0   1st Qu.:    0.0  
##  Median :4.559e+09   Mode  :character   Median :    0.0   Median :    0.0  
##  Mean   :4.870e+09                      Mean   :  149.8   Mean   :  153.8  
##  3rd Qu.:6.962e+09                      3rd Qu.:   19.0   3rd Qu.:   24.0  
##  Max.   :8.878e+09                      Max.   :10565.0   Max.   :10554.0  
##  TotalSteps_Combined
##  Min.   :    0.0    
##  1st Qu.:    0.0    
##  Median :   21.0    
##  Mean   :  303.6    
##  3rd Qu.:  323.0    
##  Max.   :10750.0

Recommendations

  1. Enhance Data Collection: Bellabeat can use this information to improve the clarity of data collection through their devices.

  2. Account for Medical Conditions: The company should consider adding features to account for medical conditions such as thyroid disorders, diabetes, or multiple sclerosis.

These conditions can significantly impact health and weight management.

  1. Address a Market Gap: Few mainstream applications currently address these medical conditions.

This gap can hinder progress toward fitness goals and complicate weight loss efforts.

  1. incorporating recommendations for hydration during activity and meal suggestions for post-exercise within their app could further support users in achieving their health goals.

Conclusions

This case study demonstrates how Bellabeat can use data analytics to enhance its products and grow its customer base. By understanding user behavior and trends, Bellabeat can make informed decisions that drive business success.

References

  1. Google Data Analytics Professional Certificate on Coursera
  2. Dataset available on Kaggle

Explanation of the Structure:

  1. YAML Header: Defines the title, author, date, and output format of the document. I’ve included options for a table of contents, section numbering, and a theme for the HTML output.

  2. Introduction: Provides context, introduces Bellabeat, and defines the business task.

  3. Data: Describes the data source and the steps taken to prepare the data for analysis.

  4. Analysis: Includes code and visualizations to perform EDA and uncover insights.

  5. Recommendations: Based on your findings, suggest actions for Bellabeat.

  6. Conclusion: Summarizes the case study and its implications.

  7. References: Lists any sources of data or information used in the analysis.

Additional Tips:

  • Code Chunks: Include the echo = FALSE parameter in code chunks to hide the code if you only want to show the output.
  • Figures and Tables: Use appropriate captions and labels for clarity.
  • Styling: Customize the document’s appearance by adjusting the theme, fonts, and other styling options in the YAML header.
  • Narrative: Ensure the document flows logically, with clear explanations and transitions between sections.