What is Runalyze?
Runalyze is a training-analysis site from Kaiserslautern and Kiel in Germany that publishes the maths behind every number it shows you. Training monotony isn't described as "a measure of variety": the glossary prints average(TRIMP) / (stddev(TRIMP) + average(TRIMP)), tells you 0.6 is the warning line and 0.67 the critical one, and links the paper it came from. TRIMP cites Banister. Injury risk cites Gabbett and Blanch. If you have ever wanted to argue with a training metric, this is the platform that gives you something to argue with.
Does cross-training count? By its own description, yes: "Based on your heart rate, every activity is considered for your overall training load," and you can define your own sport and activity types. What Runalyze calls "best segments" are your fastest times over a range of distances, taken from races or tempo workouts, not Strava segments.
Strava is one of several ways to get activities in, and the direction is one-way: Strava to Runalyze, never back. Connect your account and new activities sync automatically, but with an important default. Runalyze only takes activities from Strava that aren't already covered by a direct connection to Garmin, Polar, Suunto, Coros or Fitbit, so you don't end up with duplicates. That default is a single setting on the same page you connected from, and you can flip it. Strava was added in April 2021 for a specific reason: Garmin stopped forwarding third-party activities, so Zwift rides and phone-recorded runs needed another route in. There's now a Strava history import tool too, though Runalyze still recommends downloading a Strava Bulk Export and uploading the original FIT files instead, because those carry data Strava's API strips out.
The free tier is not a demo. Automatic sync, Effective VO2max, race predictions, the full training-load model and 90-day performance curves are all free, and Runalyze says plainly that everything currently free stays free. What you pay for is either the absence of ads (Supporter, €2.50 a month) or a set of extra analysis views and the MCP server for AI assistants (Premium, labelled Early Premium on the pricing page, €5.50 a month). It's a website (there's no iOS or Android app yet, though the help pages say one is being built).
Key Features
Effective VO2max (which is not Garmin's VO2max)
This trips people up constantly, so: a lab VO2max measures oxygen uptake and says nothing about your running efficiency, which is why two athletes with the same lab number can run very different 10Ks. Runalyze's Effective VO2max is defined backwards from race time instead. A 40:00 10K is an Effective VO2max of 52, and so is a 19:17 5K, a 1:28:28 half and a 3:04:27 marathon. Two runners with the same Effective VO2max run the same 10K by definition. Runalyze then estimates that number from every run using the ratio of heart rate to pace, averages the last 30 days to get your current shape, and applies a correction factor derived from your best race. You can override it manually, and values between 0.85 and 0.95 are the realistic range. Trail runs are excluded from the shape calculation by default, because the pace-to-heart-rate relationship falls apart on technical ground.
Marathon shape
Runalyze's own invention, and the thing that makes its long-distance predictions worth reading. A VO2max-based race prediction assumes you have the endurance to hold the pace; marathon shape checks whether you actually do. It looks at your weekly mileage over the last six months (weighted 2/3) and your long runs over the last ten weeks (1/3), against a target derived from the marathon time your Effective VO2max implies. At an Effective VO2max of 50, a 3:10:41 marathon, the target is roughly 85 km a week with a 30 km long run. The same scale adjusts shorter and longer predictions: about 7% marathon shape gets you a straight 5K prediction, 43% a half, 123% a 50K, 288% a 100-miler.
Monotony, training strain and injury risk
Monotony compares your daily TRIMP values across the last seven days. Same load every day scores high, which is the pattern that precedes overtraining. The calculation was rescaled in 2025 to run from 0.29 to 1.0, with a warning at 0.6 (44%) and critical at 0.67 (54%). Training strain multiplies that monotony by your total TRIMP for the period and colours it green, orange or red against your own acute load rather than a universal threshold. Separately, injury risk maps your acute:chronic workload ratio onto a multiplier (1.00 is the safest point at x0.66, and a ratio of 2.00 is x2.96). All of it is heart rate and duration only, so it can't distinguish sports.
Race predictions from 3K to ultra
Effective VO2max and marathon shape combine into a live prediction for every distance you care about, updated with each activity rather than only after a race.
Analysis tools that go past the dashboard
Anova, dynamic histograms, trend analysis, boxplots, progression graphs, power/heart rate/pace curves, aerobic decoupling, Eddington number, and automatic climb categorisation from 5th category up to hors catégorie. Premium adds a tiles counter, a quality-sessions view for interval workouts, best-segment times pulled from any activity rather than just races, and moving average mileage.
Equipment and multi-sport tracking
Shoes, bike parts and sensors tracked at whatever level of detail you want, with custom sports you define yourself. Running gets the deepest treatment, but cycling power and cycling dynamics, swimming SWOLF and Concept2 rowing all have first-class support.
Your own API token and an MCP server
Runalyze exposes a personal API and an MCP server, so you can point an AI assistant at your own training history: activities, splits, stream data, injury and illness history, past race results. The MCP server is part of Premium; neither Free nor Supporter includes it. Nothing is shared unless you set up the connection and hand over the token yourself.
Who It's For
- Runners who want to see the working, not a proprietary score with a marketing name attached
- Marathon and ultra runners whose predictions keep flattering them, and who want a number that checks their weekly mileage before promising a time
- Zwift and indoor riders whose sessions reach Strava but no longer reach Garmin, and need a route into a real analysis platform
- Privacy-minded athletes: data is stored in the EU and mainly in Germany, everything defaults to private, and Runalyze states it doesn't sell data
Does Runalyze sync with Strava?
Yes, in one direction: Strava to Runalyze. New activities sync automatically, but by default Runalyze only pulls the ones not already covered by a direct connection to Garmin, Polar, Suunto, Coros or Fitbit (you can change that on the same page where you connect). Deleting an activity on Strava also deletes it in Runalyze unless you switch that off, and Strava title edits carry over.
Can Runalyze import my Strava history?
There's a Strava history import tool, but Runalyze recommends the slower route instead: request a Bulk Export from Strava, unzip it, and upload everything in the activities folder. That export contains the original FIT files you uploaded to Strava, which hold more data than the API hands back. The compressed .gz files upload fine as-is.
Is Runalyze free?
Mostly, yes. Automatic sync, Effective VO2max, race predictions, the training-load model and 90 days of performance curves cost nothing, and Runalyze commits to keeping the currently free features free. Ads pay for that tier. Supporter is €2.50 a month or €27.50 a year and removes them; Early Premium is €5.50 a month or €60 a year and adds extra analysis views like best segments, quality sessions, the tiles counter and all-time performance curves, plus the MCP server for AI assistants.
Is Runalyze's VO2max the same as Garmin's?
No. Garmin reports an estimate of your physiological VO2max. Runalyze reports Effective VO2max, which is defined from race times: 52 means a 40:00 10K, regardless of how efficient your running form is. It moves when your running economy improves, which a lab VO2max wouldn't. The two numbers are related but not interchangeable, so don't be alarmed if they disagree.
Why aren't my Strava activities showing up in Runalyze?
Most often it's the default sync filter: if the activity already arrived through your Garmin, Polar, Suunto, Coros or Fitbit connection, Runalyze skips the Strava copy on purpose. Anything that does come in from Strava is set to private in Runalyze automatically (that's a condition of using the Strava API), and you can make individual activities public yourself. If a single activity is missing entirely, exporting it from the source and uploading the file manually is the documented fix.
