Introduction

This case study has been prepared on behalf of the Cyclistic Bike-Share Company. It was conducted to demonstrate the skills and experience I have acquired through the Google Data Analytics course. In this document, I will outline my analytical approach and the key competencies I applied to further investigate the business task.

The director of marketing has identified increasing annual memberships as an important objective for the company. To support this goal, the team is analyzing how casual riders and annual members use Cyclistic bikes differently. Based on these findings, the team will develop a marketing strategy aimed at encouraging casual riders to become annual members.

Data Source

I have been granted with data from Cyclistic bike-share Q1 2019 & Q1 2020 data for analysis.

This information was made available by Motivate International Inc. under this license

Preperation

I will be going over the different phases of analyzing and cleaning the data.

Ask

Business Task

The primary objective of this case study is to analyze how different types of Cyclistic customers use the bike-share service and to provide actionable recommendations that could help the company increase its number of annual members. By leveraging the skills acquired from the Google Data Analytics course, I will break down the process into clear and logical steps: defining the problem, preparing the data, processing, analyzing, sharing insights, and making strategic suggestions.

Analytical Approach

To effectively address the business challenge, I followed the data analysis process taught in the course. This involved collecting relevant datasets, assessing their quality, and transforming the data into a usable format. Throughout the project, I focused on ensuring that my analysis was both methodologically sound and aligned with the goals of Cyclistic Bike-Share Company.

Key Skills Utilized

Several core competencies were applied throughout this study, including data cleaning, exploratory data analysis, data visualization, and the formulation of business-driven insights. Tools such as spreadsheets, SQL, R, and data visualization platforms were leveraged to extract valuable patterns and trends from the data. The findings from this analysis will be used to inform business decisions and support Cyclistic’s growth strategies.

Prepare and Process

Given the substantial size of the dataset, I utilized Excel to filter and standardize the date and time information for both sets of data. Upon observing inconsistencies in the original formatting, I determined that performing this data cleaning in Excel was the most efficient approach, as it allowed for the necessary adjustments without affecting the integrity of data in other columns.

Following the completion of the initial steps, the subsequent data cleaning and processing were conducted using R. Prior to working with the data, I ensured that my R environment was properly configured.

Setting up environment

The installed packages that were used for this project are the following; Tidyverse - is a helpful package that contains different packages and functions to better manipulate and clean data.

## Setting up environment loading packages
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.0     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(lubridate)
library(tidyr)
library(ggplot2)
library(readr)

Process

Collect and upload Data

Importing my data sets…I wanted to be sure to practice proper file naming conventions. Also, wanted to be sure my original data was saved in a location where I can access it. In case I need to revert back to the original at any point during my analysis.

Inspecting & Updating Column names and noting the similarities

Inspected columns from both datasets and updated the following columns from 2019 to match with the column names from 2020 ride_it & trip_id unique ID for each ride, started_at & start_time marks the start date and time of the trip. ended_at & end_time marks the date and time of the end of the trip. Start_station_name & from_station_name marks the beginning of the ride, end_station_name & to_station_name marks the end of the ride, member_casual & usertype describes the different rider types for each dataset.

Cleaning & Combining for Analysis

Once the column names were updated, the data was combined for further cleaning and analysis, noting some of the information that was combined had null values. When the data was inspected after updating column names and combined the data, it was discover in Q1 2020 data Start_lat, Start_lng, end_lat, end_lng, birthyear, gender and tripduration was not longer collected. So, that data was removed from the dataset.

Also, updated the member_casual column for consistent names for all riders. While working in R, I added a few more columns for a more thorough analysis…adding in
ride_length by the minute and second, added date, month, day and year for better calculation of the time the bikes were in use.

Analyze & Share

The analysis objective:

How do annual members and casual riders use Cyclistic bikes differently?

For this analysis, I compared the number of rides and the average length of ride by rider type in the first quarter of 2019 & 2020.

Number of Rides

2019 saw a heave trend of members using the Cyclistic bike-share service 94% of the time with 341782 rides in the first quarter of 2019 compared to casual users only using the service 23095 rides in the first quarter. As shown below in the Diagram(Q1. 2019)

**Q1. 2019**

Q1. 2019

In the 1st quarter of 2020 Cyclistic bike-share saw a slight decrease in rides by members and an increase of rides by casual members. Casual members had a total of 44487 rides in the first quarter and members had 378343 rides as shown in the diagram below Q1. 2020.

**Q1. 2020**

Q1. 2020

Average Length of Ride

In Q1 2019 casual riders used the service on average 35mins per ride compared to members using the service on average 11mins per ride. As shown below in the diagram labeled Avg_ride_2019.

**Avg_ride_2019**

Avg_ride_2019

While in 2020 the average length of rides increased for casual riders to 40mins while members rides were steady at 11mins. See diagram below labeled Avg_ride_2020.

**Avg_ride_2020**

Avg_ride_2020

Discovery in Trends

The analysis prompted an examination of ride durations, revealing that casual riders tend to use the service for longer periods compared to paid members. I compared the average length of time both groups used the bike service and found that casual riders consistently had longer ride durations than paid members. To support these insights, I utilized Tableau and R for data visualization and analysis. In Q1 of 2019 and 2020, while overall usage volume was high for both groups, ride duration was notably higher among casual riders.

To conduct this study, I first collected historical ridership data, segmenting users into casual riders and paid members based on their account status. Descriptive statistics were calculated for ride lengths in each group, and further comparisons were made using visualizations such as box plots and line graphs created in Tableau. R was employed to perform statistical tests and ensure the observed differences in ride durations were significant rather than due to random variation.

These findings raise interesting questions regarding user behavior and the motivation behind ride choices. Casual riders may be more likely to use the bikes for leisure or sightseeing, leading to longer trips, whereas members could prioritize convenience and efficiency, resulting in shorter rides. These insights can inform targeted marketing strategies or adjustments to membership benefits, ultimately enhancing user engagement and maximizing the effectiveness of the bike-sharing service.

Act

Given that paid members have utilized the service, I recommend implementing strategies to encourage casual members to upgrade to paid memberships.

• Firstly, consider introducing an incentive program for each casual member who signs up, offering reduced pricing for paid membership after they complete a specified number of rides.

• Providing casual riders with a trial period can effectively showcase the convenience and value of annual membership, emphasizing cost savings as well as the accessibility of bikes.

• Organize members-only events to give trial members a tangible sense of the exclusive experiences available through annual membership, highlighting the benefits of club participation and fostering a strong sense of community.