Skip to Content
Reviewing a workout

Reviewing a workout

Who can use this — all coaches, for the athletes they can see. Assistant coaches review their assigned athletes; head coaches review anyone in the company.

When an activity syncs from the athlete’s TrainingPeaks account, PlanMyPeak compares the completed session against the planned workout and produces a compliance analysis. Open an activity from your report queue to review it.

Compliance analysis only runs once a workout has been completed and its data has synced. Open a workout that’s still planned for a future date and you’ll see a note that the workout hasn’t been completed yet. You can still preview what an upcoming workout asks for before it’s ridden — see Previewing an upcoming workout. The same applies to AI feedback: it can only be generated for completed workouts. Rides without a structured plan still get a useful review — see Rides without a planned structure.

Reading the analysis

Every coach and athlete activity review shows Training context at the top: a strip of day cards running left to right from 2 days before, through the Day before and This activity (highlighted), to the Next day. Each card is headed by its date. A day without a completed activity is shown explicitly, and an unavailable metric is shown as a dash. Activities stay separate when there was more than one in a day, because IF should not be combined into a single daily value. Athletes can see this context on their own reviews, including before AI feedback is approved.

Each listed activity shows its TSS and IF. Where the workout was planned, the value reads planned → actual, and TSS carries a chip with the difference as a percentage of the plan — red when the athlete went noticeably over, orange when noticeably under, and muted when the ride landed close to plan. This includes the This activity card, which reads the same way and adds the ride’s duration. Planned TSS and IF come from the planned workout itself, so they are shown even when the plan carried no structured intervals.

On the day cards, if cycling activities are present, you see all cycling activities, including mountain-bike rides. Other sports are shown when there are no cycling activities on that day.

The Next day card lists what the athlete’s plan holds for the following calendar day — each session’s title, planned TSS and IF, and planned duration — with a Planned chip, or says Rest day (planned) when that day is prescribed as rest, or Nothing planned when it is empty. Once a next-day workout has been completed the chip reads Completed and its TSS and IF show planned → actual.

On the coach review, if the activity was completed on a planned rest day, the section is headed Planned rest day and includes a warning. If the previous day was a planned rest day that the athlete trained through, the Day before card is marked Planned rest day, alongside what they completed.

The analysis brings together everything you need to judge the session:

  • Planned vs. actual — duration, distance, training load, and intensity side by side.

  • Workout Execution — three cards — Duration, Intensity, and Load — that each show what the athlete actually did, how far it was from the plan (for example, -43m vs 120m), and a band describing the gap (on target, a bit under/over, or well under/over). Each card is colored by how close it landed, so you can see at a glance where the session went as planned and where it drifted.

  • Effort detail — depending on the data recorded, you may see a power profile, aerobic decoupling, heart-rate recovery, and peak power. The aerobic decoupling, heart-rate recovery, and peak power cards explain themselves right on the card: what the metric measures, which direction is good, and — where the metric has reference bands — where this session’s number lands between them. Each card also keeps a help button — ? Understand more on the decoupling and recovery cards, ? Help on peak power — that opens the longer explanation.

  • Time in zone — whenever a ride has power data and a power-zone definition, a card shows how the ride’s time was distributed across those exact zones. The activity’s own definition wins, preserving its labels and zone count. When the provider supplies per-zone seconds, both percentages and times come from those recorded values; otherwise PlanMyPeak calculates the distribution from the power samples against the same definition. In AI prompts, zones are always ordered by the number in the zone name (for example, Zone 0, Zone 2, Zone 7), regardless of the order returned by the provider.

  • Activity type and discipline — the workout header shows the sport (for example, Bike) and, when the connected provider distinguishes it, a discipline badge for the finer type of ride: Road, Gravel, Mountain, Track, Cyclocross, Indoor, Virtual, E-Bike, or Hand Cycling. Strava rides carry the richest discipline detail; when a ride does not specify one, only the sport is shown. The discipline also shapes how the AI reads the ride. An outdoor ride is not marked down for the power swings, coasting, and surges that terrain and traffic force on it — it is judged on whether the intended effort was delivered. An indoor ride, where the athlete sets the resistance, is read more strictly: drift and repeated surges say more about pacing there. Rides whose discipline is unknown, and ones ridden either way such as Track, are judged without either adjustment. The athlete’s feedback never says where a ride happened — the setting only informs how the numbers are interpreted — but the Coach only compliance card tells you which setting was used. See Compliance assessment.

  • Workout type — alongside the sport, the header shows what the planned session was designed to train: Recovery, Endurance, Tempo, Sweet Spot, Threshold, VO2 Max, Anaerobic, Sprint, Skills, Test, Race, or Mixed. Some sessions show a more specific label instead, such as Over/Unders, FTP Test, or Race Sim. It is read from the planned structure, so a ride with no plan attached shows no workout type.

  • Progress comparison — how this ride measures up against the earlier times the athlete rode the same session, with a written read on whether they have actually improved. See Progress comparison.

  • Compliance assessment — at the foot of the report, a Coach only card shows the AI’s overall compliance rating out of 10 and a short explanation of why the ride earned it. It is there to help you judge the feedback before you approve it. Athletes never see this card on their report, and the score is not part of the TrainingPeaks comment. The card also tells you whether the ride was classified as indoor or outdoor, because that decides how strictly the effort was judged — so if a score looks harsh or generous, you can see which reading it came from. Rides whose discipline does not settle the question, such as Track, or that carry no discipline at all, show no such line: nothing was assumed either way.

