For Coaches Troubleshooting

Zones look wrong after a fresh test

Why a test result might not propagate to the dashboard zones, and what to check.

The chain

A test is supposed to flow through this chain:

  1. You run the corresponding calculator (CSS, CP, etc.) or log an Assessment.
  2. A MetricHistory row is created for the athlete with source tagged appropriately.
  3. The dashboard reads "the coaching value" for that metric, which is the most recent entry with is_coaching_value = True or the latest entry if no coaching value is set.
  4. Zones recompute against the coaching value.

If zones look wrong, one of those steps did not happen.

Symptom: Test ran but the new value is not on the dashboard

Fix: re-run for the right athlete.

Fix: open the calc result and use the save-to-profile button if present, or manually create a MetricHistory entry with the right value.

Fix: open the metric review queue and accept the new value.

Symptom: Dashboard zones are anchored to an old value

Fix: open the older entry in admin and clear the is_coaching_value flag. The latest entry will then take over.

Fix: log the entry under the right metric type.

Symptom: Best-efforts curve disagrees with the test result

The power curve and best-efforts ladder are computed independently from MetricHistory. They aggregate from Activity.mmp_curve data. If a training activity has a higher best 20-min power than the structured test, the curve will show that activity, not the test value.

This is correct: the curve is "what you actually did", not "what we declared the threshold to be". The two can disagree, and the disagreement is interesting.

Symptom: Zones changed after I updated weight

Weight does not change power zones directly (power is absolute watts). It does change:

Fix: confirm the weight change is what you expected. If the change shifted zones on the dashboard, look for incidental edits made at the same time.

Symptom: Zones look right but a workout was binned to the wrong zone

Time-in-zone is computed per activity against the FTP captured at the time of upload (power_zone_ftp on the activity). If FTP has updated since upload, the activity's binning is historical and does not auto-recompute.

Fix: there is no UI to recompute zones on existing activities today. The forward-going analytics are correct.

See also: Reviewing metric submissions, Power curve and career MMP, Yousuli zones.

Last updated May 12, 2026

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

Ask a question