Gray Duck Grit: 2024, 2025, and 2026

3 editions of the same race, from the second-by-second data. The climb-by-climb comparison is 2025 versus 2026. Generated 2026-09-10. Event site: grayduckgrit.com.
ReplaysWatch the climbs replayed in 3-D →

I've raced the Gray Duck Grit 50mi gravel race each of the last four years. It's one of my favorite races around the Twin Cities and was the first gravel race I ever participated in back in 2023. In 2023 I was very slow and didn't have power data, but that changed in 2024. Beautiful roads, challenging climbs in the heart of bluff country, and tough as nails competition where people push themselves hard but keep it a fun and friendly event. Last year I got second and spent most of the race off the front with a youngster and also a strong climber named Chuck Smith. The youngster won last year by a hair. This year Chuck came back even stronger and as a climber, he knew he had to make all the climbs as hard as possible to win. Every climb and every kicker he attacked extremely hard, putting me to the sword. I really thought at some point I'd get dropped but I somehow managed to hang on and eventually won with an attack right before the finish after the elevation had flattened out.

This year ended up being a much harder race than last year, but when I looked at the metrics: average power, average heart rate, and normalized power (which takes into account variations in hard efforts) were all almost identical. I knew the difference in difficulty came down to how much harder we rode each climb; we not only beat our times from last year by a lot, but set the overall record on strava for many of them. This report is a systematic look into metrics and measures that help characterize numerically how much harder this year's race was. Indeed, the climbs were much harder, but between every climb we rode easier, so the aggregate measures didn't do a good job of distinguishing the efforts.

This report is a bit of an homage to a great race with strong competitors. Chuck pushed me far past my limits and while he didn't win this time, he was probably the strongest on the day. Next year I'm sure he'll come back for revenge!

Overview

298 / 298 W
normalized power, 2025 / 2026
158 / 159 bpm
average heart rate, 2025 / 2026
355 / 373 W
average power on the climbs
3 / 7 min
above 400 W on the climbs
93 s
2026 was faster by this much over the 4 shared climbs
67 / 80 °F
temperature, 2025 / 2026

Normalized power was 298 W in 2025 and 298 W in 2026, and heart rate averaged 158 and 159 bpm. The difference was on the climbs: 373 W on them in 2026 against 355 W in 2025. Time above 400 W on the climbs went from 3 to 7 minutes.

Between the climbs there were 16 surges of 30 seconds or more above threshold in 2026 and 21 in 2025, with 195 kJ of work above threshold in 2026 compared with 226 kJ in 2025.

4 of the climbs are the exact same road in both years, so the two efforts can be aligned by distance and the time gap read directly. Over those 4 climbs the top came 93 seconds sooner in 2026, at a cost of about 5 kJ more of W′. Of the 4 climbs that match up between the two years, the best 30 seconds was higher in 2026 on 4 of them, and the best minute on 3.

Conditions and readiness: it was 80 °F in 2026 and 67 °F in 2025. Time at or above 90 percent of max heart rate was 45 minutes in 2026 and 33 minutes in 2025. The morning of the 2026 race brought 7.5 hours of sleep, a form score of 15, and a resting heart rate -2 bpm from the recent median; in 2025 it was 5.8 hours of sleep and a form of 14.

Threshold reference

intervals.icu gives two different thresholds for race day, eFTP and the CP-model value, and they disagree: 338 versus 295 W in 2026, and 323 versus 305 W in 2025. A gap that size changes any number that depends on a threshold, so every threshold-based measure is shown both ways, plus fixed cutoffs at 300, 350, and 400 W that do not depend on either. The figures use eFTP. Under the CP-model value the W′ balance would have bottomed out at -125 percent in 2026, which is not physically possible; under eFTP it bottoms out at -7 percent (-39 percent in 2025).

Reference202420252026
eFTP on race day (W)314323338
W' with eFTP (kJ)25.728.429.6
CP-model value on race day (W)291305295
W' with CP model (kJ)24.925.325.1
Normalized power (W)283298298
Intensity factor vs eFTP0.900.920.88
Intensity factor vs CP model0.970.981.01
Best 10-second power (W)762617709
Best 1-minute power (W)462474531
Best 2-minute power (W)388413471
Best 5-minute power (W)346372366

The climbs