Aerobic decoupling only appears for steady aerobic sessions. It measures how the power-to-heart-rate ratio drifts over a sustained Zone 2 effort, so it needs a selected Zone 2 segment lasting at least 45 minutes — taken from the planned workout when it has a long enough Zone 2 block, otherwise found in the ride itself. The calculation uses only that segment: warm-up, cooldown, recovery, and other work are excluded. The recorded effort must also have complete enough power and heart-rate data, be predominantly actual Zone 2, and remain steady enough for its two halves to be compared. Turn off Hide empty metrics in Settings to keep the card on the page with a note explaining why a result was not available.

Aerobic decoupling eligibility and calculation

For a workout with a power-based plan, the analysis first looks at the longest uninterrupted run of active Zone 2 steps. Zone 2 is 55–75% of FTP, based on the midpoint of each planned power target. Warm-up, cooldown, rest, recovery, and any step outside Zone 2 end the run and are never included in the calculation. When that run lasts at least 45 minutes, it is measured over its whole length — a 90-minute planned Zone 2 block is measured across all 90 minutes.

The plan only says where to look first; it never stops the measurement. Whenever the planned block produces no result — it is shorter than 45 minutes, it runs past the end of the recording, or the ride during it does not pass the checks below — the analysis looks through the recorded power instead, and so does a ride with no power-classifiable plan. That search tries a full hour first and then 45 minutes, so a clean hour is always preferred. A segment shorter than an hour is reported with at most medium confidence. An FTP is required in every case.

The card says which window produced the number: measured over the planned Zone 2 segment, or over a steady segment from the ride. Results calculated before this became available show no such line.

The selected recorded segment then has to pass these checks:

  • At least 90% of its elapsed seconds have usable power between 0 and 2,500 W, with no missing-power gap longer than 30 seconds. Variable-rate power can be carried forward for up to five seconds.
  • At least 80% of the segment classifies as actual Zone 2 using a 30-second smoothed power trace.
  • Smoothed power has a coefficient of variation no greater than 0.15, and average power in the two halves differs by no more than 10%. These checks reject bursty efforts and long ramps even when much of their power happens to fall inside Zone 2.
  • Each half has paired usable power and heart rate for at least 85% of its elapsed seconds. The existing missing/zero heart-rate and stop-and-go checks are also applied to this segment only.

Once the segment passes, each elapsed second’s efficiency factor is calculated as power ÷ heart rate. The efficiency-factor series is smoothed over five minutes and split into two equal elapsed-time halves. The displayed signed result is (first-half EF − second-half EF) ÷ first-half EF × 100. A positive result means efficiency fell in the second half; a negative result means efficiency improved. The card shows the selected segment’s duration rather than the duration of the whole ride.

Report display settings

A metric needs the right data to be measured. A ride recorded without a heart-rate strap has nothing to calculate aerobic decoupling or heart-rate recovery from, and a session too short or too stop-start has nothing steady to measure.

By default, reports simply leave those metrics out — the report shows what was measured, and the remaining cards spread out to fill the space. Nothing is lost: the metric had no result either way.

If you would rather see every metric listed, with a note explaining why each empty one could not be measured, go to Settings → Reports and turn off Hide empty metrics.

This is your own setting — each coach chooses their own, and it applies to your reports and to what your athletes see for the same workout, so you both look at the same page.

The activity profile chart

