For Coaches Coaching workflows

Load computation and the coach override

How Load is auto-computed and when to override it manually.

How Load gets computed

Every Activity gets an auto-computed Load Score when one is possible. The Hub picks a method in priority order:

  1. Power (tss_method = 'power'): if the activity has power data and the athlete has an FTP. Uses (AdjP * IF * duration_hours) / FTP * 100.
  2. Speed / pace (tss_method = 'speed'): if power is missing but speed and a threshold pace are available (typically run activities).
  3. Heart rate (tss_method = 'hr'): if neither power nor speed-based Load is possible but the activity has HR data and a threshold HR.

If none of the three apply, the tss field stays empty.

The chosen method is recorded in tss_method so you can see how the score was produced.

The override field

Sometimes the auto-computed Load is wrong:

For those cases, the Activity has a tss_override field. When set, the override is used instead of the auto-computed value for all downstream calculations (Fitness, Fatigue, Form).

How to set the override

Open the activity detail page. The Load chip exposes an edit control. Save a numeric override or clear it to revert to the auto value.

API endpoint: POST /api/athlete/<pid>/activity/<id>/tss-override/ with a JSON body of {"tss_override": <number>} or {"tss_override": null}.

The override write is logged in the EditLog audit trail.

What "effective Load" means

The roster-wide PMC math uses effective_tss, which is COALESCE(tss_override, tss). The override takes precedence when set; otherwise the auto-computed value is used.

When to override

When to NOT override:

See also: Activity quality flags, Metric exclusions.

Last updated May 12, 2026

Still stuck? Ask us a question and we'll write up an answer.

Ask a question