Garmin Metrics

Race Predictors Compared: Garmin, COROS, Polar and Runalyze

August 2, 2026

The short answer

Every one of these four predictors does the same two jobs: estimate how fit you are right now, then project that fitness onto a race distance. They differ far less in the first job than in the second, and the second is where the disagreement gets large enough to change your race plan.

Here is the sharpest version of it. Polar publishes its projection curve as a printed chart in its user manuals. I fitted an exponent to that chart and got 1.058 across all 22 rows, which is Peter Riegel's classic 1.06 to within rounding. Garmin publishes nothing, so we derived the exponent from 22,422 of its own daily predictions and got a median of 1.131. Same class of device, same input signal, and roughly 38 minutes of difference at the marathon for an athlete with the same 5K.

One thing to set straight before you read on. Our measurement work is Garmin-only, and nothing below about COROS, Polar or Runalyze comes from data we collected. Those three sections are built from published documentation and from arithmetic on numbers the companies printed themselves, and where a company documents nothing, I say so rather than guessing. That asymmetry is the same one we flagged in the COROS data export guide, and it will take a while to close.

What a race predictor is actually doing

Peter Riegel's 1981 paper "Athletic Records and Human Endurance" in American Scientist gave running the equation that still underlies most online calculators:

T₂ = T₁ × (D₂ / D₁)^1.06

Take a known time at a known distance, scale it by the distance ratio, and raise that ratio to 1.06. The exponent is the whole argument. At 1.0 you would hold 5K pace for a marathon; at 1.06 each doubling of distance costs about 6% more than linear scaling. Riegel derived it from record performances across several endurance sports, which is exactly why it describes an idealised athlete rather than you.

That single number carries everything a formula cannot see: how long your longest run was, whether you can eat while running, whether your legs hold together after 30 km. Riegel assumes appropriate training for the distance, and most people pasting a 5K time into a calculator have not done that training.

We publish a Riegel-based race pace predictor, and it uses 1.06, and our own data says 1.06 is too generous for the population we can measure. I have left the tool alone on purpose. A calculator that quietly applies a house exponent is worse than one that applies the textbook exponent and tells you where the textbook is wrong. Use it as a reference line, not a forecast.

Garmin: a VO2 max estimate with a steep private curve

Garmin's predictor comes out of Firstbeat Analytics and covers 5K, 10K, half marathon and marathon. It runs off the VO2 max estimate the watch builds from the relationship between your pace and your heart rate on outdoor runs, plus recent training history. Garmin does not publish the projection curve, the weighting of training history, or how far back it looks.

So we measured the curve instead. Across 85 athletes and 22,422 daily predictions, we solved for the exponent implied by each athlete's own four numbers. Median from 5K to marathon: 1.131, interquartile range 1.114 to 1.143. All 85 of 85 athletes came out above 1.06. The half-marathon-to-marathon step was steepest at a median of 1.164.

For the median athlete in our cohort that is a predicted 23:39 5K against a predicted 4:21 marathon. Textbook Riegel from the same 5K gives 3:47. Garmin prices in roughly 34 extra minutes of fade, every time, for everyone we looked at. The full method and the per-distance percentiles are in the race predictor study.

Polar: a published lookup table, and it is Riegel

Polar's route runs through Running Index, and Polar documents it properly. From the Vantage V3 manual: Running Index is calculated on any run where heart rate is recording and GPS or a stride sensor is active, the pace is at least 6 km/h, and the session lasts at least 12 minutes. Polar tells you to "make sure you have set your HR max value," which is the same input dependency Garmin has, stated out loud.

The prediction itself is a printed chart in that manual, mapping Running Index values from 36 to 78 onto estimated Cooper test distance, 5K, 10K, half marathon and marathon times, with the instruction to "use your long-term Running Index average in the interpretation of the chart."

That table is public, so I fitted it. For each of the 22 rows I solved for the exponent b in T_marathon = T_5K × (42.195/5)^b:

Step Polar's published chart Garmin, our 85 athletes
5K → marathon 1.052 to 1.061, median 1.058 median 1.131
5K → 10K median 1.053 median 1.113
10K → half median 1.066 median 1.110
Half → marathon median 1.055 median 1.164

Polar's chart is a Riegel curve with a heart-rate-derived entry point, and it is nearly flat across ability: the fitted exponent barely moves between the slowest row and the fastest.

The concrete version. Polar's Running Index 54 row lists a 23:20 5K and a 3:43 marathon. Our median Garmin athlete carries a 23:39 5K prediction and a 4:21 marathon prediction. Nineteen seconds apart over 5K, 38 minutes apart over 42.195 km. Both companies estimate fitness from the pace-to-heart-rate relationship, and only the fade assumption separates them.

COROS: a six-week window and workout-specific effects

COROS puts race predictions inside EvoLab, alongside Marathon Level, Threshold Pace and Base Fitness. COROS's help centre documents race time and pace estimates for 5K, 10K, half marathon and marathon, built from the past six weeks of training, with older data dropping out of the calculation as it ages past that window. Marathon Level is published as a 0–100 score where 100 corresponds to a two-hour marathon.

