Difference between revisions of "Training Monotony"

From Fellrnr.com, Running tips
Jump to: navigation, search
User:Fellrnr (User talk:Fellrnr | contribs)
m
User:Fellrnr (User talk:Fellrnr | contribs)
Line 5: Line 5:
  
 
=Monotony Calculations=
 
=Monotony Calculations=
The original work<ref name="OTMonotony"/> on training monotony used TRIMP<sup>cr10</sup> and TRIMP<sup>zone</sup>, but I believe that TRIMP<sup>exp</sup> is more appropriate. From the daily TIMP<sup>exp</sup> values for a given 7 day period the standard deviation can be calculated. The monotony can be calculated using
+
The original work<ref name="OTMonotony"/> on training monotony used TRIMP<sup>cr10</sup> and TRIMP<sup>zone</sup>, but I substitute TRIMP<sup>exp</sup> for TRIMP<sup>zone</sup> because of the advantages noted in [[TRIMP]]]. From the daily TRIMP values for a given 7 day period the standard deviation can be calculated. (If there is more than one workout in a day, the TRIMP values for each are simply added together.) The monotony can be calculated using
  Monotony = (average(TIRIMP<sup>exp</sup>)/stdev(TIRIMP<sup>exp</sup>)
+
  Monotony = average(TRIMP)/stddev(TRIMP)
This gives a value of monotony that tends towards infinity as stdev(TIRIMP<sup>exp</sup>) tends towards zero, so I cap Monotony to a maximum value of 10. Without this cap, the value tends to be unreasonably sensitive to high levels of monotony.  Values of Monotony over 2.0 are generally considered too high, and values below 1.5 are preferable. A high value for Monotony indicates that the training program is ineffective. This could be because the athlete is doing a low level of training; an extreme example would be a well-trained runner doing a single easy mile every day. This would allow for complete recovery, but would not provide the stimulus for improvement and would likely lead to rapid detraining. At the other extreme, doing a hard work out every day would be monotonous and not allow sufficient time to recover. The Training Strain below can help determine the difference between monotonous training that is inadequate and monotonous training that is excessive.  
+
This gives a value of monotony that tends towards infinity as stddev(TRIMP) tends towards zero, so I cap Monotony to a maximum value of 10. Without this cap, the value tends to be unreasonably sensitive to high levels of monotony.  Values of Monotony over 2.0 are generally considered too high, and values below 1.5 are preferable. A high value for Monotony indicates that the training program is ineffective. This could be because the athlete is doing a low level of training; an extreme example would be a well-trained runner doing a single easy mile every day. This would allow for complete recovery, but would not provide the stimulus for improvement and would likely lead to rapid detraining. At the other extreme, doing a hard work out every day would be monotonous and not allow sufficient time to recover. The Training Strain below can help determine the difference between monotonous training that is inadequate and monotonous training that is excessive.  
  
 
=Training Strain Calculations=
 
=Training Strain Calculations=
 
A similar calculation can be used to calculate a value for Training Strain.  
 
A similar calculation can be used to calculate a value for Training Strain.  
  Training Strain = sum(TIRIMP<sup>exp</sup>) * Monotony
+
  Training Strain = sum(TRIMP) * Monotony
 
The value of Training Strain that leads to actual overtraining would be specific to each athlete. An elite level athlete will be able to train up much higher levels than a beginner. However this Training Strain provides a better metric of the overall stress that an athlete is undergoing than simply looking at training volume.  
 
The value of Training Strain that leads to actual overtraining would be specific to each athlete. An elite level athlete will be able to train up much higher levels than a beginner. However this Training Strain provides a better metric of the overall stress that an athlete is undergoing than simply looking at training volume.  
 +
 +
=A simple TRIMP<sup>cr10</sup> based calculator=
 +
This calculator will show the TRIMP<sup>cr10</sup> values for each day, the Monotony, the total TRIMP<sup>cr10</sup> for the week and the Training Strain.
 +
<html>
 +
<script type="text/javascript">
 +
var isArray = function (obj) {
 +
return Object.prototype.toString.call(obj) === "[object Array]";
 +
},
 +
getNumWithSetDec = function( num, numOfDec ){
 +
var pow10s = Math.pow( 10, numOfDec || 0 );
 +
return ( numOfDec ) ? Math.round( pow10s * num ) / pow10s : num;
 +
},
 +
getAverageFromNumArr = function( numArr, numOfDec ){
 +
if( !isArray( numArr ) ){ return false; }
 +
var i = numArr.length,
 +
sum = 0;
 +
while( i-- ){
 +
sum += numArr[ i ];
 +
}
 +
return getNumWithSetDec( (sum / numArr.length ), numOfDec );
 +
},
 +
getVariance = function( numArr, numOfDec ){
 +
if( !isArray(numArr) ){ return false; }
 +
var avg = getAverageFromNumArr( numArr, numOfDec ),
 +
i = numArr.length,
 +
v = 0;
 +
 +
while( i-- ){
 +
v += Math.pow( (numArr[ i ] - avg), 2 );
 +
}
 +
v /= numArr.length;
 +
return getNumWithSetDec( v, numOfDec );
 +
},
 +
getStandardDeviation = function( numArr, numOfDec ){
 +
if( !isArray(numArr) ){ return false; }
 +
var stdDev = Math.sqrt( getVariance( numArr, numOfDec ) );
 +
return getNumWithSetDec( stdDev, numOfDec );
 +
};
 +
 +
function doTrimp(dur, cr10, trimp)
 +
{
 +
var d1 = document.getElementById(dur).value;
 +
var c1 = document.getElementById(cr10).value;
 +
var t1 = d1 * c1;
 +
document.getElementById(trimp).innerHTML = t1;
 +
}
 +
function doCalc()
 +
{
 +
var trimps=new Array();
 +
var total = 0;
 +
for(i=1; i< 8; i++)
 +
{
 +
doTrimp('dur_'+i, 'cr10_'+i, 'trimp_'+i);
 +
trimps[i-1] = Number(document.getElementById('trimp_'+i).innerHTML);
 +
total += trimps[i-1];
 +
}
 +
var average = getAverageFromNumArr(trimps, 2);
 +
var stddev = getStandardDeviation(trimps, 2);
 +
var Monotony = 10.0;
 +
if (average < (10 * stddev))
 +
        {
 +
Monotony = average / stddev;
 +
Monotony = Math.round(Monotony*100)/100;
 +
}
 +
document.getElementById('Monotony').innerHTML = "Monotony: " + Monotony + "  ( " + average + " / " + stddev + " )";
 +
document.getElementById('Total').innerHTML = "Total TRIMP: " + total;
 +
document.getElementById('Stress').innerHTML = "Training Stress: " + Math.round(total * Monotony);
 +
}
 +
</script>
 +
 +
<form style="font-family: Helvetica,Arial,sans-serif;" id="MonotonyForm">
 +
  <table style="text-align: left;" border="1" cellpadding="1" cellspacing="1">
 +
      <tr>
 +
        <th>Day</th>
 +
        <th>Duration (min)</th>
 +
        <th>CR10 Rating</th>
 +
        <th>TRIMP(CR10)</th>
 +
      </tr>
 +
      <tr>
 +
      <td>1</td>
 +
        <td><input maxlength="3" size="3" id="dur_1" value="10"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_1" value="4"></td>
 +
        <td><label id="trimp_1"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>2</td>
 +
        <td><input maxlength="3" size="3" id="dur_2" value="19"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_2" value="3"></td>
 +
        <td><label id="trimp_2"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>3</td>
 +
        <td><input maxlength="3" size="3" id="dur_3" value="0"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_3" value="0"></td>
 +
        <td><label id="trimp_3"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>4</td>
 +
        <td><input maxlength="3" size="3" id="dur_4" value="0"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_4" value="0"></td>
 +
        <td><label id="trimp_4"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>5</td>
 +
        <td><input maxlength="3" size="3" id="dur_5" value="0"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_5" value="0"></td>
 +
        <td><label id="trimp_5"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>6</td>
 +
        <td><input maxlength="3" size="3" id="dur_6" value="0"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_6" value="0"></td>
 +
        <td><label id="trimp_6"></label></td>
 +
      </tr>
 +
      <tr>
 +
      <td>7</td>
 +
        <td><input maxlength="3" size="3" id="dur_7" value="0"></td>
 +
        <td><input maxlength="3" size="3" id="cr10_7" value="0"></td>
 +
        <td><label id="trimp_7"></label></td>
 +
      </tr>
 +
  </table>
 +
  <label id="Monotony">Monotony:</label><br/>
 +
  <label id="Total">Total TRIMP:</label><br/>
 +
  <label id="Stress">Training Stress:</label><br/>
 +
  <input type="button" value="Calculate" onclick="doCalc()"/>
 +
</form>
 +
</html>
 +
  
 
=Examples=
 
=Examples=

Revision as of 19:13, 22 February 2012

It is long been recognized the athletes cannot train hard every day. Modern training plans recommend a few hard days per week, with the other days as easier or rest days. A lack of variety in training stress, known as training monotony, is considered a key factor in causing overtraining[1][2]. There is also evidence[3] that increased training frequency results in reduced performance benefits from identical training sessions as well as increased fatigue.

1 Quantifying monotony

One approach[4] to measuring monotony is statistically analyze the variation in workouts. The first stage is to work out a measure of the daily TRIMP (TRaining IMPulse). From this daily TRIMP it's possible to calculate the standard deviation for each 7 day period. The relationship between the daily average TRIMP value and the standard deviation can provide a metric for monotony. The monotony value combined with the overall training level can be used to evaluate the likelihood of overtraining.

2 Monotony Calculations

The original work[4] on training monotony used TRIMPcr10 and TRIMPzone, but I substitute TRIMPexp for TRIMPzone because of the advantages noted in TRIMP]. From the daily TRIMP values for a given 7 day period the standard deviation can be calculated. (If there is more than one workout in a day, the TRIMP values for each are simply added together.) The monotony can be calculated using