A climb here is any stretch of road where the grade, smoothed over 100 m, stays above 2 percent, with dips shorter than 300 m folded in; it has to run at least 250 m and gain at least 66 ft. Each climb starts at the foot of the rise and ends at its top, and because the definition works in distance rather than time, the same hill gets the same start and end whether I rode it fast or slow; on a circuit, every lap up the same hill is snapped to one shared start and top. The course map numbers them for every year. For the climb-by-climb comparison I match up 2025 and 2026 by course position and then require the GPS tracks to agree that both years were on the same road; a match is called the same climb only when nearly every point of both climbs lies on the other year’s track. 3 climbs appear in only one of the two years and are left out of the climb-by-climb comparison; they are listed at the end of this tab.

Elevation over the course, one panel per year, with the detected climbs shaded and numbered. Points are colored by 30-second power relative to that day’s eFTP (blue below, orange above); hover for mile, elevation, and power.
Ten-second power through each matched climb, starting 20 seconds before the foot of the climb; dotted lines are each year’s eFTP. Hover for the power at any second.
Best 30 s, 1 min, and 2 min inside each matched climb
The hardest stretch inside each matched climb.
Power-duration curve from climbs only
Best efforts that fit inside a single climb. The best minute on a climb was 531 W in 2026 and 474 W in 2025, and the best two minutes 471 and 412 W. No climb in any year got above 87 percent of the power curve's value for that duration, so the difficulty came from repeating hard climbs rather than from any one all-out climb.
Minutes above fixed cutoffs on climbs versus elsewhere
Fixed cutoffs, which do not depend on any fitness estimate. Above 400 W on the climbs: 3 minutes in 2025 and 7 in 2026. Above 400 W everywhere else: 3 and 4 minutes.
Per-climb power and W′ drawn down, all editions
Every year, every climb: average power as a share of eFTP (left) and how much W′ the climb used (right), placed where the climb sits on the course.
Matched climbYearMileTimeGain (ft)Grade (%)Max grade (%)Avg WBest 30 sBest 1 minW′ used (kJ)Lowest W′ (%)
Climb 120258.65:522202.76.63234003906.5
Climb 120268.95:212152.7731545243110.1
Climb 2202517.43:481973.96.934853247414
Climb 2202616.43:262023.97.638455853116.9
Climb 3202522.73:211774.56.938951444613.2
Climb 3202621.62:571844.66.141651847314.6
Climb 4202525.64:361552.48.13364664119.6
Climb 4202624.34:2012626.83084864106.7

Climbs in only one year

YearMileTimeGain (ft)Grade (%)Max grade (%)Avg W
202530.82:441555.110.6374
202628.51:411327.912.4451
202633.74:011492.28.3334

The same climbs, timed

4 of the matched climbs are the same road in both years (length, elevation gain, and course position all agree within tolerance). That means power can be lined up by distance up the climb and the time gap read straight off the chart. Over the 4 climbs together the top came 93 seconds sooner in 2026, at a cost of about 5 kJ more of W′.

For each identical climb: 10-second power against distance up the climb (left), and how many seconds ahead 2026 was at each point compared with 2025 (right).
ClimbYearTimemphAvg WBest 30 sBest 1 minW′ used (kJ)Lowest W′ (%)HR2026 ahead by (s)
Climb 120255:5215.73234003906.510164
Climb 120265:2117.231545243110.14916431
Climb 220253:4815.33485324741410163
Climb 220263:2616.938455853116.92416622
Climb 320253:2113.438951444613.2-25172
Climb 320262:5715.241651847314.62117324
Climb 420254:3615.93364664119.6-39170
Climb 420264:2016.93084864106.71817016

W′ balance and intensity

Percent of that day’s W′ left, using eFTP. In 2026 it dropped below a quarter 9 times; in 2025, 6 times. Values below zero mean the W′ balance model was exhausted, so read the depth as relative rather than literal.
Minutes above thresholds under both references and fixed cutoffs
Minutes above threshold under each reference, minutes above fixed wattages, and how many surges and deep W′ dips there were.

Ten-second surges

The short, all-out efforts that decide most Minnesota races: every stretch where 10-second power stayed at or above 150 percent of eFTP for at least 5 seconds counts as one surge. In 2026 there were 19 of them with a best 10 seconds of 709 W; in 2025, 16 with a best of 617 W. The chart puts each surge at the mile it happened, sized and labeled by its peak 10-second power.

Ten-second efforts202420252026
Best 10-second power (W)762617709
10-second surges at or above 150% of eFTP131619
10-second surges at or above 500 W101121
Minutes with 10-second power at or above 150% of eFTP3.03.14.1
Best 10 s, first half (W)762590619
Best 10 s, second half (W)552617709

