Kto jest Twoim zwolennikiem numer 1 na Strava?

Poznaj Strava API i dowiedz się z Pythonem

W ciągu ostatnich kilku lat Strava stała się moją ulubioną aplikacją do śledzenia mojej aktywności na rowerze i biegania. Jedną z wielu fajnych funkcji aplikacji jest możliwość nagradzania Cię przez znajomych za Twoje działania. Czasami te wyrazy uznania to tylko podniesienie morale, którego potrzebujesz, aby iść dalej.

W 2022 roku, kiedy przygotowywałem się do wspinaczki w Alpach i korzystałem ze Stravy częściej niż wcześniej, zauważyłem, że niektórzy ludzie byli bardziej hojni niż inni ze swoimi pochwałami. Ale nie miałem dokładnego pojęcia, kto to był i to dało mi do myślenia. Czy istnieje sposób na głębsze spojrzenie na moje statystyki niż to, co oferuje aplikacja? Cóż, jest.

W tym artykule użyłem bardzo popularnego podejścia „Wyodrębnij ładunek przekształcający”, aby ustrukturyzować projekt. Pokazuję, jak udało mi się uzyskać dane o mojej aktywności ze Stravy (Extract), obliczyć nowe spostrzeżenia (Transform) i zbudować „Kudos Graph” oraz inne wizualizacje, aby wiedzieć, komu podziękować za wsparcie (Load).

Z biegiem czasu odkryłem, że to podejście jest świetnym sposobem organizowania podobnych projektów danych. Ostatnia uwaga przed wskoczeniem, wszystko pokazane tutaj jest możliwe do odtworzenia, a kod jest dostępny na Github (link na końcu artykułu), więc możesz zbudować własny.

Zajmijmy się kodowaniem!

Pierwszą rzeczą, którą musimy zrobić, jest uwierzytelnienie — czyli uzyskanie tokena dostępu ze Stravy. Następująca funkcja zrobi to właśnie z żądaniem POST, zawierającym szczegóły, które otrzymaliśmy w poprzedniej sekcji (identyfikator klienta, klucz tajny klienta, token odświeżania i kod autoryzacji) do punktu końcowego https://www.strava.com/oauth/token.

W tej sekcji tworzymy dwie funkcje, aby:

  1. Uzyskaj listę wszystkich działań profilu.
    Wykorzystując otrzymany wcześniej token dostępowy i podając dwie daty określające zakres interesujących nas czynności, otrzymujemy listę wszystkich czynności pomiędzy tymi dwiema datami oraz ich główne cechy.
  2. Uzyskaj listę kudoerów określonej aktywności.
    Niestety lista wyróżnień działań nie jest zawarta w wyniku poprzedniego zapytania. Musimy zbudować funkcję get_kudos, która zwraca listę kudoerów dla pojedynczej aktywności, identyfikowanej przez jej activity_id.

Teraz, gdy mamy potrzebne dane, chodzi o to, aby zachować tylko to, czego potrzebujemy i umieścić to w Pandas Dataframe.

Poniższa funkcja przekształcająca wyodrębnia z listy działań następujące dane:

  1. Identyfikator działania, który jest używany jako unikalny identyfikator działania.
  2. Liczba pochwał za każdą czynność.
  3. Lista wszystkich kudoerów dla danego działania poprzez wykorzystanie funkcji get_kudos() w pętli.
  4. Odległość każdej czynności.
  5. Czas trwania każdej czynności.
  6. Rodzaj działalności.

⚠️ Istnieje ograniczenie w korzystaniu z API Strava. Jesteśmy ograniczeni do 100 połączeń co 15 minut i 1000 połączeń dziennie.

W tym projekcie wywołujemy API raz, aby uzyskać listę działań, a następnie raz na działanie, aby uzyskać listę kudoerów w każdym z nich.

