Skip to content

Dashboard — Analytics ​

The Analytics page (/analytics) lets you explore your training load over time and dig into performance metrics — all visually, without running CLI commands.

Training Load Chart ​

A time-series chart showing three lines across your training history:

  • CTL (Chronic Training Load) — your fitness base, built up over weeks
  • ATL (Acute Training Load) — recent fatigue from the past 7–10 days
  • TSB (Training Stress Balance) — how fresh or fatigued you are on any given day

Hover over any point on the chart to see the exact values for that date. On mobile, the chart panels can be expanded fullscreen and are sized to the available browser viewport so the full plot remains visible after entering or exiting fullscreen.

Controls:

  • Days — how many days of history to display (default: 90)
  • Sport view — Run / Cycle / Total (same filter as the Overview)

Use this chart to understand the shape of your training blocks — a widening gap between CTL and ATL after a hard week, a recovery period where TSB climbs back positive, or a fitness plateau when CTL has stopped rising.

Performance Metrics ​

The Performance page (/analytics/performance) surfaces derived numbers from your last 50 activities and now lets you switch between Run and Ride views. It also shows your current load snapshot, a trend summary, and a direct link back to Profile so the page reads like a full training context, not just a metric dump.

Controls:

  • Days - how many days of history to analyse
  • Sport - Run or Ride

The top row on the page brings together:

  • Current Load - CTL, ATL, TSB, and form label from the cached training load snapshot
  • Trend Snapshot - a short summary of recent volume and pace/HR direction
  • Profile Link - a reminder that VO₂max override, LTHR, threshold pace, and zones all live in Profile

The VO₂max and pace threshold charts use the same fullscreen behavior as Training Load, including mobile viewport-aware sizing.

Running Efficiency panel ​

MetricWhat it means
Running economyEstimated O₂ cost per km (ml/kg/km) from Daniels VO₂ demand model — lower = more efficient
Pace efficiency0–100 score based on pace consistency across recent runs (100 − CV×100)
Pace variabilityCoefficient of variation of paces — lower means more even training
ReliabilityPace efficiency expressed as a 0–1 fraction

Aerobic Efficiency Trend (within Running Intensity Thresholds panel) ​

MetricHow it's derived
Aerobic efficiency trendChange in speed per heartbeat between the early and recent halves of the selected run window
HR at benchmark paceEstimated recent heart rate at the current benchmark pace
Baseline at same paceEstimated early-window heart rate at that same benchmark pace

This sits alongside the pace-based LT1/LT2/vVO₂max thresholds so you can see whether the same run pace now costs fewer heartbeats. A lower recent HR at the benchmark pace suggests improving aerobic durability.

Cycling metrics ​

Ride view uses the same command and dashboard logic as the run view, but shows cycling-specific metrics instead of running economy and HR thresholds:

MetricWhat it means
FTP estimateFunctional Threshold Power estimated from recent ride data
Power-to-weightFTP / body weight (W/kg)
Normalized power ratioAverage NP/AP ratio — an indicator of ride pacing variability
Power consistency0–100 score based on power distribution across recent rides

See Also ​

← Dashboard Overview

FitOps CLI — terminal-first training analytics