The Activity Profile chart plots the session against its plan. The coloured bars are the planned training zones for each interval; the lines are what the athlete actually did.

  • The zone legend below the chart names each zone using the athlete’s own power-zone setup as it was on the day of the activity — so the labels (and how many zones there are) match how that athlete trains. If a zone’s own name already includes its number (say the athlete calls a zone “Zone 0 - Base”), that name is shown as-is rather than prefixed with another zone number. If an activity predates this, or has no power zones, the legend falls back to the standard names (Recovery, Endurance, Tempo, Threshold, VO2 Max, Anaerobic).

  • Use the Power, Heart Rate, Cadence, Elevation, and Temperature buttons to show or hide each line. A button only appears when that data was recorded. Elevation and temperature start hidden — turn them on when you want the extra context.

  • The chart always starts aligned: idle time at the start or end of the recording — pedals not turning before the ride begins, or the file left running after the cool-down — is cropped away, and the first pedal stroke lines up with the start of the planned workout. The trace is only shifted, never stretched, so it keeps its true shape and length: a ride that was genuinely shorter than the plan still ends before the right edge (a cut-short session stays visible as one), and a ride that ran long extends past the planned bars.

  • Each recorded point is drawn at the moment it actually happened, and recording pauses (a coffee stop, an auto-paused ride) show as gaps in the lines rather than a line drawn straight across — hovering over a pause shows no made-up values, and the rest of the ride is never squeezed out of position.

  • Every recorded point is drawn. The chart plots the activity exactly as the device recorded it — no averaging, no simplification, nothing filled in.

  • The Smoothing slider is yours to set. A second-by-second power trace is jagged by nature, so the chart offers a smoothing control (0–60 seconds, starting at 30) that averages the lines over the window you choose. Slide it to 0 to see the raw recording; slide it up to read the shape of the effort through the noise. It only changes what the lines look like — hover anywhere and the tooltip still reports the exact recorded value for that moment, and the peak power, time-in-zone, and compliance figures are always calculated from the untouched data.

  • Smoothing calms the noise, not the efforts. Averaging normally costs you the thing you wanted to see: turn the window up far enough to settle a long endurance ride and every sprint flattens with it. This chart averages only where the ride is steady. When the numbers around a moment are all much the same, they are averaged in full; when the ride genuinely changes level — the start of an interval, a sprint, a descent — the averaging stops at that edge and the effort keeps the height it was ridden at. So you can sit at 30 or 60 seconds for a whole ride and still see each interval at its real value.

    What that means in practice:

    • A ten-second sprint stays at its own height at any smoothing setting.
    • A single stray second — the kind of one-off spike a power meter or a dropped signal produces — is treated as noise and averaged away, so it no longer stretches the watts scale for a peak you never rode.
    • The efforts themselves are still tidied up, just far more gently than the steady stretches — about an eighth as much. Rises and falls are drawn over a few seconds rather than as vertical walls, so a rolling ride reads as rolling terrain instead of a row of blocks, and a short surge comes out rounded rather than as a spike stuck on a flat line.

    Each line judges “much the same” on its own terms, so a 20-watt wobble counts as noise while a 20-bpm change in heart rate does not.

  • The watts scale fits what you are looking at. The vertical axis covers the power line as it is currently drawn plus any planned targets on screen, so a prescribed 700 W sprint is drawn at 700 W rather than flattened against the top. Because it follows what is drawn, one freak spike no longer squashes a whole ride into the bottom of the chart: raise the Smoothing slider and the axis closes in on the effort you actually did. Hiding the power line refits the chart to the plan alone.

  • Very short intervals stay visible. A 10-second sprint inside a three-hour ride is far too brief to occupy a proportional slice of the chart, so it is drawn as a thin line at its full planned height rather than being left out. Short efforts like these are the one place where bar width is not to scale — everything wider is.

  • When the workout prescribes a cadence target, the chart shades a band over each interval showing the planned cadence range, with the actual cadence line on top — so you can see at a glance whether the athlete held the target (for example, staying inside an 88–95 rpm band) or drifted at peak power.

  • When the ride recorded elevation, an elevation line traces the terrain, so you can see whether a fade or a surge lined up with a climb rather than the flat. Indoor and trainer rides usually have no elevation, so the line and its button simply don’t appear.

  • When the ride recorded temperature, a temperature line shows how hot or cold it was through the session, so you can see whether a fade lined up with the heat rather than the effort. Rides whose device or file carries no temperature simply don’t show the line or its button.

  • Hover anywhere on the chart to read the exact power (W), heart rate (bpm), cadence (rpm), elevation (m), and temperature (°C) at that point in the ride.

If a session has no cadence recorded and no cadence target, the chart looks exactly as before — no cadence line, band, or button. The same is true of elevation and temperature: with none recorded, there’s no line or button for them.

Saving the chart as an image

