{"id":40159,"date":"2026-05-07T14:29:20","date_gmt":"2026-05-07T18:29:20","guid":{"rendered":"https:\/\/studentwork.prattsi.org\/infovis\/?p=40159"},"modified":"2026-05-07T14:29:22","modified_gmt":"2026-05-07T18:29:22","slug":"a-network-analysis-of-individual-strava-activity-data","status":"publish","type":"post","link":"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/a-network-analysis-of-individual-strava-activity-data\/","title":{"rendered":"A Network Analysis of Individual Strava Activity Data"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"852\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?resize=840%2C852&#038;ssl=1\" alt=\"\" class=\"wp-image-40160\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?w=868&amp;ssl=1 868w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?resize=296%2C300&amp;ssl=1 296w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?resize=768%2C779&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?resize=800%2C811&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?resize=178%2C180&amp;ssl=1 178w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>This is the first iteration of the network. It uses modularity to group categories by color. A Fruchterman Reinhold layout is used in order to see clusters more distinctly. Gravity is set to 30 in order to keep the gray (and a few lime green) nodes within viewing range. Any less gravity and many are sent very far away from the central node. Analytic reasons behind this become clear in the second network. This first example showcases well the different groups- the largest cluster being red, followed by the shades of green. Some light blue and gray are included, but then there is a notable gap between the orbiting nodes. The visualization\u2019s simplicity is strong for presenting a busy dataset in a straightforward way.<\/p>\n\n\n\n<p>The data is from my personal Strava activity data from 3 years including distance and duration information, and with about half of the activities having additional biometric data including heart rate, and relative effort score (a Strava proprietary metric.)<\/p>\n\n\n\n<p>This was a study to examine the underlying biometric data gathered and how well it fits into user identified categories (running, hiking, rowing, yoga, weight training, walking, basketball, bicycle ride.)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"851\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5-1011x1024.png?resize=840%2C851&#038;ssl=1\" alt=\"\" class=\"wp-image-40161\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?resize=1011%2C1024&amp;ssl=1 1011w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?resize=296%2C300&amp;ssl=1 296w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?resize=768%2C778&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?resize=800%2C810&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?resize=178%2C180&amp;ssl=1 178w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-5.png?w=1068&amp;ssl=1 1068w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>The second iteration provides the needed analytical insight. A Force Atlas layout is used to provide even space among nodes, and options are included to prevent node overlap\u2014for better visibility of the complexity. Variables are labelled, revealing the biometric data behind the runs (for instance, 3.1D or 4,599D shows distance in miles or kilometers, or 123AVH showing average heart rate.) <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"657\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8-1024x801.png?resize=840%2C657&#038;ssl=1\" alt=\"\" class=\"wp-image-40165\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=1024%2C801&amp;ssl=1 1024w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=300%2C235&amp;ssl=1 300w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=768%2C601&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=1536%2C1202&amp;ssl=1 1536w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=800%2C626&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?resize=230%2C180&amp;ssl=1 230w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?w=1794&amp;ssl=1 1794w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-8.png?w=1680 1680w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>Notably, we see the center of the red cluster is 0D, indicating a gym workout where there is no distance covered. Most of the green clusters show a full combination of distance, heart rate, calorie, and relative effort metrics\u2014 all indicative of running. The measurement device uses miles for running, and kilometers for running, so we can be sure these are runs given the lack of units in x,xxx format compared to x.xx format.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"776\" height=\"1024\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7-776x1024.png?resize=776%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-40164\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?resize=776%2C1024&amp;ssl=1 776w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?resize=227%2C300&amp;ssl=1 227w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?resize=768%2C1013&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?resize=800%2C1055&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?resize=136%2C180&amp;ssl=1 136w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-7.png?w=934&amp;ssl=1 934w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/figure>\n\n\n\n<p>The light blue cluster presents the most interesting difference between these two. As one clear portion of the cluster is around 1800ET (elapsed time) and another consists of running distances and heart rate. This is due to the different measurement infrastructure behind the data. A rowing machine can be set for discreet times (1800ET exactly) and consistently used. This is also likely a case where the watch used for measurement <em>wasn\u2019t<\/em> worn\u2014 leading to the absence of heart rate measurements. The runs for this category all seem to be long runs, over 12 miles or so, and have uniquely higher biometric stress readings than typical recovery runs which make up the bulk of any running routine.<\/p>\n\n\n\n<p>These networks really present the different measurements used. The gray orbiting cluster is many isolated pairs of distance points with elapsed time. This is the direct result of missing biometric data because a phone was used to record the workout- missing heartrate data or calorie consumption. The data was collected over 3 years and different devices were used to build the information.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"716\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?resize=840%2C716&#038;ssl=1\" alt=\"\" class=\"wp-image-40163\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?w=868&amp;ssl=1 868w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?resize=300%2C256&amp;ssl=1 300w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?resize=768%2C655&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?resize=800%2C682&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-6.png?resize=211%2C180&amp;ssl=1 211w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>And lastly, the race cluster. This cluster would fly off the chart if not for the set gravity, as it is very distinct from other workouts. Shown in lime green at the top, it consists of high distance over 20 miles, high heart rate, high calorie burn, and high duration. One node is over 6 miles but shares these high biometric indicators, likely reflecting a relatively short race but at high intensity. The data paints of picture of many low intensity activities which build toward a few high intensity moments.<\/p>\n\n\n\n<p>This is an interesting way to view a holistic training regiment. Many dashboards and analytics focus on charts showing effort over time, or distances goals met every week or month. A quick search revealed no network diagrams of similar data. This format is useful to immediately show the different quantities of workouts present in a routine. I was surprised to see so many weight lifting sessions or activities with similar biometrics to weightlifting, especially as a runner primarily.<\/p>\n\n\n\n<p>The main bias presented in this work is the various measurement tools used to gather information. It appears the clusters show different devices used and metrics collected rather than inherently different activities. An additional step for this analysis would be to filter for only activities captured using the watch with heart rate and other metrics (the most robust option.) Given the nature of network analysis, this is especially useful for viewing the entire picture of data and looking at comparison chiefly. It does not excel in comparing individual workouts based on category, rather it breaks past many of the issues with rudimentary categories (run versus gym.)<\/p>\n\n\n\n<p>After initial user feedback, it was clear that some of the groups were unexplained. More analysis was needed to uncover how the gray orbiting nodes were in fact older activities that didn\u2019t have more fine measurement options available through the watch or rowing machine. I would refine this product in the future by selecting for only runs, or only activities recorded using the finer measurements of a watch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the first iteration of the network. It uses modularity to group categories by color. A Fruchterman Reinhold layout is used in order to see clusters more distinctly. Gravity is set to 30 in order to keep the gray (and a few lime green) nodes within viewing range. Any less gravity and many are&hellip;<\/p>\n","protected":false},"author":4628,"featured_media":40160,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"coauthors":[1918],"class_list":["post-40159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visualization"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2026\/05\/image-4.png?fit=868%2C880&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paBdcV-arJ","_links":{"self":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/40159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/users\/4628"}],"replies":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/comments?post=40159"}],"version-history":[{"count":1,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/40159\/revisions"}],"predecessor-version":[{"id":40166,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/40159\/revisions\/40166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/media\/40160"}],"wp:attachment":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/media?parent=40159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/categories?post=40159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/tags?post=40159"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/coauthors?post=40159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}