Publication: "Estimating running performance combining non-invasive physiological measurements and training patterns in free-living"
Our latest work, titled "Estimating running performance combining non-invasive physiological measurements and training patterns in free-living" was accepted for publication at the 40th International Engineering in Medicine and Biology Conference.
In this work we build models able to estimate running performance using 2 years of real world data from more than 2000 individuals, including morning physiological measurements obtained using HRV4Training, workouts acquired from Strava and TrainingPeaks, anthropometrics and training patterns.
In particular, we provide insights on the relationship between training and performance, including further evidence of the importance of training volume and a polarized training approach to improve performance.
More details, at this link.
This post is mainly motivated by countless emails (and a few negative reviews) that we have received regarding the possibility to integrate the Apple Watch in HRV4Training, which clearly highlight some misinformation around the topic of both HRV and the Apple Watch itself.
Simply put, at this stage, the Apple Watch cannot be used for reliable and meaningful HRV analysis using third party apps.
Interested in learning why? Read on.
Blog post by Marco Altini
We have released a new feature in HRV4Training, lactate threshold estimation. In this post, we go over the background, cover what we mean as lactate threshold, how you can use this feature to plan and track your trainings and progress and also provide additional details about the underlying algorithms that we developed to estimate lactate threshold and its accuracy, as well as some of the current limitations.
Lactate threshold estimation in HRV4Training and actual 10 km race time.
TrainAsONE is your very own AI personal running coach that helps to keep you fit, healthy, and injury free whilst training to reach your goal. Designed for runners of all abilities, award-winning TrainAsONE constantly adapts to your lifestyle and every run your perform (or miss). Powered by advanced artificial intelligence and big data analysis of over 11 million kilometres of running, an indicator of its success is the weekly tally of personal bests and approaching 100 podium places enjoyed by their users to date.
We recently collaborated with TrainAsOne and added their platform to the list of our supported integrations, allowing all TrainAsOne users to push HR and HRV data via HRV4Training.
Similarly to other integrations, you will have to go to Menu / Settings and enable the integration, then login with your TrainAsOne credentials, so that we can push HRV data each morning automatically, right after the measurement.
You can also manually push data for any past day from the History page, by tapping a measurement bar, and selecting 'Push to TrainAsOne' - data will show up under Settings / Health and Metrics in TrainAsOne.
We hope you'll enjoy the new feature. Please see a few screenshots below.
Blog post by Marco Altini
Heart rate variability (HRV) is a well-understood phenomenon allowing us to monitor objectively physiological stress.
However, historically HRV analysis has been poorly standardized, leading to difficulties in properly designing and implementing studies as well as difficulties in comparing studies outcomes. The ease of access to HRV data today often obscures the complicated nature of understanding and correctly interpreting the information provided and underlying physiological processes.
When designing HRV4Training we had to make several choices that I'd like to highlight here as transparency and clarity can only move this field forward.
In this (updated) post we cover the basics of HRV and in particular the physiological mechanisms behind it, as well as best practices and a brief introduction to data analysis. I hope what follows can give some clarity to the ones interested in learning more about physiological stress and how their body responds to it.
What is heart rate variability (HRV)?
Each beat of our heart is triggered by an electrical impulse that can be easily recorded by an electrocardiogram (ECG), one of the most common ways to monitor heart activity. However, our heart doesn't beat at a constant frequency. When we talk about heart rate variability (HRV), we are interested in capturing the variability that occurs between heart beats.
Let's look at 60 seconds of ECG data. This is some data I recorded on myself using the ECG Necklace, a research prototype we developed when I was working at imec, a few years ago. The device is a small sensor connected to 2 ECG leads:
In technical jargon, the differences between beats are called RR intervals. The name derives from the fact that the shape of the ECG signal at each beat has been assigned letters (namely the QRS complex). For more on the QRS complex you can just have a quick look on the Wikipedia page, however the only relevant point here is that R represent the peak(s). Going back to my ECG, if we zoom in a bit and look at only 10 seconds, we can see clearly there are differences between intervals; some are shorter, other longer:
Another way we can look at these differences is by plotting an histogram of the RR intervals. Basically we stack up RR intervals that are of similar duration. This way it's actually much easier to see how the values are distributed over a rather wide range. For this plot, I used again the full minute of data from the first plot:
It was April 12, 2017, 5 days out from the 2017 Boston Marathon when my coach (Adam St. Pierre Carmichael Training Systems) first introduced me to HRV4Training.
As a physician, runner, and gadget geek I was immediately intrigued by this quantitative metric of stress. Both personally and professionally my stress over the past ten years of life has been both manageable and predictable. My professional time was spent working shifts at my local hospital. While my shifts were often stressful, I was able to leave my stress where it belonged (at work). When I was off I was off, and could sleep well knowing that my partners would provide great care for the patients I had handed off to them. After a tough shift, I would intuitively know that my body and mind needed rest. Easy runs after hard shifts were the norm.
As life would have it, one month after learning about HRV4Training my career took a dramatic change. I was laying awake at 3AM at the hospital when I came across a posting on my Facebook feed asking if I would be interested in founding an online primary care practice especially for runners called SteadyMD. I was immediately hooked and found myself on a plane bound for St. Louis to meet with the founders of the company. The day after my meeting in St. Louis I embraced entrepreneurship and began monitoring my HRV.
My life of predictable stress as a physician, parent, and athlete quickly morphed into a life of unpredictable stress by adding the additional role of startup entrepreneur. Many of my friends are founders of companies. For years they have shared their stresses with me, but it wasn’t until recently that I could relate to what they had been going through.
Challenge has always been my main motivator in life. Easy tasks don’t engage me. Medical school, mountaineering, big wall climbing, backcountry skiing, marathons, and raising a family have all been my objectives. Starting a business is hands down the hardest thing I have done to date.
As an entrepreneur my work is no longer confined to the walls of the hospital. My sleep has become more erratic with late nights responding to emails followed by early mornings waking with epiphanies and excitement. Despite my increased workload, balance is of paramount importance to me. Falling into the trap of neglecting family, career, and workouts is not an option. HRV tracking has been a useful tool to achieve this balance.
Metrics aside, spending 60 seconds every morning checking HRV provides a valuable opportunity to build self-awareness. Learning to listen to your body is an invaluable skill. I use the HRV testing interval as a daily ritual to check in with myself and simply be mindful of my situation.
My HRV consistently drops after busy hospital shits, nights of restless sleep, and periods of consistent hard training. As a runner I train with heart rate and power. Many argue that these metrics are inferior to pacing based on perceived exertion. I agree that self-awareness is the ultimate measure, but for most people objective quantitative metrics are a means to help better understand ones body.
Since partnering with SteadyMD I have found utility in using HRV4Training as a means to coach my patients to a healthy stress/rest balance. In the recent book Peak Performance by Magness and Stulberg the authors present a growth equation that is defined as growth=stress+rest. HRV is a great way to quantify the rest portion of the equation. HRV provides me as a physician a window into my patients’ progress towards growth.
For years I have seen athletes over train and suffer the consequences of deteriorating performances, injuries, and even development of chronic medical conditions.
My goal at SteadyMD is to keep my patients healthy and performing to their potential. To learn more about my innovative primary care practice for runners that provides you access to me from the convenience of your Smartphone go my website www.steadymd.com/hrv or follow me on Facebook, Instagram, or Twitter @steadymdrunning
Final Surge is the training and coaching platform that empowers athletes and coaches to reach fitness and performance excellence like never before. Ideal for runners, cyclists, and multisport athletes and coaches in sports like triathlon, duathlon, XTERRA and more. Final Surge is used by athletes, coaches, teams and clubs of many sports around the world where performing your best is what it’s all about. FinalSurge.com, and the Final Surge iOS and Android app, have all of the features you need to track and analyze your training, from communicating with coaches and planning future workouts to synchronizing workout, activity, and GPS data from your tracking devices. We recently collaborated with Final Surge and added their platform to the list of our supported integrations, allowing all Final Surge users to push HR and HRV data via HRV4Training.
Similarly to other integrations, you will have to go to Menu / Settings and enable the integration, then login with your Final Surge credentials, so that we can push HRV data each morning automatically, right after the measurement.
You can also manually push data for any past day from the History page, by tapping a measurement bar, and selecting 'Push to Final Surge' - data will show up under Daily Vitals in Final Surge.
We hope you'll enjoy the new feature. Please see a few screenshots below.
Today's Plan is one of the leading platforms used by cyclists to track and optimize training, including a sophisticated training system, coaching tools and analytics as well as many integrations with other sensors and tools out there.
As many HRV4Training users are also Today's Plan users, we have received many requests to integrate the two platforms. Today's Plan provided great support in the past few weeks so that we could add their platform to our integrations, and provide all HRV4Training users with the possibility to push their physiological data to Today's Plan.
Similarly to other integrations, you will have to go to Menu / Settings and enable the integration, then login with your Today's Plan credentials, so that we can push HRV data each morning automatically, right after the measurement.
Note that you will be able to push data to Today's Plan only if you are a premium user on their platform, otherwise we are not allowed to push data.
You can also manually push data for any past day from the History page, by tapping a measurement bar, and selecting 'Push to Today's Plan' - data will show up under Calendar in Today's Plan.
We hope you'll enjoy the new feature. Please see a few screenshots below.
Blog post by Marco Altini
This is a short post in which I’d like to cover just one aspect of HRV monitoring and more specifically of guiding training based on physiological responses, which I see it’s something often misunderstood or in general not completely clear when approaching tools like HRV4Training or other similar apps. While HRV4Training provides many insights, some of them built around trying to better understand the big picture and avoid overtraining (see for example HRV Trends, VO2max Estimation , Training Load Analysis , etc.) - I see the main misconception is often on the day to day use of the app.
Let’s revise the basics: HRV, in particular rMSSD or a transformation of rMSSD such as HRV4Training’s Recovery Points, are simply a way to capture parasympathetic activity, or in other words, level of physiological stress. As we apply stress to trigger certain adaptations, measuring our body’s response to such stressors, as well as to all other forms of stress we are affected from (e.g. simply life happening, work stress, family, etc.), is very helpful as it can provide objective feedback and help us making meaningful adjustments, the simpler adjustments is probably just being a little more honest with ourselves, and slowing down from time to time, especially when our body is already too stressed.
The example I’ve just highlighted is something we all understand quite well, higher stress as shown by lower HRV highlights how it might be a good idea to take it easy and avoid excessive stress which might lead to overtraining or slower recoveries, hindering improvements in performance.
Now the main point of this article: what do you do when it’s all good? Should you push it all the time because your HRV is within normal values, often shown in apps as a green light?
Of course not.
The fact that your body is in a (physiologically speaking) normal state, is what you should aim for. Normal is good. However, this does not mean that every time HRV looks good you should go hard. The point I’m trying to make, which I’ve discussed also in this podcast with Molly and Peter at the Consummate Athlete, is that you first need to have a plan, then you can make adjustments based on how you respond to such plan, which is something HRV and physiological measurements can allow you to do, by providing feedback on your individual specific physiological response to your training plan.
Normal values, or in other words a green light, should give you confidence that everything is going well and in general you are coping well with your current training and lifestyle. Yet, if your training plan says you are due for a rest day, take it. If you are due for a low intensity workout, do it. Small adjustments such as flipping an intense workout scheduled for tomorrow are another way to make better use of these measurements, however it is important to understand that HRV and physiological measurements are tools for awareness, which allow you to understand how you respond to a particular plan, not to replace your plan entirely.
To sum it all up:
Where to go from here?
As you gather more data, looking at long term trends is definitely when things get more interesting, and in particular looking at baseline changes over time, with respect to your normal values (or SWC in technical terms). Check out for example this article by Plews and Prof to see how they use the data in the long term for their athletes, as well as our analysis of long term trends using multiple parameters (both physiological and in terms of training load), and finally an overview of a few recent studies using similar approaches, that you can easily replicate inside the app, at this link.
Another important aspect highlighted also in the long term trends analysis linked above, is the fact that HRV is not necessarily a metric to be optimized towards some specific value. While we might want certain metrics to improve over time, and others do change as a consequence of our training, for example think about resting heart rate decreasing as a result of the heart muscle improving, HRV does not necessarily behave in the same way. In my opinion, the best way to make use of HRV is to use it as a continuous feedback loop so that we are more aware of the overall level of stress on the body and can make day to day adjustments aiming at eventually optimizing recovery and improving performance.
Stay in touch
Blog post by Marco Altini
Today we are releasing a new feature in HRV4Training, automatic altitude and weather tracking.
Quite a few users and elite teams asked about the relation between resting physiology and temperature changes as well as with respect to altitude (think elite athletes training at altitude for certain periods of time).
A few questions that come to mind: can altitude adaptations be captured through resting measurements? (for example how well we adapt). What kind of changes should we expect? What's behind individual differences in altitude adaptations?
Additionally, some of the insights we provide might be affected by other variables, for example what's the relation between resting physiology and temperature (basically seasonality of these measures)? How are other metrics estimated by the app potentially effected by temperature or altitude? (e.g. VO2max).
We have some insights on these relationships based on published literature (see very short and not comprehensive summary below), but we believe we'll understand much more now that these parameters can be tracked in large populations for much longer periods of time (e.g. years), so hopefully there will be more to say or understand in a couple of months from now, especially on individual differences.
What do you get?
With this feature, we also improved the basic location tracking present in the app to automatically fill in your location instead of asking you to do so manually as well as include these parameters in the Correlation analysis under Insights. The traveling Tag will also be updated automatically when location changes, and all data will be available to your coach in the coach app. In particular, the new feature will enable the following functionalities:
We hope you'll enjoy the new feature and find it valuable to better understand how your body responds to different environmental conditions. Please read below for more details.
Blog post by Marco Altini
[data, code and plots used in this blog post are available on github, at this link]
In early 2016 I answered to a question on Quora on wrist based HRV sensors. The answer was read about 6000 times as of mid 2017, which feels like a decent amount of interest for an obscure platform and a niche topic. I've been updating the answer over time as we've tested more wrist based sensors with the ability to provide RR intervals or raw PPG data, however none of them was up to the standards required by the sports science industry until now.
With the Zoom HRV wrist based sensor, developed by LifeTrak (it's about 139 USD on Amazon), we finally have a device that is able to measure HRV from the wrist reliably and also comply to standard protocols so that you can use it with your favorite apps, just like a chest strap.
Before we start looking at the data, I'd like to list what we'll be focusing on with this post, as there are many aspects to possibly discuss, and we will cover only a few. In particular, we'll cover:
We will not be discussing the software platform around this device and other functionalities. In particular, this is not a review of the Zoom HRV device, this blog post serves only as a validation of the basic ability of the device to measure RR intervals and as a discussion around other points I consider valuable (standards, type of measurements).
We leave it up to others to evaluate the user interface, usability, effectiveness of the additional features built on top of the basic measure. It would make little sense for us to comment as this is supposedly a 'competitor product'.
Why we picked this device and why we believe complying to standards is key to be taken seriously in this business
The Zoom HRV device is not the only one claiming accurate HRV analysis from the wrist. The reason why we choose this one is that it's basically the only one that complies to standard protocols, capturing RR intervals (beat to beat differences used to calculate HRV) and sending them via the standard bluetooth 4.0 heart rate protocol.
Why is this important? Unfortunately most sensors are either locked behind proprietary software / apps or providing only custom metrics, hence they cannot be evaluated in their ability to do what they claim (can they actually measure HRV?), and they cannot be used by other apps.
In our view, wrist based sensors should be just like chest straps, complying to standard protocols, cost effective, allowing users to pick the one they want and use them with different apps, for both working out (Strava, Polar flow, ecc.) and HRV analysis (HRV4Training, Elite HRV, etc).
The only product today on the market that seems to have understood this, is the Zoom HRV wristband by LifeTrak, which does offer also an app and a series of additional tools should you be interested in using their platform, but it does not preclude you from using the device with other apps. This seems to me a smart choice, as more people might be interested in buying your hardware even if they don't care about your software solution (as I did myself).
Blog post by Marco Altini
We've tried something new to bring VO2max estimates to cyclists and not only runners in HRV4Training [this feature will be available by the end of April, 2017] 🚴 🚴🏻♀️ 📱 🔬
In this post we provide an overview of VO2max, explaining what the estimate is good for, and our data driven approach to bring the same feature to cyclists using the app.
Let's start with the basics.
What's a VO2max estimate?
Direct measurement of oxygen volume during maximal exercise, or VO2max, is the gold standard for cardiorespiratory fitness assessment .
There are a series of practical limitations to VO2max testing (and other limitations due to common misunderstandings around this variable, please see the next section for more on this), for example the need for specialized personnel, expensive medical equipment, high motivational demands of the subject, health risks for subjects in non-optimal health conditions (which limits applicability), and so on . Even when testing conditions are not a problem, performing a maximal test until exhaustion just to monitor fitness level might interfere with your current training program.
For these reasons, scientists have been working on submaximal tests, or tests that do not require maximal effort and use easy to acquire parameters to determine VO2max. Any model providing a VO2max value based on parameters other than measuring your oxygen uptake during a test to exhaustion are estimates.
Submaxmial tests have been developed already more than 60 years ago to estimate VO2max during specific protocols while monitoring HR at predefined workloads . Basically, these tests rely on the inverse relation between fitness and HR, with higher HR (for a given workload) typically associated to lower fitness level and viceversa. Contextualizing heart rate (HR), e.g. determining the HR during specific activities, was a good step forward in terms of practical applicability, compared to maximal tests. However, some limitations still apply: the test needs to be re-performed every time that fitness needs to be assessed, still a pre-defined protocol is required,. etc.
Ideally, we would like to keep track of VO2max or cardiorespiratory fitness without the need to perform a specific test. As technology got better and we have plenty of sensors able to acquire accelerometer, GPS and HR data in free-living, during my PhD I've developed several machine learning models that would do just that, for the general population, so without even including exercise data (basically HR while walking at different intensities/locations as a predictor of fitness, see [4, 5, 6] for details).
My results as well as attempts from others that tried to estimate VO2max from rest data, for example HR or HRV, clearly show that using only rest data is insufficient to estimate VO2max with good accuracy . This is the reason why we haven't introduced VO2max estimation models before, and also why the feature was enabled only for runners using Strava and a HR monitor during training. Including workouts data and more specifically heart rate data at a certain workload / effort, is key in providing accurate estimates.
What is this estimate good for?
I will leave it to others to discuss the limitations of VO2max as a measure of human performance (see Magness, Noakes, and others that do a great job explaining the complexities of oxygen consumption, running efficiency, and how the scientific community has been giving a bit too much credit to this variable in the past decades) across individuals (and even within individuals).
What I would like to do here is to highlight how the estimate can be very informative both at the population and at the individual level, as what it relies on, is contextualized physiological data under submaximal effort, the real parameter of interest for us.
The idea is that tracking VO2max over time, as estimated by submaximal heart rate, can provide a proxy to performance/ fitness and therefore help you understand if you are getting in a better shape, and can potentially race faster, just by using available training data and therefore without putting additional stress on the body with specific tests.
For runners, cyclists or triathletes, for example as training improves aerobic capacity and heart rate lowers at a given intensity, VO2max estimates track well with improvements in fitness and performance as determined in racing events. This is true for athletes of any level, as you can easily find logs of ironman champions going through a base phase which gradually lowers their heart rate at easy intensities, as well as recreational athletes improving their fitness in a similar way.
So if submaximal heart rate (e.g. your heart rate while running at a certain pace) is the real variable of interest, why do we use it to estimate VO2max instead of just providing it?
The reason is to make it easier to interpret. Submaximal heart rate outside of lab settings means for example that we create a feature computed as pace / heart rate (as we can't get everyone to run at the same pace like you'd do in the lab) which is a number that represents fitness but is not 'meaningful to a human'. We introduced the pace to heart rate ratio in a recent publication to contextualize heart rate by effort (or workload) and showed that it provides the best predictor for VO2max (with respect to anthropometrics data and resting physiological data) .
Using this predictor to estimate vo2max brings things back to numbers we are more accustomed to, and a bit of standardization, I believe can help, regardless of all the flaws of vo2max. Once we understand why we estimate it, what is it based on, and what can be used for (e.g. track progress over time), this estimate can be a nice feature to look at from time to time to track changes in fitness.
How do you build a VO2max estimation model?
To build a model able to predict VO2max from certain parameters, you need to collect a dataset, including the following:
These parameters, also called predictors, need to be such that we can acquire them in unsupervised free living settings with minimal burden on the user, as we do not want user to have to do specific lab tests or protocols even in free-living. This is why we came up with the heart rate to pace ratio so that each unsupervised free living GPS workout collected via for example Strava could be used to estimate VO2max regardless of an athlete ability.
Why couldn't we develop the same for cyclists before? For the simple reason that while we had VO2max reference data, we did not have heart rate and power data while cycling in our dataset, hence we could not build a model between these variables and deploy it to new users.
User-generated data to the rescue
How did we overcome this problem? We've now tried something new to bring VO2max estimation to cyclists, by using a data driven approach and relying on our growing community of triathletes. In particular, we used triathletes data, as it includes both running and cycling, to model the relation between estimated VO2max (from free-living running data) and cycling-related variables, such as power and heart rate while riding.
In this way we could build new models to estimate VO2max relying ONLY on cycling-related variables, and deploy such models to all cyclists using the app.
Here is an overview of this approach:
In particular, here is an overview of the anthropometrics data of the included triathletes:
This dataset includes 400 people using HRV4Training for several months, and a minimum of 30 cycling workouts with power and heart rate and 30 running workouts with GPS and heart rate data, plus resting physiological measurements.
As we estimate VO2max from running variables and then use this estimate as our new reference, we first would like to make sure our new VO2max reference is a good proxy of human performance, as we've shown in our latest publication . Below is the relation between VO2max estimated from running variables and half marathon time on this dataset, showing once again a strong correlation and giving us confidence that the estimated VO2max can be used for this purpose:
Never forget that this is user-generated data acquired in uncontrolled free-living settings. We did not take 10 people and have them run a half marathon all out (classic sport-science study). We did not do any intervention or asked anyone to follow any protocol. Users trained according to their training plans, and we extracted the best half marathon time over periods of 3 months to a year depending on available data, resulting in the 400 data points shown above. Hence this data are noisy, some users might have never ran a half marathon at intense effort, others might have a noisy heart rate signal, maybe acquired via PPG with a watch. The large amount of data is such that regardless of the unsupervised settings we can capture a strong relation between estimated VO2max and running performance, if such relation exists, as shown above.
At this point we built different models and eventually settled on the best performing one, including age, BMI, gender, average power, average heart rate and resting heart rate as predictors of VO2max for cyclists.
Below is a cross-validation (leave one subject out) on triathletes data, where we used as reference the VO2max estimated from running data, and we predicted VO2max using cycling related variables, then compared the estimated VO2max from cycling parameters with the estimated VO2max from running parameters.
What we expect (more like hoped for) here is VO2max estimates coming from different sets of parameters (pace and heart rate for running and power and heart rate for cycling) to be very similar, as the goal of the estimate is to capture a person's fitness level, which is indeed the case looking at the plot above.
In this post we showed how we could rely on triathletes user-generated data to develop new features from data acquired only under uncontrolled free-living settings. Personally, I think this is one of the most interesting aspects when deploying a validated technology in the hands of thousand of people, and then trying to analyze data and build new models and features, going beyond what is possible in small scale clinical studies.
From a practical point of view, what matters here is the ability to capture submaximal physiological responses to a certain effort (pace or power), which can be translated in fitness level, and useful to track improvements in aerobic capacity over time. We do not care about the specificity of one test or the other (cycling or running), efficiency, muscle fatigue, economy, etc. as it is anyways impossible to take into account such differences while estimating VO2max from variables other than oxygen uptake during an actual maximal workout (and sometimes not even such test). The estimate should be used at the individual level to track changes over time, not as an absolute marker of fitness across individuals, as obviously there is much more to human performance than VO2max or submaximal heart rate, even though the estimate itself correlates quite well with actual running performance at the population level, there is much individual variability.
It is important to understand what this estimate is about, and what can be used for, and hopefully this post provides some clarity around the controversial world of VO2max measurement and estimation, giving you some confidence that you can use the estimate to track progress.
We hope you'll enjoy the feature.
With the next HRV4Training Coach update you'll be able to select a custom range of dates to use to compute your desirable range (basically your normal values, or what in literature is called SWC, smallest worthwhile change) as well as to choose how wide you want it (half a standard deviation (SD), 1 SD, etc.).
This update is a bit on the technical side, but it can be useful after you've collected a few months of data and are trying to make sense of long term adaptations.
When looking at the big picture day to day variations become less important, and we tend to focus on baseline (7 days moving average) changes with respect to training load.
In this context, it can be useful to select a timeframe to determine the desirable range, typically the first few weeks of base training, and then keep the SWC small so that you can analyze baseline deviations, similarly to what is explained by Daniel Plews and Paul Laursen in this post.
We hope you'll find this feature useful!
HRV4Training launched on Android, on March 23rd, you can find it on Google Play. The app contains all features present on iPhone, from the camera based measurement to all the insights we built on top of daily measurements, annotations and workouts as well as integrations with other apps like SportTracks, Strava and TrainingPeaks. In this post, we go over the main features in the app and provide an overview of most functionalities and insights. In particular, we'll look at:
For a general overview of HRV and HRV4Training, please check the quickstart guide.
Blog post by Marco Altini
[HRV4Training will be available on Android by the end of March, 2017. Please follow this page for updates]
Back in 2013 I've developed our first camera-based heart rate variability algorithms, which I first documented here. We went a long way in the past 3-4 years, providing multiple validations and finally publishing a comparison with respect to chest straps and electrocardiography on a very broad range of HRV values last month. While recently we've focused much of our efforts in going beyond the daily measurement and providing meaningful and actionable insights by combining physiological data over the medium and long term with more context (your morning tags, related to sleep, training lifestyle, etc.), there is no doubt one of the main features of HRV4Training is the camera based measurement.
This is also the reason why we hesitated for so long to move to Android. Back when we started development in 2012, it was nearly impossible to have even a Bluetooth link working correctly across phones, let alone hacking the camera. As we decided to finally get busy with Android development again this year, we gave it another shot. It took some time and a few extra optimizations but I'm happy to announce that we have a reliable camera based measurement on Android as well, and in this post I will go over the algorithm and show some data as well as the usual comparisons with respect to chest straps.
Validation paper accepted for publication in the International Journal of Sports Physiology and Performance: PPG vs Polar H7 vs Electrocardiogram
Blog post by Marco Altini
Our validation paper comparing camera based acquisition, Polar H7 (chest strap) and electrocardiography (ECG) was accepted for publication in the International Journal of Sports Physiology and Performance. The paper is titled "Comparison of heart rate variability recording with smart phone photoplethysmographic, Polar H7 chest strap and electrocardiogram methods" and the main author is Daniel Plews, who I'd like to thank, together with all other co-authors (Ben Scott - who carried out the entire data collection, and also enjoyed participating in the study as shown below, as well as M. Wood, A.E. Kilding and Paul Laursen), for their work on this paper.
In this study we had the luck to collect a wide range of rMSSD values, Ben himself provided us with his own ridiculously high HRV data (rMSSD ~300ms), something that triggered the need for a different way to handle artifacts and correct for ectopic beats, as the current standard used in clinical practice (discarding beats that are more than 20-25% apart) would overcorrect in case of such high HRV (these changes have been implemented in the app almost a year ago).
If you've been following this blog, we've shown plenty of samples already to validate the accuracy of the camera based measurement with respect to regular chest straps, for example here, here for iOS10, here for the iPhone 7+ and the double camera drama, and finally here where we compared many different PPG devices. However, this is the first time we show also ECG data, the gold standard (see a sample here). We think it's very important to go through peer reviewing as well and being clear and transparent on our work, and this paper is a good step forward.
I'd like to take the opportunity to stress again that while validated, PPG measurements need to be taken in a certain way, as they are more prone to noise with respect to other methods. It's important to limit movement as much as possible, and in general to follow the simple steps we covered in this blog post. Note also that PPG doesn't work for everyone, for example low perfusion might cause trouble in detecting blood flow with this method, even though we haven't seen many of these cases. This being said, the app is typically pretty good at detecting when things go wrong and informing you. Make sure to obtain optimal signal quality when measuring and to practice using the practice mode under Menu / Resources in the app, if you have trouble obtaining optimal signal quality.
Blog post by Marco Altini
What's training polarization?
We've talked about training polarization a few times in the past. To recap, quite some research in the past 15 years showed how elite runners (and not only runners) spend much of their time training at low intensities (if you are into papers, check out Seiler's work or this review by Paul Laursen). Following early research, interventions have been carried out to randomize runners in groups including a greater amount of low intensity training, and groups including more moderate intensity training. Results showed consistently improvements in running performance for groups training at lower intensities for most of the time, typically 80% of the overall training load. Many runners, coaches and authors have been adopting low intensity training for many years, under slightly different guidelines, but all following the same core principles (see for example heart monitor training by John Parker Jr, most of Phil Maffetone's work - the 180 formula, MAF test, etc. - and more recently 80/20 running by Matt Fitzgerald, who also wrote this nice piece on the topic on RunnersWorld).
Personally, I've reported before how shifting to a much more polarized training brought significant improvements to my running. We also analyzed HRV4Training users and highlighted the same relations on our userbase, for both runners and triathletes (about 400 users in total). Faster runners consistently trained at lower relative heart rate and pace with respect to slower runners, according to the data analyzed at this link.
How does it work?
For the ones adopting this training method, objective data can help keeping ourself honest and keeping track of the overall balance. Similarly, you might simply be curious to know how you are training and analyze training periodization a bit more systematically. While training with a heart rate monitor is a must, as perceived effort might not be very well aligned with how hard we are working our system, sometimes it can still be hard to keep track of how we are doing. Hence, the new training polarization feature aims at providing a simple overview of our past month of workouts, in terms of training intensity above or below threshold.
The threshold can be automatically computed based on your maximal heart rate as retrieved from your workouts, or manually set. You can also run the same analysis for different sports or using power instead of heart rate if you prefer.
Below you can see for example how my data looked before starting a more polarized training program, when I was stuck in moderate intensity training (always training at way to high heart rates, as shown in the medium article, only 23% of my trainings were easy at that stage), and how it looks now that I mainly train at low intensities (78% of my trainings in the past month are now easy), the last screenshot shows improvements in estimated VO2max following 6 months of polarized training (as VO2max is estimated using as one of the main parameters sub-maximal heart rate normalized by pace, changes in aerobic capacity resulting in the ability to run at low intensities faster, will reflect in improvements in VO2max):
This feature will be available by end of February, 2017. Some additional screenshots are shown below, the same functionality will be also available on HRV4Training Coach for all your athletes.
We are about to release a long awaited feature for our TrainingPeaks integration. Many of you asked about getting TSS data automatically in HRV4Training, and luckily our friends at TrainingPeaks just opened up new APIs for us to read workouts data.
We went a bit further and extended the current integration to not only read TSS but also read workouts for swimming, biking, running and rowing trainings, so that most of your morning tags can be automatically pre-compiled (sport type, distance, duration, intensity, average heart rate, cadence, and of course TSS).
Additionally, we also extended the integration to use workouts data for VO2max estimation and other summaries available in the app. Check out the remaining of this post for more details and screenshots of the upcoming changes.
Blog post by Marco Altini
Inspired by the different analysis that our users started putting together to investigate the effect of various stressors (training, travel, alcohol intake, etc.) on their HR and HRV we redesigned the Acute HRV Changes analysis Insight.
Instead of looking only at day to day variations following training (is your HRV reduced after more intense workouts?) we will let you pick different parameters and explore day to day (acute) variations not only with respect to training but also for alcohol intake, travel, sick days and menstrual cycle.
This way you'll be able to analyze more systematically over periods of 3 months how your body is responding to these different stressors, instead of only looking at them anecdotally from the history page.
The new acute HRV changes analysis will be available in about a week.
What's an acute change anyways?
We talked about acute HRV changes a couple of times already. Acute stressors are events that affect your physiology in the immediate future. Think about an intense aerobic workout, an intercontinental flight, a night out with too many drinks, high caffeine intake, etc. Acute stressors are typically the easiest phenomena to interpret and reproduce, and looking at data in the context of acute stressors can help understanding how your physiology works. Looking at acute changes can also help in gaining confidence in the tools we use, as these changes should be captured more easily. Check out this post for some examples from our users, or this tweet, the latest example I could find. In the past we focused much on acute changes in response to training, which we also published in our first paper, however we wanted to provide you with a better way to explore your data and annotations, hence the redesign of this feature.
It's important also to remember that physiology is complex, and while acute HRV changes are often repeatable and easy to understand, there might be other factors behind the relationships that we are seeing (or not seeing) in our data.
Research update: new publication on the relation between estimated VO2max and real life running performance
Blog post by Marco Altini
Quick announcement as our third paper, titled "Relation Between Estimated Cardiorespiratory Fitness and Running Performance in Free-Living: an Analysis of HRV4Training Data" was accepted for publication at the the International Conference on Biomedical and Health Informatics (BHI 2017).
The analysis discussed in this paper is similar to the one recently highlighted on this blog on VO2max and running performance, showing how estimated VO2max in the app is highly correlated with real life running performance for running distances between the 10km and full marathon, and therefore can be used as an effective proxy to running performance without the need for laboratory tests - at the population level.
Relation between running performance (racing duration for distances between the 10 km and the full marathon) and estimated V O2max for data collected using the HRV4Training application in unsupervised free-living settings. A moderate to strong inverse relationship is shown independently of running distance. Distributions of V O2max values and running performance are also shown.
In this work, we first built laboratory-based VO2max estimation models, including reference VO2max data collected using indirect calorimetry, and then deployed our models in the HRV4Training app. More than 500 users linked the app to Strava and used the VO2max estimation models while running distances between the 10km and the full marathon over a period of 1 to 8 months, hence creating a unique dataset on which to investigate the relation between estimated VO2max and running performance. Big thank you to everyone that contributed to this research and helped moving the field forward.
We will be presenting this work next month. We got extremely positive feedback and an invitation to write a follow up journal paper, so we will probably provide more details later on as we keep adding data and investigate the relation between real life performance and estimated fitness.
For the ones interested in reading the paper, you can find the full text at this link on Research Gate and follow our updates on the HRV4Training Project page.
Blog post by Massimiliano 'Massi' Milani & intro by Marco Altini
Me and Alessandra had the pleasure to meet Massi in person when we were in Europe last October, the day after his 10 km PR (33:16). Massi is writing almost on a weekly basis for an italian Blog, TheRunningPitt, curated by GIanmarco Pitteri, another sub 2:30 marathon runner. I highly recommend to all Italian runners this blog, as it's full of great advice on all things running from nutrition to technology. Through TheRunningPitt, I learnt about Massi's statistical mindset and R skills, and I started bothering him to write something for us, so without further ado, here it is. Thank you again Massi for your story (and plots!).
Planning is often the difference between success and failure. As a business manager, I am always seeking new and innovative ways to raise the bar and metrics for success. Over the last seven years I have found distance running to be an invaluable tool for creative planning and individual inspiration. I started running to relieve stress, increase energy, and control my weight, but it quickly turned into an appreciation for not just the physical, but also the mental and professional benefits that can come from a daily 50-minute solo run in the dark. However, having entered distance running as a novice with no performance expectations, I quickly discovered that my competitive nature easily translated to my amateur running. Although I made significant improvements year over year with increased intensity and improving times, eventually the reality of my late start in running and creeping middle age had caused a plateau in my performance. To break through this plateau, I looked for, and found, the next technological edge.
I started using the HRV4 training app at the end of 2015. In my six years of running I had had no significant injuries and constant time improvements from 3h30 marathon in 2010 to 2h37 in 2015. I was worried that I had optimized my training and performance and as I approached 44 years of age, there was no further room for improvement. But by finding the right technology I was able to get that additional edge.
My initial foray into the training application found many competitors along with the HRV4Trainng app in the “optimization recovery arena,” including Elite HRV and Ithlete. At first, I saw the value proposition of the app as the ability to use a camera instead of the Polar H7 chest strap. However, this turned out to be no more than a secondary feature, with the primary benefit being a fantastic dashboard, incredible statistics, and frequent, almost weekly, updates. I signed up to be a beta tester and have been using the heart rate strap instead of the camera because I am more familiar with it and it allows me to be more relaxed during measurements. In the following charts, I am using Rmssd as the metric for HRV for consistency purposes.
Blog post by Marco Altini
I've been doing some optimizations around my running, which mainly translated into adopting a more polarized approach to training (which is called 80/20 running by some, MAF method by others, common ground being that you train most of the time very slow and get rid of moderate intensity running).
After 6 months and much improvement compared to the previous 5-6 years of running, I wrapped up my progress in the blog post you can find at this link, including much data on physiological adaptations to this training plan, in terms of changes in resting heart rate, resting heart rate variability, sub-maximal heart rate during training & more.
Hope some of you will find it interesting, and it would be great to hear more thoughts around this or if anyone experienced similar changes in terms of both performance and physiological adaptations.
We have also opened a discussion on this on our Club on Strava, that should be available at this link: https://www.strava.com/clubs/245021/discussion
Blog post by Marco Altini
This is a short post to highlight some changes to the training load analysis that you can find under Insights in HRV4Training. In particular, we re-worked the last plot of the page, the one showing injury risk, to better reflect current state of the art models used to determine injury risk for endurance athletes as well as teams. We now report the acute to chronic ratio and a few thresholds (color-coded) that highlight which ratios are optimal and which ratios should trigger more caution.
For more details on the training load features, please refer to our previous post where we explain the Banister model and reference to a few other articles that explain very well the theory behind computing chronic and acute training loads as markers of fitness and fatigue.
Initially, we used the difference between chronic and acute training loads to compute injury risk, however the model based on the difference suffers from a few shortcomings: units are arbitrary and change based on the training impulse units, making it difficult to compare or standardize risks (e.g. using thresholds that we can all share and learn from), and is also less readable than the ratio.
The acute to chronic training load ratio has been used a lot recently to estimate injury risk, especially by Tim Gabbett (please check out this article for a comprehensive analysis by Tim). Similarly to any other aspect of training load monitoring and performance optimization, there is no one size fits all and many parameters need to be considered. However, the acute to chronic ratio can be a valuable tool to keep things under control and make sure we do not introduce too much acute load based on our recent chronic load.
The new analysis is available in both HRV4Training and HRV4Training Coach, see two screenshots below:
What you can see above is an optimal area in which training load should be, in order to trigger positive adaptations (this is a ratio of approximately 0.8 to 1.3). A lower ratio, white area, would cause loss of fitness, as basically there is not enough training. An higher ratio, would instead increase injury risk, as it means we are training too much with respect to what we are used to take. We show two "higher risk areas", one between 1.3 and 1.75 in yellow and one above 1.75 in orange.
The new feature will be available by mid December, 2016. We hope you'll find it useful in better managing your training load.
Blog post by Marco Altini
The aim of this post is to assess the ability of the PulseOn wristband in measuring heart rate variability (HRV) at the wrist. We previously wrote another summary of different PPG devices (most sensors that are not chest straps) to determine if they could be used for HRV analysis, you can find the blog post here as well as the data and code on Github here.
As I've explained elsewhere, while there many PPG sensors right now, we cannot use most of them because they either do not comply to standard Bluetooth heart rate profiles or do not provide any standard HRV feature. The PulseOn wristband stands out for a couple of reasons: 1) the company implemented the standard bluetooth low energy heart rate profile, therefore allowing any app to communicate with the sensor pretty much like a Polar H7 would do 2) the company put also some effort in providing reliable beat to beat data and not only averaged heart rate as output. I've been in contact with Ilkka Korhonen, CTO & founder of the company, for a few years as we worked on similar topics during my PhD. Ilkka sent me some additional white papers showing pretty good agreement between RR intervals at rest for the PulseOn and ECG, and therefore this seemed a viable option for our users. Note that the average HRV4Training user typically has higher HRV than the average person, hence it is important to spend some time collecting data for relatively higher rMSSD values, to make sure these bigger variations can be accurately captured. Hence, I grabbed one on Amazon and ran a similar analysis to the one we've documented previously.
In particular, in this post we compare the following sensors:
This post does not aim to be a comprehensive validation, however a small dataset collected under the proper conditions can be sufficient to understand if a device can do the job or not. If a device works well, then additional measurements would be a good idea, to make sure a broader range of values and individuals result in the same outcome, as we did last spring when we validated HRV4Training algorithms at the Sports Performance Research Institute in New Zealand.
Data acquisition setup & measurement protocol
Data was acquired using the sensors mentioned above all connected to a different phone running the HRV Logger app, which is an app that simply records everything coming from the sensor plus additional features. Polar data and HRV4Training PPG data were acquired using a custom app that I developed for our clinical validations at the Sports Performance Research Institute in New Zealand. This app is not commercially available and can record simultaneously data from the two sensing devices, making it easier to synchronize data.
During data acquisition, we collected data a few minutes while breathing freely, and a few minutes while deep breathing, to elicitate higher HRV due to RSA. You will see in the plots below visually the effect of deeper breathing as we get greater swings in RR intervals. The recording used in the analysis below is about 25 minutes of continuous measurement while lying down.
A final note on data synchronization: data cannot be perfectly synchronized because it is not timestamped by the sensors. What we can do is either to log real time and then to split data in windows based on when data was collected, then compute HRV features on these windows or to sum up RR intervals over time. For this analysis we went with the first option, meaning that for each minute we grouped all RR intervals coming from a sensor and used that data to compute HRV (rMSSD). We will see below there is typically less data coming from PPG sensors as they have to deal with more artifacts and some data is often discarded.
We recently partnered with our friends at Elite HRV to provide all HRV4Training users with a special discount on the Foundations of Heart Rate Variability course that Jason Moore and Greg Elliott put together.
The course covers many aspects of HRV measurement, independently of the technology used, and is very comprehensive. We had the opportunity to watch all the material in the past few weeks, and would highly recommend it to everyone interested in the topic. In particular, we really liked all the cheat sheets provided with each video lesson, see this one for example.
In order to get your 10% discount, simply follow this link and when prompted insert the name of your favorite HRV app as promo code [ message us if the hint is not clear enough :) ]
We hope you'll enjoy the course as much as we did!
Register to the mailing list
and try the HRV4Training app!
1. Context & Time of the Day
3. Paced breathing
4. Orthostatic Test
5. Slides HRV overview
1a. Acute Changes in HRV
1b. Acute Changes in HRV (population level)
1c. Acute Changes in HRV & measurement consistency
1d. Acute Changes in HRV in endurance and power sports
2a. Interpreting HRV Trends
2b. HRV Baseline Trends & CV
3. Tags & Correlations
4. Ectopic beats & motion artifacts
5. HRV4Training Insights
6. HRV4Training & Sports Science
7. HRV & fitness / training load
8. HRV & performance
9. VO2max models
10. Repeated HRV measurements
11. VO2max and performance
12. HR, HRV and performance
13. Training intensity & performance
14. Publication: VO2max & running performance
15. Estimating running performance
Camera & Sensors
1. ECG vs Polar & Mio Alpha
2a. Camera vs Polar
2b. Camera vs Polar iOS10
2c. iPhone 7+ vs Polar
2d. Comparison of PPG sensors
3. Camera measurement guidelines
4. Validation paper
5. Android camera vs Chest strap
6. Zoom HRV vs Polar
7. Apple Watch and HRV
1. Features and Recovery Points
2. Daily advice
3. HRV4Training insights
4. Sleep tracking
5. Training load analysis
6a. Integration with Strava
6b. Integration with TrainingPeaks
6c. Integration with SportTracks
6d. Integration with Genetrainer
6e. Integration with Apple Health
6f. Integration with Todays Plan
7. HRV4T Coach advanced view
8. Acute HRV changes by sport
9. Remote tags in HRV4T Coach
10. VO2max Estimation
11. Acute stressors analysis
12. Training Polarization
13. Custom desirable range / SWC
14. Lactate Threshold Estimation
1. Intro to HRV
2. HRV normal values
3. HRV by sport
4. HRV, strength & power
5. AngelSensor & HRV
6. HRV 101: How to
7. Top 5 most read articles
8. HRV normalization by HR
9. How to use HRV, the basics