Exit

Key takeaway
This article tests Stryd elevation gain accuracy, not overall Stryd pace, distance, or power accuracy. On repeated stair climbs at Kwintelooijen The Netherlands, compared with AHN4 ground-truth elevation data, Stryd underreported total elevation gain. In the April test, the Stryd pod activity logged 1,641 m versus 2,181.82 m from AHN4, about 25% low.

How reliable is the elevation data?

To accumulate some elevation gain, I’ve visited the stairs in the Kwintelooijen nature area several times. A nice feature of this location is that it goes straight up and straight down. This makes it easy to use as a measurement point for the reliability of elevation data: you simply subtract the lowest point from the highest point.

I wear a Garmin Fenix 8 (43 mm) AMOLED watch and the Stryd Duo footpods as the combination with which I record. I then synchronize activities to Strava and Stryd. When I put the elevation data from Garmin, Strava, and Stryd in a table, I get the following.

15-02-202513-04-2025
Garmin fenix 8 softwareVersion 12.38Version 13.35
Number of stair climb repetitions30 times59 times
Elevation gain according to Garmin1,049 meters2,071 meters
Elevation gain according to Strava1,049 meters2,071 meters
Elevation gain according to Stryd870 meters1,823 meters

In other words, according to Stryd, I didn’t achieve the vertical distance I thought I had based on the data on my watch! Now, who is right?

Fortunately, in the Netherlands, we have a very accurate DSM (Digital Surface Model, this is the ground level height) in the form of AHN (Actueel Hoogtebestand Nederland). When I plot these stairs on it, using AHN4, I get the following. See this link https://viewer.ahn.nl/AHN4/DTM/…. Currently, AHN version 5 is being created, which is not yet available for Kwintelooijen, so AHN4 is the most recent and most accurate elevation data available.

AHN elevation data

This shows a height difference of 50.88 – 13.90 = 36.98 meters. With this data, we can further complete the table:

15-02-202513-04-2025
Garmin fenix 8 softwareVersion 12.38Version 13.35
Number of stair climb repetitions30 times59 times
Elevation gain according to Garmin1,049 meters2,071 meters
Elevation gain according to Strava1,049 meters2,071 meters
Elevation gain according to Stryd870 meters1,823 meters
Elevation gain according to AHN4 (ground truth)1,109.4 meters2,181.82 meters
Deviation Garmin vs. AHN4-60.4 meters-110.82 meters
Deviation Stryd vs. AHN4-239.4 meters-358.82 meters
Deviation Stryd vs. Garmin-179 meters-248 meters
Ratio of Stryd deviation to Garmin deviation3.9643.238


Conclusion: Stryd deviates 3 to 4 times more from reality for elevation gain than Garmin’s data in these 2 cases!

To be honest, it’s not clear to me whether Stryd is only based on GPS data, over which they apply an incorrect correction algorithm, or whether they actually use the pods to calculate elevation data. It’s worth mentioning that the horizontal distance from Garmin, Strava, and Stryd is almost identical.

15-02-202513-04-2025
Garmin fenix 8 softwareVersion 12.38Version 13.35
Number of stair climb repetitions30 times59 times
Distance according to Garmin12.51 km25.07 km
Distance according to Strava12.50 km25.07 km
Distance according to Stryd12.50 km25.07 km

I have asked Stryd why this large difference in elevation gain can occur. There is a Stryd article on this topic that doesn’t really say much. They refer to an interesting article from gpsvisualizer.com, only to then say that they don’t use these methods.

With 2 activities from 1 user at 1 location, I understand that this cannot cover all cases of an algorithm. On the other hand, you need precisely a collection of such concrete cases to make improvements.

Update 1

Stryd responded quickly by saying:

  1. Elevation data from the pods is not used when you log an activity with a Garmin watch.
  2. Stryd just imports elevation metrics from the activity file, so they take whatever my watch recorded.
  3. Stryd doesn’t apply any correction algorithm (in this case) on that data.
  4. PowerCenter just visualizes second-by-second elevation data from the activity file and aggregates to show the total elevation gain.
  5. They pointed to this Garmin article – How do I Change the Elevation Source in Garmin Connect?

