FR EN

Validating an Algorithmic Nutrition Engine for Triathlon

Wattness Nutrition Engine · Benchmark Report · April 2026
42 training scenarios · 10 race-day plans · 138 assertions · 100% hit rate
← Back to Le Labo
Abstract. Nutrition module validated on a reproducible internal benchmark, featuring multi-variable scenarios, safety gates, and recommendation ranges reviewed by domain expertise and aligned with current literature.
100%
Engine Hit Rate
0
Safety Violations
42
Training Scenarios
138
Race-Day Assertions

1. Introduction

Nutritional recommendations during endurance exercise are complex: they depend on exercise duration, intensity, discipline, environmental conditions, individual body composition, and the athlete's strategic goals. Current sport-science guidelines provide evidence-based ranges (e.g., 30–90 g/h carbohydrate for events lasting 1–3+ hours), but translating these guidelines into personalized, session-specific recommendations requires interpolation across multiple variables simultaneously.

The Wattness nutrition engine is a deterministic, rule-based system that computes carbohydrate intake targets (g/h), hydration rates (ml/h), and sodium requirements (mg/h) for each training session. Unlike machine-learning approaches, the engine encodes sport-science knowledge directly through parameterized curves and modifiers, making its behavior transparent and auditable.

This benchmark evaluates whether the engine's outputs consistently fall within expert-validated ranges across a comprehensive set of scenarios. We adopt a range-conformance methodology: for each scenario, a sport-science expert defines acceptable minimum and maximum values, and the engine's output is checked against those bounds.

2. Methodology

2.1 Scenario Design

The benchmark comprises 42 training scenarios spanning 7 axes of variation:

AxisValues Coveredn
DisciplineBike, Run, Swim3
Duration45 min – 300 min (7 levels)7
IntensityTier 1 (i1) through Tier 5 (i6)5
TemperatureCool (≤10°C), Temperate (15–25°C), Hot (≥30°C)3
BranchPerformance, Train-Low, Gut Training, Race Protocol4
Body Weight55 kg, 70 kg, 85 kg3
SpecialDouble session, Aero position, Custom sweat rate, GT weeks 1–94

2.2 Expected Ranges: Sources and Validation

Engine constants. The engine's internal parameterization encodes the current sport-science consensus. For carbohydrates, multi-point interpolation curves define min/max intake targets as a function of duration for each intensity tier.

Published literature. Hydration ranges follow Sawka et al. (2007) and Baker (2017), with base rates scaled by discipline-specific sweat coefficients. The 90 g/h carbohydrate cap for non-expert athletes aligns with the glucose+fructose co-ingestion limit, while the 120 g/h absolute cap reflects recent ultra-endurance data.

Expert validation. All 42 expected ranges were reviewed by a sport-science expert with 15+ years of triathlon-specific nutrition coaching.

2.3 Metrics

MetricDefinition
Hit RatePercentage of scenarios where engine output falls within expected [min, max]
Overshoot RateOutput exceeds max (risk: GI distress)
Undershoot RateOutput below min (risk: under-fueling)
Mean DeviationAverage difference between actual and expected midpoints
Safety ViolationsScenarios tagged safety that fail (zero-tolerance)

3. Results: Training Engine

3.1 Global Performance

DimensionnHit RateOvershootUndershootMean Dev.
Carbohydrates42100%0%0%−0.02 g/h
Hydration42100%0%0%+0.04 ml/h
Sodium42100%0%0%0 mg/h
Overall126100%0%0%

3.2 Breakdown by Discipline

DisciplinenCarbsHydrationSodium
Bike33100%100%100%
Run5100%100%100%
Swim4100%100%100%

3.3 Breakdown by Duration Band

DurationnCarbsHydrationSodium
Short (< 90 min)10100%100%100%
Medium (90–180 min)27100%100%100%
Long (> 180 min)5100%100%100%

3.4 Breakdown by Temperature

TemperaturenCarbsHydrationSodium
Cool (≤10°C)5100%100%100%
Temperate (15–25°C)30100%100%100%
Hot (≥30°C)7100%100%100%

4. Safety Gates

Zero-Tolerance Safety: 6/6 passed

Safety scenarios enforce hard constraints that must never be violated, regardless of input combinations.

Safety ScenarioConstraint VerifiedStatus
Train-Low Zero CarbsTrain-Low branch always outputs 0 g/h carbsPASS
Non-Expert Cap at 90 g/hNon-expert context caps carbohydrate at 90 g/hPASS
Recovery Zero CarbsRecovery sessions (Tier 1) output 0 g/hPASS
Gut Training Week 1 CapGT week 1 targets 60 g/h with max at 70 g/hPASS
Concentration WarningHigh carb + low hydration triggers warning (>90 g/L)PASS
Non-Negative OutputsCarbohydrate output never negativePASS

