Wer ist dein Unterstützer Nummer 1 auf Strava?

Erkunden Sie die Strava-API und finden Sie es mit Python heraus

In den letzten Jahren wurde Strava zu meiner Go-to-App, um meine Rad- und Laufaktivitäten zu verfolgen. Eine der vielen coolen Funktionen der App ist die Möglichkeit für Ihre Freunde, Ihnen Kudos für Ihre Aktivitäten zu geben. Und manchmal sind diese Anerkennungen nur der Moralschub, den Sie brauchen, um weiterzumachen.

Als ich mich 2022 auf eine Besteigung in den Alpen vorbereitete und Strava regelmäßiger als zuvor nutzte, bemerkte ich, dass einige Leute mit ihrem Lob großzügiger waren als andere. Aber ich hatte keine genaue Vorstellung davon, wer es war, und das brachte mich zum Nachdenken. Gibt es eine Möglichkeit, einen tieferen Einblick in meine Statistiken zu erhalten, als es die App bietet? Nun, es gibt.

In diesem Artikel habe ich einen sehr verbreiteten „Extract Transform Load“-Ansatz verwendet, um das Projekt zu strukturieren. Ich zeige, wie ich es geschafft habe, meine Aktivitätsdaten von Strava zu erhalten (Extract), neue Erkenntnisse zu berechnen (Transform) und das „Kudos-Diagramm“ und andere Visualisierungen zu erstellen, um zu wissen, wem ich für die Unterstützung danken kann (Load).

Im Laufe der Zeit stellte ich fest, dass dieser Ansatz eine großartige Möglichkeit war, ähnliche Datenprojekte zu organisieren. Eine letzte Anmerkung, bevor Sie loslegen, alles, was hier gezeigt wird, ist reproduzierbar und der Code ist auf Github verfügbar (Link am Ende des Artikels), sodass Sie Ihren eigenen erstellen können.

Lassen Sie uns codieren!

Das erste, was wir tun müssen, ist uns zu authentifizieren – dh das Zugriffstoken von Strava zu erhalten. Die folgende Funktion macht genau das mit einer POST-Anforderung, die die Details enthält, die wir im vorherigen Abschnitt erhalten haben (Client-ID, Client-Geheimnis, Aktualisierungstoken und Autorisierungscode) an den Endpunkt https://www.strava.com/oauth/token.

In diesem Abschnitt erstellen wir zwei Funktionen, um:

  1. Holen Sie sich die Liste aller Aktivitäten des Profils.
    Unter Verwendung des zuvor erhaltenen Zugriffstokens und der Angabe von zwei Daten, die den Umfang der Aktivitäten definieren, an denen wir interessiert sind, erhalten wir die Liste aller Aktivitäten zwischen diesen beiden Daten und ihre Hauptmerkmale.
  2. Holen Sie sich die Liste der Kudoer einer bestimmten Aktivität.
    Leider ist die Liste der Kudoer der Aktivitäten nicht im Ergebnis der vorherigen Anfrage enthalten. Wir müssen die get_kudos-Funktion erstellen, die die Liste der Kudoer für eine einzelne Aktivität zurückgibt, die durch ihre activity_id identifiziert wird.

Nachdem wir nun die gewünschten Daten erhalten haben, besteht die Idee darin, nur das zu behalten, was wir brauchen, und dies in einen Pandas-Datenrahmen zu packen.

Die folgende Transformationsfunktion extrahiert aus der Liste der Aktivitäten die folgenden Daten:

  1. Die Aktivitäts-ID, die als eindeutige Kennung für eine Aktivität verwendet wird.
  2. Die Anzahl der Kudos für jede Aktivität.
  3. Die Liste aller Kudoer für eine Aktivität durch Nutzung der Funktion get_kudos() in einer Schleife.
  4. Die Entfernung jeder Aktivität.
  5. Die Zeit, die jede Aktivität benötigt hat.
  6. Die Art der Aktivität.

⚠️ Es gibt eine Einschränkung bei der Nutzung der Strava-API. Wir sind auf 100 Anrufe alle 15 Minuten und 1000 Anrufe pro Tag beschränkt.

In diesem Projekt rufen wir die API einmal auf, um die Liste der Aktivitäten abzurufen, und dann einmal pro Aktivität, um die Liste der Kudoer in jeder Aktivität abzurufen.

