Introduction

Background

The analysis is the capstone project for the Google Data Analysis Certificate, since this isn’t my first analysis I want to try R as tool because I don’t have enough experience with it. I take the certificate to back up my experience and learn things than I probably miss in my autodidact learning path. This was a great experience full of new things, headache and research. I’m so excited to know what is next in this beautiful data world I’m discovering.

Business Task

The analysis gonna be focus to answer 3 questions from the marketing department:

  1. How do annual members and casual riders use Cyclistic bikes differently?
  2. Why would casual riders buy Cyclistic annual memberships?
  3. How can Cyclistic use digital media to influence casual riders to become members?

Stakeholders

Primary is focused to respond to Lily Moreno: The director of marketing, but it will be used for all the marketing department.

Preparation

Regarding the Dataset

  1. You can find the whole dataset in here
  2. The dataset is organized for every month from 2020 to 2025. I used only the data from 2024 for this analysis.
  3. It´s distributed under this license
  4. There´s not personal information in the dataset.

Cleaning

Loading librarys

I used 3 librarys: tidyverse for review, cleaning and visualization; rmarkdown to write this report; naniar for the integrity of the dataset.

install.packages("tidyverse")
library(tidyverse)
install.packages("rmarkdown")
library(rmarkdown)
install.packages("naniar")
library(naniar)

Uploading all the tables

D01_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202401-divvy-tripdata.csv")
D02_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202402-divvy-tripdata.csv")
D03_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202403-divvy-tripdata.csv")
D04_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202404-divvy-tripdata.csv")
D05_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202405-divvy-tripdata.csv")
D06_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202406-divvy-tripdata.csv")
D07_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202407-divvy-tripdata.csv")
D08_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202408-divvy-tripdata.csv")
D09_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202409-divvy-tripdata.csv")
D10_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202410-divvy-tripdata.csv")
D11_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202411-divvy-tripdata.csv")
D12_2024 <- read_csv("C:/Users/Barba/Projects/Data Projects/Bikes/202412-divvy-tripdata.csv")

Exploring the tables

I need to know than the scheme were the same among all the tables before creating only one table.

str(D01_2024)
str(D02_2024)
str(D03_2024)
str(D04_2024)
str(D05_2024)
str(D06_2024)
str(D07_2024)
str(D08_2024)
str(D09_2024)
str(D10_2024)
str(D11_2024)
str(D12_2024)

Unite the data in one table

