Tighten the router so race-specific reasoning in the general docs points to the matching demand profile instead of speaking in a road/TT-default voice: - periodization.md: anchor the build phase's 'race-specific top-end' to the matching demand doc (tt / road-racing / mtb-xco). - durability.md: show how fatigue resistance manifests per discipline. - data-confounds.md: extend the intermittent-HR caveat to road racing/crits; note TT as the steadier exception where HR is more usable. - strength-for-cyclists.md: link the explosive/sprint transfer to road-racing and sustained-power transfer to TT. - vo2max-intervals.md: match rep length to event (short=surges/road+MTB, long=sustained/TT); extend the HR caveat to road racing. All internal links verified resolving. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TqrhBhC3GEcKyaw8RTk8G6
4.7 KiB
Data confounds — when to trust HR, RHR, HRV, and decoupling
Load this doc when: interpreting heart rate, resting HR, HRV, sleep, or aerobic decoupling — i.e. any time a number is about to drive a training decision.
Data/knowledge split: MCP gives you the raw and computed signals (HR streams, RHR, HRV, sleep, readiness, decoupling). This doc governs whether that signal is trustworthy today and forbids naive single-number rules.
Core stance: power governs; HR is conditional
Prescribe from power. Heart rate is a response variable contaminated by many non-training factors. Use HR only where it is genuinely informative:
- Aerobic decoupling on steady rides (Pw:HR drift) — valid only on steady efforts.
- Recovery trends (RHR, HRV) — as trends, screened for the confounds below.
Do not use HR to prescribe or judge intensity for intermittent efforts — this covers MTB
(mtb-xco-demands.md) and mass-start road racing/criteriums (road-racing-demands.md), both of
which are surge-driven. See the dissociation below. Steady solo efforts (TT — tt-demands.md) are
the exception where HR is more usable, though still secondary to power.
The confounds (screen every HR-based signal against these)
Any of these can move HR, RHR, HRV, or decoupling independent of fitness or fatigue:
| Confound | Effect | Implication |
|---|---|---|
| Heat / dehydration | ↑ HR, ↑ cardiac drift, ↑ decoupling | High decoupling on a hot ride ≠ poor fitness |
| Alcohol (prior evening) | ↑ RHR, ↓ HRV, disrupted sleep | A bad HRV morning after drinking is not overtraining |
| Travel (jet lag, altitude, transit) | ↑ RHR, ↓ HRV, poor sleep | Expected; not a training signal |
| Poor / short sleep | ↑ RHR, ↓ HRV, ↑ perceived effort | Fatigue signal, but from sleep — adjust the day, don't panic |
| Illness / stress / caffeine timing | ↑ RHR, altered HRV | Interpret in context, not in isolation |
| Intermittent effort (MTB) | HR lags surges; VO2 stays high on descents | HR mis-reads MTB intensity entirely (see below) |
⚠️ The MTB / intermittent-effort dissociation
In intermittent off-road riding, HR, power, and VO2 dissociate: VO2 stays elevated on descents
where power drops, and HR lags the short bursts that define the effort. In XCO, %VO2max did not
correlate with %HRmax or %MAP (Hays et al. 2018, Front Physiol 9:1062; PMID 30158873;
DOI 10.3389/fphys.2018.01062). For MTB, HR is unreliable for intensity — power governs. See
mtb-xco-demands.md. The same intermittent logic applies to mass-start road racing and criteriums
(road-racing-demands.md): HR lags the decisive surges, so prescribe and read those from power too.
Do NOT hardcode naive rules
These single-number rules are wrong as written because they ignore the confounds above:
- ❌ "Decoupling < 5% = fresh / fit." Decoupling is inflated by heat, dehydration, fueling, and any non-steady effort. It is only interpretable on a steady ride in controlled conditions, and even then as a trend, not a threshold. High decoupling on a hot, long, or surgey ride tells you little about fitness.
- ❌ "RHR + 5 bpm = overtrained." A single elevated RHR morning is far more often alcohol, short sleep, travel, heat, or illness. Overtraining/non-functional overreaching is a multi-signal, multi-day picture (RHR trend + HRV trend + performance + mood + sleep + training load), never one morning's number.
The correct pattern: look at trends across days, corroborate across signals (RHR + HRV + sleep + performance + subjective), and explain-away confounds first before attributing a change to training fatigue.
Using decoupling for durability (the one HR job that's valid)
On a steady endurance ride, Pw:HR decoupling is a reasonable aerobic-durability signal: as aerobic fitness/durability improves, HR drifts less for the same power late in a long ride. Use it:
- Only on steady rides (not intervals, not MTB).
- Only when conditions are controlled (not a heat outlier, not dehydrated, not post-alcohol).
- As a trend across comparable rides, alongside the power-based durability field test
(
../assets/field-test-durability.md), which is the more direct measure.
Practical workflow
- Pull the signal from MCP (HR stream, RHR, HRV, sleep, decoupling, readiness).
- Screen for confounds (table above). If a confound is present, discount the signal.
- Corroborate across signals and across days before acting.
- Prescribe from power; use HR only for steady decoupling and recovery trends.
- When signals conflict and confounds are present, default to caution (easier day) rather than trusting one number in either direction.