[Python] Extraindo dados do Nike Run Club — Avaliando minha performance
(Se desejar Clique Aqui para ver a versão em inglês)
(If you like Click here so you can read the english version)
Principal objetivo aqui é utilizar a análise de dados para analisar o meu desempenho nas corridas (e pontos de melhoria nas minhas corridas).
Sempre fui um amante dos esportes, seja futebol,futsal,volei, basquete,handebol…(a lista segue). Sempre fui influenciado a praticar algum esporte mas a corrida tem se tornado um ponto mais focal pela praticidade, por ser algo divertido e ao mesmo tempo desafiador.
Desde 2021 tenho registrado algumas corridas mas todas com intervalos dispersos e com resultados e metas diferentes (ou nem existiam) e TODAS ao ar livre (não curto nem um pouco esteiras lol). Para mensurar a performance dessas corridas tenho utilizado o aplicativo Nike Run Club (NRC), porém, no próprio app senti falta de alguma forma poder manipular melhor as informações registradas para entender os meus comportamentos na corrida e a partir disso, realizei algumas buscas, identifiquei a possibilidade de extrair esses dados ❗️.
Foi ai que entrou em jogo a aplicação dos meus conhecimentos em análise de dados.
Há pouco mais de 2~3 anos migrei para a área de dados e nela meu principal objetivo é identificar pontos cruciais que possam gerar valor, toda e qualquer decisão seja tomada baseada em DADOS nunca no achismo. É meio clichê, mas utilizar ferramentas de Data Analysis tem sido parte do meu dia, então por que não usar isso ao meu favor, para quem sabe, melhorar minha performance?
Vamos testar isso? Let’s Code!!
Extração dos dados :
Para qualquer análise que fosse feito o item mais básico e primordial que precisamos é: Dados mas a Nike não fornece de maneira oficial essa informações. E agora?
Fazendo uma pesquisa pela web (algo como nike run exporting data ou similares) identifiquei um meio utilizando um programa chamado nrc-exporter (Criado pelo Yasoob Khalid — Github), que exporta os dados para um diretório local de maneira fácil e rápida. Alguns requisitos antes de extrairmos os dados:
- Entre no site da Nike e realize o login.
- Ao logar, pressione o botão direito em qualquer lugar da página e clique na opção inspecionar
3. Procure por Application
4. ir em Local Storage — nike.com — e então pode copiar o seu “access_token”.
Agora, para o terminal no seu interpretador (aqui estou utilizando o PyCharm para rodar meus scripts em python), basta executar primeiro o pip install nrc-exporter no seu terminal, após a instalação basta abrir novamente o seu terminal e executar o comando a seguir.
nrc-exporter -t token. (Substitua a palavra token pelo token copiado no site da nike)
Você verá a execução a seguir e os dados serem baixados no mesmo diretório de execução do script.
E pronto! os dados serão baixados em uma pasta chamada Activities. Os dados estarão disponibilizados no formato .json (para manipulação em python é interessante utilizar a função json_normalize ou ainda você pode inserir em um arquivo de POWER B.I e afins).
Para essa análise escolhi as métricas de:
Pace: (Tempo médio que levo para realizar um km)
Calories: ( Estimativa de calorias gastas na atividade)
Speed: (Velocidade média adotada na atividade)
Distance: (Distância percorrida)
Date: (Data da atividade — Aqui inicialmente o dado vem como epoch, utilizei a biblioteca DateTime para transformar os dados)
DaysOffRun: (Coluna calculada por mim de diferença em dias de uma corrida para outra)
Weather: (Clima da atividade)
EXPLORAÇÃO DE DADOS
Agora que temos os dados em mãos podemos ir para a parte mais divertida!!
Para facilitar a análise dos dados farei a exploração dos dados no Google Colab (dessa forma caso seja do seu interesse pode olhar o código utilizado via GitHub, segue).
Para começarmos, algumas estatisticas descritivas:
Analisei uma amostra total de 107 corridas, das quais estão distribuidas desde o ano de 2021, sendo o numero de corridas realizadas respectivamente por ano de: 2 (2021), 12 (2022), 61 (2023) e 32 (2024). Portanto, todas essas corridas totalizaram 426km percorridos, tenho levado em MÉDIA de 9/10 dias de uma corrida para outra onde hoje já tenho como objetivo ao ver esse indicador de reduzir para até 2/3 dias.
Indo para algumas análises gráficas:
Após o periodo de Outubro/2023 decidi realmente voltar a correr de forma mais assidua e com muito mais dedicações o que reflete os números desse periodo em diante.
Com os dois dados acima já tenho a inicial percepção de que aumentei o numeto de corridas e o esforço relacionado a mesma, porém, há ainda um gap na constância de uma corrida para outra.
Ao explorar ainda o tópico de constância e inserindo o fator clima na corrida, em torno de 70% das minha corridas foram realizadas sobre o clima nublado / noite, ou seja, há uma certa preferência para as corridas nesse horário (aqui confesso, é um mix de preferência pois deixo a parte diurna pra estudos e a noite é mais agradável correr).
Vendo essas informações decidi explorar um pouco mais a relação desses numeros com a condição do clima, pois bem, como previsto as maiores distâncias obtidas por mim foram novamente em climas nublados / noturnos.
Olhando a mesma relação para a relação Pace x Clima
Em resumo, minhas melhores corridas foram feitas no horário noturno (talvez seja hora de desafiar e mudar um pouco isso).
Grande concentração das corridas são de 4 ~ 8 km, tendo um outlier nos 10km (são 2 corridas que me desafiei a correr um pouco além em 2024 e preciso continuar!!) e por fim o ultimo gráfico informa a evolução do meu pace, distância e velocidade pelo tempo que venho praticando a corrida.
Desse ultimo gráfico é possivel identificar uma melhora no meu pace em diversos momentos, principalmente no ano de 2023 para o de 2024. Porém, é mais nitido ainda a falta de constância com muitas oscilações. A velocidade média foi outro item que melhorou dado a treinos que venho fazendo de melhora de resistência e velocidade e por fim a distância que tem aumentado principalmente de 2023 para 2024.
Conclusão:
- Em torno de 70% das corridas são realizadas em climas nublados/noite, é sugerido uma melhor divisão nesse ponto (dado que meu objetivo é futuramente participar de uma corrida e pode acontecer em diversos horários).
- Meus treinos podem ser focados em correr mais do que 7km> já que um dos objetivos que tenho é ganhar resistência/ perder calorias e aumentar gradativamente meu desempenho.
- 🌟 Principal ponto que tenho de déficit é a constância, há um grande gap entre os dias de corrida seja olhando a média ou o maior tempo entre corridas.
CORREÇÕES:
Em resumo, são:
- Aumentar distância das corridas.
- Diversificar os horários das corridas (já que também tenho o objetivo de correr algumas provas).
- Diminuir o gap entre dias sem correr.
Essa foi a análise proposta dos meus dados do NIKE RUN, espero que tenham gostado (sugestões e criticas construtivas são bem vindas ⭐️) e se fizer a mesma análise compartilhe comigo, ficarei contente em ver sua visão com seus indicadores !!
See ya!