Monotony = average(TRIMP)/stddev(TRIMP)

This gives a value of monotony that tends towards infinity as stddev(TRIMP) tends towards zero, so I cap Monotony to a maximum value of 10. Without this cap, the value tends to be unreasonably sensitive to high levels of monotony. Values of Monotony over 2.0 are generally considered too high, and values below 1.5 are preferable. A high value for Monotony indicates that the training program is ineffective. This could be because the athlete is doing a low level of training; an extreme example would be a well-trained runner doing a single easy mile every day. This would allow for complete recovery, but would not provide the stimulus for improvement and would likely lead to rapid detraining. At the other extreme, doing a hard work out every day would be monotonous and not allow sufficient time to recover. The Training Strain below can help determine the difference between monotonous training that is inadequate and monotonous training that is excessive.

3 Training Strain Calculations

A similar calculation can be used to calculate a value for Training Strain.

Training Strain = sum(TRIMP) * Monotony

The value of Training Strain that leads to actual overtraining would be specific to each athlete. An elite level athlete will be able to train up much higher levels than a beginner. However this Training Strain provides a better metric of the overall stress that an athlete is undergoing than simply looking at training volume.

4 A simple TRIMPcr10 based calculator

This calculator will show the TRIMPcr10 values for each day, the Monotony, the total TRIMPcr10 for the week and the Training Strain.

