Saturday, October 5, 2024

Update on the Banister Model

I track my training to help me train enough to reach my goals while not training so much as to result in overtraining, long term exhaustion, and failure. Listening to my body is my best defense against that, but I find it useful to compare what my body is telling me to how much riding I have been doing to help me decide what rides to do next. The tricky bit is what "how much riding I have been doing" means. It's easy to track how many minutes I spend riding (Volume) and it seems reasonable that, all things being equal, a two hour ride will make me twice as fit (Fitness) and twice as tired (Fatigue) as a one hour ride but how fast I ride (Intensity) during those minutes also affects my levels of Fitness and Fatigue. In that case, however, the question of "By how much?" is not so easily answered. The units of Fitness and Fatigue are arbitrary, so as long as I track only minutes, I only need to worry about relative values, absolute values don't matter.  But when I add how hard a ride was (how fast, how hilly, etc., known as Intensity) I am forced to ask how much an increase of speed of 1 miles per hour (for example) affects my Fitness and Form compared to the effect of adding 60 minutes to the length of that ride. Additionally, not only do Fitness and Fatigue increase in response to riding but both also decrease over time when I don't ride. Finally, how to Fitness and Fatigue interact? In my opinion, the answers to these questions are not known with certainty but I also feel like I should make my best guess to their answers and do the best that I can.

One tool many cyclists use to help answer these questions is the commercial Training Peaks software package. An alternative I have been playing with is the Banister model. Thus, I was excited to stumble across this blog post:  "Implementing the Banister Impulse-Response Model in GoldenCheetah". (GoldenCheetah is an open source software package for analyzing cycling data.) In addition to the contents of the blog post itself, the author cites a scholarly paper by Dave Clarke and Phil Skiba which contains a tutorial and review of the Banister model. The reasons I was excited was the confidence boost I got from the fact that someone besides me is interested in the Banister model and the hope that I could learn from their experiences. One big thing I learned was that the community of scientists, coaches, and athletes using the Banister model is focused on customizing the parameters of that model to each individual athlete, something I blogged about doing myself, though that is still a work in progress. This is a feature that Training Peaks does not have, so someone like me who is using the Banister model without customization is no worse off than one of the many Training Peaks users. Also, the Clarke and Skiba paper suggests that the model is not very sensitive to small changes in the parameters suggesting that customization might not be so important.

I have been using the Banister model for more than two years now and it certainly has not been perfect at predicting the impact of my training on my cycling ability, but I have the impression that it does give me hints that are helpful in combination with what my body tells me in optimizing my training. I hope to post more about this in the future as I learn more. So why post about it now?

Five months ago, I blogged that coming up with an equation for calculating my ride Load was a work in progress.The Banister model includes a formula for calculating Load. Load is a combination of Volume, the duration of a ride in minutes and Intensity (how "hard" a ride is.) They are linked as follows:

Load = Volume x Intensity. 

One way to measure intensity uses Heart Rate and there are many different formulas of calculating Intensity from Heart Rate.  I have compared several of these formulas and a number of them seemed fine. Given that, I decided to use the method proposed by Banister, thinking there might be some value in using the Intensity calculation and the accumulated Form, Fatigue, and Fitness model from the same author.

One disadvantage of the Banister method for calculating Load is that is more more complicated than it needs to be, in my opinion. That said, this complexity doesn't seem to make its estimates any worse and that once I coded this method into the spreadsheet I use to track my training, it didn't make tracking my training any harder, so this is what I am using for now to convert the heart rate I measure to Intensity. 

In an attempt to make Banister's method easier to understand, I am going to break it up into pieces. The first thing to know is that the Banister method is based on Heart Rate Reserve (HRR), the difference between the lowest heart rate an athlete exhibits, the resting heart rate, and the highest heart rate they can attain:

HRR = Heart Rate Reserve = (Maximum Heart Rate - Resting Heart Rate)

Intensity is related to how much of that reserve an athlete uses during a particular level of exercise, what I call Fractional Heart Rate Reserve (FHR):

FHR =  (Exercising Heart Rate - Resting Heart Rate) / (Maximum Heart Rate - Resting Heart Rate)

Finally, FHR is used to calculate Intensity:

Intensity = FHR x 0.64 x e(1.92 x FHR)

0.64 and 1.92 are constants that Banister provides.

I went back and recalculated all my Intensity measurements since I obtained my TranyaG0 sports watch in 2022 and the results consistent with my subjective impressions. Problem solved!

How much of a difference does it make to my training if I track Load instead of just tracking Minutes like most coaches recommend? Not a lot, but some. The way I measure that difference is the ratio of Load to Minutes. If Load made no difference, that ratio would be 1. Since I resumed tracking my heart rate in July of 2022, that ratio (averaged over a week) has gone from a high of 1.5 to a low of 0.4. The 0.4 and similar low ratios occur during weeks when most or all of my rides are Zone 1 recovery rides on my trainer and thus those low values were expected. Perhaps Load is more useful for the weeks where Load is greater than Minutes. As noted on the graph above, it is fairly common for the Load to be 1.25 times as large as Minutes. I have noted in the past that I should try to ride at least 300 minutes a week but if I routinely ride much more than 400 minutes a week I risk buildup of Fatigue. Consider a week when I am feeling strong where I might ride for 400 minutes. I might feel like that was on the edge but not excessive. However, it would not be uncommon that the same week might have a Load score of 500 (Load/Minutes=1.25) making it something worth noting.