The Export chart image button at the top of the review turns the Activity Profile into a PNG you can drop into a message, a training log, or a slide. The dialog shows a live preview of the finished image: every setting you change re-renders it immediately, so what you see is exactly what Download PNG saves. The settings walk through the export in order:

  1. Data to include — the chart’s data series as coloured toggles: power, heart rate, cadence, elevation, and temperature. Only the series the ride actually recorded are offered, and you can turn them all off — for example to export just the planned structure. Each series you include beyond power gets its own labelled axis (with units matching your measurement preference), so the exported image widens slightly the more you turn on.
  2. Chart appearance — what the chart looks like. Options that depend on another one appear underneath it only when it’s on:
    • Title & date header — the athlete name, workout title, and date across the top. Turn it off for an image you’d rather not put a name on.
    • Planned structure — the planned zone bars, cadence bands, and zone legend. Turn it off to show the recorded ride on its own. With it on, two nested controls shape the bars. Bar opacity fades the planned bars from fully solid (100%) down to a light tint (10%), so the recorded lines stand out over a quieter plan — useful when the ride, not the prescription, is the story of the image. Fill to zone floor draws each planned bar as its target zone instead of one solid block: solid colour up to the bottom of the zone, and the prescribed range shown transparent above it, so you can see exactly where inside the zone the athlete rode.
    • Smoothing — averages the lines over the number of seconds you set (0–60, starting at 30), the same control as the Smoothing slider on the chart itself. Set it to 0 for the raw recording, or match whatever you have the on-screen slider on so the image looks like what you are reading.
    • Time gridlines — a vertical gridline every 1–5 minutes, with elapsed times below the chart.
    • Watts gridline interval — spacing of the horizontal watts gridlines, in steps of 50W. The chart’s watts axis fits itself to the ride, so a lower interval reads better on an easier ride and a higher one suits a ride with a wide power range.
  3. Image size — automatic, or a set width or height. The chart keeps its proportions either way, and the resulting pixel size shows above the preview and in the dialog’s footer.
  4. Markup (optional) — select Open tools to draw arrows, lines, and text labels onto the image — handy for pointing at the interval you want the athlete to look at. Changing a setting after you’ve drawn re-renders the chart, so the dialog asks first before discarding your markup.

When it looks right, Download PNG saves the image you’re looking at.

Zooming in on a section of the ride

To study one stretch of the ride — an interval block, a climb, a surge — click and drag across the Activity Profile chart. The selected section is highlighted and a selection stats panel opens below the chart with numbers for just that slice:

  • Headline: duration, distance, and TSS of the selection.
  • Detail: work (kJ), normalized power (NP), intensity factor (IF), variability index (VI), efficiency factor (EF), elevation gain and loss, average grade, and climb rate (VAM).
  • MIN / AVG / MAX table: power, heart rate, cadence, speed, pace, elevation, and temperature — each row appears only when the ride recorded that data.

Choose Zoom in beside the selection metrics to stretch that section across the full chart width. The metrics stay visible, and the button changes to Reset. You can hover to inspect values or drag again to measure a smaller section within the zoomed view.

Choose Reset, click the chart once without dragging, or press Esc to return to the full activity and clear the selection.

A few things to know:

  • Everything is computed from the ride’s own recorded samples, on the spot — selecting never changes the stored activity or its analysis.
  • NP, IF, TSS, VI, and EF need at least a minute of power inside the selection; shorter slices show a dash for those instead of a misleading number. IF and TSS also need an FTP on the activity.
  • To clear the selection, click the chart once without dragging, press Esc, or use the Clear selection button on the panel.

Where the data comes from

At the very bottom of the review, a small footnote credits the source of the data, next to each provider’s icon. Most of the time the plan and the recorded streams come from the same place, so you’ll see a single line — for example Data from TrainingPeaks.

When the workout was planned in one provider but the power, heart-rate, and cadence streams were matched from another — typically a TrainingPeaks plan filled in with detail from a matched Strava ride — the footnote splits into two lines so it’s clear where each part came from:

  • Plan from TrainingPeaks
  • Stream data from Strava

Previewing an upcoming workout

You don’t have to wait for an athlete to ride a session to see what it asks for. Open a structured workout that’s still planned for a future date and the review page previews the plan:

  • The workout description — the coach’s notes for the session (for example, “3×10min @ Sweet Spot, keep cadence above 90”) — is shown near the top in a collapsible panel, with its line breaks preserved. When the workout also has a structured plan, a step-by-step breakdown (each interval’s duration, target power, zone, and cadence) appears alongside the notes. If the workout has a structured plan but the coach left no notes, the panel still opens on the step-by-step breakdown under a Workout Structure heading — so a synced interval session is never blank. The panel appears on completed workouts too, whenever there’s a description or a structured plan to show.
  • The Activity Profile chart draws the planned zone bars and the FTP line from the planned structure, exactly as they’ll appear once the workout is completed — so the preview and the post-completion analysis line up. There are no actual power, heart-rate, or cadence lines yet, because nothing has been ridden.
  • A Planned Workout summary shows the planned duration, TSS, intensity factor, and energy. When TrainingPeaks omits planned TSS or intensity factor, PlanMyPeak calculates the missing value from a time-based power structure and the athlete’s FTP. If that information is unavailable, the value shows as a dash instead of preventing the review from loading.
  • You’ll still see the note that the workout hasn’t been completed yet, and the Coach Feedback card explains that feedback becomes available once the workout is done — feedback is written from the completed ride, so there’s nothing to generate yet.

The planned chart needs a time-based structure (intervals measured in minutes or seconds), a power target, and the athlete’s FTP. The FTP is taken from the athlete’s most recent completed cycling ride, so an upcoming workout charts as soon as the athlete has at least one synced ride with power zones — a brand-new athlete with no completed rides yet sees the description and planned summary until their first ride syncs. When a workout is built around distance or has no power targets, the page still shows the description and the planned summary, just without the chart.