So I know my watch has a barometric altimeter sensor and indeed I can switch in my Garmin activity between ‘Your device’ and ‘Professional Survey Data’. Now I can update the table with the Garmin data split into two rows.

15-02-202513-04-2025
Garmin fenix 8 softwareVersion 12.38Version 13.35
Number of stair climb repetitions30 times59 times
Elevation gain according to Garmin (device)1,049 meters2,071 meters
Elevation gain according to Garmin (survey)919 meters1,851 meters
Elevation gain according to Strava1,049 meters2,071 meters
Elevation gain according to Stryd870 meters1,823 meters
Elevation gain according to AHN41,109.4 meters2,181.82 meters
Deviation Garmin (device) vs. AHN4-60.4 meters-110.82 meters
Deviation Garmin (survey) vs. AHN4-190.4 meters-330.82 meters
Deviation Stryd vs. AHN4-239.4 meters-358.82 meters
Deviation Stryd vs. Garmin (device)-179 meters-248 meters
Deviation Stryd vs. Garmin (survey)-49 meters-28 meters
Ratio of Stryd deviation to Garmin (device) deviation3.9643.238
Ratio of Stryd deviation to Garmin (survey) deviation0.947 0.985

Now, the next question is: what is actually in the activity file? So let’s dive in. I used fitfileviewer.com to inspect the file of my activity in April. In the ‘Activities Metrics’ panel it shows a total ascent of 2,071 meters. That is actually the number Garmin and Strava use for this activity, and it is the closest to the ground truth of 2,181.82 meters. So why doesn’t Stryd also use this number? I really don’t know.

FIT File Viewer

So what other data do we have? The actual second-by-second data is in both ‘Record’ and ‘GPS Metadata’. Both contain the field ‘enhanced altitude’. First thing to notice is that they both start at a different elevation (they do start on the same timestamp). Then the second question is how elevation gain is derived from this data. Is a positive difference from one row to the next seen as ascent and a negative difference as descent? Third thing I see is that the altitude in ‘GPS Metadata’ changes not with the same diff values as the altitude in ‘Record’.

FIT File Viewer details

A plot of both elevation data series.

FIT File Viewer comparison overview

Especially when zoomed in it becomes clear that the data series are actually a bit different. So what data series to use?

FIT File Viewer comparison zoomed in

I wrote some C# code to analyze both data series. This code takes the sum of all the elevation differences.

C#
using System.Globalization;
using CsvHelper.Configuration;

const string gpsMetadataFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-gps_metadata.csv";
const string recordFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-record.csv";
using var gpsMetaDataReader = new StreamReader(gpsMetadataFilePath);
using var recordDataReader = new StreamReader(recordFilePath);
var config = new CsvConfiguration(CultureInfo.InvariantCulture);
var usCultureInfo = new CultureInfo("en-US");
using var gpsMetadataCsv = new CsvHelper.CsvReader(gpsMetaDataReader, config);
using var recordCsv = new CsvHelper.CsvReader(recordDataReader, config);
var gpsMetadataItems = gpsMetadataCsv.GetRecords<dynamic>().ToArray();
var recordItems = recordCsv.GetRecords<dynamic>().ToArray();
var (gpsMetadataElevationGain, gpsMetadataElevationLoss) = GetElevation(gpsMetadataItems);
var (recordElevationGain, recordElevationLoss) = GetElevation(recordItems);

