¿Quién es tu seguidor número 1 en Strava?

Explora la API de Strava y descúbrelo con Python

En los últimos años, Strava se convirtió en mi aplicación preferida para realizar un seguimiento de mis actividades de ciclismo y carrera. Una de las muchas características geniales de la aplicación es la capacidad de tus amigos de felicitarte por tus actividades. Y, a veces, estas felicitaciones son solo el impulso moral que necesitas para seguir adelante.

En 2022, mientras me preparaba para escalar los Alpes y usaba Strava con más frecuencia que antes, noté que algunas personas eran más generosas que otras con sus felicitaciones. Pero no tenía una idea precisa de quién era y esto me hizo pensar. ¿Hay alguna manera de tener una visión más profunda de mis estadísticas que lo que ofrece la aplicación? Bueno, lo hay.

En este artículo, utilicé un enfoque muy común de "Extraer Transformar Cargar" para estructurar el proyecto. Estoy mostrando cómo logré obtener mis datos de actividades de Strava (Extraer), calcular nuevos conocimientos (Transformar) y crear el "Gráfico de felicitaciones" y otras visualizaciones para saber a quién agradecer el apoyo (Cargar).

Con el tiempo, descubrí que este enfoque era una excelente manera de organizar proyectos de datos similares. Una última nota antes de comenzar, todo lo que se muestra aquí es reproducible y el código está disponible en Github (enlace al final del artículo) para que pueda crear el suyo propio.

¡Vamos a codificar!

Lo primero que debemos hacer es autenticarnos, es decir, obtener el token de acceso de Strava. La siguiente función hará exactamente eso con una solicitud POST, que contiene los detalles que obtuvimos en la sección anterior (identificación del cliente, secreto del cliente, token de actualización y código de autorización) al punto final https://www.strava.com/oauth/token.

En esta sección, creamos dos funciones para:

  1. Obtenga la lista de todas las actividades del perfil.
    Usando el token de acceso que obtuvimos anteriormente y especificando dos fechas que definen el alcance de las actividades que nos interesan, obtenemos la lista de todas las actividades entre estas dos fechas y sus principales características.
  2. Obtenga la lista de kudoers de una actividad específica.
    Desafortunadamente, la lista de kudoers de las actividades no está incluida en el resultado de la solicitud anterior. Necesitamos construir la función get_kudos que devuelve la lista de kudoers para una sola actividad, identificada por su actividad_id.

Ahora que obtuvimos los datos que queríamos, la idea es conservar solo lo que necesitamos y colocarlo en un marco de datos de Pandas.

La siguiente función de transformación extrae de la lista de actividades los siguientes datos:

  1. El ID de actividad que se utiliza como identificador único para una actividad.
  2. El número de kudos de cada actividad.
  3. La lista de todos los kudoers de una actividad aprovechando la función get_kudos() en un bucle.
  4. La distancia de cada actividad.
  5. El tiempo que tomó cada actividad.
  6. El tipo de actividad.

⚠️ Hay una limitación en el uso de la API de Strava. Estamos limitados a 100 llamadas cada 15 minutos y 1000 llamadas por día.

En este proyecto, estamos llamando a la API una vez para obtener la lista de actividades y luego una vez por actividad para obtener la lista de kudoers en cada una.

Esto significa que, si tiene más de 100 actividades en la ventana considerada, el código tal como está no funcionará y deberá modificarlo ligeramente para cumplir con el límite de uso de la API.

¡Lo único que queda por hacer es capitalizar las funciones que acabamos de construir y comenzar a trazar algunas cosas interesantes!

En mi caso, estoy considerando mis actividades en 2022, a esta fecha — 24/10/2022.

A partir de nuestra estructura de datos, es muy fácil obtener algunos KPI de alto nivel en el período determinado:

KPIs de alto nivel — Imagen del autor

Debido a que obtuvimos el tipo de deporte para cada actividad en la sección anterior, también podemos investigar fácilmente si ciertos tipos de actividades son más propensos a recibir elogios que otros. Aquí está el número promedio de felicitaciones por tipo de actividades:

Promedio de felicitaciones por tipo de actividad — Imagen del autor

Incluso si no es el tipo de actividad más popular, correr fue el deporte en el que obtuve la mayor cantidad de puntos de datos, por lo que aquí es donde traté de profundizar un poco más. Podemos tratar de entender por qué una actividad obtendría más elogios que otra. Veamos la posible correlación entre la distancia de la carrera y la cantidad de elogios que obtendría la actividad.

Resulta que parece haber una correlación positiva, es decir, cuanto más larga es la carrera, mayor es el número de felicitaciones, como se muestra en el gráfico siguiente.
Por supuesto, la importancia estadística de este resultado es discutible dada la pequeña cantidad de puntos de datos que consideramos. La única conclusión segura aquí es que necesito correr más.

Podríamos ir más allá en el análisis, viendo la influencia de otras variables, pero eso lo dejaré para otro artículo.

Correlación positiva entre la distancia de una carrera y la cantidad de elogios que obtiene — Gráfico del autor

Finalmente, podemos trazar el "Gráfico de Kudos" en el que podemos ver quiénes son nuestros principales seguidores y darles un reconocimiento.
Por supuesto, algunas personas son más adictas a Strava que otras y felicitarán a medida que se desplazan hacia abajo en su feed de actividades, mientras que otras solo abrirán la aplicación de vez en cuando y felicitarán solo a las actividades más recientes que vean.
Este gráfico no se trata de juzgar a las personas por felicitar o no, se trata simplemente de ilustrar nuevos conocimientos que no vería en ningún otro lugar, ni siquiera en la versión premium de la aplicación.

El "Gráfico de Kudos" que muestra a los principales seguidores — Gráfico por autor

Sin duda, podemos hacer mucho más con todos los datos que podemos obtener de la API de Strava. Esta fue simplemente una primera oportunidad de responder una pregunta inusual y un buen ejercicio para poner las cosas en marcha.

Si desea analizar sus actividades de Strava y averiguar quiénes son sus principales seguidores, puede encontrar el código completo aquí:
https://github.com/Guigs11/strava_kudos

¡Gracias por leer hasta el final del artículo!
Siéntase libre de dejar un mensaje a continuación, o comuníquese conmigo a través de
Etiqueta LinkedIn si tiene alguna pregunta / comentario!
¡Más por venir!

¿Quién es tu seguidor número 1 en Strava? Republicado de la fuente https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-5a888230f361?source=rss—-7f60cf5620c9—4 a través de https://towardsdatascience.com/feed

<!–

->

Sello de tiempo:

Mas de Consultores Blockchain