Where a planned workout’s structure comes from

Most of the time the workout’s structure — the intervals, the targets, the warm-up and cool-down — comes straight from TrainingPeaks along with the rest of the workout.

For athletes you coach through your own TrainingPeaks connection, it doesn’t. TrainingPeaks sends us the workout’s name, its date, how long it should take and how hard it should be, but not the structure itself. That’s a limitation of what a coach’s connection is allowed to read, not something either of us can switch on.

So PlanMyPeak looks for the same session in your workout library. If it finds it, it uses that structure, and the workout is then reviewed exactly like any other — the same chart, the same compliance analysis, the same AI feedback.

You’ll see Matched from your library on a workout whose structure was found this way, along with the library workout it came from.

How a workout is recognised

A library workout has to be the same type and the same duration, and then either:

  • have the same TSS and intensity factor, or
  • have exactly the same description.

Two tests rather than one, because neither works everywhere. TrainingPeaks recalculates a workout’s TSS and intensity factor for each athlete when you schedule it, so those numbers don’t always survive — but the description is copied word for word. Equally, plenty of workouts carry no description at all, and those are recognised by their numbers.

A workout that matches neither is simply left alone. You’ll see its name, its description and its planned totals, just no structure.

If the match is wrong

Open the workout and use Not this workout in the Structure from your library panel. The structure is removed, and that library workout won’t be suggested for that session again. If a different library workout is the right one, choose Use this next to it.

You can also attach a library workout to a session PlanMyPeak didn’t recognise — useful when you’ve edited a workout after scheduling it.

Once a workout has been analysed, its structure is fixed and can no longer be changed. The report describes the structure it was scored against, so changing it afterwards would leave the report describing a session that was never prescribed. Correct a wrong match before the athlete rides it.

If TrainingPeaks later supplies the workout’s own structure, that always wins — your library is only ever filling a gap.

Rides without a planned structure

Not every ride follows a structured plan — free rides, group rides, and races often sync with no planned intervals at all. These activities still get a review page:

  • The Activity Profile chart plots the recorded power, heart rate, cadence, and elevation lines (with the athlete’s FTP line when their power zones are set up). There are simply no planned zone bars, because there was no plan.
  • A Ride Summary card shows the headline numbers: duration, average and max power, normalized power, intensity factor, TSS, energy, and average heart rate. Anything the device didn’t record shows as a dash.
  • The Time in Zone card breaks the ride down across the athlete’s power zones, just like on structured rides. The same activity-defined labels, bucket count, and provider-recorded distribution are also supplied to the AI feedback, so the chart, card, and coaching narrative read the zones the same way.
  • A note explains that compliance analysis isn’t applicable — there’s no plan to compare against.
  • You still get Coach Feedback: for a completed cycling ride with recorded power and an FTP, the AI writes a performance review of the ride itself — intensity, effort distribution, durability (aerobic decoupling), and peak efforts — without a compliance grade or rating, since there is no plan to rate it against. The review reads the ride’s Activity Profile chart together with the exact ride numbers, so it can tell deliberate efforts and the easy riding between them apart from a steady ride: a session titled “SST” with four sustained efforts is coached as intervals, not told to smooth out its recoveries. The activity title is treated as a hint about what was intended, never as proof of what was ridden, and exact watts, durations, and percentages in the review come from the recorded numbers, not from reading the chart. A ride with no obvious pattern is described cautiously rather than given a label, and a well-executed ride can come back with no improvements or action items at all. Generate it the same way you would on a planned ride, and it publishes to TrainingPeaks as the coach summary plus the link to the athlete’s report.
  • You can edit this performance feedback exactly like on a planned ride — tweak the wording yourself or revert to the original (see Edit the AI feedback).

AI feedback needs power and an FTP, not a plan. A completed cycling ride with a recorded power stream and an FTP gets an AI performance review even with no planned structure. When a ride has no power data or no FTP, the Coach Feedback card explains that instead of offering a Generate button. If the ride’s chart cannot be produced when feedback is generated, the report shows the feedback as failed with a Retry option rather than reviewing the ride without it.

Compliance analysis is for cycling. For other workout types — strength, swims, runs, and so on — the review page shows a Workout Summary with every metric the device recorded (duration, distance, training load, heart rate, calories, and more), without compliance or AI feedback sections, since the power-based analysis doesn’t apply to them. These workouts also never appear in your report queue: there is nothing to review.

When a planned ride barely matched the plan

