Kuka on tärkein kannattajasi Stravassa?

Tutustu Strava API:hen ja ota selvää Pythonin avulla

Viime vuosina Stravasta on tullut suosikkisovellukseni pyöräily- ja juoksuharrastuksiini seuraamiseen. Yksi sovelluksen monista hienoista ominaisuuksista on ystävien mahdollisuus kiittää sinua aktiviteeteistasi. Ja joskus nämä ylistykset ovat vain moraalin lisäys, jonka tarvitset jatkaaksesi.

Vuonna 2022 valmistautuessani Alppien kiipeilyyn ja käyttäessäni Stravaa aiempaa säännöllisemmin, huomasin, että jotkut ihmiset olivat anteliaampia kuin toiset. Mutta minulla ei ollut tarkkaa käsitystä siitä, kuka se oli, ja tämä sai minut ajattelemaan. Onko olemassa tapaa tarkastella tilastojani syvemmin kuin mitä sovellus tarjoaa? No, siellä on.

Tässä artikkelissa käytin hyvin yleistä "Extract Transform Load" -lähestymistapaa projektin jäsentämiseen. Näytän, kuinka onnistuin saamaan toimintatiedot Stravasta (Extract), laskemaan uusia oivalluksia (Transform) ja rakentamaan "Kudos Graphin" ja muita visualisointeja tietääkseni ketä kiittää tuesta (Load).

Huomasin ajan myötä, että tämä lähestymistapa oli loistava tapa järjestää samanlaisia ​​dataprojekteja. Viimeinen huomautus ennen kuin aloitat, kaikki tässä näkyvä on toistettavissa ja koodi on saatavilla Githubissa (linkki artikkelin lopussa), jotta voit rakentaa oman.

Aloitetaan koodaus!

Ensimmäinen asia, joka meidän on tehtävä, on todentaa eli saada pääsytunnus Stravasta. Seuraava toiminto tekee juuri sen POST-pyynnöllä, joka sisältää edellisessä osiossa saamamme tiedot (asiakastunnus, asiakkaan salaisuus, päivitystunnus ja valtuutuskoodi) päätepisteeseen https://www.strava.com/oauth/token.

Tässä osiossa luomme kaksi funktiota:

  1. Hanki luettelo kaikista profiilin toiminnoista.
    Käyttämällä aiemmin saamaamme pääsytunnusta ja määrittämällä kaksi päivämäärää, jotka määrittelevät meitä kiinnostavien toimintojen laajuuden, saamme luettelon kaikista näiden kahden päivämäärän välisistä toiminnoista ja niiden tärkeimmistä ominaisuuksista.
  2. Hanki luettelo tietyn toiminnan kunnioittajista.
    Valitettavasti lista aktiviteeteista ei kuulu edellisen pyynnön tulokseen. Meidän on rakennettava get_kudos-funktio, joka palauttaa yksittäisen aktiviteetin kudoer-luettelon, joka tunnistetaan sen aktiviteettitunnuksella.

Nyt kun saimme haluamamme tiedot, ajatuksena on säilyttää vain tarvitsemamme tiedot ja laittaa tämä Pandas Dataframeen.

Alla oleva muunnosfunktio poimii aktiviteettiluettelosta seuraavat tiedot:

  1. Aktiviteetin tunnus, jota käytetään toiminnon yksilöllisenä tunnisteena.
  2. Kunkin toiminnon kiitosten määrä.
  3. Luettelo kaikista aktiviteetin kunnioittajista hyödyntämällä get_kudos()-funktiota silmukassa.
  4. Kunkin toiminnan etäisyys.
  5. Jokaiseen toimintaan kulunut aika.
  6. Toiminnan tyyppi.

⚠️ Strava API:n käytössä on rajoituksia. Olemme rajoitettu 100 puheluun 15 minuutin välein ja 1000 puheluun päivässä.

Tässä projektissa kutsumme API:ta kerran saadaksemme luettelon aktiviteeteista ja sitten kerran per toiminto saadaksemme luettelon kunkin aktiviteetista.

