Energy target methodology

This reference governs sections ## Daily energy target and ## Full-day macro targets.

Body mass and FFM sourcing

Use this hierarchy:

  1. measured current body mass in athlete/PROFILE.md
  2. most recent body mass in canonical daily logs or athlete notes
  3. typical in-season body mass in athlete/PROFILE.md
  4. explicit fallback placeholder

When body mass comes from a recent note rather than the profile, state the source in the BMR Notes column. When FFM is not measured, estimate cautiously and state the assumption. For elite female cyclists without a measured FFM value, an estimated FFM around 80-85% of body mass may be used only if clearly labelled as estimated.

BMR formulas

Use Mifflin-St Jeor as the default first estimate. Use exactly one second comparison column:

  • Harris-Benedict revised when measured FFM is unavailable.
  • Cunningham only when reliable measured FFM exists.

Do not combine Harris-Benedict and Cunningham in one column label; they are separate methodologies.

Female Mifflin-St Jeor:

BMR = 10 x weight_kg + 6.25 x height_cm - 5 x age_years - 161

Male Mifflin-St Jeor:

BMR = 10 x weight_kg + 6.25 x height_cm - 5 x age_years + 5

Female Harris-Benedict revised:

BMR = 447.593 + 9.247 x weight_kg + 3.098 x height_cm - 4.330 x age_years

Male Harris-Benedict revised:

BMR = 88.362 + 13.397 x weight_kg + 4.799 x height_cm - 5.677 x age_years

Cunningham, when reliable FFM exists:

RMR = 500 + 22 x FFM_kg

Lifestyle multiplier

Use non-training lifestyle multiplier x1.4 unless current context clearly indicates a different value. This represents normal daily movement, coaching-life activity, errands, and basic non-exercise activity while avoiding double-counting the planned training session.

BMR x 1.4 is a subtotal for non-training daily expenditure. It is not an additional component to add on top of BMR. The normal target calculation is:

normal_target = BMR x lifestyle_multiplier + training_expenditure

Do not calculate BMR + BMR x lifestyle_multiplier + training_expenditure.

Training expenditure

Use the strongest available evidence:

  1. device or TrainingPeaks calories for completed sessions
  2. planned workout TSS, IF, and duration
  3. calendar duration and intensity estimate
  4. rolling-plan fallback

If estimating from session type, be conservative and state the fallback source. Quality sessions with meaningful intensity usually require materially more carbohydrate availability than easy endurance sessions of the same duration.

Energy availability floor

The RED-S energy availability floor is based on IOC consensus framing: avoid chronic low energy availability by keeping energy availability at or above 45 kcal/kg FFM for normal physiological function.

Use this check:

minimum_intake = 45 x FFM_kg + exercise_energy_expenditure

Treat this as a risk screen unless the athlete has a confirmed LEA intervention, measured FFM, and a reliable exercise expenditure estimate. If FFM and exercise expenditure are both estimated, do not automatically make the 45 kcal/kg FFM screen the operating target. State the screen value, state the uncertainty, and choose an operating target from the normal target plus any justified context buffer.

If this floor is truly the binding constraint, the Operating target Notes column must say that the RED-S/LEA floor is binding and why. If FFM is estimated, the row must say so.

For athletes with Hashimoto's, recurring underfueling, recent heavy block fatigue, travel disruption, or race-week loading, bias toward the higher estimate rather than a lower neat-looking target.

Target validation checks

Before writing the plan, verify these arithmetic checks:

  • BMR formula outputs match the displayed body mass, height, age, and sex.
  • The non-training lifestyle row equals BMR x multiplier and is labelled as a subtotal.
  • The operating target is explainable as BMR x multiplier + training_expenditure + context_buffer, unless the LEA floor is explicitly binding.
  • The full-day macro calories equal carbohydrate grams x 4, protein grams x 4, and fat grams x 9.
  • Timing breakdown calories roughly equal CHO x 4 + protein x 4 + fat x 9 for each row and the totals row.
  • If a target is more than 10% above the normal target, the plan must state the reason and identify which windows can be trimmed without compromising session fueling.

Macro rate sources

Use Thomas, Erdman, and Burke 2016, the Academy of Nutrition and Dietetics, Dietitians of Canada, and ACSM joint position statement, for carbohydrate and protein periodization ranges.

Common working ranges:

Day type Carbohydrate Protein Fat
Rest / recovery 3-5 g/kg 1.6-2.0 g/kg Fill remaining calories; do not chronically suppress
Easy endurance 5-7 g/kg 1.6-2.0 g/kg Fill remaining calories
Moderate / quality 6-8 g/kg 1.7-2.1 g/kg Fill remaining calories
Hard / long / race prep 7-10 g/kg 1.8-2.2 g/kg Fill remaining calories
Carbohydrate loading 8-12 g/kg 1.6-2.0 g/kg Lower if needed for gut comfort, not chronically low

Use the IOC RED-S framework as the basis for avoiding low fat and low energy patterns when health context makes chronic restriction a risk. Fat has no single universal g/kg target in the same way carbohydrate does, so state the practical rationale when fat is deliberately elevated to repair a recent low-fat pattern.

Overshoot logic

Intentional overshoot is appropriate when at least one of these is active:

  • LEA watch or documented underfueling pattern
  • glycogen debt before a quality session
  • tomorrow has a poor eating environment or travel disruption
  • current block has accumulated fatigue and evidence of low intake
  • race-week carbohydrate loading is active

When overshoot applies, add one plain-text fallback line under the energy target table and one italic note under the timing table. The fallback must name which lower-priority window can be trimmed and which priority window must stay intact.