Your Myzone belt relies heavily on your Maximum Heart Rate (MHR) to calculate Effort Points (MEPs). Unlike generic calculators that use the standard "220 minus age" formula, Myzone utilizes the Hunt Formula for a more accurate estimation of your cardiac ceiling.
The Myzone Formula
The default formula used by Myzone to establish your initial Max Heart Rate is:
MHR = 211 – (0.64 × Age)
This formula is generally considered more accurate for a wider range of the population than the traditional Fox formula. However, if you are an elite athlete or have a known physiological max that differs from this calculation, Myzone recommends adjusting your settings in the app or performing a max heart rate test.
Myzone Effort Zones Explained
Once your MHR is determined, Myzone divides your effort into five distinct color-coded zones. Earning MEPs is the goal of the Myzone system, and different zones award points at different rates:
Gray Zone (50-59%): This is your warm-up and cool-down zone. You earn 1 MEP/minute here. It is about active recovery.
Blue Zone (60-69%): A moderate intensity zone used for aerobic base building. You earn 2 MEPs/minute.
Green Zone (70-79%): This is a challenging aerobic pace, often called "tempo" training. You earn 3 MEPs/minute.
Yellow Zone (80-89%): This represents the lactate threshold. It is hard work and sustainable only for shorter periods. You earn 4 MEPs/minute.
Red Zone (90-100%): Your peak performance zone. This is maximum effort. Like the Yellow zone, you earn 4 MEPs/minute.
Why did my Max Heart Rate change?
Myzone is designed to automatically adjust your Max Heart Rate over time. If you sustain a heart rate higher than your estimated maximum for a specific duration (typically 30-40 seconds) during a workout, the system may automatically increase your MHR value to reflect your true capacity. This ensures your zones remain accurate as your fitness improves.
How to use these numbers
Use the calculator above to plan your workouts. For example, if you are aiming for a 100 MEP workout, you can calculate how many minutes you need to spend in the Green or Yellow zones to hit your target efficiently.
function calculateMyzoneZones() {
// 1. Get Input
var ageInput = document.getElementById('mzAge');
var age = parseFloat(ageInput.value);
// 2. Validate Input
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// 3. Calculate Max Heart Rate (Hunt Formula used by Myzone)
// Formula: 211 – (0.64 * age)
var mhr = 211 – (0.64 * age);
mhr = Math.round(mhr);
// 4. Calculate Zones
// Gray: 50-59%
var grayStart = Math.round(mhr * 0.50);
var grayEnd = Math.round(mhr * 0.59);
// Blue: 60-69%
var blueStart = Math.round(mhr * 0.60);
var blueEnd = Math.round(mhr * 0.69);
// Green: 70-79%
var greenStart = Math.round(mhr * 0.70);
var greenEnd = Math.round(mhr * 0.79);
// Yellow: 80-89%
var yellowStart = Math.round(mhr * 0.80);
var yellowEnd = Math.round(mhr * 0.89);
// Red: 90-100%
var redStart = Math.round(mhr * 0.90);
var redEnd = mhr; // Cap at MHR for range display usually, or just 100%
// 5. Update UI
document.getElementById('displayMHR').innerText = mhr + " BPM";
var tableBody = document.getElementById('zoneTableBody');
tableBody.innerHTML = ""; // Clear previous results
// Helper function to create rows
function createRow(zoneName, colorClass, pct, range, meps) {
return '
' +
'
' + zoneName + '
' +
'
' +
'
' + pct + '
' +
'
' + range + '
' +
'
' + meps + '
' +
'
';
}
var html = "";
html += createRow("Gray", "zone-gray", "50% – 59%", grayStart + " – " + grayEnd, "1");
html += createRow("Blue", "zone-blue", "60% – 69%", blueStart + " – " + blueEnd, "2");
html += createRow("Green", "zone-green", "70% – 79%", greenStart + " – " + greenEnd, "3");
html += createRow("Yellow", "zone-yellow", "80% – 89%", yellowStart + " – " + yellowEnd, "4");
html += createRow("Red", "zone-red", "90% – 100%", redStart + " – " + redEnd + "+", "4");
tableBody.innerHTML = html;
// Show result div
document.getElementById('mzResult').style.display = "block";
}