Fatigue Index Calculator
Based on the thesis of the THRESHOLD book — özgün bir araç: antrenman yorgunluğunuzu tahmin edin.
Enter Your Data
5
document.getElementById(‘fc-rpe’).oninput = function() {
document.getElementById(‘fc-rpe-val’).textContent = this.value;
};
function calculateFatigue() {
var hours = parseFloat(document.getElementById(‘fc-hours’).value);
var sleep = parseFloat(document.getElementById(‘fc-sleep’).value);
var rpe = parseInt(document.getElementById(‘fc-rpe’).value);
var hr = parseInt(document.getElementById(‘fc-hr’).value);
// Fatigue Index formula (Sporeus original)
// Training load factor: hours/7 normalized (0-1)
var loadScore = Math.min(1, hours / 14) * 30;
// Sleep deficit factor: 8h optimal
var sleepScore = Math.max(0, (8 – sleep) / 8) * 25;
// RPE factor
var rpeScore = (rpe / 10) * 25;
// HR elevation: every bpm above baseline 50 = fatigue signal
var hrScore = Math.max(0, (hr – 50) / 50) * 20;
var fatigueIndex = Math.round(loadScore + sleepScore + rpeScore + hrScore);
fatigueIndex = Math.min(100, Math.max(0, fatigueIndex));
var color, label, advice;
if (fatigueIndex < 30) {
color = ‘#2ecc71’; label = ‘LOW’; advice = ‘Good day for intense training. Load can be increased.’;
} else if (fatigueIndex < 55) {
color = ‘#f39c12’; label = ‘MODERATE’; advice = ‘Moderate intensity recommended. Zone 2 run or skill work.’;
} else if (fatigueIndex < 75) {
color = ‘#e67e22’; label = ‘HIGH’; advice = ‘Recovery day. Light walk or mobility work.’;
} else {
color = ‘#e74c3c’; label = ‘ÇOK HIGH’; advice = ‘Full rest needed. No training. Focus on sleep and nutrition.’;
}
var result = document.getElementById(‘fc-result’);
result.style.display = ‘block’;
result.style.background = color + ’15’;
result.style.borderLeft = ‘4px solid ‘ + color;
result.innerHTML = ‘
‘
‘ +
‘
‘ +
‘
‘ +
‘
‘ + advice + ‘
‘;
}
Read THRESHOLD to understand these results.
The fatigue index is based on central governor theory and perceived effort.