Skip to content
Cyclistic Case Study (ITA)
  • AI Chat
  • Code
  • Report
  • Cyclistic Case Study (ITA)

    Google Data Analytics Course - Case Study 1 - Cyclistic
    novembre 2021 - ottobre 2022

    Come fa un servizio di bike-sharing a progettare una strategia di marketing per convertire i ciclisti occasionali in abbonati annuali

    Scenario

    Sei un analista di dati che lavora nel marketing analyst team di Cyclistic, una società di bike-sharing di Chicago. Il direttore del marketing ritiene che il successo futuro dell'azienda dipenda dalla massimizzazione del numero di abbonamenti annuali. Pertanto, il vostro team vuole capire in che modo i ciclisti occasionali e quelli annuali utilizzano le biciclette di Cyclistic in modo diverso. Sulla base di queste informazioni, il team progetterà una nuova strategia di marketing per convertire i ciclisti occasionali in abbonati annuali. Ma prima i dirigenti di Cyclistic devono valutare le vostre raccomandazioni, che devono quindi essere supportate da dati convincenti e visualizzazioni professionali.

    Personale coinvolto:

    • Cyclistic: un programma di bike-sharing con più di 5800 biciclette e 600 docking station. Cyclistic si distingue per l'offerta di biciclette reclinabili, tricicli a mano e cargo bike, che rendono il bike-sharing più inclusivo per le persone con disabilità e per i ciclisti che non possono utilizzare le due ruote standard. La maggior parte dei ciclisti opta per le biciclette tradizionali; circa l'8% dei ciclisti utilizza le opzioni di assistenza. Gli utenti del bike-sharing sono più propensi a pedalare per svago, ma circa il 30% li usa per recarsi al lavoro ogni giorno.

    • Lily Moreno: il direttore del marketing e manager della società. Moreno è responsabile dello sviluppo di campagne e iniziative per promuovere il programma di bike sharing. Queste possono includere email, social media e altri canali.

    • Cyclistic marketing analytics team: un team di analisti di dati che è responsabile della raccolta, dell'analisi e del reporting dei dati che aiutano a guidare la strategia di marketing di Cyclistic. Siete entrati a far parte di questo team sei mesi fa e siete stati impegnati a conoscere la missione e gli obiettivi aziendali di Cyclistic, nonché il modo in cui voi, come analisti di dati junior, potete aiutare Cyclistic a raggiungerli.

    • Cyclistic executive team: il team esecutivo, da tradizione orientato ai dettagli, deciderà se approvare il programma di marketing raccomandato.

    Linee guida:

    • In che modo gli abbonati annuali e i ciclisti occasionali differiscono nell'utilizzo delle biciclette di Cyclistic?

    • Perché i ciclisti occasionali dovrebbero acquistare l'abbonamento annuale di Cyclistic?

    • Come può Cyclistic utilizzare i media digitali per influenzare i ciclisti occasionali a fare un abbonamento annuale?





    [1-6] Chiedere (Ask)


    Domande:

    • Qual è il problema che stai cercando di risolvere?
      Creare un profilo delle due tipologie di clientela, in maniera tale da poter individuare tutte le loro caratteristiche comportamentali più importanti.

    • In che modo le tue intuizioni possono guidare le decisioni aziendali di Cyclistic?
      Il mio lavoro può aiutare il team di marketing ad elaborare una strategia per convertire il maggior numero di ciclisti occasionali in abbonati.


    Compiti principali da svolgere:

    • Identificare il compito da svolgere

    • Identificare le principali parti coinvolte nel progetto (stakeholder)


    Obiettivi:

    • Definire chiaramente tutti gli aspetti del compito da svolgere



    [2-6] Preparare (Prepare)

    Per analizzare e identificare i comportamenti, vengono utilizzati i dati storici relative alle corse dei clienti degli ultimi 12 mesi raccolti direttamente da Cyclistic.


    Domande:

    • Dove si trovano i dati?
      I dati si trovano raggruppati in una pagina accessibile tramite un link pubblico. I set di dati hanno un nome diverso perché Cyclistic è una fictional company.

    • Come sono organizzati i dati?
      I dati sono disponibili in singoli file .csv suddivisi per mensilità.

    • Ci sono problemi di pregiudizi o attendibilità in questi dati? I vostri dati sono ROCCC?
      Non ho individuato problemi di pregiudizi o attendibilità nella fase di preparazione, poiché sono stati raccolti direttamente dall'azienda e la popolazione è costituita dall'intera base di clienti. I miei dati sono affidabili, originali, completi, attuali e citati (ROCCC).

    • Come vengono gestite le tematiche sulla licenza d'uso, la privacy, la sicurezza e l'accessibilità dei dati trattati?
      Per quanto riguarda la privacy, non includono dati sensibili (es. carte di credito, numeri di telefono, etc.) rendendo impossibile risalire all'identità del singolo ciclista.
      I dati sono stati messi a disposizione da Motivate International Inc. con il presente documento di licenza. L'utilizzo è riservato esclusivamente per scopi non commerciali. Si tratta di dati pubblici che possono essere utilizzati per esplorare il modo in cui i diversi tipi di clienti utilizzano le biciclette Cyclistic. Tuttavia, le questioni relative alla privacy dei dati vietano di utilizzare le informazioni personali dei ciclisti. Ciò significa che non sarà possibile collegare gli acquisti di pass ai numeri di carta di credito per determinare se i ciclisti occasionali vivono nell'area di servizio di Cyclistic o se hanno acquistato più pass singoli.
      Ai fini di questo caso di studio, i set di dati sono appropriati e permettono di rispondere alle domande assegnate.

    • Come avete verificato l'integrità dei dati?
      Ogni set di dati ha colonne etichettate di facile identificazione e i dati sono popolati correttamente in base alla specifica tipologia.

    • La procedura eseguita come vi può aiutare nello svolgimento dell'analisi?
      La procedura seguita durante la fase di preparazione permetterà di rispondere alla domanda principale posta dal cliente, quindi nel dare un'idea precisa del modello di comportamento del ciclista che usa i servizi di Cyclistic.

    • Sono state individuate delle problematiche con i dati ricevuti?
      Sono state individuate delle celle con valori vuoti o nulli.


    Compiti principali da svolgere:

    • Scaricare i dati e archiviarli in modo appropriato.

    • Identificare come è organizzato.

    • Ordinare e filtrare i dati.

    • Determinare la credibilità dei dati.


    Obiettivi:

    • Descrizione di tutte le fonti di dati utilizzate.





    [3-6] Processare (Process)

    Verranno caricati i dati degli ultimi 12 mesi e create alcune nuove colonne etichettate con una nomenclatura di facile comprensione, come "ride_length" e "day_of_the_week".

    • Per i dataset verrà utilizzato il prefisso "ds_";

    • Con "member" ci si riferirà agli abbonati annuali;

    • Con "casual" ci si riferirà agli utenti occasionali che noleggiano di volta in volta;

    • L'operazione di noleggio "occasionale" delle biciclette si ipotizza possa essere effettuata sul sito web della società, tramite un'applicazione mobile oppure direttamente presso le stazioni.


    Domande:

    • Quali strumenti scegliere e perché?
      Per ordinare e organizzare i dati ho scelto di usare il linguaggio R con RStudio, in quanto l'ho ritenuto adatto per svolgere tutti i compiti richiesti dal case study, oltre a poter eseguire tutte le operazioni in maniera centralizzata così da permetterne anche una facile rielaborazione in caso di modifiche/integrazioni.

    • Avete garantito l'integrità dei dati?
      Sì, i dati sono coerenti in tutte le colonne.

    • Quali sono le misure adottate per garantire la pulizia dei dati?
      Innanzitutto, le colonne sono state formattate con il tipo di dati corretto e successivamente sono stati rimossi i valori Na e i duplicati.

    • Come si può verificare che i dati siano puliti e pronti per essere analizzati?
      È possibile verificarlo tramite questo file R markdown.

    • Avete documentato il vostro processo di pulizia in modo da poter rivedere e condividere i risultati?
      Si, confermo che il tutto è stato documentato dettagliatamente in questo file R markdown.

    Compiti principali da svolgere:

    • Controllare che i dati non contengano errori;

    • Scegliere gli strumenti più idonei;

    • Trasformare i dati in modo da poterli utilizzare efficacemente;

    • Documentare il processo di pulizia.


    Obiettivi:

    • Documentazione di qualsiasi attività di pulizia o manipolazione dei dati



    Setup Librerie

    Prima di caricare le librerie, tutti i relativi pacchetti devono essere già stati installati in precedenza.
    In caso contrario eseguire il primo code chunk qui di seguito altrimenti passare direttamente al caricamento delle librerie.

    install.packages("tidyverse")
    install.packages("lubridate")
    install.packages("ggplot2")
    install.packages("janitor")
    install.packages("dplyr")
    install.packages("skimr")
    install.packages("scales")
    library(tidyverse) #helps wrangle data
    library(lubridate) #helps wrangle data attributes
    library(ggplot2) #helps visualize data
    library(janitor) # simply tools for examining and cleaning dirty data
    library(dplyr) # data manipulations
    library(skimr) # compact and flexible summaries of data
    library(scales) # scale functions for visualization
    getwd() #your working directory


    Step 1-5: raccolta dati

    Caricare i set di dati in R:

    ds_2021_011 <- read_csv("202111-divvy-tripdata.csv")
    ds_2021_012 <- read_csv("202112-divvy-tripdata.csv")
    ds_2022_001 <- read_csv("202201-divvy-tripdata.csv")
    ds_2022_002 <- read_csv("202202-divvy-tripdata.csv")
    ds_2022_003 <- read_csv("202203-divvy-tripdata.csv")
    ds_2022_004 <- read_csv("202204-divvy-tripdata.csv")
    ds_2022_005 <- read_csv("202205-divvy-tripdata.csv")
    ds_2022_006 <- read_csv("202206-divvy-tripdata.csv")
    ds_2022_007 <- read_csv("202207-divvy-tripdata.csv")
    ds_2022_008 <- read_csv("202208-divvy-tripdata.csv")
    ds_2022_009 <- read_csv("202209-divvy-publictripdata.csv")
    ds_2022_010 <- read_csv("202210-divvy-tripdata.csv")





    Step 2-5: elaborare i dati e combinarli in un unico file

    Verificare la corrispondenza dei campi tra i vari set di dati e combinarli insieme.
    Utilizzare come riferimento i nomi delle colonne del più recente set di dati caricato.

    colnames(ds_2021_011)
    colnames(ds_2021_012)
    colnames(ds_2022_001)
    colnames(ds_2022_002)
    colnames(ds_2022_003)
    colnames(ds_2022_004)
    colnames(ds_2022_005)
    colnames(ds_2022_006)
    colnames(ds_2022_007)
    colnames(ds_2022_008)
    colnames(ds_2022_009)
    colnames(ds_2022_010)





    Assicurarsi che le colonne siano dello stesso tipo:

    compare_df_cols(ds_2021_011,ds_2021_012,ds_2022_001,ds_2022_002,ds_2022_003,ds_2022_004,ds_2022_005,ds_2022_006,ds_2022_007,ds_2022_008,ds_2022_009,ds_2022_010, return = "mismatch")




    Combinare i singoli set di dati in un unico data frame e rimuovere le righe e le colonne vuote, se presenti. Al termine eliminare tutti i singoli set di dati precedenti in quanto non più necessari:

    ds_all_trips <- rbind(ds_2021_011, ds_2021_012, ds_2022_001, ds_2022_002, ds_2022_003, ds_2022_004, ds_2022_005, ds_2022_006, ds_2022_007, ds_2022_008, ds_2022_009, ds_2022_010)
    dim(ds_all_trips)
    ds_all_trips <- janitor::remove_empty(ds_all_trips,which = c("cols"))
    ds_all_trips <- janitor::remove_empty(ds_all_trips,which = c("rows"))
    dim(ds_all_trips)
    
    rm(ds_2021_011,ds_2021_012,ds_2022_001,ds_2022_002,ds_2022_003,ds_2022_004,ds_2022_005,ds_2022_006,ds_2022_007,ds_2022_008,ds_2022_009,ds_2022_010)




    Riepilogo della struttura dei dati:

    summary(ds_all_trips)



    Step 3-5: ripulire e aggiungere dati per preparare l'analisi

    Esaminare il nuovo dataset creato

    Elenco dei nomi delle colonne: