Sunday, 4 November 2018

Comparing Exercises by converting to 'Steps'

Recently at work, a selection of my colleagues and I were involved in the Virgin Pulse Global Challenge. It was a great challenge that increased my daily steps from around 10,000 steps to 15,000 steps. There were great improvements to my life generally in terms of eating, moving and understanding the affect of my habits on my body.

Part of the challenge was the ability to share steps with others through a leaderboard. This was fun, but quickly it became apparent that there was a massive gap between different exercises. Cycling was the most efficient exercise yielding the greatest number of steps, swimming and weight lifting gave a medium yield of steps for effort but running and walking gave only the face value.

The problem comes from a series of complex methodologies for trying to discern how many 'steps' to give for time spent performing an Activity. A study looked to determine a ratio of working metabolic rates against resting metabolic rate using metabolic equivalents (MET). Different activities have individual MET units which "range from 0.9 (sleeping) to 18 METs (running at 10.9mph)". https://partner.ergotron.com/portals/0/literature/compendium-of-physical-activities.pdf

By using the MET system it is possible to covert average steps for a host of activities, which is what has been done by the Global Challenge. One example can be seen here: http://www.uvm.edu/hrs/healthy/archive/steps.html or on the Global Challenge itself: https://globalchallenge.zendesk.com/hc/en-gb/articles/360000440186

In terms of the challenge it meant that cyclists were constantly doing much better than a runner doing the same hours of exercise because of the conversion. e.g. 1 Hour of high intensity activity.
   Cycling: 343 (per minute) * 60 = 20508
   Running: 180 (per minute) * 60 = 10800
From a competitive perspective this makes it very difficult to compare effort put in to an arbitrary 'steps' conversion amongst say runners, swimmers and cyclists.

I began to think and discuss a way in which a more fair representation could be found to show 'steps' based on effort for the activity itself. This might not be represented in steps but instead as exertions or intensity levels.

Whilst looking to find existing step converters for Node.JS project I found nothing to complete step conversions in the package repository. Instead I created a simple exercise to steps converter: https://www.npmjs.com/package/exerciseconverter which takes an exercise, an intensity and minutes performed into a promise function and returns the total number of steps. Additionally, user can provide a heart rate which determines intensity achieved.

toSteps("Boxing", 3, 10).then(function(steps){
  console.log(steps);
}).catch(function(error){
  console.error("Error: ", error);
})
//output: 3480


If you took the heart rate per minute for when an activity has been performed it is possible to get a more accurate step display. In the node module created this is exposed as an array with an exercise with a heart rate given for each minute of activity performed.

toStepsHRpm("aerobics", [120, 140, 150, 165, 180, 176, 162, 104, 101, 80]).then(function(steps){
  console.log(steps);
}).catch(function(error){
  console.error("Error: ", error);
})
//output: 1872

Currently this could be used to integrate fitness application data of heart rates to get more accurate step metrics for a wide range of activities performed day to day. What this doesn't help with is the ability to create a method for determining effort used to perform a task. In the 'Cycling' and 'Running' example shown earlier the runner would need to run at the pace of Mo Farah to achieve the cadence required without taking into consideration the stride length.

At the end of the hour, the runner would be seriously struggling to continue at the same pace whilst a cyclist could continue at the same rate for much longer periods of time. The exercises are not entirely equal as cycling is better for your knees, joints and causes less muscle soreness, in retrospect running or even walking long distances can have quicker burnout especially at higher intensities.

I would like to expand the exercise converter to include a method for comparing effort against the activity to allow for people exercising to compare their days and weeks of exercise in a fairer way whilst acknowledging the differences of the exercise activities. This might be as simple as an exercise heart rate leaderboard or a fat burn/calories comparison.

Have a thought on how this could be done? Know an existing system that already does this? Think its impossible or unachievable? Let me know in the comments, or post an improvement of the github page for the exercise converter itself.