Skip to Content
Analysis profiles

Analysis profiles

Platform administrators only. Analysis profiles shape the AI analysis for every coach and athlete on the platform. They replace the former per-company custom coach prompts: review criteria are now managed centrally here. Coaches shape the feedback’s voice with AI feedback tone, and add their own squad-specific context on top of these criteria with analysis notes — additive only, and only for their own athletes.

When PlanMyPeak analyses a ride, the AI doesn’t judge every session the same way. It follows a profile of review criteria matched to what the workout was trying to achieve — a recovery spin is judged on staying easy, a threshold session on holding its targets. Analysis profiles are where those criteria live and are edited.

There are two kinds of profile:

  • Ride-type profiles — one per workout type (threshold, endurance, VO2 max, …). The right one is selected automatically by the workout classifier.
  • Ride-environment profiles — one for indoor and one for outdoor. The matching one is added to every ride on top of its ride type.

How a ride gets its type

Every planned workout is classified automatically, using only the planned workout — its structured steps, target zones, durations, cadence prescriptions, and description — never the athlete’s actual ride. Both power prescriptions (percent of FTP) and heart-rate prescriptions (percent of threshold or max heart rate, each read against its own zone boundaries) are understood. The classification is deterministic: the same planned workout always gets the same type. It appears as the intent badge on the coach dashboard and as the ride type on workout library cards.

The classifier assigns one of these types:

TypeThe session exists to…
Recoverystay genuinely easy and aid recovery
Enduranceaccumulate steady aerobic time
Temporide sustained moderately-hard efforts
Sweet spotwork just below threshold
Thresholdhold efforts around FTP
Over-undersalternate just above and below threshold
VO2 maxride short, very hard aerobic intervals
Anaerobic capacityrepeat efforts well above FTP
Sprint / neuromuscularproduce maximal short sprints
Skills & techniquetrain cadence, torque, or coordination
Testingmeasure the athlete (e.g. an FTP test)
Race specificrehearse race demands
Mixedcombine several intents with no single dominant one

Intent wins over raw minutes: a cadence-drill session classifies as skills & technique even when most of its time sits at tempo power. When no single intent dominates, the session is mixed.

What counts, and what doesn’t

The type comes from the work in the session, not from the clock:

  • Warm-ups, cool-downs, and the easy spinning between efforts are set aside. A VO2 session with a long warm-up is a VO2 session, not an endurance ride with some intervals in it.
  • The easier half of an over/under still counts as work. Riding at 85% of FTP between the hard bits is part of the session, not a rest.
  • Short, very hard efforts off short recoveries are VO2 work. A set of 30-second efforts with 15 seconds between them is a VO2 session even though each effort is well above FTP — the short recoveries are what make it one. The same effort repeated a handful of times with several minutes of recovery is anaerobic capacity instead.
  • A ride that stays in zones 1–2 is one ride, not a mix. If zone 1 holds the majority of the work it’s a recovery ride; otherwise — including an even split — it’s an endurance ride. A single band prescribed across “zones 1–2” is read by where its top reaches: capped low in the range it’s a recovery spin, reaching well into zone 2 it’s an endurance ride.
  • A brief effort inside a long ride doesn’t rename the ride. A few sprints in the middle of a three-hour Zone 2 ride leave it an endurance ride.
  • A prescription the classifier can’t read gets no type rather than a guess. Workouts written only in absolute watts or beats per minute can’t be placed on a zone scale (they depend on an athlete’s own thresholds), so they show as Unclassified — unless the title names exactly one type, which is then used.

When your title decides

If you name the session in its title — “Sweet Spot Repeats 4x8’”, “VO2- 30/15s” — that name is used when the numbers alone can’t settle it, and when the numbers land on a neighbouring type. A set prescribed at 90–95% of FTP sits on the line between sweet spot and threshold; if you called it threshold, it’s threshold.

Your title can’t override a type it disagrees with completely, and it can’t add work that isn’t prescribed — a ride titled “VO2” that contains no hard efforts stays whatever it actually is. Titles naming two types (“Endurance + Sprints”) are left to the numbers.

The set of types is fixed — it matches what the classifier can emit, so types can’t be added or removed from the editing page.

Indoor and outdoor in brief

Alongside its type, every ride carries a best guess of where it happened — indoor or outdoor — derived from the ride’s data. Some rides can’t be placed and stay unknown.

  • The environment profile is one field: How to analyse — everything the AI should know about reading a ride recorded in that environment. Indoors, power is held artificially steady and coasting or trainer speed means little; outdoors, terrain and junctions break efforts up and normal variability isn’t poor execution.
  • It is not a ride type and not a per-type override. The matching environment guidance is appended to every analysed ride on top of whatever ride type was assigned. An unknown environment adds nothing.
  • The AI is firmly instructed to use the environment only to interpret the data — it never states or implies to the athlete where the ride happened, because the value is a guess.

Editing a profile

Open Analysis Profiles from the admin menu. The left rail lists the two environment profiles and every ride type, each with a filled-section count. Selecting one opens its editor.

A ride-type profile has four sections; the environment profiles have the single How to analyse field:

  • Critical checks — what the AI must verify for this workout type. Required.
  • Common red flags — execution failures typical of this type.
  • Do not overvalue — metrics that mislead here; context only, never penalised.
  • Recommended action — applied only when the athlete did not execute as prescribed. Write it as “what to do about it”, not as an instruction to always follow — otherwise it leaks into feedback for sessions that went well.

What you type is used exactly as written — line breaks, wording, and order are preserved. A bullet list per line is the convention, but plain prose works. Write it the way you would brief a junior coach. The How this reaches the model button on the page shows a live example of the exact block your text becomes.

Edits to several profiles are saved together with Save profiles. Unsaved profiles are marked with a dot in the rail, and leaving the page with unsaved edits asks whether to keep editing, discard, or save and leave. Each section holds up to 4,000 characters.

Part of a larger prompt

Profile text is inserted into a much larger set of instructions the AI already follows — rules about evidence, tone, output format, and never revealing the riding environment. Contradicting those built-in instructions can lead to unexpected behaviour: the AI receives two conflicting orders and may follow either, inconsistently.

Keep profile text additive: describe what to check, what typically goes wrong, and what to ignore for this kind of session. Don’t use it to change the AI’s voice, its output format, or to make it mention things the built-in rules forbid (like the indoor/outdoor guess). The feedback’s voice belongs to AI feedback tone, and per-report adjustments to editing the draft in Reviewing a workout.

Implications of an edit

  • Platform-wide reach. An edit applies to every athlete and every coach — the next analysis of every ride with that type (or environment) uses the new text, including rides classified months ago that get re-analysed.
  • Live within minutes. Saved edits reach running analyses within about 5 minutes. No release or restart is involved.
  • An empty section disappears. Leaving a section blank removes it from the AI’s instructions entirely — no heading, no placeholder. There is no hidden built-in fallback, so an accidentally emptied section shows up as changed behaviour, not silently patched text.
  • Every change is kept. Each save that changes a profile is recorded in a complete change history — who changed what, when, and the full text after the change.
  • Test before trusting a rewrite at scale. Use the Prompt Lab to render a real activity’s analysis with your edited text before relying on a large rewrite.
Last updated on