The interesting part is a design claim neither Garmin nor Polar makes: long runs beyond 30 km move your marathon prediction specifically, while a 60-minute threshold run moves your 10K and half estimates. If that is literally how it works, COROS is not projecting one fitness scalar outward at all. It is maintaining distance-specific readiness, which is closer to what a coach does than to what Riegel does.

I could not load COROS's help pages to quote them; the site sits behind a bot challenge that walled every request I made. This section rests on indexed excerpts of COROS's own EvoLab metrics page and EvoLab overview, which is a weaker standard than I would like.

Runalyze: the only one that shows its work

Runalyze is the outlier here, because it documents itself. Four things are stated plainly in its public docs:

It estimates effective VO2 max per activity from heart rate and pace, and your current shape is "based on the average of the last 30 days." Not a single reading, not a race result.

It applies a personal correction factor calculated from your best race and that race's heart rate, and lets you override it by hand. Runalyze suggests values between 0.85 and 0.95, which is a company stating in writing that its raw physiological model usually needs shaving by 5 to 15% before it fits a real person.

You choose the projection model. Runalyze offers "CPP by Robert Bock, a simple method by Herbert Steffny, calculations by David Cameron or VO2max method." Garmin, Polar and COROS each give you one curve and no switch.

It separates speed from endurance. Runalyze's Marathon Shape calculates required basic endurance as distance^1.23, which works out to 17% marathon shape being enough for a 10K, 42.5% for a half and 100% for the marathon. Predictions get held back when your endurance base has not caught up to your speed.

That last idea is the one worth stealing. Riegel and Polar's chart both assume you are appropriately trained for the target distance. Runalyze checks, and adjusts. Whether it checks well is a separate question I have no data on.

What our data says about trusting any of them

Garmin again, because that is where we have measurements. Three findings from the full accuracy write-up:

Against training efforts, the predictions look absurd. Each athlete's best 5K-distance training run was a median 22.7% slower than that day's prediction (48 athletes). At 10K, 20.4% slower (39 athletes).

Against actual races, they were close. Eleven race-flagged efforts from six athletes had a prediction from the day before; median error +0.6%. Eleven efforts is a case series, not a study, and I will not dress it up as one.

They move rarely, then meaningfully. The prediction changed on roughly one day in ten, and the median athlete's marathon prediction still swung 11 minutes across a median 38-day window.

Cohort caveat: these are self-selected Garmin users who connected a training-analytics service, so they are probably fitter and more data-curious than the average watch owner. Our methodology page has the exclusions and the cell-size rules.

What to do instead

Pick one predictor and stay with it. Your Garmin estimate against your friend's COROS estimate compares two undisclosed curves. Your Garmin estimate this month against your Garmin estimate in March is a real measurement.

Anchor on a race, not a session. All four systems model a tapered, fuelled, appropriately trained version of you. Judge them against a race you actually ran; the 20%+ gap against training runs is a benchmarking error, not a bug.

Compute the exponent your tool is using. Take its 5K and marathon predictions and solve for b in the Riegel equation. Near 1.06 means you are being shown a formula. Near 1.13 means you are being shown something with an opinion about endurance.

Fix the input before arguing with the output. Every fitness estimate here depends on heart rate against pace. A wrong max HR or a stale lactate threshold corrupts it, and no projection curve recovers from that.

Frequently Asked Questions

Which race predictor is the most accurate?

Nobody knows, including us. We have measured Garmin against real races (median +0.6%, 11 efforts, 6 athletes) and have no equivalent measurement for COROS, Polar or Runalyze. Anyone ranking all four on accuracy is ranking them on vibes.

Why does Garmin predict a slower marathon than an online calculator?

Because Garmin assumes you fade harder. Our 85-athlete median implied exponent was 1.131 against Riegel's 1.06, and the half-to-marathon step was steeper still at 1.164, worth about 34 extra minutes for the median athlete. Our race pace predictor uses the 1.06 curve, so the gap between the two numbers is Garmin's endurance scepticism made visible.

Is Polar's race prediction just the Riegel formula?

Polar does not say so, but the table it publishes behaves like one. Fitting an exponent to the 5K and marathon columns of Polar's Running Index chart gives 1.052 to 1.061 across all 22 rows, median 1.058. Polar's contribution is the entry point, not the curve.

Can I move my data between these systems to compare predictions?

Partly. Activity files travel; the derived predictions do not. See our guides on getting data out of COROS and exporting from Polar. Runalyze ingests FIT files whichever watch wrote them, which makes it the one place you can run a like-for-like comparison on a single history.

How often should I check my race prediction?

Monthly. Our data shows the number changes on about one day in ten, so daily checking mostly shows you nothing, while the 11-minute median swing over five weeks is real movement worth seeing.


The comparison that would settle this is easy to describe: several hundred athletes per brand, each with a device prediction from the day before a chip-timed race, split by distance. Every company here holds that data and none of them publish it. Notice who publishes the most about method anyway. Polar with its chart, Runalyze with its docs: the two with the least to gain from a predictor that flatters you. If you have raced with a COROS, Polar or Runalyze prediction on your wrist the day before, that is the dataset we are missing, and we would rather build it than keep doing arithmetic on other people's tables.

Keep Reading