Why a test result might not propagate to the dashboard zones, and what to check.
A test is supposed to flow through this chain:
MetricHistory row is created for the athlete with
source tagged appropriately.is_coaching_value = True or the latest entry if no
coaching value is set.If zones look wrong, one of those steps did not happen.
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.
is_coaching_value = True entry exists for an older
test, and is being preferred over the more recent
entry.Fix: open the older entry in admin and clear the
is_coaching_value flag. The latest entry will then take
over.
metric_type (e.g. you logged "ftp" but the zones
read "critical_power"). The Hub treats CP and FTP as
distinct types.Fix: log the entry under the right metric type.
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.
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.
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.
Still stuck? Ask us a question and we'll write up an answer.
Ask a question