Tämä tarkoittaa, että jos sinulla on yli 100 toimintoa tarkasteltavassa ikkunassa, koodi sellaisenaan ei toimi ja sinun on muokattava sitä hieman API-käyttörajan mukaiseksi.

Ainoa asia, joka on jäljellä, on hyödyntää juuri rakentamiamme toimintoja ja alkaa piirtämään mielenkiintoisia asioita!

Omassa tapauksessani harkitsen toimintaani vuonna 2022, tähän päivään - 24.

Tietorakenteestamme on erittäin helppoa saada muutama korkean tason KPI tietyllä ajanjaksolla:

Korkean tason KPI:t — Kuva tekijältä

Koska saimme edellisessä osiossa kunkin aktiviteetin lajityypin, voimme myös helposti tutkia, ovatko tietyntyyppiset aktiviteetit alttiimpia saamaan kiitosta kuin toiset. Tässä on keskimääräinen kiitosten määrä aktiviteettityypeittäin:

Keskimääräinen kiitosten määrä aktiviteettityypeittäin — Kuva tekijän mukaan

Vaikka juoksu ei olisikaan suosituin liikuntamuoto, juoksu oli urheilulaji, jossa minulla oli eniten datapisteitä, joten tässä yritin kaivaa hieman enemmän. Voimme yrittää ymmärtää, miksi jokin toiminta saisi enemmän kiitosta kuin toinen. Katsotaanpa mahdollista korrelaatiota juoksun matkan ja toiminnan saamien tunnustusten välillä.

Osoittautuu, että korrelaatio näyttää olevan positiivinen, eli mitä pidempi juoksu, sitä suurempi on kiitosten määrä, kuten alla olevasta kaaviosta näkyy.
Myönnettäköön, että tämän tuloksen tilastollinen merkitsevyys on kyseenalainen, kun otetaan huomioon pieni määrä tietopisteitä, joita tarkastelimme. Ainoa varma johtopäätös tässä on, että minun täytyy juosta enemmän.

Voisimme mennä pidemmälle analyysissä tarkastelemalla muiden muuttujien vaikutusta, mutta jätän sen toiseen artikkeliin.

Positiivinen korrelaatio juoksun etäisyyden ja sen saamien kunnianosoitusten määrän välillä — Kaavio tekijän mukaan

Lopuksi voimme piirtää "Kudos Graphin", jossa voimme nähdä, ketkä ovat tärkeimmät kannattajamme, ja antaa heille huudon.
Tietenkin jotkut ihmiset ovat riippuvaisempia Stravasta kuin toiset ja antavat kiitosta, kun he vierittävät aktiivisuussyötettä alaspäin, kun taas toiset avaavat sovelluksen vain silloin tällöin ja antavat kiitosta vain viimeisimmistä tapahtumista, joita he sattuvat näkemään.
Tässä kaaviossa ei ole mitenkään kyse ihmisten tuomitsemisesta kiitoksen antamisesta vai ei, vaan se on vain havainnollistaa uusia oivalluksia, joita et näkisi missään muualla – ei edes sovelluksen premium-versiossa.

"Kudos Graph", joka näyttää suurimmat kannattajat – Kaavio tekijän mukaan

Epäilemättä voimme tehdä paljon enemmän kaikella Strava API:sta saatavalla tiedolla. Tämä oli yksinkertaisesti ensimmäinen laukaus vastaamiseen epätavalliseen kysymykseen ja hyvä harjoitus saada asiat etenemään.

Jos haluat analysoida Strava-toimintaasi ja selvittää, ketkä ovat tärkeimmät tukijasi, löydät koko koodin täältä:
https://github.com/Guigs11/strava_kudos

Kiitos, että luit artikkelin loppuun asti!
Voit jättää viestin alle tai ottaa minuun yhteyttä
LinkedIn jos sinulla on kysyttävää / huomautuksia!
Lisää tulossa!

Kuka on tärkein kannattajasi Stravassa? Julkaistu uudelleen lähteestä https://towardsdatascience.com/whos-your-number-1-supporter-on-strava-1a5f888230?source=rss—-361f7cf60c5620—9 https://towardsdatascience.com/feed

<!-

->

Aikaleima:

Lisää aiheesta Blockchain-konsultit