Browse topics

Science — Performance Intelligence (PI)

5 min read·Applies to: Montis AppChatGPT & ClaudeOpen in the Montis App

The question this layer answers

How is fitness being expressed while the athlete is under training stress?

Performance Intelligence sits between simple load/recovery monitoring and longer-term adaptation analysis.

Its role is to ask whether the athlete is handling the applied stress in a way that supports continued development.

The current Performance Intelligence engine uses three main model families, plus a heat strain check.

WDRM — Anaerobic Repeatability

WDRM evaluates W′ depletion behaviour and repeated high-intensity demand.

Current signals include:

  • maximum W′ depletion;
  • mean W′ depletion;
  • number of moderate-depletion sessions;
  • number of high-depletion sessions;
  • joules accumulated above FTP;
  • W′ utilisation divergence.

This helps distinguish ordinary training load from repeated high anaerobic demand.

ISDM — Durability

ISDM evaluates whether execution quality deteriorates as duration and fatigue accumulate.

Current signals include:

  • session decoupling;
  • repeated high-drift sessions;
  • long-session exposure;
  • signed versus absolute cardiovascular drift.

Montis deliberately requires repeated evidence for moderate drift rather than classifying one noisy activity as poor durability.

A strong positive drift signal can resolve as drifting.

Negative or improving drift can resolve as:

  • improving;
  • stable_improving;
  • stable.

Durability is therefore an execution-quality signal, not simply a measure of how long an athlete trained.

NDLI — Neural / High-Intensity Density

NDLI describes the concentration of demanding work.

Current inputs include:

  • joules above FTP;
  • number of high-intensity days;
  • mean intensity factor;
  • efficiency factor;
  • variability index.

This helps identify whether demanding work is clustered densely enough to create recovery pressure even when total weekly volume is not unusually high.

Heat strain

Hot sessions raise heart rate and slow recovery, even when power and duration look normal. Performance Intelligence checks your last 8 days for heat exposure and, when you had a hot ride in the last 72 hours, makes the training state more cautious.

Where the heat figure comes from

Montis uses the best source it finds in your activities, in this order:

  1. Heat Training Load from a CORE body temperature sensor (high confidence).
  2. A heat strain index field on the activity (medium confidence).
  3. The temperature your device (head unit or watch) recorded during the session (contextual only). In the sun this reads higher than the air temperature, because the sensor also picks up the sun's heat, which is part of the heat load. Weather-service temperatures are never used.

If any activity in the period has Heat Training Load, Montis uses that source for the whole period. The report shows which source was used and its confidence.

Set up CORE (optional)

Without a CORE sensor, Montis uses your device temperature, which is only a rough guide. To use your CORE data:

  1. Record with your CORE sensor paired to your head unit or watch, as usual.
  2. In Intervals.icu, open a recent activity and check that Heat Training Load is shown in its activity fields. If not, add the CORE heat field to your activity fields in Intervals.icu.
  3. Run a new Weekly report. The heat source should now read as Heat Training Load.

How temperature is scored

With device temperature, each session gets a heat index on a scale that starts at 18 °C:

Session temperature Heat index
18 °C or cooler 0
23 °C 1.0
28 °C or hotter 2 (the cap)

A ride hotter than 23 °C (heat index above 1.0) counts as a hot ride. The scale follows the research view that heat strain starts to rise above about 18 °C and performance clearly drops above about 23 °C.

What Montis reports

  • Heat load index: the average heat index across your sessions in the last 8 days. Below 0.5 is low, 0.5 to just under 1.0 is moderate, 1.0 or more is high.
  • Peak exposure: the hottest single session.
  • Dominant stressor: heat is named only when the heat load index is moderate or high. It is acute_heat when you also had a hot ride in the last 72 hours, otherwise heat. Low heat names no stressor.
  • Cardiovascular drift: marked as heat_induced only when a hot ride in the last 72 hours also drifted by more than 5%. Otherwise drift is not put down to heat.
  • Combined stress: flagged when a hot ride comes with a clear drop in power-to-heart-rate efficiency.

The environmental load index shows the same number as the heat load index. Climbing and altitude are treated as context, not as load.

How heat changes the training state

The heat flag is raised only when you had a hot ride in the last 72 hours. Heat from earlier in the period does not raise it. It shows as past context instead: "Recent heat exposure earlier this week".

When the heat flag is raised:

  • The load/recovery state steps up one level: productive_load becomes adaptation_pressure, and adaptation_pressure becomes load_pressure.
  • The operational state can therefore switch from load_accepting to recovery_priority.
  • The recommendation and next session are marked (heat-adjusted): rest or very light recovery when recovery is not keeping up, easy aerobic work in the middle states, and cautious progression when you are absorbing load well.
  • The readiness text adds a note that heat is raising cardiovascular load.

Heat never overrides the form (TSB) limits, and a stable state is not stepped up; it only gets the extra note.

Where you see it

  • Weekly and Season reports, in the app and in ChatGPT or Claude. The AI Coach mentions heat only when the report contains heat data, and does not recalculate it.
  • Coach Cockpit: the HIGH EXT LOAD flag appears when the heat classification is high. The External Context card shows the dominant stressor and the heat load index. See Coach Cockpit.

Acute and chronic context

For Weekly reporting, Performance Intelligence uses the high-resolution recent activity dataset.

For Season reporting, the engine can combine:

  • a chronic 90-day lightweight context;
  • an acute 7-day high-resolution overlay.

This allows Montis to distinguish short-term behaviour from the athlete's broader training pattern.

Nutrition is reported alongside PI as supporting context. See Nutrition and Fuelling.

Operational State

Performance Intelligence resolves a simplified operational state for downstream ADE use.

The two most important states are:

load_accepting

Current load and recovery evidence support continued productive training.

This does not mean unlimited load should be added. It means there is no current operational recovery conflict strong enough to force a recovery-first decision.

recovery_priority

Current evidence indicates that recovery should take precedence before further load progression.

This can arise when the load/recovery interaction shows excessive pressure, maladaptation risk or insufficient recovery capacity.

It does not automatically mean complete rest. The final action still depends on phase, forecast and event governance.

This is a critical distinction:

load_accepting / recovery_priority describe current operational capacity.

They do not describe future fatigue, long-term adaptation, or race readiness.