How I used AI to qualify for the Half Ironman World Championships

Pre race

The half ironman world championship this year is in December in TaupĹŤ, New Zealand and back in January I decided that I really wanted to go. I had done only one half ironman (70.3) in the year prior and with 4h 52min got a time that was probably above average, but definitely not so good that I could just expect to enter a race this year and get a qualifying slot.

You qualify for the world championships by entering a regular half ironman – all of them offer qualifying slots – but whether or not you manage to get one depends on a lot of factors like the strength of your competition, how well you do on the day, and a a number of other factors. The thinking was, could I strategically pick the one race where all stars align in my favour and shortcut my way to the qualification? Let’s find out!

Strategically picking a race

The factors I thought were most important for getting me a slot:

On top of that, there were a number of personal factors for picking the race:

Each race has a fixed number of slots (usually 30-50) and they are awarded to the fastest finishers in each age group. If a slot is not claimed, it rolls down to the next finisher, making it possible to get a slot not by necessarily being the best, but by being the best who is willing to claim the slot (in each age group) – a key aspect of my calculus here.

My spreadsheet

Let’s make a spreadsheet! “Strength of field” and “willingness of local competitors” were the factors I thought were most significant. I tried to approximate the latter by getting Purchasing Power Parity (PPP) figures for each country and putting them into the spreadsheet. The thinking was that the lower the PPP, the less desire from local competitors to claim slots, and the easier things get for me. This ruled out races in Europe, the US, and Canada, but left me with around 20 potential races across South America, the Carribean, and Asia.

Using AI to make life easier

chat gpt in the spreadsheet

Estimating things like flight costs and travel time in the spreadsheet was really fun and easy to do with Chat GPT and Google Apps Script. Writing one prompt like “Is there a direct flight to X?” and then dragging it down the spreadsheet to ‘calculate’ all rows was awesome. Sometimes it feels like the current AI chat paradigm is quite hard to scale, but in a spreadsheet context it really works quite nicely. Also, Google Apps Script is actually decent, especially once you realise every function defined there just automagically shows up as an =()function in the sheet. Code here.

I removed a couple of race candidates manually, because they were either too soon (not enough time to train) or too close to Roth (not enough time to recover). Then I went through the remaining races to see if the course suits me. That got it down to ten.

Ten races seemed like a low enough number to check through the race results of previous years in order to get a sense for the strength of the field. I looked at overall result times and compared them to the 4:52 I got in Westfriesland 70.3 in 2023. I probably should have looked at age group results instead, but I didn’t realise that at the time. Some races had extremely strong fields, but others looked promising and like I might stand a chance: Campeche and Monterrey (both in Mexico), Peru, Durban (South Africa), and also one curious candidate: Cap Cana in the Dominican Republic.

Cap Cana 70.3

Margaritaville Report

Cap Cana 70.3 was interesting, because it was a new race and as such had no prior race data I could compare with, but I had visited the DR before on a rather life-changing lads holiday and because the race would be in a resort, I wouldn’t need a car. (I had also just come back from my first ever stay in an all-inclusive resort, had an absolute blast there, and was appropriately resort pilled).

Pros

Cons

I found the list of Cap Cana pros very convincing and was happy to take the gamble with the race being new, so I ended up signing up for Cap Cana 70.3! (The other race I seriously considered was actually Durban 70.3 in South Africa, but I was worried I would struggle without a car there.)

Race day

On the bike course


Race day rolled around a few months later and it was so fun! The swim was messy but beautiful, the bike felt incredibly fun, and the run was hot and humid but over soon enough. I ended up coming 2nd in my M25-29 age group (behind the overall race winner) and 16th overall out of 800.


result

I was happy with 2nd in the age group, even though a number of things really didn’t go to plan during the race. But had I achieved what I came here for? Was this good enough? I learned the previous day that out of the 30 available slots in my age group, only one had been allocated to the M25-29 age group. So if the guy in 1st decides that he wants the slot, I knew I’d go home empty handed.

Slot allocation

The ceremony to allocate slots happens a few hours after the race. It actually takes forever (hours), but I learned a lot and it definitely changed how I think about slot hunting in the future:

People were very keen to claim their slots. There were way fewer roll downs than I expected. Out of the slots that did roll down, they never went very far. About a third of the slot allocations seemed to go to participants who didn’t really expect to get slots, but who were keen to claim it in a spur of the moment decision (and pay the $700 WC race fee that is due right then and there).

Any woman that wanted to get a slot, could get a slot. In addition to the 30 slots available to all, there were an additional 15 reserved for women. At the end a number of them were left over and the IRONMAN official running the ceremony invited all women who were keen for one to come to the front.

And yes, I did get my slot!!! But only becasue the guy who beat me already had a slot from a race he did earlier in the year. A lesson learned here about doing this race in April 2024 with the relevant qualifying period being July 2023 - June 2024. There were no rolldowns from other age groups to my age group.

How to get a slot

ceremony

The whole purchasing power parity thing is not useful at all. It’s obviously quite hard to be certain about this, but I don’t think I remember a single slot rolling down for what appeared like a strong local athlete not being able to afford to travel to New Zealand. Local athletes do make up a huge proportion of race participants, but they all seemed very much well enough off to travel to the world champs.

Something that really seemed to help my odds was that this was a new race with what seemed like very few fellow slot hunters. I performed strongly relative to the rest of the field and to my age group. There are probably few other half ironmans where I could have come 2nd. A close friend who was also keen for a slot entered a different race which had a relatively weak field in the prior year. When he raced, he experienced a much much stronger field than expected and didn’t get a slot. This suggests that there are actually quite a lot of people hunting for slots and considering the strength of the field in the year prior for your own race selection can be misleading. The takeaway here is maybe to take a risk and go to a new race.

And naturally you need to finish high enough to have a shot at getting a slot. Having a great coach is my main strategy for being in the best shape for race day. My coach Will (two ls) is currently taking new clients, so get in touch with him if you want to perform your best and get a slot next year: willcrudgington.com

TL;DR

Do a race that is relatively small and where you are relatively strong. A new race might be a good bet.

See you in TaupĹŤ in 3 weeks!

Age Group award ceremony New Zealand World Championship slot


Bonus: Resort food pics