Garmin running data analysis

Your Garmin has two years of running data.
Here's how to actually use it.

Search for "Garmin running data analysis" and you'll find Python scripts, R packages, and developer tutorials. All of them assume you want to write code. train2.run is the product that should have existed before you opened a terminal — it reads your Garmin history, classifies every run, and surfaces the patterns that matter for marathon training.

The problem with Garmin Connect's analysis

Garmin Connect stores your data reliably and shows you each activity in detail. But it's designed around individual sessions, not training patterns. You can see that last Tuesday's run had an average HR of 152 — but you can't easily answer whether that's better or worse than usual for that type of effort, whether your pace at that HR has improved over the past six months, or how this week's training load compares to the equivalent week in your last build.

These cross-session questions are where the real training signal lives. They're also exactly where most tools — including Garmin Connect — leave you to figure it out yourself.

What useful Garmin analysis actually looks like

The metrics that matter for marathon training aren't complicated — but they need to be surfaced automatically and in context. Here's what train2.run analyses from your Garmin data:

🎯

Run classification

Every run classified automatically as easy, tempo, intervals, long, or race — based on pace variability patterns in your GPS or Stryd data. No manual tagging.

📈

Pace trends

Compare pace across every similar run type over two years. Is your easy pace at the same HR improving? Is your tempo getting faster? The chart shows you.

❤️

HR efficiency

Speed-to-HR ratio (Spd/HR) tracked over time — a simple proxy for aerobic fitness. Higher is better. Upward trends mean your engine is getting more efficient.

👟

Cadence tracking

Cadence trends across comparable runs. Useful for spotting form drift, particularly when fatigue builds during a training block.

📊

Plan vs actual

Weekly planned volume vs what you ran — with cumulative view toward your goal race. Understand where you're ahead, behind, or on track.

🤖

AI coaching chat

Ask questions about your data in plain language. "Is my training load this week sustainable?" "How does this long run compare to my previous ones?" It knows your history.

Stryd and GPS — what's the difference?

train2.run uses Garmin's time-series data to classify runs. When you have a Stryd foot pod, it uses directSpeed from Stryd — instantaneous power-based pace that's accurate on treadmills, trails, and in wind where GPS pace is unreliable. Without Stryd, it uses GPS-derived speed. Both work; Stryd data gives more precise interval detection.

Heart rate data is used from your Garmin optical sensor by default, or from a chest strap HRM if you have one paired. The dashboard distinguishes between watch HR and HRM HR in comparison charts, since they have different accuracy characteristics.

What gets analysed automatically

When you sign in, train2.run backfills up to two years of your Garmin running history and classifies each activity. You don't configure anything. Within minutes of connecting, you can click on any run in your current plan and see how it compares to every similar effort you've done — pace, HR, cadence, and efficiency trends on a single chart.

Unlike a spreadsheet or a Python notebook, this updates automatically every time you run. Your next training session appears classified and comparable within hours of completing it.

Your Garmin data, analysed automatically

Two years of history classified and ready to compare. No scripts. No setup. Just your running data, explained.

Try train2.run →