Análisis de actividades de Strava en Power BI

En este post os pondré un ejemplo de cómo realizar un análisis básico de nuestras actividades y ejercicios en la app Strava utilizando Power BI. Monitorizaremos los kilómetros recorridos, las horas de ejercicio y los tipos de actividad que hemos realizado e incluso podremos llegar a ver el recorrido de una carrera en Power BI. Pero vayamos por pasos:
Cómo obtener los datos de las actividades de Strava
Desgraciadamente no hay una fuente Odata abierta a la que conectarse (o por lo menos yo no la he encontrado aún), así que tenemos 2 opciones disponibles:
- Desarrollar un conector de Strava a través de su portal para desarrolladores.
- Solicitar una descarga de los datos de tu perfil.
Para este ejemplo optaremos por la segunda opción, pero si alguien con conocimientos de programación quiere colaborar en trabajar la primera, estaré encantado.
Descarga de fichero de Datos de Strava
Para solicitar una descarga de nuestros datos, debemos entrar en https://www.strava.com, loguearnos con nuestro usuario y contraseña. Una vez estemos dentro, pulsamos sobre nuestra foto de perfil en la parte superior derecha y en la opción “Configuración“:

En la pantalla de “Configuración”, elegimos la opción de menú “Mi Cuenta” y en la parte inferior pulsamos en el botón “Comenzar” del apartado “Descarga o elimina tu cuenta”. No os asustéis por el título, la descarga de datos está pensada por si quieres darte de baja y pretendes descargar antes tus actividades, pero no es necesario darse de baja para obtener el fichero:

Una vez que pulsamos el botón, ya podremos pulsar en “Solicita tu archivo” que hará que nos envíen un fichero comprimido a nuestro mail:

En unos minutos, recibiremos el mail en nuestra cuenta de correo:

Pulsa en “Descarga de archivo” en el mail que te ha llegado de Strava y se descargará en tu ordenador. Es un fichero comprimido ZIP llamado “export_”+ secuencia de números.
Descomprime el fichero en alguna carpeta de tu ordenador y verás que está compuesto de varias carpetas y ficheros planos:

Para el análisis general de nuestro Panel de Power BI sólo necesitaremos el fichero “activities.csv“. Si queremos llegar a analizar el detalle de cada carrera (ver la ruta en Power BI por ejemplo), deberemos de acceder a los ficheros GPX de la carpeta activities.
Creación del Panel de Power BI sobre Strava
Ahora ya empieza la parte fácil. Abrimos Power BI Desktop y elegimos como origen de datos “Texto o CSV“:

Indicamos la ruta hasta el fichero “activities.csv” que hemos descargado y veremos que contiene varias filas (una por cada actividad realizada).
No es necesario hacer muchas transformaciones. En mi caso sólo he usado la primera fila como encabezado a través de la opción “Usa la primera fila como encabezado“, y la opción “Reemplazar los valores” para reemplazar los puntos por comas en los campos numéricos.

El resultado de la tabla de actividades debería parecerse a la siguiente imagen:

Una vez que tenemos cargada la tabla de actividades, he añadido alguna columna adicional a través de fórmulas simples DAX:
- Un campo “KM” para mostrar la distancia en Kilómetros en vez de metros:
KM = activities[distance]/1000- El campo calculado “HORAS” para mostrar la duración del ejercicio en horas:
HORAS = activities[elapsed_time]/3600- Un campo “MES” para indicar el número de mes de la fecha de la actividad:
MES = MONTH(activities[date])- Un campo “DIASEMANA” con una fórmula similar para mostrar el Día de la Semana:
DIASEMANA = WEEKDAY(activities[date];2)- Por último, un campo “HORA” para extraer de la fecha la hora a la que se realizó el ejercicio:
HORA = HOUR(activities[date])Adicionalmente, he creado una medida calculada para calcular la velocidad media de las carreras:
VELOCIDAD CARRERA = CALCULATE(SUM(activities[KM])/SUM(activities[HORAS]);activities[type]="Run")El resultado
Tras la preparación de los datos ya podréis crear un panel como el que os muestro a continuación:
En él podéis analizar los tipos de ejercicios que hacéis, las horas de ejercicio realizadas, los km recorridos, o que día de la semana hacéis más ejercicio.
Si queréis profundizar más en las actividades, en la carpeta “Activities” hay unos ficheros GPX con el detalle de cada carrera.
En mi caso no uso directamente Strava en mis carreras: grabo la actividad en mi reloj Suunto y la aplicación del reloj lo traspasa a Strava. Por ello, sólo me ha generado una carrea en formato GPX (la única que hice directamente en Strava, sin el reloj).
Os he dejado una segunda pestaña en el panel con el análisis de la carrera para que lo tengáis de ejemplo:

Para este gráfico de la ruta de una carrera en un mapa he utilizado una visualización personalizada llamada Route map que os podéis descargar desde el propio Power BI Desktop o desde la AppSource.
Conclusión
Como veis, no es nada difícil llevar un análisis de nuestro ejercicio registrado en Strava a través de Power BI. Cada vez que queramos actualizar datos, deberemos solicitar una descarga del fichero y descomprimirlo en la misma ubicación, y podremos actualizar los datos en Power BI Desktop sin problemas.
¿Qué os ha parecido este post? ¿Querríais colaborar en un proyecto para construir un conector automático para evitar tener que descargar los ficheros? Sólo tenéis que contactar conmigo a través de los comentarios de este post o con el formulario de contacto.






