Skip to content

Race Plans ​

Race Plans let you save a simulation snapshot — with target time, pacing strategy, and weather — and later compare it against your actual race performance.

Navigate to Race → Plans (/race/plans) to view all saved plans.


Saving a Plan ​

After running a simulation on any course (/race/<id>), a Save as Race Plan panel appears below the splits table. Enter a name and click Save Plan. The simulation is re-run at save time and the per-km splits are stored with the plan.

You can re-save updated parameters at any time — the plan retains a single simulation snapshot.


Plans List (/race/plans) ​

Displays all saved plans in a table:

ColumnDescription
NameLink to the plan detail page
CourseLink to the course detail page
DateRace date
TargetTarget finish time
StrategyPacing strategy used
Activitylinked ↗ if an activity was auto-matched, pending otherwise
CreatedPlan creation date

Plan Detail (/race/plans/<id>) ​

Shows the full plan with:

  • Summary cards: course, race date, target time, strategy, weather at save time
  • Simulation splits table: per-km target pace, elapsed time, elevation change, and adjustment factors
  • Interactive map: course polyline coloured by simulated pace zone, with km marker highlights on hover

If the plan has a linked activity:

  • Comparison cards: actual finish vs target, actual average pace vs simulated
  • Split comparison chart: dual-bar per km — simulated pace (blue) vs actual pace, coloured green (faster) or red (slower) relative to plan
  • Split comparison table: km | Sim Pace | Actual | Δ | HR | Cadence

If the linked activity has an official chip time or race distance saved on the activity detail page, the comparison uses those corrected splits instead of the raw GPS splits.


Activity Auto-Matching ​

When fitops sync runs and fetches activity streams, the pipeline checks all unlinked plans. A plan is matched to an activity when:

  1. The activity's sport type is a run (Run, TrailRun, VirtualRun, Walk, Hike)
  2. The activity's start date is within ±1 day of the plan's race_date
  3. The activity's GPS start point is within 500 m of the course start coordinates (haversine)

Matching is silent — no notification is shown. Once matched, the plan detail page automatically shows the comparison view.

To manually check whether a plan has been linked:

bash
fitops race plan 1 --json | jq .activity_id

CLI Equivalents ​

Dashboard actionCLI command
Save planfitops race plan-save <course_id> --name "..." --target-time ...
List all plansfitops race plans
View plan detailfitops race plan <id>
Compare vs actualfitops race plan-compare <id>
Delete planfitops race plan-delete <id>

See fitops race for full CLI reference.

FitOps CLI — terminal-first training analytics