Fitness Trackers e-Commerce in Indian Market

R Financial Analysis Data Visualization

A financial analysis about fitness trackers device sales in Indian market on 2022.

Miftahul Hadi
Dec 6, 2022

Introduction

In this activity, I want to analyze a Fitness Trackers Device product from various brands. This report will analyze review about the device in Indian market. After that, we try to investigate the material used in the device including strap material, battery, and the price itself.

Fig. 1. Fitness Tracker Device

Here, we used the data sets from Flipkart, one of an e-commerce website. This data sets include several variable such as:

This data has been collected using Kaggle in this link

What to analyze?

This data set can be used to find a questions that might arise such as:

Hopefully, this questions will reveal what inside the data sets and help other company to strategies the India Market.


Preparation

Here, I want to describe a few tools in this analysis:

Before doing our analysis, we loaded the library.

Show code

Then, load and name the dataset as a fitness_tracker using readr library.

Show code
library(readr)

#Use your file location
fitness_trackers <- read_csv("D:/Bahan Belajar/Project Portfolio/1_R_Fitness Tracker_ecommerce/Fitness_trackers.csv")

Last, we want to get better understanding of our data using glimpse() & skim_without_charts() to check the null value.

show
glimpse(fitness_trackers)
Rows: 565
Columns: 11
$ `Brand Name`                     <chr> "Xiaomi", "Xiaomi", "Xiaomi…
$ `Device Type`                    <chr> "FitnessBand", "FitnessBand…
$ `Model Name`                     <chr> "Smart Band 5", "Smart Band…
$ Color                            <chr> "Black", "Black", "Black", …
$ `Selling Price`                  <dbl> 2499, 2099, 1722, 2469, 179…
$ `Original Price`                 <dbl> 2999, 2499, 2099, 2999, 219…
$ Display                          <chr> "AMOLED Display", "AMOLED D…
$ `Rating (Out of 5)`              <dbl> 4.1, 4.2, 3.5, 4.1, 4.3, 4.…
$ `Strap Material`                 <chr> "Thermoplastic polyurethane…
$ `Average Battery Life (in days)` <dbl> 14, 14, 14, 14, 7, 20, 7, 1…
$ Reviews                          <dbl> NA, NA, NA, NA, NA, NA, NA,…
show
skim_without_charts(fitness_trackers)
(#tab:Understand the data)Data summary
Name fitness_trackers
Number of rows 565
Number of columns 11
_______________________
Column type frequency:
character 6
numeric 5
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
Brand Name 0 1 4 8 0 19 0
Device Type 0 1 10 11 0 2 0
Model Name 0 1 1 62 0 384 0
Color 0 1 3 44 0 134 0
Display 0 1 11 19 0 7 0
Strap Material 0 1 5 26 0 11 0

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100
Selling Price 0 1.00 22110.37 19914.93 1195 8990.00 15995.0 29900.00 122090
Original Price 0 1.00 25365.36 20384.03 1599 12999.00 19995.0 32900.00 122090
Rating (Out of 5) 51 0.91 4.23 0.39 2 4.03 4.3 4.50 5
Average Battery Life (in days) 0 1.00 9.03 7.87 1 2.00 7.0 14.00 45
Reviews 487 0.14 2492.95 5607.53 2 107.75 346.0 1580.75 23426

Analysis

The best strap material for Fitness Tracker Device?

Fitness Band Material

Here, we try to find which strap material for Fitness Band is having a high average rating. The rating is obtained by calculating the average rating per strap material. Then do the ranking analysis.

Show code
#Fitness Band
#Calculate the average rating by strap material
mean_strap_fitnessband <- fitness_trackers %>% 
  group_by(`Strap Material`) %>%
  filter (`Device Type` == "FitnessBand") %>% 
  summarize(avg_rating = mean(`Rating (Out of 5)`))

#Plot the average rating with strap material
ggplot(data = mean_strap_fitnessband, 
       mapping = aes(x = avg_rating, y = reorder(`Strap Material`, avg_rating), alpha = avg_rating)) + 
  geom_bar(stat = "identity", fill = "black") + 
  geom_text(aes(label = round(avg_rating, digits = 2), fontface = "bold"), nudge_x = +0.2, colour = "black") +
  labs(title = "Rating for Fitness Band Material", subtitle = "based on Review in Indian Market", x = "Average Rating", y = "Strap Material", alpha = "Range of Rating")

From the bar chart above, we see the brand name on the left-axis with their average rating. Elastomer is getting highest rating in Indian market by 4.22. Then follow tightly by Plastic. The use of leather is less preferable for Fitness Band in Indian market.

Smartwatch Material

Here, we try to find which strap material for Smartwatch is having a high average rating. The rating is obtained by calculating the average rating per strap material. Then do the ranking analysis.

Show code
#Smartwatches
#Calculate the average rating by strap material
mean_strap_smartwatch <- fitness_trackers %>% 
  drop_na() %>% 
  group_by(`Strap Material`) %>%
  filter (`Device Type` == "Smartwatch") %>% 
  summarize(avg_rating = mean(`Rating (Out of 5)`))

#Plot the average rating with strap material
ggplot(data = mean_strap_smartwatch, 
       mapping = aes(x = avg_rating, y = reorder(`Strap Material`, avg_rating), alpha = avg_rating)) + 
  geom_bar(stat = "identity", fill = "black") + 
  geom_text(aes(label = round(avg_rating, digits = 2), fontface = "bold"), nudge_x = +0.2, colour = "black") +
  labs(title = "Rating for Smartwatch Material", subtitle = "based on Review in Indian Market", x = "Average Rating", y = "Strap Material", alpha = "Range of Rating")

From the bar chart above, we see that Nylon is getting highest rating in Indian market by 4.4. Then follow tightly by Silicone. The use of rubber is less preferable for smart watches in Indian market.


Is more battery life necessary for Smartwatches or Fitness Band?

Here, we want to inspect whether or not if more battery life is an important factor for having a high rating in Indian Market. To do that:

Here’s the formula in R

Show code
#Plot the battery life with rating
ggplot(data = fitness_trackers, 
       mapping = aes(x = `Average Battery Life (in days)`, y = `Rating (Out of 5)`, alpha = `Rating (Out of 5)`)) + 
  geom_smooth() +
  stat_cor(method = "pearson", label.x = -5, label.y = 4.8) +
  facet_wrap(~`Device Type`) +
  labs(title = "Relationship between Battery Life vs. Rating", subtitle = "based on Review in Indian Market", 
       x = "Average Battery Life (in days)", y = "Rating")

From the scatter plot above, we see the average battery life (in days) on the x-axis with their rating on y-axis. Scatter plot is used to reveal a correlation between two or more variables. Correlation coefficient is used to show whether strong or not the correlation is. If R is positive and near 1, then battery life is dependent to rating.

In Fitness Band on the left, we see that there is no strong linear correlation between battery life and rating. The R on Fitness band is 0.12. It shows that little correlation between them. Rating above 4.00 is actually obtained in battery life that has at least 5 to 20 days.

In Smartwatch on the right, we see that the R on Fitness band is -0.18. It shows a little negative linear correlation. Less battery life and is sometimes get a high rating. Higher rating with above 4.5 is obtained on battery life below 5 days.


Mean price for selling a fitness tracker

Here, we want to inspect the mean price for selling a fitness tracker in Indian Market. We want the mean price will get at least 4.0 rating. To do that:

Here’s the formula in R to check the correlation for selling price in Smartwatch.

Show code
#Smartwatches
#Calculate the mean selling prices
mean_selling_smartwatch <- fitness_trackers %>% 
  group_by(`Rating (Out of 5)`) %>%
  filter (`Device Type` == "Smartwatch") %>% 
  summarize(selling_price = mean(`Selling Price`))

#Plot the average selling price with device rating
ggplot(data = mean_selling_smartwatch, 
       mapping = aes(x = `Rating (Out of 5)`, y = selling_price)) + 
  geom_smooth() + 
  stat_cor(method = "pearson") +
  labs(title = "Rating by Selling Price", subtitle = "on Smartwatch", x = "Device Rating", y = "Selling Price")

If we see the chart above, the R value for Smartwatch’s selling price is low. So we unable to measure the mean selling price for getting higher rating, because little correlation between them.

Let’s check the selling price in Fitness Band.

Show code
#Fitness band
#Calculate the mean selling prices
mean_selling_fitnessband <- fitness_trackers %>% 
  group_by(`Rating (Out of 5)`) %>%
  filter (`Device Type` == "FitnessBand") %>% 
  summarize(selling_price = mean(`Selling Price`))

#Plot the average selling price with device rating
ggplot(data = mean_selling_fitnessband, 
       mapping = aes(x = `Rating (Out of 5)`, y = selling_price)) + 
  geom_smooth() + 
  stat_cor(method = "pearson") +
  labs(title = "Rating by Selling Price", subtitle = "on Fitness Band", x = "Device Rating", y = "Selling Price")+
  annotate("text", x = 4, y = 7000, label = "The mean price to get more than 4.0 rating is ₹5,000", fontface = "bold", angle = 25)+
  annotate("segment", x = 4, y = 2500, xend = 4, yend = 4900, arrow = arrow(type = "closed", length = unit(0.02, "npc")))

When we see the R, the correlation between selling price and rating on Fitness Band is strong (0.76 out of 1). So, we can measure the mean price to get more than 4.0 rating.

Next, the mean price to get more than 4.0 rating is ₹5,000. If the selling price is increasing, the rating tend to be higher. Then the specifications price is needed to see further analysis on selling prices.


Conclusion

After doing an analysis about fitness tracker in Indian market on 2022, we can conclude that:


Suggestion

For further analysis, the specifications price is needed. This is important to measure a material with the lowest price but getting highest ratings.


Source

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Citation

For attribution, please cite this work as

Hadi (2022, Dec. 6). DataHadi: Fitness Trackers e-Commerce in Indian Market. Retrieved from https://miftahulhadii.github.io/index.html/posts/2022-12-13-fitness-trackers-e-commerce-in-indian-market/

BibTeX citation

@misc{hadi2022fitness,
  author = {Hadi, Miftahul},
  title = {DataHadi: Fitness Trackers e-Commerce in Indian Market},
  url = {https://miftahulhadii.github.io/index.html/posts/2022-12-13-fitness-trackers-e-commerce-in-indian-market/},
  year = {2022}
}