Das bedeutet, wenn Sie mehr als 100 Aktivitäten im betrachteten Fenster haben, wird der Code so wie er ist nicht funktionieren und Sie müssen ihn leicht ändern, um das API-Nutzungslimit einzuhalten.

Das einzige, was noch zu tun bleibt, ist, die Funktionen, die wir gerade erstellt haben, zu nutzen und mit dem Plotten einiger interessanter Dinge zu beginnen!

In meinem Fall betrachte ich meine Aktivitäten im Jahr 2022 bis zu diesem Datum – 24.

Aus unserer Datenstruktur ist es super einfach, ein paar High-Level-KPIs im gegebenen Zeitraum zu erhalten:

KPIs auf hoher Ebene — Bild vom Autor

Da wir im vorherigen Abschnitt den Sporttyp für jede Aktivität erhalten haben, können wir auch leicht untersuchen, ob bestimmte Arten von Aktivitäten anfälliger dafür sind, Kudos zu erhalten als andere. Hier ist die durchschnittliche Anzahl an Kudos pro Aktivitätstyp:

Durchschnittliche Kudos pro Aktivitätstyp – Bild vom Autor

Auch wenn es nicht die beliebteste Art von Aktivitäten sein soll, war Laufen die Sportart, bei der ich die meisten Datenpunkte hatte, und deshalb habe ich versucht, ein bisschen mehr zu graben. Wir können versuchen zu verstehen, warum eine Aktivität mehr Anerkennung erhält als eine andere. Schauen wir uns die mögliche Korrelation zwischen der Distanz des Laufs und der Anzahl der Kudos an, die die Aktivität erhalten würde.

Es stellt sich heraus, dass es eine positive Korrelation zu geben scheint, dh je länger der Lauf, desto höher die Anzahl der Kudos, wie in der folgenden Grafik dargestellt.
Zugegeben, die statistische Signifikanz dieses Ergebnisses ist angesichts der geringen Anzahl von Datenpunkten, die wir berücksichtigt haben, fraglich. Die einzige sichere Schlussfolgerung hier ist, dass ich mehr laufen muss.

Wir könnten in der Analyse noch weiter gehen und den Einfluss anderer Variablen betrachten, aber das überlasse ich einem anderen Artikel.

Positive Korrelation zwischen der Distanz eines Laufs und der Anzahl der erhaltenen Kudos – Grafik vom Autor

Schließlich können wir das „Kudos-Diagramm“ zeichnen, in dem wir sehen können, wer unsere Top-Unterstützer sind, und ihnen ein Lob aussprechen.
Natürlich sind einige Leute süchtiger nach Strava als andere und geben Kudos, wenn sie in ihrem Aktivitäts-Feed nach unten scrollen, während andere die App nur ab und zu öffnen und nur den neuesten Aktivitäten, die sie zufällig gesehen haben, Kudos geben.
In dieser Grafik geht es in keiner Weise darum, Menschen dafür zu beurteilen, ob sie Kudos vergeben oder nicht, es geht einfach darum, neue Erkenntnisse zu veranschaulichen, die Sie sonst nirgendwo sehen würden – nicht einmal in der Premium-Version der App.

Das „Kudos-Diagramm“ zeigt die Top-Unterstützer – Diagramm nach Autor

Zweifellos können wir mit all den Daten, die wir von der Strava-API erhalten, noch viel mehr tun. Dies war einfach ein erster Versuch, eine ungewöhnliche Frage zu beantworten, und eine gute Übung, um die Dinge in Gang zu bringen.

Wenn Sie Ihre Strava-Aktivitäten analysieren und herausfinden möchten, wer Ihre Top-Unterstützer sind, finden Sie den gesamten Code hier:
https://github.com/Guigs11/strava_kudos

Danke, dass Sie den Artikel bis zum Ende gelesen haben!
Fühlen Sie sich frei, unten eine Nachricht zu hinterlassen, oder kontaktieren Sie mich über
LinkedIn wenn Sie Fragen / Anmerkungen haben!
Da kommt noch mehr!

Wer ist dein Unterstützer Nummer 1 auf Strava? Neu veröffentlicht von Quelle https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-5a888230f361?source=rss—-7f60cf5620c9—4 über https://towardsdatascience.com/feed

<!–

->

Zeitstempel:

Mehr von Blockchain-Berater