Sometimes an athlete has a structured workout on the calendar but rides something completely different — a group ride instead of the intervals, or an easy spin instead of the threshold set. Treating that as a failed execution of the plan isn’t useful to anyone, so rides that fall far outside the planned structure are treated as rides without a planned structure:

  • The review switches to the same Ride Summary and performance review you’d see for a genuinely unplanned ride — the AI describes the ride on its own terms (intensity, effort distribution, durability, peak efforts).
  • Only you, the coach, see a short note explaining that the ride could not be compared meaningfully with the plan. It appears in place of the usual no-structure note.
  • You also still get the Compliance assessment card. These rides did have a plan, so the AI rates out of 10 how much of the planned session was achieved and explains what was missed — the same card described under Reading the analysis. Genuinely unplanned rides have no plan to rate, so they show no card.
  • The athlete never sees that note, or the rating and its explanation. Their report and the TrainingPeaks comment read exactly like any other unplanned ride: the performance summary and report link.

This is automatic and per-ride. It’s decided from the ride’s own compliance result each time a workout is analyzed, so a ride the athlete genuinely followed keeps its normal structured review.

Progress comparison

When an athlete repeats a session they have ridden before, PlanMyPeak compares this ride against those earlier repeats and writes up what changed over time — a Progress comparison card on the review page.

It compares the numbers actually recorded: average and normalized power, heart rate, intensity factor, TSS, and aerobic decoupling. The point is efficiency, not effort — more power at the same heart rate, or the same power at a lower one, is the kind of change it is looking for.

What the card shows

The card reads top to bottom, from the short answer to the detail behind it:

  • The verdict — improved, held steady, or down on last time — with the sentence bound for the athlete’s TrainingPeaks comment when there is one.
  • Four headline numbers — average power, average heart rate, normalized power, and aerobic decoupling — each shown against the average of the earlier repeats, with the change coloured green when it is the outcome you want and orange when it is the one to watch. A change of less than 2% is left grey: it is inside normal ride-to-ride variation, not progress. The small bar under each number sizes that change against how much these rides normally vary. Aerobic decoupling appears only when this ride has a decoupling value. It is only calculated for steady aerobic efforts with heart rate.
  • A trend chart across every repeat. It starts on average power; select more metrics to overlay them. With one metric selected the chart carries a value axis and a dashed line at the earlier rides’ average, so you can see at a glance whether this ride sat above or below normal. With several, each line is scaled to its own range — the shapes are comparable, the heights are not. Hover any ride for its exact numbers.
  • The session table, most recent first, with this ride at the top. It opens on the metrics you read most — duration, average power, TSS, average heart rate, decoupling — and Show all metrics adds the rest: normalized power, intensity factor, max power, completed load, max heart rate, cadence, distance, elevation, energy, heart-rate recovery, and a column for each peak-power window the rides recorded. A metric none of the rides recorded is left out rather than shown as a column of dashes. Below the table, Show older rides not used in this comparison loads the rest of the matching rides — the ones outside the 12-month window or beyond the session cap — and lists them underneath for context. They never change the verdict, the headline numbers, or the chart, which always read from the compared set. Select the linked date on any earlier ride — including one under Not used in this comparison — to open that ride in the same activity popup used by the calendar. Close the popup to return to this comparison. This ride remains plain text because it is the activity already open.
  • The written read-out — the narrative, then what improved and what to do next time.

A few things worth knowing:

  • It is not a compliance judgement. The comparison never scores the ride against its plan. Each session’s prescribed structure (e.g. 3x10' then 3x15') is passed to the write-up purely as context, so it can note how you progressed the overload — it is never marked against.
  • It only looks back 12 months. Sessions ridden more than a year before this one are left out even when the structure matches exactly, because FTP, form, and training focus have moved on by then and the comparison would mislead.
  • It needs at least one comparable earlier ride. A session with recorded power or heart rate, inside that 12-month window. When there is nothing to compare against, the card is simply not shown.
  • It runs automatically. The comparison is produced with the analysis, so it is usually already there when you open the review. Regenerate re-runs it.
  • The numbers don’t wait for the write-up. The headline deltas, the trend chart, and the session table are measured from the rides themselves, so they appear as soon as the ride has something to compare against — before the written verdict and read-out have been generated, and while a Regenerate is running. Only the verdict and the coaching read-out need the write-up.
  • Missing numbers are left blank. A ride recorded without power still takes part on the metrics it does have; nothing is filled in or estimated.
  • Eligibility is decided on power and heart rate. The extra columns — distance, elevation, cadence, energy — are shown for context and never make a ride comparable on their own.
  • Older comparisons show fewer columns. A comparison generated before a metric was added simply doesn’t carry it. Regenerate re-reads the rides and fills it in.

A clear improvement adds a line to the athlete’s TrainingPeaks comment

When the comparison finds a real, measurable gain, one short sentence about it is added to the comment the athlete receives in TrainingPeaks — for example “147W to 150W at the same 135 bpm — a genuine aerobic efficiency gain over five weeks.”

It sits inside the comment, above the report link, and never replaces the coaching narrative. You see the exact line in the approval preview before you publish, so nothing reaches the athlete that you have not read.

A session that held steady or went backwards adds nothing to the comment — the fuller picture stays on the review page for you.

Choosing between two AI versions