5. Ablation Study: Feature Importance

To quantify the contribution of each engine component, we ran 5 ablation variants that each disable a single feature while keeping the rest intact.

Ablation VariantCarbsHydrationSodiumOverallSafety
Full engine (baseline)100%100%100%100%0
No discipline modifier85.7%78.6%100%88.1%1
No weight scaling100%81.0%100%93.7%4
No polarization hydration100%64.3%100%88.1%4
Flat carb at 60 g/h71.4%100%100%90.5%3
No branch modifier73.8%100%100%91.3%3

5.1 Interpretation

Intensity-dependent hydration scaling has the largest isolated impact on hydration accuracy (−35.7% hit rate). The low/moderate/high multipliers are essential for differentiating sweat losses across intensity levels.

Multi-point carbohydrate curves (vs. a flat 60 g/h fallback) reduce carbohydrate accuracy by 28.6%. This confirms that linear interpolation between duration-specific anchor points better reflects progressive carbohydrate oxidation capacity.

Nutritional branch modifiers (train-low = 0, gut training override, race = 1.15×) contribute 26.2% to carb accuracy. Without these, the engine cannot differentiate between metabolic adaptation and performance-fueling sessions.

Discipline-specific modifiers (run 0.85× carbs / 1.15× hydration; swim 0.6× / 0.7×) affect both dimensions. The reduced gastric tolerance during running and unique thermoregulatory environment of swimming require distinct scaling.

Weight-based hydration scaling impacts hydration only (−19%). Carbohydrate recommendations are not scaled by body weight, reflecting that intestinal absorption is the rate-limiting factor for exogenous carbohydrate oxidation.

6. Race-Day Planner Benchmark

The race-day planner generates segmented nutrition plans (pre-race, swim, T1, bike, T2, run) for triathlon races from sprint to Ironman and ultra distances. We validated 10 scenarios with 138 assertions.

ScenarioDistanceCategoryTemp.AssertionsStatus
IM EliteIronmanEliteTemperate17PASS
IM Age-GrouperIronmanAge-GrouperTemperate17PASS
IM BeginnerIronmanBeginnerTemperate12PASS
70.3 CompetitiveHalf-IMCompetitiveTemperate15PASS
Sprint Age-GrouperSprintAge-GrouperTemperate11PASS
Olympic EliteOlympicEliteTemperate12PASS
IM Competitive (Hot)IronmanCompetitiveHot15PASS
IM AG + GT CapIronmanAge-GrouperTemperate12PASS
Ultra CompetitiveUltraCompetitiveTemperate16PASS
70.3 Beginner + GTHalf-IMBeginner→AGTemperate11PASS

6.1 Key Assertions Validated

Every race plan is checked for: correct 6-segment structure (pre-race → swim → T1 → bike → T2 → run), zero carbs during swim, positive durations, segment-total consistency, contingency protocols, and category-appropriate carbohydrate targets.

7. Reproducibility

The benchmark is fully automated and deterministic. All scenarios, expected ranges, and assertions are version-controlled. The engine contains no randomness, no API calls, and no external dependencies at runtime.

pnpm --filter @wattson/core nutrition:benchmark -- --ablation

8. Limitations and Future Work

Key limitations:

9. Conclusion

Nutrition module validated on a reproducible internal benchmark, featuring multi-variable scenarios, safety gates, and recommendation ranges reviewed by domain expertise and aligned with current literature.

References

[1] Jeukendrup AE. A step towards personalized sports nutrition: carbohydrate intake during exercise. Sports Med. 2014;44(Suppl 1):S25–S33.

[2] Thomas DT, Erdman KA, Burke LM. Position of the Academy of Nutrition and Dietetics. J Acad Nutr Diet. 2016;116(3):501–528.

[3] Podlogar T, Wallis GA. New horizons in carbohydrate research. Sports Med. 2022;52(Suppl 1):5–23.

[4] Sawka MN et al. ACSM position stand: Exercise and fluid replacement. Med Sci Sports Exerc. 2007;39(2):377–390.

[5] Baker LB. Sweating rate and sweat sodium concentration in athletes. Sports Med. 2017;47(Suppl 1):111–128.

[6] Rehrer NJ et al. Gastric emptying, absorption, and carbohydrate oxidation. J Appl Physiol. 1992;72(2):468–475.

[7] Burke LM. Fueling strategies to optimize performance. Scand J Med Sci Sports. 2010;20(Suppl 2):48–58.

[8] Pfeiffer B et al. Nutritional intake and gastrointestinal problems. Med Sci Sports Exerc. 2012;44(2):344–351.