Cyclistic-Case-Study

Cyclistic Bike-Share Behaviour Analysis

Analysed 5.4 million ride records in Google BigQuery (cloud data warehouse) using analytical SQL to identify behavioural differences between casual riders and annual members.

Designed operational marketing interventions and a measurable validation plan to increase membership conversion and revenue stability.

Live project: https://m77rahman.github.io/Cyclistic-Case-Study/
Full report: report/cyclistic_case_study.pdf


Business Problem

Cyclistic’s profitability depends on annual members, but a large portion of usage comes from casual riders.
The objective is to understand behavioural differences and determine practical actions that convert casual riders into members.


Data Environment

The dataset was analysed entirely in Google BigQuery, allowing efficient querying of a multi-million-row dataset without local processing.

All aggregation was performed in the warehouse before exporting results for visualisation.


Analytical Method

  1. Queried large datasets using cloud warehouse SQL
  2. Cleaned invalid ride records
  3. Engineered behavioural time features
  4. Aggregated ride behaviour by rider type
  5. Interpreted patterns into operational decisions

Query Optimisation Approach

To minimise scan cost and improve performance:


Headline Results


Behaviour Patterns

Behaviour Members Casual Riders
Time of day Commute peaks (08:00 & 17:00) Afternoon usage
Seasonality Stable year-round Summer dependent
Week pattern Weekday dominant Weekend heavy
Purpose Transportation Leisure

Key Findings

Members commute → target 07:30–09:30 messaging

Hourly usage

Summer is the conversion window → run May–Aug offers

Monthly usage

Weekend riders are conversion candidates → shift to weekday habits

Weekday usage


Business Interpretation

Cyclistic serves two behavioural segments:

Members

Casual riders

Therefore the opportunity is not attracting new users but converting existing engaged users into repeat customers.


Operational Plan

1. Summer conversion offer

Trigger: after a casual rider completes their 2nd ride
Channel: mobile push notification
Timing: May–August, 10:00–16:00

2. Commute positioning

Channel: in-app banner + station display
Timing: 07:30–09:30 and 16:30–18:30

3. Weekend rider activation

Trigger: 3 weekend rides within 30 days
Offer: discounted first-month membership


Estimated Business Impact

Casual riders completed ~1.9M rides annually.

If 5% convert to membership: ~95,000 new members → increased recurring revenue and reduced seasonal volatility.


Success Metrics

Primary KPI

Supporting KPIs


Validation Plan

Campaigns should be evaluated using controlled experiments:

Success is defined as sustained conversion and increased weekday usage after intervention.


Analytical Limitations

The dataset captures behaviour but not context:

Recommendations therefore require experimental validation before full rollout.


Reproducibility

Dataset: 12 months Divvy trip data

Tables created:

Cleaning rules:

SQL workflow:

  1. staging
  2. cleaning
  3. feature engineering
  4. aggregation
  5. business queries

Repository Structure