Console.WriteLine($"GPS Metadata: {gpsMetadataElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {gpsMetadataElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
Console.WriteLine($"Record: {recordElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {recordElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
return;

(decimal elevationGain, decimal elevationLoss) GetElevation(dynamic[] items)
{
    var elevationGain = new List<decimal>();
    var elevationLoss = new List<decimal>();
    foreach (var tuple in items.Zip(items.Skip(1)))
    {
        var firstEnhancedAltitude = GetEnhancedAltitude(tuple.First);
        var secondEnhancedAltitude = GetEnhancedAltitude(tuple.Second);
        var difference = Math.Abs(firstEnhancedAltitude - secondEnhancedAltitude);
        if (firstEnhancedAltitude > secondEnhancedAltitude)
        {
            elevationGain.Add(difference);
        }
        else
        {
            elevationLoss.Add(difference);
        }
    }

    return (elevationGain.Sum(), elevationLoss.Sum());
    
    decimal GetEnhancedAltitude(dynamic row) => decimal.Parse(row.enhanced_altitude);
}
GPS Metadata: 3,657.20 elevation gain, 3,662.20 elevation loss
Record: 2,151.20 elevation gain, 2,155.60 elevation loss

So there is actually a big difference between the two series. The ‘GPS metadata’ series is much more shaky so it accumulates more elevation gain and loss. But, neither of them are the reported 1,823 from Stryd, or the 1,851 from the Garmin (survey).

Now it becomes very unclear to me what Stryd means when they say they “display the data directly from the activity file from the second-by-second record information”. Are there other data points in the activity file I am missing? Is my analysis or code wrong? I don’t know. Either they do just a DSM lookup (on what model?) given the lat/long coordinates, or they derive the elevation gain and loss somewhat differently than the simple method I used above. I guess it is option 1.

Update 2

Ok, this is getting interesting because I just realized that the Stryd pods do also record activities themselves, which you can sync with your Stryd account. In my case, since I record using my Garmin watch with the pods connected, that means that I end up with duplicates in my Stryd account. But the good thing about that is that I now have the real answer to the question ‘How reliable is the Stryd elevation data?’. It only recorded 1,641 meters of elevation gain on my April run! The ground truth from the AHN data is 2,181.82 meters of elevation gain.

Stryd activity details

Unfortunately, I don’t have the February run anymore from the Stryd pods. I think I synced and deduplicated before so I lost that one. Extending the table once more, now by splitting the Stryd rows into the one with the imported activity and the Stryd pod itself.

15-02-202513-04-2025
Garmin fenix 8 softwareVersion 12.38Version 13.35
Number of stair climb repetitions30 times59 times
Elevation gain according to Garmin (device)1,049 meters2,071 meters
Elevation gain according to Garmin (survey)919 meters1,851 meters
Elevation gain according to Strava1,049 meters2,071 meters
Elevation gain according to Stryd, imported activity from Garmin870 meters1,823 meters
Elevation gain according to Stryd pods1,641 meters
Elevation gain according to AHN41,109.4 meters2,181.82 meters
Deviation Garmin (device) vs. AHN4-60.4 meters-110.82 meters
Deviation Garmin (survey) vs. AHN4-190.4 meters-330.82 meters
Deviation Stryd pods vs. AHN4-540.82 meters
Deviation Stryd pods vs. Garmin (device)-430 meters
Deviation Stryd pods vs. Garmin (survey)-210 meters
Ratio of Stryd pods deviation to Garmin (device) deviation4.88
Ratio of Stryd pods deviation to Garmin (survey) deviation1.63


Conclusion: For my April run with 2,181 meters elevation gain, the Stryd foot pods only logged 1,641 meters of elevation gain. That’s 25% off from the actual value!

To be clear, I like running on power and I like to use Stryd and the Stryd foot pods for it. I think they make pacing really easy, give accurate race predictions and are just overall a good product. They just seem to be made however for the horizontal world, not the vertical one.

Update 3

The mentioned Stryd article is taken offline. We can still see it at https://web.archive.org/web/20241210152803/https://help.stryd.com/en/articles/9010691-elevation-elevation-gain-and-stryd. I hope that means we can expect an updated one soon with a more clear and precise explanation on the ins and outs of elevation gain.

1 comment

  1. Comment by yorx

    yorx March 8, 2026 at 11:15

    I’m testing the Stryd 5 and I’m finding that I’m having the same problem as you. Senseless elevation differences and altitudes that don’t match what my Fenix 8 reads and what I compare with official topographic maps of my country. The Fenix may have a 5-10 m difference with the topographic map in high and open areas, but Stryd has a 50-60 m difference or more. My latest Stryd test gives 10% less accumulated elevation gain than Garmin and than a manual calculation against the topographic map, which is slightly better than your test, but still very poor for such an expensive device.
    If it fails so badly at this basic calculation, how can we trust its power data when doing trail activities?
    Thank you, so much.

Leave a reply

Your email address will not be published. Required fields are marked *

Close
Go top