1 Executive Summary

This analysis examines how casual riders and annual members use Cyclistic bikes differently, using 12 months of trip data (March 2025 – February 2026). The goal is to provide actionable insights to help convert casual riders into annual members.

Key Findings: - Casual riders take significantly longer rides on average (19.9 minutes) compared to members (12.2 minutes). - Members complete far more rides overall and use the service more consistently. - Saturday is the busiest day overall.

2 ROCCC Data Evaluation

  • Reliable: Primary source data from Divvy (Motivate/Lyft).
  • Original: Raw trip-level data.
  • Comprehensive: Covers all recorded trips over 12 full months.
  • Current: Most recent 12 months available.
  • Cited: Used under the Divvy Data License Agreement.

Limitation: Some station information is missing for dockless/electric bike trips (common in recent data). No personally identifiable information is present.

3 Business Task

The director of marketing wants to understand how casual riders and annual members use Cyclistic bikes differently in order to design marketing strategies aimed at converting casual riders into annual members.

4 Data Preparation & Cleaning

  • Combined 12 monthly CSV files (initially 5,601,662 rows).
  • Added derived columns: ride_length_min, day_of_week_num, and day_of_week.
  • Removed invalid rides (≤ 1 minute or ≥ 24 hours) → 155,456 rows removed (2.8%).
  • Final cleaned dataset: 5,446,206 rides.

5 Key Analysis Findings

5.1 Average Ride Length by User Type

Average, median and max ride length by user type
member_casual total_rides avg_ride_min median_ride_min max_ride_min
casual 1929331 19.9 11.9 1440.0
member 3516875 12.2 8.8 1439.9

Casual riders take almost 60% longer rides on average than members (19.9 min vs 12.2 min).

5.3 Rides by Day of Week

Number of rides by day of week and user type
member_casual day_of_week total_rides
casual Saturday 397333
casual Sunday 319055
casual Friday 309101
casual Thursday 248724
casual Monday 221361
casual Tuesday 219371
casual Wednesday 214386
member Thursday 567364
member Tuesday 563620
member Wednesday 549104
member Friday 523265
member Monday 496727
member Saturday 441847
member Sunday 374948

Members ride more consistently throughout the week, while casual riders peak on weekends.

5.4 Weekend vs Weekday Behavior

Average ride length: Weekend vs Weekday
member_casual is_weekend avg_ride_min total_rides
casual Weekday 18.2 1212943
casual Weekend 22.7 716388
member Weekday 11.9 2700080
member Weekend 13.4 816795

Casual riders ride much longer on weekends.

6 Visualizations

6.1 1. Average Ride Length by User Type

6.2 2. Number of Rides by Day of Week

6.3 3. Weekend vs Weekday Average Ride Length

6.4 4. Total Number of Rides by User Type

7 Top 3 Recommendations

  1. Target Weekend Leisure Riders
    Casual riders take significantly longer rides on weekends. Offer weekend-specific membership incentives such as extended ride time or discounted weekend passes to convert leisure users.

  2. Position Membership as a Reliable Commuting Tool
    Members ride more consistently during the week. Market the annual membership as a time-saving commuting solution with benefits like priority bike availability during peak hours.

  3. Launch a Low-Friction Conversion Campaign
    With nearly 2 million casual rides, many users are already familiar with the service. Introduce a “30-day trial” or “Ride 10 times, get the 11th free” program to encourage casual riders to become members.

8 Conclusion

The data clearly shows that casual riders and annual members use Cyclistic bikes differently. Casual riders favor longer, leisure-oriented rides (especially on weekends), while members use the service more frequently for daily commuting. By targeting weekend behavior and offering easy conversion paths, Cyclistic has a strong opportunity to turn casual users into profitable annual members.

9 Appendix

  • Cleaned dataset: data_processed/all_trips_cleaned.rds
  • Summary tables and plots saved in data_processed/
  • All code is reproducible using the accompanying R script.