For Coaches
Coaching workflows
Metabolic Test (VO2max + thresholds from a FIT upload)
Upload a ramp or step-test FIT, get VT1, VT2, VO2max, gross efficiency. Result lives as a CalculatorResult, not a seeded Assessment.
What this is
The Metabolic Test tool parses a ramp or step-test FIT (or
.fit.gz) and produces:
- VT1 (first ventilatory threshold) — power and HR.
- VT2 (second ventilatory threshold) — power and HR.
- VO2max — peak measured.
- Peak power, peak HR.
- Per-interval breakdown with energy + gross efficiency
estimates from the
_augment_intervals_with_energy helper.
URL: /admin/metabolic-test/.
Important: this is NOT a seeded AssessmentType
Unlike the CSS test, CdA field test, CP test, sweat rate test,
RSI test, and the two Lactate tests — all of which are seeded
AssessmentType rows with their own protocol_steps and
expected_inputs — the metabolic test does not create an
Assessment row. When you click Save:
- A
CalculatorResult row is written, with calculator='metabolic_test',
the parsed report stored in the outputs JSON, and the
uploaded FIT linked.
- MetricHistory rows are written for VT1 power and VO2max
so the athlete's metric history reflects the new numbers.
If you're looking for a metabolic test in the
seeded AssessmentTypes,
there isn't one — the FIT-based metabolic flow is its own
ingest path. For reference, related seeded AssessmentTypes
that DO exist on the bike / run side are VO2max Bike Test
and VO2max Run Test (paper-driven, no FIT parser).
What the upload accepts
.fit or .fit.gz.
- Test type auto-detected as ramp (continuous power
increment) or acyclic / step (discrete plateaus).
- For ramp tests the parser sweeps the gradient to find VT1
and VT2 inflection points.
- For step tests, intervals are detected by power
discontinuities and averages are computed per step.
What the report shows
- Test classification (ramp / acyclic).
- VT1, VT2, VO2max with their power and HR pairings.
- Peak power and peak HR.
- A per-interval table — only useful for step tests.
- Gross efficiency estimates per interval where O2 cost can
be derived from power + ventilation data.
- Ramp test — most common. Start at low wattage, increase
by a fixed step (e.g. 20 W / min or 25 W / 2 min) until
failure. The continuous incremental load lets the parser
fit the VT inflection points.
- Step test — 4-6 minute plateaus at increasing power.
Useful when paired with a metabolic cart for breath-by-
breath data, but the platform's parser works on the FIT
power record alone.
For lab-grade interpretation, pair the FIT-based result with
a calibrated metabolic cart's gas-exchange readout. The Hub's
estimates are noisy compared to lab VT thresholds and should
be treated as a field-grade reference, not as a substitute
for cart data.
- Use this tool when you have a FIT from a structured
ramp / step test and want quick threshold + VO2max numbers.
- Use the CP test if
you want CP and W' — different physiological anchors.
- Use the CSS test for swim
threshold — this tool is bike/run only.
See also:
Assessment model overview,
Yousuli bike zones.