Chi è il tuo sostenitore numero 1 su Strava?

Esplora l'API Strava e scoprilo con Python

Negli ultimi anni Strava è diventata la mia app di riferimento per monitorare le mie attività di ciclismo e corsa. Una delle tante funzionalità interessanti dell'app è la possibilità per i tuoi amici di darti complimenti per le tue attività. E a volte, questi complimenti sono solo la spinta morale di cui hai bisogno per andare avanti.

Nel 2022, mentre mi preparavo per una scalata sulle Alpi e usavo Strava più regolarmente di prima, ho notato che alcune persone erano più generose di altre con i loro complimenti. Ma non avevo un'idea precisa di chi fosse e questo mi ha fatto riflettere. C'è un modo per dare uno sguardo più approfondito alle mie statistiche rispetto a quello offerto dall'app? Bene, c'è.

In questo articolo, ho utilizzato un approccio molto comune "Estrai carico di trasformazione" per strutturare il progetto. Sto mostrando come sono riuscito a ottenere i dati delle mie attività da Strava (Extract), calcolare nuove informazioni (Transform) e creare il "Kudos Graph" e altre visualizzazioni per sapere chi ringraziare per il supporto (Load).

Nel tempo ho scoperto che questo approccio era un ottimo modo per organizzare progetti di dati simili. Un'ultima nota prima di iniziare: tutto ciò che è mostrato qui è riproducibile e il codice è disponibile su Github (link alla fine dell'articolo) in modo che tu possa crearne uno tuo.

Iniziamo a programmare!

La prima cosa che dobbiamo fare è autenticarci, ovvero ottenere il token di accesso da Strava. La seguente funzione farà proprio questo con una richiesta POST, contenente i dettagli che abbiamo ottenuto nella sezione precedente (id client, segreto client, token di aggiornamento e codice di autorizzazione) all'endpoint https://www.strava.com/oauth/token.

In questa sezione creiamo due funzioni per:

  1. Ottieni l'elenco di tutte le attività del profilo.
    Utilizzando il token di accesso ottenuto in precedenza e specificando due date che definiscono l'ambito delle attività che ci interessano, otteniamo l'elenco di tutte le attività comprese tra queste due date e le loro caratteristiche principali.
  2. Ottieni l'elenco dei kudoer di un'attività specifica.
    Purtroppo l'elenco dei kudoer delle attività non è contenuto nel risultato della richiesta precedente. Dobbiamo costruire la funzione get_kudos che restituisce l'elenco dei kudoers per una singola attività, identificata dal suo Activity_id.

Ora che abbiamo ottenuto i dati che volevamo, l'idea è di conservare solo ciò di cui abbiamo bisogno e inserirlo in un Pandas Dataframe.

La funzione di trasformazione sottostante estrae dalla lista delle attività i seguenti dati:

  1. L'ID attività utilizzato come identificatore univoco per un'attività.
  2. Il numero di complimenti di ciascuna attività.
  3. L'elenco di tutti i kudoer per un'attività sfruttando la funzione get_kudos() in un ciclo.
  4. La distanza di ciascuna attività.
  5. Il tempo impiegato da ciascuna attività.
  6. Il tipo di attività.

⚠️ Esiste una limitazione nell'utilizzo dell'API Strava. Siamo limitati a 100 chiamate ogni 15 minuti e 1000 chiamate al giorno.

In questo progetto, chiameremo l'API una volta per ottenere l'elenco delle attività, quindi una volta per attività per ottenere l'elenco dei kudoer in ciascuna di esse.

Ciò significa che se hai più di 100 attività nella finestra considerata, il codice così com'è non funzionerà e dovrai modificarlo leggermente per rispettare il limite di utilizzo dell'API.

L'unica cosa che resta da fare è sfruttare le funzioni che abbiamo appena creato e iniziare a progettare alcune cose interessanti!

Nel mio caso, sto considerando le mie attività nel 2022, ad oggi — 24/10/2022.

Dalla nostra struttura dei dati, è semplicissimo ottenere alcuni KPI di alto livello nel periodo indicato:

KPI di alto livello: immagine dell'autore

Poiché nella sezione precedente abbiamo ottenuto il tipo di sport per ciascuna attività, possiamo anche verificare facilmente se determinati tipi di attività sono più inclini a ricevere complimenti rispetto ad altri. Ecco il numero medio di complimenti per tipo di attività:

Numero medio di complimenti per tipo di attività — Immagine per autore

Anche se non è il tipo di attività più popolare, la corsa è stato lo sport in cui ho avuto più dati e quindi è qui che ho provato a scavare un po' di più. Possiamo provare a capire perché un'attività otterrebbe più complimenti di un'altra. Diamo un'occhiata alla possibile correlazione tra la distanza della corsa e il numero di complimenti che l'attività otterrebbe.

Si scopre che sembra esserci una correlazione positiva, ovvero più lunga è la corsa, maggiore è il numero di complimenti, come mostrato nel grafico seguente.
Certo, la significatività statistica di questo risultato è discutibile dato il numero limitato di dati che abbiamo considerato. L’unica conclusione certa è che devo correre di più.

Potremmo andare oltre nell'analisi, osservando l'influenza di altre variabili, ma lo lascerò per un altro articolo.

Correlazione positiva tra la distanza di una corsa e il numero di complimenti ottenuti: grafico per autore

Infine, possiamo tracciare il "Grafico dei complimenti" in cui possiamo vedere chi sono i nostri principali sostenitori e ringraziarli.
Naturalmente, alcune persone sono più dipendenti da Strava di altre e daranno complimenti mentre scorrono il feed delle attività, mentre altri apriranno l'app solo una volta ogni tanto e daranno complimenti solo per le attività più recenti che vedono.
Questo grafico non serve in alcun modo a giudicare le persone che danno complimenti o meno, si tratta semplicemente di illustrare nuove intuizioni che non vedresti da nessun'altra parte, nemmeno nella versione premium dell'app.

Il "Grafico Kudos" che mostra i migliori sostenitori - Grafico per autore

Senza dubbio c'è molto di più che possiamo fare con tutti i dati che possiamo ottenere dall'API Strava. Questo è stato semplicemente un primo tentativo di rispondere a una domanda insolita e un buon esercizio per far funzionare le cose.

Se vuoi analizzare le tue attività su Strava e scoprire chi sono i tuoi principali sostenitori, puoi trovare l'intero codice qui:
https://github.com/Guigs11/strava_kudos

Grazie per aver letto l'articolo fino alla fine!
Sentiti libero di lasciare un messaggio qui sotto o di contattarmi tramite
LinkedIn se avete domande/osservazioni!
E c'è dell'altro!

Chi è il tuo sostenitore numero 1 su Strava? Ripubblicato dalla fonte https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-5a888230f361?source=rss—-7f60cf5620c9—4 tramite https://towardsdatascience.com/feed

<!–

->

Timestamp:

Di più da Consulenti Blockchain