Day Duration (min) CR10 Rating TRIMP(CR10)
1
2
3
4
5
6
7




5 Examples

For these examples we will use just a few simple workouts. Let's assume a male athlete with a Maximum Heart Rate of 180 and a Resting Heart Rate of 40, giving a Heart Rate Reserve of 140. Let's assume our hypothetical athlete does his easy runs at a 9 min/mile pace and heart rate of 130. We'll use only one of the type of workout, a tempo run his easy runs at a 7 min/mile pace and heart rate of 160. This gives us some TRIMPexp values for some workouts

Type Miles Name Duration TRIMPexp
Easy 4 Easy 4 36 11,132
Easy 6 Easy 6 54 16,699
Easy 10 Easy 10 90 27,831
Easy 20 Easy 20 180 55,662
Tempo 4 Tempo 4 28 17,421
Tempo 8 Tempo 8 56 34,841

Here is a sample week's workout with three harder workouts, a 4 mile tempo, a 10 mile mid-long run and a 20 mile long run with four mile easy runs on the other days. This is 50 miles, total TRIMPexp of 145K, Monotony of 1.35 and a Training Strain of 197K.

Monday Tempo 4 17,421
Tuesday Easy 4 11,132
Wednesday Easy 10 27,831
Thursday Easy 4 11,132
Friday Easy 4 11,132
Saturday Easy 20 55,662
Sunday Easy 4 11,132
Stdev 15,353
Avg 20,777
Total 145,442
Monotony 1.35
Training Strain 196,824

