Assumed audience: People who are interested in running enough to read a detailed race report.
Race Information
- Name: Denver Colfax Half Marathon
- Date: May 19, 2024
- Distance: 13.11 miles
- Location: Denver, Colorado
- Website
- Strava
- Time: 1:23:13 (PR!)
This was my third time running this course — roughly: they have made some minor modifications to the zoo mile every year, and there was about ten feet less elevation change on the course this year.
Goals
I usually go into a race with three goals:
- Definitely
- If I don’t hit this, something went very wrong. Maybe I got sick, maybe I made a really poor decision, etc. — barring something like unexpected illness or injury, I would feel actually bad if I did not hit this.
- Doable
- This is normally my actual goal for the race: something I think is in reach and, even given the normal ups and downs of life, is… well, doable. A push, but a realistic one.
- Stretch
- This is the goal that I think might just be in reach if things all go really well. I always set this because I occasionally surprise myself by hitting it. Back in 2014, for example, I said that I knew I’d break 1:28:00, thought I could break 1:27:00, and wanted (as a stretch goal!) to break 1:26:00. (I did, in a race performance that presaged today’s.)
For this race, my goals (and whether I hit them) were:
Goal | Description | Completed? |
---|---|---|
Definitely | 6:32/mile | Yes |
Doable | 6:30/mile | Yes |
Stretch | 6:27/mile | Yes |
As I’ll cover below, my “stretch” this race wasn’t anywhere close to ambitious enough. That is a good problem to have!
Splits
These are based on the course markers, not watch splits (which I don’t trust to be quite right, especially through the city), and in a couple cases I did not spot the marker so did not hit the lap key.
Mile | Time |
---|---|
1 | 6:26 |
2 | 6:11 |
3 | 6:13 |
4 | 5:49 |
5 | 6:56 |
6 | 6:14 |
8 | 12:20 (avg. 6:10/mile) |
10 | 12:59 (avg. 6:30/mile) |
11 | 6:59 |
13 | 12:26 (avg. 6:13/mile) |
13.1 | 0:42 |
Training
In a real sense, my training for this race started last October. After running the Colorado Springs Half Marathon event at the end of September, I worked through a series of three plans from 80/20 Endurance, which I discovered last spring.1 I had used a variant of their “On Pace” plan training for the September race, but I also sprained my ankle in July and therefore spent a lot of that time on my bike trainer instead. After my September race, I did 80/20 Endurance’s Level 3 12-Week Running Maintenance plan, which took me right up through the end of the year.
At the start of 2024, I did 80/20 Endurance’s Run Faster Level 3 plan (heart-rate based, because that’s what I remain most comfortable with), which is seven weeks long and focused on one of my two major weaknesses as a runner. 2 Despite being mid-winter running and thus a mix of trainer foundation days and slush-dodging hard workout days, I definitely saw a significant improvement from this on the upper end of my effort ranges. Part of that was no doubt the actual improved output; part of it was definitely also just increasing my comfort with the discomfort that comes with work in those zones.
For the race training season, I then did the 80/20 Endurance Half Marathon Level 3 plan (heart-rate based again).3 This was a significant step up in training intensity from anything I have done before, but I had laid a good foundation for it over the preceding months of maintenance and speed improvement work. The plan had me doing both a hard workout run and an easy recover run two days a week, worked up to an hour a day of foundation runs three days a week, either an endurance run or a pace run (e.g. marathon pace intervals or half marathon pace runs) on Saturdays for long run days, and two out of every three weeks also a 40-minute easy/recovery run on Sundays. Net, most weeks late in the season I was running
For all that it was a lot of work, it went surprisingly well. I missed almost no days due to sickness and none to injury, and one or two to snow. All told, I think I took off two days and switched out to do an easy run or ride only another two or three times due to feeling bad all season. The big challenge was locking in my schedule to still get all my work done on those days when I had doubles, but I got into a pretty good rhythm fairly quickly, and I actually came to really enjoy those days.
The load was high enough that I did not do any of the weight training that I had originally planned. Two days of doubles is already a lot; making it three or four was more than I could manage. (Also: I like running and cycling. Weights are… a chore.)
I felt pretty fantastic coming into the tail end of the training cycle. I had multiple great runs in the last month, and saw my overall times coming down nicely across the board, including aerobic/Zone 2 paces I haven’t seen since the mid-2010s at sea level! I was also very proud that even when traveling for a conference I was speaking at late in the season, I stuck with with my plan — shuffling around as necessary to deal with things like 75mph winds outside the conference center and enduring a treadmill accordingly. That discipline paid off!
Overall, I loved these plans, and I expect to keep using 80/20 plans for the foreseeable future.
Pre-race
I was feeling a little under the weather — a head cold or some allergies or both? — so I made sure I got as good a night’s sleep as possible Friday night. The day before the race, my focus was dialing in my race plan and eating well.
This was easily the best fueling I have ever done — and not by a little. I need to do a more intentional carb load over the whole preceding week next time, but even just doing as everyone always says and getting the majority of my nutrients from carbs the day before without overloading on pasta at dinner worked really well. My food that day was:
Meal | Time | Food |
---|---|---|
Breakfast | 06:30 | Two scrambled eggs with cheese, one whole Thomas Plain Bagel with ~2 tablespoons Kraft Philadelphia Original Cream Cheese |
Morning snack | 10:00 | ~¼ cup Noosa Whole Milk Vanilla Bean yogurt, one diced strawberry, and ~ ⅛ cup Bear Naked Fruit & Nut Medley granola |
Lunch | 11:30 | Deli sliced turkey sandwich on one slice of Rustik Oven Hearty Grains & Seeds bread, with one slice of cheddar cheese and ~1 tablespoon of homemade guacamole |
Afternoon snack #1 | 13:00 | One small slice of leftover Hawaiian pizza |
Afternoon snack #2 | 15:00 | Avocado toast on two slices of white bread from Arvada Great Harvest |
Dinner | 18:00 | Teriyaki chicken and vegetable stir fry with white rice, and some homemade cookies |
I spent an hour that morning dialing in my race plan, hung out with the family a bit, and then drove up to Denver to pick up my packet and hang out with friends through the delicious homemade dinner, before staying over at a couple of those friends’ house Saturday night. I got to bed Saturday evening by 9pm, and had a fairly average night of sleep for the night before a race: long enough, but choppy as I kept waking up wondering if it was time to get up yet. It wasn’t great, but it was enough.
On Sunday morning, I had an 8oz tub of Noosa Whole Milk Vanilla yogurt with a diced-up strawberry and ~¼ cup of Bear Naked Fruit & Nut Medley granola. At the time, it felt like too much, but that feeling had worn off entirely by the race; I think it was probably close to right. (Next time I would probably do the same amount or a little more of the granola, more fruit, and only a 4.5oz cup of yogurt.)
I left my friends’ house right around 5:00, with one of my friends kindly tagging along to cheer me on. We drove over to City Park, and found a spot in the neighborhood to park by about 5:20. Since the race didn’t start until 6:30 and the full marathon started at 6:00, I knew I would be best served to just chill there. I hydrated some more, getting through
At 5:50, we got out and jogged slowly over to the starting area. I dropped off my bag at the bag check, with everything in it except for a Honey Stinger in my pocket, and then went and hit the toilet. Between the bag drop and the line for the portajohn, it was about 6:10 when all was said and done, and I used the time to do some light jogging around, dynamic stretching, and a few strides to get the legs fully warmed up, ate most of the Honey Stinger waffle, had my friend snap a couple quick photos of me, and then hopped in the corral