Pacing, heart rate, and heat

Pacing, heart rate, and best power by half
By halves, power averaged 247 then 256 W in 2026, and 262 then 262 W in 2025. Time at or above 90 percent of max heart rate: 45 minutes in 2026, 33 in 2025. The right-hand panels compare the best 1, 2, and 5 minute power in the first half of the race with the second half; the 1 and 2 minute bests are what most Minnesota races turn on.
Cardiac, pacing, heat202420252026
Minutes at or above 90% of max heart rate383345
Heart rate per watt, first half0.6290.5940.624
Heart rate per watt, second half0.6480.6090.639
Average power, first half (W)256262247
Average power, second half (W)247262256
Best 1-min power, first half (W)462474531
Best 1-min power, second half (W)348430507
Best 2-min power, first half (W)388413471
Best 2-min power, second half (W)321390435
Best 5-min power, first half (W)346372366
Best 5-min power, second half (W)294351347
Temperature (°F)656780
Degree-minutes above 80 °F00138

All measures and method

Aggregates

Measure202420252026
Duration (min)162145146
Distance (miles)53.150.051.2
Elevation gain (ft)2,4842,1102,109
Average power (W)251262251
Variability index1.131.141.19
Average heart rate (bpm)161158159
Total work (kJ)2,4502,2862,203

Climbs

Measure202420252026
Climbs detected756
Minutes climbing282021
Feet gained on climbs1,2319141,048

Fixed power cutoffs

Measure202420252026
Minutes above 300 W375038
Minutes above 350 W122121
Minutes above 400 W4611
Work above 300 W (kJ)228294285

Threshold-dependent measures, eFTP reference

Measure202420252026
Work above CP (kJ)190226195
Minutes above CP263525
Minutes above 120% of CP6910
Surges of 30 s or more above CP242116
Lowest W' balance (% of W')-73-39-7
Minutes below 50% of W'629356
Dips below 25% of W'169
Climb average power (W)305355373
Climb power (% of CP)97110110
Climb power (% of CP-model prediction for its duration)707975
W' used per climb (kJ)3.910.411.6
Climbs ending below 25% of W'355

Threshold-dependent measures, CP-model reference

Measure202420252026
Work above CP (kJ)256278299
Minutes above CP444641
Minutes above 120% of CP121520
Surges of 30 s or more above CP283135
Lowest W' balance (% of W')-138-114-125
Minutes below 50% of W'101124119
Dips below 25% of W'638
Climb average power (W)305355373
Climb power (% of CP)105117126
Climb power (% of CP-model prediction for its duration)748587
W' used per climb (kJ)6.613.116.8
Climbs ending below 25% of W'656

Readiness that morning

Measure202420252026
Resting HR that morning vs 28-day median (bpm)-3.00.0-2.0
HRV that morning vs 28-day median5.522.015.5
Sleep the night before (h)5.55.87.5
CTL / ATL / form78 / 70 / 876 / 62 / 1488 / 73 / 15
Training load in the prior 7 days346509443

Method

The inputs are the 1 Hz power, heart rate, altitude, distance, and temperature streams. Climbs come from altitude interpolated to a 10 m distance grid and smoothed over 100 m: grade above 2 percent, dips under 300 m merged, at least 250 m long and 66 ft of gain, with the start walked back to the lowest point at the foot of the rise and the end forward to the top; climbs of one hill (every lap of a circuit, and both years on the same road, starts and tops within 250 m of each other) are then snapped to the group’s median start and top on the ground. Max grade is the steepest 100 m inside the climb, which separates climbs that average the same but ride very differently. A climb keeps its gradual lower slopes rather than starting where it gets steep; the replay marks the point where the road first reaches 4 percent as the steep pitch. Climbs are matched across years by nearest course position within 2.5 miles, and called identical when length, gain, and position agree within tolerance. W′ balance uses the differential model with the Skiba recovery constant (546 · exp(−0.01 · (CP − P)) + 316 s), starting full. A surge is at least 30 seconds with 30-second power above CP; a deep dip is one continuous stretch with W′ balance below 25 percent. The climb-to-model ratio divides climb power by CP + W′/duration. The time gap on identical climbs comes from interpolating each year’s elapsed time onto a shared distance grid. Heat is degree-minutes above 80 °F, readiness deviations are from the trailing 28-day median, and max heart rate is 184 bpm. Tables: tables/race_gray_duck_grit_*.csv.