EndoGusto scores every workout using ECOs. It puts swim, bike, and run on one training load scale so you can see how hard a session, a week, or a block actually was.
This guide explains what ECOs is, the formula behind it, and how to read the number.
What ECOs Stands For
ECOs is the Spanish acronym for Equivalentes de Carga Objetiva, or Objective Load Equivalents. It is a multisport training load method published by Roberto Cejuela and Jonathan Esteve-Lanao in 2011.
It was built for triathlon, where the hard part is comparing a swim to a bike to a run on a single scale. It also works for a single sport on its own, so a standalone run is scored as cleanly as a full triathlon week.
The ECOs Formula
ECOs rests on three inputs: time, intensity, and sport.
For each portion of a session, ECOs multiplies the time spent in a zone by that zone's intensity factor, then by an exercise factor. The products are added up across every zone to give the session score.
ECOs = sum of (Time in Zone × Intensity Factor × Exercise Factor)
Time in Zone (TZ) is measured in minutes, not distance. This keeps efforts fair across different speeds and terrain.
Intensity Factor (IF) is a weight assigned to each of eight zones. Higher zones carry much higher weights.
Exercise Factor (EF) adjusts for the discipline, because the same hard hour costs the body differently in swim, bike, and run.
The Eight ECOs Zones and Their Intensity Factors
ECOs uses eight zones anchored to physiological landmarks: the first and second lactate thresholds (LT1 and LT2) and the VO2max region above them. LT2 marks the upper edge of sustainable intensity.
The intensity factors do not climb in even steps. They rise sharply at the top, because the higher the zone, the less time an athlete can hold it, so each minute there costs disproportionately more.
Zone | Name | Physiological anchor | Intensity Factor |
Z1 | Recovery | Below Aerobic Threshold (LT1) | 1 |
Z2 | Aerobic base | Aerobic Threshold | 2 |
Z3 | Tempo | Between Thresholds (LT1 and LT2) | 3 |
Z4 | Threshold | Anaerobic Threshold (LT2) | 4 |
Z5 | Above threshold | Between LT2 and MAP | 6 |
Z6 | VO2max | Maximal Aerobic Power (MAP) | 9 |
Z7 | Anaerobic capacity | Lactic Capacity | 15 |
Z8 | Neuromuscular (maximal short efforts) | Lactic Power (Glycolytic Power) | 50 |
The jump from Z7 to Z8 is the key feature. A few minutes of genuinely maximal work can outweigh an easy hour.
Exercise Factors
After time and intensity, ECOs multiplies by a factor for the discipline.
Sport | Exercise Factor |
Run | 1.00 |
Swim | 0.75 |
Bike | 0.50 |
Running is weight-bearing, so it produces the most muscle damage and mechanical stress of the three, and it sets the reference at 1.0. Cycling is supported by the bike and carries far less loading, so it sits at 0.5. Swimming falls in between: the water supports the body, but technique and upper-body demand still add real cost.
The practical effect: each minute of running counts double a minute of cycling at the same relative intensity.
How ECOs Measures Intensity
ECOs is only as accurate as the zone it assigns to each minute. EndoGusto reads intensity in a fixed order and uses the best signal available for each athlete:
Pace or power (first choice)
Threshold heart rate (LTHR or FTHR)
Maximum heart rate
Rating of perceived effort (final fallback)
Pace and power lead because they measure the work an athlete actually produced. Heart rate measures the body's response to that work, and as a response it lags at the start of hard efforts, drifts upward over long efforts, and flattens near the top where it can no longer separate a hard interval from an all-out one.
This is why accurate pace, power, and threshold values for each athlete directly improve the accuracy of their ECOs scores. For what each threshold means, see What Do FTP, LTHR, LT Pace, T-pace, and RPE Mean?
Worked Examples
Example 1: An Easy Aerobic Run, 60 Minutes
Time in Zone | Intensity Factor | Subtotal |
10 min in Z1 | 1 | 10 |
45 min in Z2 | 2 | 90 |
5 min in Z3 | 3 | 15 |
Sum of subtotals = 115. Exercise factor for run = 1.0. Score: 115 × 1.0 = 115 ECOs
Example 2: Why an Exercise Factor Matters
A 90-minute threshold ride and a 45-minute threshold run, both held at Zone 4:
Ride: 90 min × 4 × 0.5 (bike) = 180 ECOs
Run: 45 min × 4 × 1.0 (run) = 180 ECOs
The run is half the duration but lands at the same load, because running costs twice as much per minute as cycling.
Example 3: Why a Few Hard Minutes Dominate
An interval run, 50 minutes total:
Time in Zone | Intensity Factor | Subtotal |
12 min in Z1 | 1 | 12 |
20 min in Z2 | 2 | 40 |
12 min in Z5 | 6 | 72 |
6 min in Z7 | 15 | 90 |
Sum of subtotals = 214. Exercise factor for run = 1.0. Score: 214 × 1.0 = 214 ECOs
The 6 minutes in Z7 add 90 to the score, while the 20 minutes in Z2 add only 40. Less time, far more load. That is the non-linear weighting at work.
Multisport Sessions
EndoGusto scores a session that combines disciplines, such as a brick, segment by segment. Each segment gets its own exercise factor, and the segment scores add up to the total session score.
What a Normal ECOs Score Looks Like
A single session number means little on its own. Most coaches track the weekly total, which shows whether load is ramping, holding, or tapering.
As a reference point, an elite short-course triathlete in full training runs about 1,000 to 1,150 ECOs in a normal week, rising to roughly 1,900 to 2,100 in a peak block. Those are professional ceilings, not targets for every athlete. Scale the expectation to the athlete in front of you.
Two patterns are worth watching on any roster:
The swim-bike-run split. In a balanced multisport week, load divides into rough thirds. If one sport takes an outsized share, check that athlete's threshold values or session design.
The easy-to-hard ratio. Most training time sits in low intensity, but a small slice of hard work can account for roughly half the total load. This is exactly what the zone weighting is built to reveal.
Where You See ECOs in EndoGusto
ECOs is the stress value EndoGusto shows across the app:
Workout and activity cards on the Calendar show the stress score for each session, labeled Str.
Total stress at the bottom of the Workout Builder estimates the planned load as you build, as long as every step has an intensity set.
Training insights and the performance graphs use ECOs to track load over time.
Where to Set Your Athletes' Values
Because ECOs reads pace and power first, accurate threshold values give you the most accurate scores. Set each athlete's values on their individual Training Zones tab:
LT Pace for running
FTP for cycling
T-pace (or CSS) for swimming
LTHR where heart rate is the available signal
Athletes with current threshold values get the most accurate read. Athletes with outdated or unset values are the ones worth a quick review. See How to Change an Athlete's Training Zones for the steps.
Tips for Coaches
Review thresholds after every test or race. An outdated FTP or LT Pace pushes minutes into the wrong zones, which skews every ECOs score that follows.
Compare weeks, not sessions. A single 214 means little; a week that jumps from 600 to 900 ECOs tells you the block is ramping fast.
Watch the hard minutes. Because Z7 and Z8 carry weights of 15 and 50, a short set of all-out efforts can double a session's score. Plan recovery around the load, not the duration.
Expect lower numbers on the bike. A long ride scoring below a shorter run is the exercise factor at work, not an error.
For Athletes
ECOs is the stress score on each workout and activity in your calendar. It tells you and your coach how much load a session put on your body, combining how long you trained, how hard, and in which sport. If your scores look off, ask your coach to check your threshold values.
Reference: Cejuela-Anta, R., & Esteve-Lanao, J. (2011). Training load quantification in triathlon. Journal of Human Sport and Exercise, 6(2), 218–232.
Need help? Open the chat bubble in the bottom corner of this page, or email us at [email protected].