Buy the dip: VO₂max down 21 %, age group #8 at HYROX Hamburg
Six months of training for 1:10 to 1:12. Then infections, Covid and my worst fitness in a long time, right before my first HYROX Single. I raced anyway. Here are all the numbers, the good ones and the embarrassing ones, and what I take from them for training and for work.
- VO₂max down 21 %: from 56.6 in early September to 44.5 on race day, after several infections and one round of Covid.
- Target 1:10–1:12, result 1:21:19: #8 in Men 45–49, 113th of 429, top 26 %.
- Where the time went: 9:19 over plan, 3:31 of it in the wall balls alone and 1:11 in the last run. Sled pull, on the other hand: 14th of 429.
- Consistency is the position, fitness is the price. Prices move, positions you hold. In sport and in business.
In investing: buying more when the price drops temporarily, because you believe in the long-term value. Applied to training: not bailing out in a slump, but keep buying the one thing that has always paid off long term, which is consistency.
The chart you don’t want to see before coffee
From April to early September it only went one way. My VO₂max, the amount of oxygen the body can use under load, climbed from just over 52 to 56.6 as a weekly average. Year high, and it felt like it.
Then autumn arrived. An infection, shortly after another one, Covid on top. From mid-September the curve dropped week after week: 55.2, 51.9, 51.3, 48.3, 46.5. On race day, October 28, my watch said 44.5. Down 21 percent in eight weeks.
I have a portfolio. I know charts like this. And I know the reflex that comes with them: sell, get out, wait until it looks better. Any sensible fund manager would have closed the position.
I bought more.
The plan: 1:10 to 1:12
Hamburg was going to be my first HYROX Single. Before that I had done three Doubles: Hamburg 2024 in 1:16:03, Cologne 2026 in 1:16:13, Berlin 2026 in 1:20:30. In Doubles you share the stations, but you run all eight runs yourself. In a Single you do everything alone.
Back in June I worked out the plan in my own training app. 1:12 means roughly 37:00 running, 28:35 on the stations and 6:25 in the Roxzone, the transitions between runs and stations. For the eight kilometres that is a pace of about 4:37 per km, under load, not fresh on a track. On a good day, 1:10 was possible.
The analysis was already clear back then: my biggest lever is running under fatigue. In Berlin I blasted out of Run 1 in 3:40 and fell apart in Run 8 with 6:42. In Cologne I started controlled and finished strong. Even beats fast. That was the mantra for the summer.
What I bought: consistency
Buying the dip sounds brave. In practice it is pretty unspectacular. You just keep going, adjusted. For me that meant:
For the race itself I made a simple plan: don’t run against the clock, run against the heart rate. The first two runs deliberately too slow. Use the stations to get control back, not to win time. Goal: finish, with something left. No Claude, no MCP, no automation. Just me and the focus inward.
Race day in numbers
1:21:19. 8th in my age group Men 45–49, 113th of 429 overall, top 26 %. That is my best result relative to the field, with my worst fitness in a long time. And it is 9:19 over plan. Both are true at the same time.
Here is every segment, plan against actual. The rank is out of all 429 athletes in my heat:
| Segment | Plan | Actual | Δ | Rank |
|---|---|---|---|---|
| Run 1 | 4:00 | 4:29 | +0:29 | 161 |
| SkiErg | 4:25 | 4:30 | +0:05 | 204 |
| Run 2 | 4:25 | 4:52 | +0:27 | 143 |
| Sled push | 2:20 | 3:10 | +0:50 | 141 |
| Run 3 | 4:35 | 4:56 | +0:21 | 96 |
| Sled pull | 3:45 | 3:09 | −0:36 | 14 |
| Run 4 | 4:35 | 5:08 | +0:33 | 134 |
| Burpee broad jumps | 3:45 | 4:47 | +1:02 | 104 |
| Run 5 | 4:40 | 5:13 | +0:33 | 114 |
| Row | 4:20 | 4:41 | +0:21 | 143 |
| Run 6 | 4:45 | 5:05 | +0:20 | 111 |
| Farmers carry | 1:50 | 1:50 | ±0:00 | 72 |
| Run 7 | 4:50 | 5:12 | +0:22 | 142 |
| Sandbag lunges | 3:35 | 4:21 | +0:46 | 61 |
| Run 8 | 5:10 | 6:21 | +1:11 | 288 |
| Wall balls | 4:35 | 8:06 | +3:31 | 238 |
| Roxzone | 6:25 | 5:32 | −0:53 | 72 |
| Total | 1:12:00 | 1:21:19 | +9:19 | 113 |
What went well
Sled pull: 3:09, 14th of 429, 36 seconds faster than planned. The summer with heavy sleds paid off. Roxzone: 5:32, 53 seconds under plan. Calm, quick transitions are free time. Farmers carry exactly on plan. And the pacing over the first seven runs was as even as never before: between 4:29 and 5:13, no blow-up at the start.
What hurt
Wall balls: 8:06 instead of 4:35. 3:31 lost at a single station, rank 238. Let’s not talk about it. Well, let’s: Run 8 was 82 seconds slower than my average before it. After the lunges I was 69th, at the finish 113th. The last two segments cost me 44 places.
My honest read: this is not a strength problem and not a willpower problem, it is an empty tank. Less base after weeks of infections, plus no proper fuelling during the race. That is exactly where a VO₂max of 44.5 shows up, not at the start, but at the end.
Bottom line: running 41:13 instead of 37:00, stations 34:34 instead of 28:35, Roxzone 5:32 instead of 6:25. The gap to 1:12 sits almost entirely in running under fatigue and in the last station. Exactly where it already was in June.
Price and position, in business too
At work I have known for a long time that you can’t control the market, only your own execution. A pipeline has bad quarters. A team has phases where nothing clicks. If you switch strategy every time, you sell at the bottom and buy at the top.
Fitness is the price. It moves, sometimes because of infections, sometimes because of sleep, sometimes for no reason. Consistency is the position. You hold it, especially when the price runs against you. The result on October 28 doesn’t prove the dip didn’t matter. It proves the position was big enough beforehand to get through it.
Just as important as holding is an honest post-mortem. All the numbers, including the embarrassing ones. If you only show the ranking, you learn nothing from the wall balls.
Fitness is the price. Consistency is the position. Prices move. Positions you hold.
Tom Adebahr, November 2026Price target unchanged: 1:10 to 1:12
The target stays, the path gets more specific. Three things are set for next season:
- Train race pace under load. In June my training log showed only 3 of 32 runs anywhere near race pace. More compromised runs: run, station, run.
- Wall balls under fatigue. 100 reps fresh are something else than 100 after 70 minutes. They now go at the end of sessions, not at the beginning.
- Fuelling as part of the plan. A gel before the start, one around Run 4, a caffeine gel around Run 6. Test it in training, not on race day.
Not financial advice. Training advice at best. And barely that ;-)