8,153
edits
Changes
Created page with "Training Stress Balance (TSB) is a method for evaluating the effect of training over time. This approach assumes that given training stress, also known as "training impulse" or [..."
Training Stress Balance (TSB) is a method for evaluating the effect of training over time. This approach assumes that given training stress, also known as "training impulse" or [[TRIMP]] ('''TR'''aining '''IMP'''ulse), has both a positive and a negative effect. The positive effect could be considered "fitness", and the negative effect could be considered "fatigue." The positive effect is called Chronic Training Load (CTL) and the negative effect is called Acute Training Load (ATL). Both CTL and ATL are based on TRIMP, with the effect of a given workout reducing over time, but the effect lasts longer on CTL than on ATL. In addition the TSB method assumes the effect is greater on CTL than on ATL.
=TSB For a Single Workout=
[[File:TSB Single Workout.jpg|none|thumb|500px]]
The image above shows the effect of a single workout on the Training Stress Balance. You can see the workout creates a peak in both ATL and CTL. The peak is greater ATL, but reduces more quickly than in CTL. The Training Stress Balance is CTL-ATL, and you can see it initially go negative indicating a reduced ability to perform, then rises to be positive as CTL becomes greater than ATL. This green TSB line is the same as that seen in [[Supercompensation]].
=TSB for Multiple Workouts=
[[File:TSB Multiple Workouts.jpg|none|thumb|500px]]
The effect of a continuous series of identical workouts on TSB is shown in the image above. The ATL rises sharply and reaches a steady-state, with CTL rising more slowly to a greater level. The TSB (CTL-ATL) initially goes negative, but rises towards a positive steady-state.
=The value of the TSB model=
The TSB model can provide an estimation of how changes in training load affect fatigue and performance. A positive TSB indicates improved performance.
=Flaws in the TSB model=
The first flaw in the TSB model is that it ignores [[Overtraining]], as any possible workload produces improved fitness. The second and somewhat related flaw is that it ignores [[Training Monotony]]. Research has shown that training with a high level of monotony reduces the benefits and increases the fatigue from a given level of training.
=An Advanced TSB=
One approach to addressing these flaws is to use the calculated [[Training Monotony]] to change the TSB calculation. Higher levels of monotony should reduce the CTL value, increase the ATL value, and increase the time constant used to reduce the effect of a workout on ATL. I've built this into my [[SportTracks Dailymile Plugin]].
=Calculation Details=
Understanding these details is not required for using the TSB, but you may find them interesting.
==The basic formula==
The basic formula for calculating ATL/CTL uses an [http://en.wikipedia.org/wiki/Moving_average\#Exponential_moving_average Exponential moving average] that is calculated like this:
ATL<sub>today</sub> = [[TRIMP]] * λ<sub>a</sub> * k<sub>a</sub> + ((1 – λ<sub>a</sub>) * ATL<sub>yesterday</sub>
CTL<sub>today</sub> = [[TRIMP]] * λ<sub>f</sub> * k<sub>f</sub> + ((1 – λ<sub>f</sub>) * CTL<sub>yesterday</sub>
As you can see this is an iterative approach, calculating the value for the oldest workout, then iterating through each subsequent workout.
===Lambda===
The calculation for λ<sub>a</sub> and λ<sub>f</sub> is:
λ<sub>a</sub> = 2/(N<sub>a</sub>+1)
λ<sub>f</sub> = 2/(N<sub>f</sub>+1)
Where N<sub>a</sub> and N<sub>f</sub> are the time decay constants, normally 7 and 42 days respectively. The [http://en.wikipedia.org/wiki/Half-life half-life] for a given value of N is N/2.8854, so 7 days gives a half-life of 2.4 days and 42 days is 14.5 days.
===Scaling Factors===
The values k<sub>a</sub> and k<sub>f</sub> are the scaling factors for fatigue and fitness respectively. Normally k<sub>a</sub> is set to 1 and k<sub>f</sub> is set to 2, meaning that a workout produces twice as much fitness as fatigue.
==Adjusting for Monotony==
The calculation of Monotony is covered in [[Training Monotony]]. The modified calculation for ATLm (ATL<sub>monotony</sub>) and CTLm (CTL<sub>monotony</sub>):
ATLm<sub>today</sub> = [[TRIMP]]<sub>am</sub> * λ<sub>ma</sub> * k<sub>a</sub> + ((1 – λ<sub>ma</sub>) * ATLm<sub>yesterday</sub>
CTLm<sub>today</sub> = [[TRIMP]]<sub>cm</sub> * λ<sub>f</sub> * k<sub>f</sub> + ((1 – λ<sub>mc</sub>) * CTLm<sub>yesterday</sub>
===Modified TRIMP===
The value of [[TRIMP]] is modified by monotony:
[[TRIMP]]<sub>am</sub> = ([[TRIMP]] *MonotonyRatio * ATLmStressPercent) + ([[TRIMP]] * (1 - ATLmStressPercent))
[[TRIMP]]<sub>cm</sub> = ([[TRIMP]] *MonotonyRatio * CTLmStressPercent) + ([[TRIMP]] * (1 - CTLmStressPercent))
The ATLmStressPercent and CTLmStressPercent are how much of the monotony modification to apply, which defaults to 50% (0.5).
===MonotonyRatio===
Using raw monotony tends to have an overly large impact. Instead, the concept of a 'monotony break even' is used, which is the monotony level that an athlete has no negative effects. This defaults to 1.5. In addition, higher levels of monotony tend to produce unreasonably high monotony values, so monotony is capped, by default at 4.0. The MonotonyRatio is then:
MonotonyRatio = min(Monotony, MonotonyCap) / MonotonyBreakEven
===Adjusting Fatigue Lambda===
Because [[Training Monotony]] increases the time that fatigue lasts for, the value of λ<sub>a</sub> is modified to create λ<sub>ma</sub>:
λ<sub>ma</sub> = λ<sub>a</sub> * MonotonyRatio * ATLmLambdaPercent + (λ<sub>a</sub> * (1 - ATLmLambdaPercent))
The ATLmLambdaPercent is how much of the monotony modification to apply, which defaults to 50% (0.5).
=TSB For a Single Workout=
[[File:TSB Single Workout.jpg|none|thumb|500px]]
The image above shows the effect of a single workout on the Training Stress Balance. You can see the workout creates a peak in both ATL and CTL. The peak is greater ATL, but reduces more quickly than in CTL. The Training Stress Balance is CTL-ATL, and you can see it initially go negative indicating a reduced ability to perform, then rises to be positive as CTL becomes greater than ATL. This green TSB line is the same as that seen in [[Supercompensation]].
=TSB for Multiple Workouts=
[[File:TSB Multiple Workouts.jpg|none|thumb|500px]]
The effect of a continuous series of identical workouts on TSB is shown in the image above. The ATL rises sharply and reaches a steady-state, with CTL rising more slowly to a greater level. The TSB (CTL-ATL) initially goes negative, but rises towards a positive steady-state.
=The value of the TSB model=
The TSB model can provide an estimation of how changes in training load affect fatigue and performance. A positive TSB indicates improved performance.
=Flaws in the TSB model=
The first flaw in the TSB model is that it ignores [[Overtraining]], as any possible workload produces improved fitness. The second and somewhat related flaw is that it ignores [[Training Monotony]]. Research has shown that training with a high level of monotony reduces the benefits and increases the fatigue from a given level of training.
=An Advanced TSB=
One approach to addressing these flaws is to use the calculated [[Training Monotony]] to change the TSB calculation. Higher levels of monotony should reduce the CTL value, increase the ATL value, and increase the time constant used to reduce the effect of a workout on ATL. I've built this into my [[SportTracks Dailymile Plugin]].
=Calculation Details=
Understanding these details is not required for using the TSB, but you may find them interesting.
==The basic formula==
The basic formula for calculating ATL/CTL uses an [http://en.wikipedia.org/wiki/Moving_average\#Exponential_moving_average Exponential moving average] that is calculated like this:
ATL<sub>today</sub> = [[TRIMP]] * λ<sub>a</sub> * k<sub>a</sub> + ((1 – λ<sub>a</sub>) * ATL<sub>yesterday</sub>
CTL<sub>today</sub> = [[TRIMP]] * λ<sub>f</sub> * k<sub>f</sub> + ((1 – λ<sub>f</sub>) * CTL<sub>yesterday</sub>
As you can see this is an iterative approach, calculating the value for the oldest workout, then iterating through each subsequent workout.
===Lambda===
The calculation for λ<sub>a</sub> and λ<sub>f</sub> is:
λ<sub>a</sub> = 2/(N<sub>a</sub>+1)
λ<sub>f</sub> = 2/(N<sub>f</sub>+1)
Where N<sub>a</sub> and N<sub>f</sub> are the time decay constants, normally 7 and 42 days respectively. The [http://en.wikipedia.org/wiki/Half-life half-life] for a given value of N is N/2.8854, so 7 days gives a half-life of 2.4 days and 42 days is 14.5 days.
===Scaling Factors===
The values k<sub>a</sub> and k<sub>f</sub> are the scaling factors for fatigue and fitness respectively. Normally k<sub>a</sub> is set to 1 and k<sub>f</sub> is set to 2, meaning that a workout produces twice as much fitness as fatigue.
==Adjusting for Monotony==
The calculation of Monotony is covered in [[Training Monotony]]. The modified calculation for ATLm (ATL<sub>monotony</sub>) and CTLm (CTL<sub>monotony</sub>):
ATLm<sub>today</sub> = [[TRIMP]]<sub>am</sub> * λ<sub>ma</sub> * k<sub>a</sub> + ((1 – λ<sub>ma</sub>) * ATLm<sub>yesterday</sub>
CTLm<sub>today</sub> = [[TRIMP]]<sub>cm</sub> * λ<sub>f</sub> * k<sub>f</sub> + ((1 – λ<sub>mc</sub>) * CTLm<sub>yesterday</sub>
===Modified TRIMP===
The value of [[TRIMP]] is modified by monotony:
[[TRIMP]]<sub>am</sub> = ([[TRIMP]] *MonotonyRatio * ATLmStressPercent) + ([[TRIMP]] * (1 - ATLmStressPercent))
[[TRIMP]]<sub>cm</sub> = ([[TRIMP]] *MonotonyRatio * CTLmStressPercent) + ([[TRIMP]] * (1 - CTLmStressPercent))
The ATLmStressPercent and CTLmStressPercent are how much of the monotony modification to apply, which defaults to 50% (0.5).
===MonotonyRatio===
Using raw monotony tends to have an overly large impact. Instead, the concept of a 'monotony break even' is used, which is the monotony level that an athlete has no negative effects. This defaults to 1.5. In addition, higher levels of monotony tend to produce unreasonably high monotony values, so monotony is capped, by default at 4.0. The MonotonyRatio is then:
MonotonyRatio = min(Monotony, MonotonyCap) / MonotonyBreakEven
===Adjusting Fatigue Lambda===
Because [[Training Monotony]] increases the time that fatigue lasts for, the value of λ<sub>a</sub> is modified to create λ<sub>ma</sub>:
λ<sub>ma</sub> = λ<sub>a</sub> * MonotonyRatio * ATLmLambdaPercent + (λ<sub>a</sub> * (1 - ATLmLambdaPercent))
The ATLmLambdaPercent is how much of the monotony modification to apply, which defaults to 50% (0.5).