Cyclistic launched a successful bike-share offering. Since then, the program has grown to a fleet of 5,824 bicycles that are geotracked and locked into a network of 692 stations across Chicago. The bikes can be unlocked from one station and returned to any other station in the system anytime. Additionally, Cyclistic provides users with membership option and casual (one time users).
Transportation is a key part in human endeavors, Cyclistic, a bike sharing company, can increase its market share by understanding the trends and pattern in bike usage in order to convert casual users to regular members.Ultimately developing data driven business strategies.
Cylistic executive team Lily Moreno: Marketing Director
Importing dataset I used Excel Power Query to combine,transform and clean the datasets for the past one year
bike_rides <- read.csv("./Data/t3.csv")
head(bike_rides)
## ride_id rideable_type started_at ended_at
## 1 7C00A93E10556E47 electric_bike 27/11/2021 13:27 27/11/2021 13:46
## 2 90854840DFD508BA electric_bike 27/11/2021 13:38 27/11/2021 13:56
## 3 0A7D10CDD144061C electric_bike 26/11/2021 22:03 26/11/2021 22:05
## 4 2F3BE33085BCFF02 electric_bike 27/11/2021 09:56 27/11/2021 10:01
## 5 D67B4781A19928D4 electric_bike 26/11/2021 19:09 26/11/2021 19:30
## 6 02F85C2C3C5F7D46 electric_bike 26/11/2021 18:34 26/11/2021 18:52
## member_casual start_date end_date start_hour end_hour trip_duration
## 1 casual 27/11/2021 27/11/2021 13:27:38 13:46:38 0.00:19:00
## 2 casual 27/11/2021 27/11/2021 13:38:25 13:56:10 0.00:17:45
## 3 casual 26/11/2021 26/11/2021 22:03:34 22:05:56 0.00:02:22
## 4 casual 27/11/2021 27/11/2021 09:56:49 10:01:50 0.00:05:01
## 5 casual 26/11/2021 26/11/2021 19:09:28 19:30:41 0.00:21:13
## 6 casual 26/11/2021 26/11/2021 18:34:07 18:52:49 0.00:18:42
Loading packages
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.0 ✔ purrr 0.3.5
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.1 ✔ stringr 1.4.1
## ✔ readr 2.1.3 ✔ forcats 0.5.2
## Warning: package 'ggplot2' was built under R version 4.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(janitor)
## Warning: package 'janitor' was built under R version 4.2.2
##
## Attaching package: 'janitor'
##
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(lubridate)
##
## Attaching package: 'lubridate'
##
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
df<-bike_rides %>% filter(trip_duration > 0)
head(df)
## ride_id rideable_type started_at ended_at
## 1 7C00A93E10556E47 electric_bike 27/11/2021 13:27 27/11/2021 13:46
## 2 90854840DFD508BA electric_bike 27/11/2021 13:38 27/11/2021 13:56
## 3 0A7D10CDD144061C electric_bike 26/11/2021 22:03 26/11/2021 22:05
## 4 2F3BE33085BCFF02 electric_bike 27/11/2021 09:56 27/11/2021 10:01
## 5 D67B4781A19928D4 electric_bike 26/11/2021 19:09 26/11/2021 19:30
## 6 02F85C2C3C5F7D46 electric_bike 26/11/2021 18:34 26/11/2021 18:52
## member_casual start_date end_date start_hour end_hour trip_duration
## 1 casual 27/11/2021 27/11/2021 13:27:38 13:46:38 0.00:19:00
## 2 casual 27/11/2021 27/11/2021 13:38:25 13:56:10 0.00:17:45
## 3 casual 26/11/2021 26/11/2021 22:03:34 22:05:56 0.00:02:22
## 4 casual 27/11/2021 27/11/2021 09:56:49 10:01:50 0.00:05:01
## 5 casual 26/11/2021 26/11/2021 19:09:28 19:30:41 0.00:21:13
## 6 casual 26/11/2021 26/11/2021 18:34:07 18:52:49 0.00:18:42
Loading ggplot2 for graphical visualisation
library(ggplot2)
ggplot(data = df,aes(x= rideable_type)) + geom_bar(stat = "count", aes(fill= member_casual)) +
labs(title= "Bike Types vs Users")
## The graph above shows that users with membership card are more likely
to use either classic bike or electric bike. The docked bikes are only
used by casual users
Importing dataset for Ride per month Dataset was generated from a pivot table using Excel
monthly_rides <- read.csv("./Data/t5.csv")
ggplot(data = monthly_rides,aes(x= Month,y= Member)) + geom_bar(stat = "identity") +
labs(title= "Month vs Membership Users")
## The graph above shows that February and January have the least usage
of company’s service by membership users
ggplot(data = monthly_rides,aes(x= Month,y= Casual)) + geom_bar(stat = "identity") +
labs(title= "Month vs Casual Users")
From the analysis above: 1. Casual users tend to opt in for the docked type,Advertisement of other bike types can be done. Special Membership offers can also be provided on docked bike types. 2. Most casual users tend to use bike services in June,July and August while the usage of bike services by membership users dropped in January and February.Strategic Advertisement can be done in these months