Strava で一番のサポーターは誰ですか?

Strava API を探索し、Python で調べる

ここ数年、Strava はサイクリングやランニングのアクティビティを追跡するための頼りになるアプリになりました。 このアプリの多くの優れた機能の XNUMX つは、友達があなたのアクティビティを称賛してくれる機能です。 そして時には、これらの賞賛は、あなたが前進し続けるために必要な士気の向上にすぎません.

2022 年にアルプスでの登山の準備をしていて、以前よりも定期的に Strava を使用していたとき、一部の人々が他の人々よりも寛大であることに気付きました。 しかし、それが誰なのか正確にはわからなかったので、考えさせられました。 アプリが提供するものよりも自分の統計を詳しく見る方法はありますか? そうですね。

この記事では、非常に一般的な「Extract Transform Load」アプローチを使用してプロジェクトを構築しました。 どのように Strava からアクティビティ データを取得し (抽出)、新しい洞察を計算し (変換)、「Kudos グラフ」やその他の視覚化を構築して、サポートに感謝するべきかを知る方法を示しています (読み込み)。

時間が経つにつれて、このアプローチが同様のデータ プロジェクトを整理するための優れた方法であることがわかりました。 先に進む前の最後の注意として、ここに示されているものはすべて再現可能であり、コードは Github (記事の最後にあるリンク) で入手できるので、独自のコードを作成できます。

コーディングをしましょう!

最初に行う必要があるのは認証です。つまり、Strava からアクセス トークンを取得します。 次の関数は、前のセクションで取得した詳細 (クライアント ID、クライアント シークレット、リフレッシュ トークン、および認証コード) を含む POST 要求をエンドポイントに送信することで、まさにそれを行います。 https://www.strava.com/oauth/token.

このセクションでは、次の XNUMX つの関数を作成します。

  1. プロファイルのすべてのアクティビティのリストを取得します。
    前に取得したアクセス トークンを使用し、関心のあるアクティビティの範囲を定義する XNUMX つの日付を指定すると、これら XNUMX つの日付の間のすべてのアクティビティとその主な特徴のリストが取得されます。
  2. 特定のアクティビティの kudoers のリストを取得します。
    残念ながら、アクティビティの kudoers のリストは、前のリクエストの結果には含まれていません。 activity_id で識別される単一のアクティビティの kudoers のリストを返す get_kudos 関数を作成する必要があります。

必要なデータを取得したので、必要なものだけを保持し、これを Pandas Dataframe に配置します。

以下の変換関数は、アクティビティのリストから次のデータを抽出します。

  1. アクティビティの一意の識別子として使用されるアクティビティ ID。
  2. 各アクティビティの称賛の数。
  3. ループで get_kudos() 関数を利用することによる、アクティビティのすべての kudoers のリスト。
  4. 各アクティビティの距離。
  5. 各アクティビティにかかった時間。
  6. 活動の種類。

⚠️ Strava APIの利用には制限があります。 100 分ごとに 15 件、1000 日あたり XNUMX 件の通話に制限されています。

このプロジェクトでは、API を XNUMX 回呼び出してアクティビティのリストを取得し、次にアクティビティごとに XNUMX 回呼び出して、各アクティビティの kudoers のリストを取得します。

つまり、検討中のウィンドウに 100 を超えるアクティビティがある場合、そのままのコードは機能せず、API の使用制限に準拠するためにコードを少し変更する必要があります。

あとは、作成したばかりの関数を利用して、興味深いことをプロットし始めるだけです!

私の場合、2022 年の活動を検討しており、この日まで — 24 年 10 月 2022 日までです。

私たちのデータ構造から、特定の期間にいくつかの高レベルの KPI を取得するのは非常に簡単です。

高レベルの KPI — 著者による画像

前のセクションで各アクティビティのスポーツ タイプを取得したので、特定のタイプのアクティビティが他のアクティビティよりも称賛を受けやすいかどうかを簡単に調べることもできます。 活動の種類ごとの平均称賛数は次のとおりです。

活動の種類ごとの称賛の平均数 — 著者による画像

最も人気のあるタイプのアクティビティではないにしても、ランニングは私が最も多くのデータポイントを持っていたスポーツだったので、ここでもう少し掘り下げてみました. アクティビティが他のアクティビティよりも多くの称賛を得る理由を理解しようとすることができます。 ランニングの距離とアクティビティが獲得する称賛の数との間の相関関係を見てみましょう。

下のグラフに示すように、正の相関関係があるように思われます。
確かに、この結果の統計的有意性は、検討したデータ ポイントの数が少ないことを考えると、議論の余地があります。 ここでの唯一の確かな結論は、もっと走る必要があるということです。

分析をさらに進めて、他の変数の影響を調べることもできますが、それは別の記事に譲ります。

ランニングの距離とそれが得る称賛の数との間の正の相関 — 著者によるグラフ

最後に、「Kudos グラフ」をプロットして、トップのサポーターが誰であるかを確認し、彼らに声援を送ることができます。
もちろん、他の人よりも Strava にハマっていて、アクティビティ フィードを下にスクロールするときに称賛を与える人もいれば、アプリをたまにしか開かず、たまたま目にした最新のアクティビティだけを称賛する人もいます。
このグラフは、賞賛を与えるかどうかについて人々を判断するものではありません。これは、他の場所では見られない新しい洞察を示しているだけです。アプリのプレミアム バージョンでも同様です。

トップサポーターを示す「Kudos Graph」 — 著者によるグラフ

Strava API から取得できるすべてのデータを使用して、さらに多くのことができることは間違いありません。 これは、珍しい質問に答える最初のショットであり、物事を進めるための良い練習になりました.

Strava のアクティビティを分析して、誰があなたのトップサポーターかを知りたい場合は、コード全体をここで見つけることができます。
https://github.com/Guigs11/strava_kudos

記事を最後まで読んでいただきありがとうございます!
以下にメッセージを残してください。
LinkedIn ご質問・ご意見がございましたら!
もっと来ます!

Strava で一番のサポーターは誰ですか? ソース https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-1a5f888230?source=rss—-361f7cf60c5620—9 から https://towardsdatascience.com/feed 経由で再公開

<!–

–>

タイムスタンプ:

より多くの ブロックチェーンコンサルタント