Every so often, a workout’s Coach Feedback card shows two versions of the feedback side by side, labelled Version A and Version B. We do this on a small, regular sample of reviews to keep improving the quality of the AI feedback — and we ask you, the coach, which one is better.

Read both, then select Choose Version A or Choose Version B to pick the one you’d rather send. A few things to know:

  • Your choice is final. Once you pick a version, it becomes the workout’s AI feedback and the other version is gone — there’s no way back to it.
  • Pick first, then edit. While both versions are showing, the Edit and Approve and publish actions are paused. Choose a version and they come back, working exactly as usual on the version you kept.
  • It’s blind on purpose. The two versions aren’t labelled with anything but A and B, so your choice reflects which feedback reads better — nothing else.

You’ll only see this on a handful of reviews, not every workout. The rest of the time there’s a single AI feedback draft, just as before.

Edit the AI feedback

Every analysis comes with AI-written coaching feedback — a short narrative you can send as-is or make your own. You can:

  • Edit the feedback to add your voice or a personal note.
  • Revert to the original AI version if you want to start over.

The analysis shows which coach last edited the draft, so a team stays in sync. Each coach sets the voice their own feedback is written in — see AI feedback tone.

Want the AI to write it differently? Edit the draft directly — it’s yours to change. For a lasting change to how the AI writes, set your AI feedback tone, and for how it reads a particular kind of session, see Analysis profiles. Those apply to every future analysis rather than one report at a time.

The feedback focuses on the main work. Warm-up and cool-down are only called out when they were meaningfully under-executed — if they were done acceptably, the AI leaves them out so the feedback stays focused on the intervals. One exception: when a session has hard intervals and the warm-up beforehand was short (under about 10 minutes), the feedback adds a gentle reminder that a slightly longer warm-up next time — within reason — helps prepare for hard efforts.

The AI reads each segment on its own terms. For every planned segment the review measures how the effort was actually executed and feeds that detail to the AI: how steady the power was and how much of the segment sat inside its target, the longest stretches spent above or below target, whether power held or faded from the first half to the second, and any brief spikes or drops. Where heart rate was recorded on a long, sustained effort, it also looks at heart-rate drift (decoupling) and how the heart rate settled; where cadence was recorded, it looks at cadence changes and coasting. Crucially, the AI applies each measure only where it makes sense — a long tempo block is judged on drift and pacing, while a short interval step is judged against its own target rather than on drift or first-half-versus-second-half pacing, and a recovery block is judged on staying easy. The main work block carries the most weight, and a steady endurance stretch at the end of a ride is read as an endurance finish, not automatically as a cool-down.

Occasionally the AI feedback can’t be generated for a workout. When that happens, the Coach Feedback card shows a short notice instead of a draft, with a Retry button — the rest of the analysis (execution metrics, segments, and charts) is still there. Select Retry to generate the feedback again. While feedback is unavailable, the workout can’t be approved and published yet — retry until it succeeds, then approve.

Workouts that were already in an athlete’s history when you connected them get the compliance analysis automatically, but Coach Feedback is not generated for them up front — only recent workouts get feedback automatically. For an older, imported workout the Coach Feedback card explains this and shows a Generate AI feedback button. Select it to create the feedback on demand, then review and approve as usual.

Approve and publish

When you’re happy with the feedback, select Approve and publish. A short popup shows you the exact comment that will be posted on the athlete’s TrainingPeaks activity — the coaching note, without a compliance score. You can edit that text before it goes out, so the comment reads exactly how you want for this one activity. Select Confirm & publish to send it, or Cancel to go back.

The link to the athlete’s full report is always added to the end of the comment (the popup shows it and notes this), so your athlete can always open the full analysis — you don’t need to add it yourself, and it can’t be removed by editing.

Every review — yours and your athlete’s — ends with a short reminder that the feedback is not medical advice and that any changes to the plan should be discussed with you. Your athlete also sees it in their feedback and weekly review emails.

That same comment text is also what your athlete reads in their “feedback ready” email, so whatever you confirm here is what reaches them on every channel — no separate wording to keep in sync.

The status pill at the top of the page tracks where the report is — analyzing, review pending, approved, published, or dismissed — and once it’s published you’ll see the timestamp and a link to the athlete’s report. You’ll always get a clear success or error message; if publishing fails (for example, because the connection expired), the message tells you the next step.

The report link is the same for everyone — one link opens the report for whoever follows it. The athlete opens it to read their full report; if you (the coach) open the very same link from the TrainingPeaks comment, it opens your coaching view of that activity. Either way you sign in first — the report isn’t public, so it stays private to the people allowed to see it, each seeing their own view. The full analysis lives in PlanMyPeak.

Clarifying questions for the athlete