The temperature was sitting somewhere around
Race
As with every race, I spent the first mile going “slowly” compared to everyone around me. Even so, with consciously holding back, I was moving a fair bit faster than my target pace on the first half mile (~6:11/mile instead of ~6:24/mile), and I was feeling great. When I hit the first mile, I checked my heart rate and saw that it was still climbing quite slowly — if anything it was low for the pace I was running. And that matched how I felt.
About halfway through the first mile, the course transitions into a 75-foot climb over roughly the next mile. I paid extremely close attention to how it felt and kept an eye on both heart rate and running power to try to make sure I wasn’t just giving into the adrenaline, but I let myself slowly open up to what felt like half marathon pace. This was the area where the things I learned in last summer’s “On Pace” plan really paid off: I have learned to trust my body over any other data, and I have spent a ton of time working to dial in what different paces — from 3-minute to 3-hour — feel like.
Over that next ~mile of climb, I ran a ~6:30/mile pace instead of the planned ~6:45 pace, and again, it felt right, and my backstop checks against heart rate and power confirmed that. The next stretch was a 50-foot descent back into the park over the course of another mile and change, and I ran it at an eye-watering-to-me average pace of ~5:48/mile.
My constant mental refrain at this point was a back-and-forth between “This is really fast. Am I running too fast?” and “This feels great, actually?!?” Assessing it honestly after the fact, with both the experience and the data from the whole race, I probably was going a touch too fast on the climb… but not by a lot — maybe 5 seconds/mile. As much as that ~5:48 pace felt shocking, though, I knew that I had just bought myself a bunch of time later in the race, and I could spend it as needed to avoid blowing up on hills. More than that, looking at the data afterward, I don’t actually think it was too fast. My heart rate was steady and exactly where I would expect: settling in to the same spot I would hold for the rest of the race. Power was likewise right where it should be, and where it would stay until I made one small mistake late in the race.
With a growing sense of confidence, I settled into the feel of things for the climb back out of the park and a little up-and-down before starting into what I fervently believe is the worst mile of the whole race: the zoo mile. Colfax prides itself on the zoo mile, and I get it: if you’re moving at a slower pace later in the morning, you might have time to enjoy the change of scenery of lots of animals. When you’re pushing hard and fast, though, you hit the zoo before any of the animals are out (I saw: a donkey and a goose) and you don’t really have time to look anyway because you need to watch for the next turn. There are so. many. turns. Depending on how you count it, there are
There is inevitably a fair bit of extra GPS slop with all those turns, and it is also nearly impossible to run the shortest possible course through there. Net, the mile marker was about a tenth of a mile further on than my watch’s data, and whether that was my running or slop or both — probably both! — as best I can tell I averaged about ~
From there, things settle down with a loop back through the park and out to Colfax — including a repeat of the climb out of the park back in mile 1, now halfway through the whole race. I intentionally took that climb a fair bit slower this time as well: ~6:50 instead of ~6:40. That left me feeling fairly fresh going into the longest descent of the course: a 2½-mile stretch cruising down Colfax and Speer, over which I averaged ~6:13/mile. Those miles were mostly pretty solid, just working away steadily and passing a fair number of folks who had gone out ahead of me on the race — including the woman who ended up coming in 2nd overall, and who I had followed fairly closely for the first half of the race; she had incredibly good pacing. I had some gut issues here (yogurt saying hello?), which felt bad enough at one point that I was worried that I was going to have to find a bathroom and maybe bail entirely, but gladly they settled down within a mile or so and didn’t bother me further. I also nearly choked on the water I grabbed while running here, and coughed it all out, which meant I was missing hydration… and I would feel that later.
Turning back up for the climb into the city, I knew I had a PR in hand, as long as I could avoid blowing up on the final 5K. That is the hard bit on this course in particular.
Having run this course before, I knew well that the most dangerous point is a nasty little climb late in mile
This is the one mistake I alluded to earlier. Even with doing better than on any previous time through that section, I still overdid it, and I paid for it for the rest of the race: I could not quite hold the same power output after that. I did manage to keep my pace well under my original plan, though, netting out to ~6:18/mile miles 12 and 13. I spent those miles increasingly uncomfortable as the heat continued climbing, by now in the mid-60s, and not having been able to quite keep up hydration-wise (not least due to that coughing fit earlier). My legs were largely fine, but my head was not feeling great. My mental game was strong here, though: I reminded myself that I have felt worse plenty of times this spring, and that the question was not “Do I set a PR?” but “Just how much do I blast past my previous PR?”
The last ⅖ mile is another little climb: just a 0.6% grade, but you definitely feel it at the end of the race. Every time I have done this previously, I have been struggling to keep my legs turning over at all. My goal this year was to have enough left to actually do a real kick at the end… and I did! My pace over the final tenth of a mile matched my fastest average pace on any mile, at ~5:48/mile, and my absolute fastest pace in the race was crossing the finish line, at ~4:42/mile.
Official stats:
Finish time | Average pace |
---|---|
1:23:13 | 6:21/mile |
Placings:
Place | Field size | |
---|---|---|
Overall | 21 | 6043 |
Men | 20 | 2611 |
Men |
8 | 1006 |
Post-race
Once I could breathe again after that final sprint, I stood up, pumped my fists, and bellowed “YES!!!” One of the volunteers asked if it was a personal best, and I responded, giddily, “By a lot!” My previous best time was a 1:24:58, in Raleigh in 2015 — so beating that time by a full minute and forty five seconds at a mile above sea level is really something.
I have rarely been so happy and satisfied in my life. I made this kind of jump — more than 3 minutes faster than my last race — twice before, back in 2013 and 2014. But in those cases I was coming from a much “easier” comparison point: I finished those races at 1:28:57 and 1:25:37 respectively. I was also then in my mid-to-late 20’s, not my mid-to-late 30’s!
I did the usual dance after that: chatting with other folks who finished around the same time, picking up my stuff from the gear check and sharing my results with friends and family, stretching down a bit, and then drove home. I managed to get to the last part of church and then we enjoyed the finale of the Colorado Springs Philharmonic’s
From here: it’s a few weeks of taking it relatively easy (while maintaining fitness) and then starting the 80/20 On Pace Level 3 plan to train up to tackle the Boulderthon Half Marathon at the end of September!
Notes
They aren’t paying me: I am paying them! But maybe they should be, given how much I tell people to use their stuff at this point: just ask my friends. ↩︎
The other is: hills. Given I run in Colorado, that is a problem. I need to get my weights and plyometrics into the mix, too, but that’s for next time. ↩︎
Technically I skipped the first two weeks of it because I was finishing the Run Faster plan, and finishing that plan seemed higher yield than the easy first two weeks of the Half Marathon plan. I think that was the right call. ↩︎