travels_in_2024 <- bind_rows(D01_2024,D02_2024,D03_2024,D04_2024,D05_2024,D06_2024,D07_2024,D08_2024,D09_2024,D10_2024,D11_2024,D12_2024)
LS0tDQp0aXRsZTogIkNhc2Ugc3R1ZHk6IEhvdyBkb2VzIGEgYmlrZS1zaGFyZSBuYXZpZ2F0ZSBzcGVlZHkgc3VjY2Vzcz8iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyMgSW50cm9kdWN0aW9uDQojIyMgQmFja2dyb3VuZA0KVGhlIGFuYWx5c2lzIGlzIHRoZSBjYXBzdG9uZSBwcm9qZWN0IGZvciB0aGUgR29vZ2xlIERhdGEgQW5hbHlzaXMgQ2VydGlmaWNhdGUsIHNpbmNlIHRoaXMgaXNuJ3QgbXkgZmlyc3QgYW5hbHlzaXMgSSB3YW50IHRvIHRyeSBSIGFzIHRvb2wgYmVjYXVzZSBJIGRvbid0IGhhdmUgZW5vdWdoIGV4cGVyaWVuY2Ugd2l0aCBpdC4gSSB0YWtlIHRoZSBjZXJ0aWZpY2F0ZSB0byBiYWNrIHVwIG15IGV4cGVyaWVuY2UgYW5kIGxlYXJuIHRoaW5ncyB0aGFuIEkgcHJvYmFibHkgbWlzcyBpbiBteSBhdXRvZGlkYWN0IGxlYXJuaW5nIHBhdGguIFRoaXMgd2FzIGEgZ3JlYXQgZXhwZXJpZW5jZSBmdWxsIG9mIG5ldyB0aGluZ3MsIGhlYWRhY2hlIGFuZCByZXNlYXJjaC4gSSdtIHNvIGV4Y2l0ZWQgdG8ga25vdyB3aGF0IGlzIG5leHQgaW4gdGhpcyBiZWF1dGlmdWwgZGF0YSB3b3JsZCBJJ20gZGlzY292ZXJpbmcuIA0KDQojIyMgQnVzaW5lc3MgVGFzaw0KVGhlIGFuYWx5c2lzIGdvbm5hIGJlIGZvY3VzIHRvIGFuc3dlciAzIHF1ZXN0aW9ucyBmcm9tIHRoZSBtYXJrZXRpbmcgZGVwYXJ0bWVudDoNCg0KMS4gSG93IGRvIGFubnVhbCBtZW1iZXJzIGFuZCBjYXN1YWwgcmlkZXJzIHVzZSBDeWNsaXN0aWMgYmlrZXMgZGlmZmVyZW50bHk/DQoyLiBXaHkgd291bGQgY2FzdWFsIHJpZGVycyBidXkgQ3ljbGlzdGljIGFubnVhbCBtZW1iZXJzaGlwcz8NCjMuIEhvdyBjYW4gQ3ljbGlzdGljIHVzZSBkaWdpdGFsIG1lZGlhIHRvIGluZmx1ZW5jZSBjYXN1YWwgcmlkZXJzIHRvIGJlY29tZSBtZW1iZXJzPw0KDQojIyMgU3Rha2Vob2xkZXJzDQpQcmltYXJ5IGlzIGZvY3VzZWQgdG8gcmVzcG9uZCB0byBMaWx5IE1vcmVubzogVGhlIGRpcmVjdG9yIG9mIG1hcmtldGluZywgYnV0IGl0IHdpbGwgYmUgdXNlZCBmb3IgYWxsIHRoZSBtYXJrZXRpbmcgZGVwYXJ0bWVudC4gDQoNCiMjIFByZXBhcmF0aW9uDQojIyMgUmVnYXJkaW5nIHRoZSBEYXRhc2V0DQoNCjEuIFlvdSBjYW4gZmluZCB0aGUgd2hvbGUgZGF0YXNldCBpbiBbaGVyZV0oaHR0cHM6Ly9kaXZ2eS10cmlwZGF0YS5zMy5hbWF6b25hd3MuY29tL2luZGV4Lmh0bWwpDQoyLiBUaGUgZGF0YXNldCBpcyBvcmdhbml6ZWQgZm9yIGV2ZXJ5IG1vbnRoIGZyb20gMjAyMCB0byAyMDI1LiBJIHVzZWQgb25seSB0aGUgZGF0YSBmcm9tIDIwMjQgZm9yIHRoaXMgYW5hbHlzaXMuICAgDQozLiBJdMK0cyBkaXN0cmlidXRlZCB1bmRlciB0aGlzIFtsaWNlbnNlXShodHRwczovL2RpdnZ5YmlrZXMuY29tL2RhdGEtbGljZW5zZS1hZ3JlZW1lbnQpDQo0LiBUaGVyZcK0cyBub3QgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gdGhlIGRhdGFzZXQuDQoNCiMjIyBDbGVhbmluZw0KIyMjIyBMb2FkaW5nIGxpYnJhcnlzDQpJIHVzZWQgMyBsaWJyYXJ5czogdGlkeXZlcnNlIGZvciByZXZpZXcsIGNsZWFuaW5nIGFuZCB2aXN1YWxpemF0aW9uOyBybWFya2Rvd24gdG8gd3JpdGUgdGhpcyByZXBvcnQ7IG5hbmlhciBmb3IgdGhlIGludGVncml0eSBvZiB0aGUgZGF0YXNldC4gIA0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQppbnN0YWxsLnBhY2thZ2VzKCJybWFya2Rvd24iKQ0KbGlicmFyeShybWFya2Rvd24pDQppbnN0YWxsLnBhY2thZ2VzKCJuYW5pYXIiKQ0KbGlicmFyeShuYW5pYXIpDQpgYGANCg0KDQojIyMjIFVwbG9hZGluZyBhbGwgdGhlIHRhYmxlcw0KYGBge3J9DQpEMDFfMjAyNCA8LSByZWFkX2NzdigiQzovVXNlcnMvQmFyYmEvUHJvamVjdHMvRGF0YSBQcm9qZWN0cy9CaWtlcy8yMDI0MDEtZGl2dnktdHJpcGRhdGEuY3N2IikNCkQwMl8yMDI0IDwtIHJlYWRfY3N2KCJDOi9Vc2Vycy9CYXJiYS9Qcm9qZWN0cy9EYXRhIFByb2plY3RzL0Jpa2VzLzIwMjQwMi1kaXZ2eS10cmlwZGF0YS5jc3YiKQ0KRDAzXzIwMjQgPC0gcmVhZF9jc3YoIkM6L1VzZXJzL0JhcmJhL1Byb2plY3RzL0RhdGEgUHJvamVjdHMvQmlrZXMvMjAyNDAzLWRpdnZ5LXRyaXBkYXRhLmNzdiIpDQpEMDRfMjAyNCA8LSByZWFkX2NzdigiQzovVXNlcnMvQmFyYmEvUHJvamVjdHMvRGF0YSBQcm9qZWN0cy9CaWtlcy8yMDI0MDQtZGl2dnktdHJpcGRhdGEuY3N2IikNCkQwNV8yMDI0IDwtIHJlYWRfY3N2KCJDOi9Vc2Vycy9CYXJiYS9Qcm9qZWN0cy9EYXRhIFByb2plY3RzL0Jpa2VzLzIwMjQwNS1kaXZ2eS10cmlwZGF0YS5jc3YiKQ0KRDA2XzIwMjQgPC0gcmVhZF9jc3YoIkM6L1VzZXJzL0JhcmJhL1Byb2plY3RzL0RhdGEgUHJvamVjdHMvQmlrZXMvMjAyNDA2LWRpdnZ5LXRyaXBkYXRhLmNzdiIpDQpEMDdfMjAyNCA8LSByZWFkX2NzdigiQzovVXNlcnMvQmFyYmEvUHJvamVjdHMvRGF0YSBQcm9qZWN0cy9CaWtlcy8yMDI0MDctZGl2dnktdHJpcGRhdGEuY3N2IikNCkQwOF8yMDI0IDwtIHJlYWRfY3N2KCJDOi9Vc2Vycy9CYXJiYS9Qcm9qZWN0cy9EYXRhIFByb2plY3RzL0Jpa2VzLzIwMjQwOC1kaXZ2eS10cmlwZGF0YS5jc3YiKQ0KRDA5XzIwMjQgPC0gcmVhZF9jc3YoIkM6L1VzZXJzL0JhcmJhL1Byb2plY3RzL0RhdGEgUHJvamVjdHMvQmlrZXMvMjAyNDA5LWRpdnZ5LXRyaXBkYXRhLmNzdiIpDQpEMTBfMjAyNCA8LSByZWFkX2NzdigiQzovVXNlcnMvQmFyYmEvUHJvamVjdHMvRGF0YSBQcm9qZWN0cy9CaWtlcy8yMDI0MTAtZGl2dnktdHJpcGRhdGEuY3N2IikNCkQxMV8yMDI0IDwtIHJlYWRfY3N2KCJDOi9Vc2Vycy9CYXJiYS9Qcm9qZWN0cy9EYXRhIFByb2plY3RzL0Jpa2VzLzIwMjQxMS1kaXZ2eS10cmlwZGF0YS5jc3YiKQ0KRDEyXzIwMjQgPC0gcmVhZF9jc3YoIkM6L1VzZXJzL0JhcmJhL1Byb2plY3RzL0RhdGEgUHJvamVjdHMvQmlrZXMvMjAyNDEyLWRpdnZ5LXRyaXBkYXRhLmNzdiIpDQpgYGANCg0KDQojIyMjIEV4cGxvcmluZyB0aGUgdGFibGVzDQpJIG5lZWQgdG8ga25vdyB0aGFuIHRoZSBzY2hlbWUgd2VyZSB0aGUgc2FtZSBhbW9uZyBhbGwgdGhlIHRhYmxlcyBiZWZvcmUgY3JlYXRpbmcgb25seSBvbmUgdGFibGUuDQpgYGB7cn0NCnN0cihEMDFfMjAyNCkNCnN0cihEMDJfMjAyNCkNCnN0cihEMDNfMjAyNCkNCnN0cihEMDRfMjAyNCkNCnN0cihEMDVfMjAyNCkNCnN0cihEMDZfMjAyNCkNCnN0cihEMDdfMjAyNCkNCnN0cihEMDhfMjAyNCkNCnN0cihEMDlfMjAyNCkNCnN0cihEMTBfMjAyNCkNCnN0cihEMTFfMjAyNCkNCnN0cihEMTJfMjAyNCkNCmBgYA0KDQoNCiMjIyMgVW5pdGUgdGhlIGRhdGEgaW4gb25lIHRhYmxlDQpgYGB7cn0NCnRyYXZlbHNfaW5fMjAyNCA8LSBiaW5kX3Jvd3MoRDAxXzIwMjQsRDAyXzIwMjQsRDAzXzIwMjQsRDA0XzIwMjQsRDA1XzIwMjQsRDA2XzIwMjQsRDA3XzIwMjQsRDA4XzIwMjQsRDA5XzIwMjQsRDEwXzIwMjQsRDExXzIwMjQsRDEyXzIwMjQpDQpgYGANCg0KDQo=