When the AI coach can’t establish from the chart alone why something happened — most often a stop in the middle of a sustained work interval, where the cause could be an external interruption or fatigue — the feedback ends with a Clarifying Questions block instead of guessing. Each question lists the possible explanations; the recommendation that follows from an explanation appears only once the athlete has chosen it. For a sweet-spot session, for example, an external interruption keeps future targets unchanged, while confirmed fatigue can recommend reducing the work-interval power targets by 5% for the next similar session next week. That adjusts the prescribed work targets, not FTP, and nothing in the plan changes automatically.

Only the athlete can answer. Once the report is reviewed and visible to them, they pick the explanation that fits on their side of the report. Neither of you sees a recommendation until then, and afterwards only the chosen option shows one, so the answer is about what happened rather than the outcome either of you would prefer. You then see their answer highlighted on your view, with the date they answered, or Awaiting the athlete’s answer until they do. The athlete can change their answer later. The interruption alone never establishes fatigue, and the compliance score always reflects the work actually completed.

Every question also offers Something else. An athlete who picks it must write a short note about what happened, and you see that note under the highlighted answer. There is no automatic recommendation for it — read the note and decide the next step yourself.

On prompt versions that look at recent training load, the question can also show its evidence. When the athlete completed materially more training load than planned over the seven days before the session — about 20% or more, counting rides that were not on the plan — the question says so, as the two totals (“about 520 TSS against about 240 TSS planned”), and asks whether that additional load explains the break: “Yes, I could not hold the effort” (which leads to the fatigue recommendation) or “No, something interrupted me” (targets unchanged). The athlete can still answer either way, or choose Something else. When their recent load was on plan, or there was no plan to compare against, the question stays neutral and mentions no numbers. Those two totals are the only figures the athlete sees: no percentage, no individual rides, planned sessions, or fitness values are shown, and the compliance score is never adjusted for recent load.

The block survives your edits to the feedback prose and stays out of the TrainingPeaks comment. It only appears on feedback produced by a prompt version that asks clarifying questions, and only for indoor rides: outdoors a stop mid-interval is usually traffic or terrain, so the question would add noise rather than clarity. Many reports won’t have one.

See how the athlete responded

After a report is published, your athlete can react to it from their side: a thumbs up or thumbs down on the report, plus short comments about how the session felt. When they do, an Athlete Feedback panel appears on your view of the same activity, under the coach feedback — their rating and comments, newest last.

The panel is read-only for coaches and only shows up once the athlete has actually rated or commented, so it never adds noise to reports without a response.

Any activity report can be printed on paper or saved as a PDF straight from your browser — useful for a face-to-face debrief, for filing alongside a training block, or for attaching to an email.

Select the printer icon at the top of the activity page, or press Ctrl+P (Cmd+P on a Mac) — both produce the same document. In the print dialog, choose your printer, or pick Save as PDF (Chrome, Edge) / PDF → Save as PDF (Safari) / Print to File (Firefox) as the destination.

What you get:

  • The whole report, over as many pages as it needs — the chart, the metric cards, the workout execution breakdown, the AI coach feedback, and everything else on the page.
  • A page-friendly version of it. The report prints on a light background whatever theme you use on screen, and colours that carry meaning — training zones, compliance colouring, status badges — are kept, so you don’t need to turn on “background graphics” in the print dialog.
  • Sections kept together, so a card is never split across two pages. Long sections such as the AI feedback do continue onto the next page, but they break between lines and between whole table rows.
  • The workout description in full, even if you left that panel collapsed on screen. It goes back to how you had it once printing is finished. The step-by-step breakdown of the planned workout beside it is left off — it is a screen reference, not report content — so a workout with a structure but no written description prints no panel at all.
  • No buttons or navigation. The menus, the action icons, the approval bar, the editing controls, the chart’s smoothing slider, and the “Understand more” help links aren’t part of the printed page — only the report is.

Paper size, orientation, margins, and page numbers come from your browser’s own print dialog, so set those there. Whatever you can see on the page is what prints — if you’ve hidden a chart series or collapsed a table, the printed report matches.

Dismiss a report

If you don’t want a report sent to an athlete, select Dismiss — on the activity page next to Approve and publish, or straight from the DISMISS button in your report queue. After a quick confirmation, the report is set aside: nothing is posted to TrainingPeaks, the athlete is not notified, and the activity leaves both queue views.

Dismissing isn’t final. Open the activity again and select Reopen to bring the report back as a draft, so you can revise it and approve it later.

Coach review vs. auto-approve

Whether a workout waits for you or is approved automatically depends on the athlete’s Feedback approval setting. On Coach review, every analysis lands in your pending queue; on Auto-approve, qualifying sessions publish on their own. You set this per athlete — see Managing athletes.

If the AI feedback can’t be written for a session — the model is unavailable, or the request fails — nothing is published, in either mode. The report is held in your pending queue with an explanation and a Retry button instead of going out with a generic summary. For an auto-approve athlete, a successful retry publishes the session automatically, just as it would have originally.

An analysis is produced for activities that sync within about 48 hours of being completed. If an activity is much older when it arrives, it may show no report.

Last updated on