Oznacza to, że jeśli masz więcej niż 100 działań w rozważanym oknie, kod w obecnej postaci nie będzie działał i będziesz musiał go nieco zmodyfikować, aby był zgodny z limitem użycia API.

Jedyne, co pozostało do zrobienia, to wykorzystać funkcje, które właśnie zbudowaliśmy, i zacząć kreślić kilka interesujących rzeczy!

W moim przypadku rozważam swoją działalność w 2022 roku, do tej daty — 24.

Z naszej struktury danych bardzo łatwo jest uzyskać kilka kluczowych wskaźników efektywności w danym okresie:

Wysokie wskaźniki KPI — Zdjęcie autorstwa autora

Ponieważ w poprzedniej sekcji dostaliśmy typ sportu dla każdej aktywności, możemy również łatwo sprawdzić, czy niektóre rodzaje aktywności są bardziej podatne na otrzymywanie pochwał niż inne. Oto średnia liczba pochwał na rodzaj działalności:

Średnia liczba pochwał na rodzaj działalności — Zdjęcie autorstwa autora

Nawet jeśli nie jest to najpopularniejszy rodzaj aktywności, bieganie było sportem, w którym miałem najwięcej punktów danych, więc tutaj próbowałem kopać trochę więcej. Możemy spróbować zrozumieć, dlaczego jakaś czynność miałaby więcej uznania niż inna. Przyjrzyjmy się możliwej korelacji między dystansem biegu a liczbą pochwał, jaką uzyskałaby ta aktywność.

Okazuje się, że istnieje dodatnia korelacja, tzn. im dłuższy bieg, tym większa liczba pochwał, co widać na poniższym wykresie.
To prawda, że ​​znaczenie statystyczne tego wyniku jest dyskusyjne, biorąc pod uwagę niewielką liczbę punktów danych, które wzięliśmy pod uwagę. Jedyny pewny wniosek jest taki, że muszę więcej biegać.

Moglibyśmy pójść dalej w analizie, przyglądając się wpływowi innych zmiennych, ale zostawię to na inny artykuł.

Dodatnia korelacja między dystansem biegu a liczbą pochwał — wykres autorstwa autora

Na koniec możemy wykreślić „Wykres Kudos”, w którym możemy zobaczyć, kto jest naszym najlepszym zwolennikiem i wykrzyczeć im.
Oczywiście niektórzy ludzie są bardziej uzależnieni od Stravy niż inni i chwalą się, gdy przewijają swój kanał aktywności, podczas gdy inni otwierają aplikację tylko raz na jakiś czas i chwalą tylko najnowsze działania, które widzieli.
Ten wykres w żaden sposób nie ma na celu osądzania ludzi za to, czy dają pochwały, czy nie, ma po prostu zilustrować nowe spostrzeżenia, których nie znajdziesz nigdzie indziej — nawet w wersji premium aplikacji.

„Wykres Kudos” przedstawiający najlepszych zwolenników — wykres według autora

Bez wątpienia możemy zrobić o wiele więcej ze wszystkimi danymi, które możemy uzyskać z API Strava. To była po prostu pierwsza próba odpowiedzi na nietypowe pytanie i dobre ćwiczenie, aby wszystko ruszyło.

Jeśli chcesz przeanalizować swoje działania na Stravie i dowiedzieć się, kto jest Twoim największym wsparciem, cały kod znajdziesz tutaj:
https://github.com/Guigs11/strava_kudos

Dzięki za przeczytanie do końca artykułu!
Zostaw wiadomość poniżej lub skontaktuj się ze mną przez
LinkedIn jeśli masz jakieś pytania / uwagi!
Więcej w przyszłości!

Kto jest Twoim Supporterem Numer 1 na Strava? Opublikowano ponownie ze źródła https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-5a888230f361?source=rss—-7f60cf5620c9—4 przez https://towardsdatascience.com/feed

<!–

->

Znak czasu:

Więcej z Konsultanci Blockchain