If we give our athlete a single day's rest on Sunday, we reduce the mileage by 4 miles to 46 miles, total TRIMPexp goes down 9K to 134K, but the Monotony of drops more significantly to 1.14 and a Training Strain to 154K. So the mileage has dropped about 9%, but the Training Strain has dropped by 28%.

Monday Tempo 4 17,421
Tuesday Easy 4 11,132
Wednesday Easy 10 27,831
Thursday Easy 4 11,132
Friday Easy 4 11,132
Saturday Easy 20 55,662
Sunday Rest 0
Stdev 16,780
Avg 19,187
Total 134,310
Monotony 1.14
Training Strain 153,574

A further rest day on Tuesday drops the Training Strain by a further 27%.

Monday Tempo 4 17,421
Tuesday Rest 0
Wednesday Easy 10 27,831
Thursday Easy 4 11,132
Friday Easy 4 11,132
Saturday Easy 20 55,662
Sunday Rest 0
Stdev 17,955
Avg 17,597
Total 123,178
Monotony 0.98
Training Strain 120,723

If we compare this with an extreme example of a monotonous training plan, we have a slightly lower mileage (46 v 50), and a considerably lower total TRIMPexp (128K v 135K), but the monotony is remarkably high at 4.7 and the training strain is more than three times higher (601K v 197K). In practice, there would be greater day to day variations, even within the same 6 mile easy run, so the results would not be quite so dramatic.

Monday Easy 6 16,699
Tuesday Easy 6 16,699
Wednesday Easy 6 16,699
Thursday Easy 6 16,699
Friday Easy 6 16,699
Saturday Easy 10 27,831
Sunday Easy 6 16,699
Stdev 3,895
Avg 18,289
Total 128,025
Monotony 4.70
Training Strain 601,092

6 References

  1. Prevention, diagnosis and treatment of the Overtraining Syndrome http://www.ingentaconnect.com/content/tandf/tejs/2006/00000006/00000001/art00001
  2. The unknown mechanism of the overtraining syndrom... [Sports Med. 2002] - PubMed - NCBI http://www.ncbi.nlm.nih.gov/pubmed/11839081
  3. Variable dose-response relationship bet... [Med Sci Sports Exerc. 2003] - PubMed - NCBI http://www.ncbi.nlm.nih.gov/pubmed/12840641
  4. 4.0 4.1 Monitoring training in athletes with re... [Med Sci Sports Exerc. 1998] - PubMed - NCBI http://www.ncbi.nlm.nih.gov/pubmed/9662690