ndoGusto scores every workout using ECOs. It puts swim, bike, and run on one 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 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 each sport across swim, bike, run.
The Eight 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.
| Zones | 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 Intensity Is Measured
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 setting accurate pace, power, and threshold values for each athlete directly improves the accuracy of their ECOs scores. (Check out our Knowledge Base article on how to set your athlete's values.)
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
Note that 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
A session that combines disciplines, such as a brick, is scored segment by segment. Each segment is calculated with its own exercise factor, and the segment scores are added together for the total session score.
What a Normal 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 is consuming 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 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 threshold values on their individual Training Zones tab:
- Pace at LT / T-pace for running
- FTP for cycling
- CSS for swimming
- HR at LT (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.
Key Things to Remember
- ECOs combines time, intensity, and sport into one score across swim, bike, and run.
- The eight intensity factors climb non-linearly from 1 to 50, so short hard efforts carry outsized weight.
- Exercise Factors are 1.0 for run, 0.75 for swim, and 0.5 for bike.
- Pace and power drive the calculation, with heart rate and perceived effort as backups.
- Accurate threshold values on the Training Zones tab produce the most accurate scores.
Reference: Cejuela-Anta, R., & Esteve-Lanao, J. (2011). Training load quantification in triathlon. Journal of Human Sport and Exercise, 6(2), 218–232.