Thursday, 4 October 2012

Kielder Marathon : Predicting Finish Time, Part 2, Using Training Logs

In Part 1 I of my little essay on predicting Kielder Marathon finish time I covered using online calculators and use of PowerOfTen website comparing other runners race Kielder results and their 10k times to my own race times.  As the Kielder Marathon is hilly the online calculators are way out - typically 10 to 20+ minutes out.  Using race result comparisons does allow one to look at the effect of the hills at the Kielder Marathon but is also imperfect as there is huge range of variability between how well different runners convert their 10k times to Kielder race times.  So... the hunt continues for a better, more personalized method. 

Personalized Sports Science : Measure -> Analysis

Through this years training and races I've been wearing my Heart Rate (HR) monitor and recording my heart rate, calories consumed, distance ran and ascent/descent.  My intention has been to try and track the effect of training on fitness and how how this relates to race performances, the end goal is to know what works/doesn't work training wise and also what paces to run when doing races.

The first step in accessing fitness was to come up with a representative value for my current level of fitness, while there are plenty of physiological variables to measure that related to fitness I'm only armed with only a HR monitor and GPS on a phone so I have to make do with just these.  The most representative value that I could easily measure was calories per mile (using HR monitor), based on the principle the fitter I am the more efficient I'll be.

However, calories per mile measured by a HR monitor is effected by how hilly a route is, how long the run is due to HR drift and how hot the day is, as well as actual fitness/stress levels etc.  Rather than try and resolve all these variables this this year I've settled upon just trying to factor out the effect of hills and HR drift on the measured calories per mile, giving me an effective efficiency value for any given run.  The model I've used for effective efficiency is:

  EffectiveEfficiency = RecordedCaloriesPerMile * CourseRatio
  CourseRatio = 1/ (1 + RecordedElevationPerMile*ElevationRatio)*
                              (1+ RecordedDuration*DurationRatio)

The RecordedCaloriePerMile is the calories recorded by my HR monitor for a run, the RecordedElevationPerMile is the elevation divided by distance as recorded by Phone's GPS route tracking software (SportyPal).  The RecordedDuration is how long the run took.

The ElevationRatio and DurationRatio are there to calibrate the run so that runs during a similar period of time will have a similar EffectiveEfficiency despite runs being hillier or longer than others.  For this year I've simply been estimating what these ratio are based on how consistent I can get EffectiveEfficiency across training runs. I've found an ElevationRatio of 1/500 (units mile/feet),  and a DurationRatio of 1/20 (units 1/hours) work reasonably well for the data I've recorded this year.   To see how EffectiveEfficiency smooths out the recorded data have a look at the my logs for Measured Efficiency (calories per mile, in blue) and Effective Efficiency ((calories per mile, in red) for this years training and racing. 

Note how the big peaks in measured efficiency are largely removed so we get a more consistent signal of relative fitness, these big peaks are the big training runs and ultra's that I've run this year.  To the right hand side we have January, progressing month by moth to October on the left, the gaps are the month boundaries. I'll leave analysis of what the month by efficiencies mean w.r.t how my training went on another blog entry as I still have plenty to get to my final conclusions on pacing...

The key take away is that Effective Efficiency normalizes my recorded efficiency so I can more easily look at trends and relate how my fitness is at different times.  The EffectiveEfficiency might been seen as the efficiency I can achieve during the first few steps during a run, while this is useful for general comparisons on it's own it doesn't tell use what will happen when we run further or on hiller courses.

Extrapolating Shorter Training Runs to Marathon Distance

The formula I came up with for EffectiveEfficiency while very simple does a reasonable job at smoothing out the effects of hills and HR drift during long runs, but it also offer the tantalizing possibility that it might be able to predict what will happen to efficiency per mile if we run for longer or over a course with a different amount of ascent/descent.  From the computed efficiency per mile for this theoretical run we can also work out what the average HR would likely be.  The computed efficiency and HR rate can also be used to estimate the intensity and from this the pace that would theoretically be achieved.

I'll write up the maths for these computations in another post when I have more time available, for now I'll move on to what happens when I use this approach to extrapolate my recent training runs to the 26.2miles and ~65ft/mile ascent/descent per mile of the Kielder Marathon.  Below are the results from the last two weeks of training, comprising some laid back long runs, easy runs, marathon paced runs and one tempo run.

On the left is what time is a time of 4:16 at an average predicted HR of 152, which for me is very gentle amble, and on the right is a 3:03 at an average predicted HR of 177.  The extreme case was extrapolated from a 10k tempo run where my actual HR was 166, with HR drift it goes up to 177 and there is no way I could sustain that type of HR for a 3 hours so it's only theoretical mapping.

As a point of validation the Modulen Marathon I did around the Trossachs back at the beginning of August I did in 4:18 with an average HR of 145 over hillier terrain than the Kielder.  This marathon actually maps to 4:13 Kielder marathon once we factor in the difference in hills.  Unfortunately I've lost fitness since then so the higher 152 HR for a similar time is probably not far off.  Have my injuries to blame for lack of training for that loss of fitness :-|

Achievable Average HR for different duration of races

The next big question is just what HR might I be able to sustain on average over the whole marathon.  To answer this question I have to look back to my races over different distances, and the below is graph that plots my average HR for races from my Killin 10km (HR 178, time 39m:36s) through to Highland Fling (HR 152, time 10h:46m).

The most relevant area is around the 3:30 mark, and my 3:22 time doing the Stuc a'Chroin race back in 2011 is the nearest point of interest.  My average HR for the Stuc a'Chroin race was 168.  Curiously if I plan my max HR of 192 into the MACRO calculator it suggests my average HR should be 167 for the marathon which fits in surprisingly well with Stuc a'Chroin race record.

Another surprising aspect about the graph is just how straight it is between my 3:32/ HR 168/Stuc a'Chroin, 5:12/HR 164/Dirty 30 and 10:46/HR 152/Highland Fling.  The only point that bucks the trend is the 1:28:58/HR 169 data point I collected when I ran half marathon PB during a frosty and still Buchlyvie marathon back in November 2010.

So from this data it probably quite reasonable to assume that an average HR of 168 is achievable for the Kielder Marathon.  When we take HR drift into account this maps to an average HR of around 157/158 when running a ~10k marathon paced training run.  This also maps to the average HR range that the MARCO calculates for me for the first 10k of the marathon.  Having two completely different sources of fitting reasonably closely is encouraging and suggests my method is not far off.

Armed with this target range of 157/158 for my ~10km marathon paced training runs I've been able to do test runs where I follow as best I can the HR progression suggested by the MARCO calculator and run over local trails that best mirror the type of elevation/descent that the Kielder Marathon has.  Choosing routes that mirror the Kielder Marathon helps get keep the pace estimates based on training more accurate and also has allowed me to practice the feel of intensity as I go up and down hill.

For my taper I've concentrated on marathon paced training runs, so 6 out 7 of my last training runs have all been around marathon paced intensity, with pace around 7:36 min/mile to 7:52 min/mile pace.  The pace feels reasonably comfortable, I'm able to breath just through my nose, but only just, so I'll know when I'm racing if I shut my mouth and start to struggle just breathing through my nose I'm working too hard.  I do find that it's hard to keep my HR down on ascents, and on the flats after descents I have to consciously pick up the pace to keep my HR in appropriate zone.  This pace does feel like a plausible pace for a marathon, the thought of doing it for 3 and half hours is still pretty daunting.

If I look at just my last seven runs, 6 marathon paced, 1 easy the extrapolated to Kielder Marathon HR and times look like:

What you'll see from this is that the extrapolated times and HR from my marathon paced runs all bring me in the 3:21 to 3:28 range, but this will require a level of effort similar to what I did in the Stuc a'Chroin feel race last year, and it was tough so it's no easy call.

In the first part 1 of my estimates I came to conclusion based on other runners who look to have relatively close 10k's to me a sub 3:30 should be possible, and the three runners I looked at fitted into the 3:21 to 3:28 range as well so I again we are seeing a reasonable correlation of data from totally different sources which is encoraging.

Another source of validation is to look back the very little bit of training that I was able to do before last years disastrous Kielder Marathon where I did 3:55.  Use the same extrapolation methods a 3:46 time would have been plausible given an average HR of 169, to do this one would have have done a perfect race with an even split.  However, I screwed up totally and started too fast, completing the first half in 1:39 and slumped to a 2:16 second half, rather than do 1:52 half that I should in hind-sight should have been targeting.

I believe this retrospective look at my 2011 Kielder Marathon performance is particularly interesting when judging the value of the method that I've been discussing here - the most conservative of the online calculators (MARCO) suggested 3:12 time based on my then most recent 10k time while I actually did 3:55 which is a 43 minute difference.  While my new method of extrapolating training run performance would have mean look at 3:45 to 3:50 as being possible.  Instead I settled for aiming for a 3:30 time, adding 20 minutes in for the hills, which might not have been too bad, but totally ignored how much fitness I had lost while recuperating from last years Achilles injury.  If I had the extrapolation method last year I believe there is good chance I would have done a sub 3:50 time.

So... after all this model development, collecting and analysis data what is my final prediction for my 2012 Kielder Marathon?  I believe a sub 3:25 time is on if I run a perfect race, put everything into it, and am not held back my niggling knee and plantar fasciitis in both feet.

However, I also have the Jedbugh Three Peaks 38mile Ultra coming up, it's just three weeks after the Kielder so coming away from this Sunday's race fresh and without exacerbating existing injuries has to be worthwhile goal.  I have the option of just taking it easy, beating my time from last year should be easy, and even beating my Marathon PB of 3:32:26 done back in May 2010 during the Edinburgh Marathon should be possible without red-lining it.

Balancing the desire to set a big PB and saving myself for Jeburgh I feel that a compromise time of targeting 3:30 would give me a PB, and on a tougher course too, but shouldn't in theory require pushing myself to my limit.

For those wondering how to work out their own Kielder Marathon time I would suggest using the MARCO calculator and use input race times that best represent your current level of fitness and add 10% to account for hills you'll encounter at Kielder.  In the longer term I'd like to refine the methods that I've used a bit more and make them accessible to others, input and suggestions from others would be very welcome.


  1. Robert

    I suppose by now you know how accurate this prediction turned out to be. Of course if either the sequelae of the flu jab or a flare-up of planar fasciitis intervene, any estimates based on past training or race data are largely irrelevant, but I very much hope that neither illness nor injury have intervened. It will be of great interest to see how these computations work out.
    I am impressed that your computation of effective efficiency smoothed out the bumps due to atypical races and training runs. As you know, I use beats per Km as a proxy estimate of my aerobic fitness. I think that the calories/Km is effectively another way of presenting beats/Km because the calculation of calories must be based on HR (perhaps taking into account some relatively stable parameters such as weight, resting HR, max HR).
    I have been aware for some time that I could make my estimate of fitness a bit more accurate by adjusting the beats/Km according to duration, speed, wind speed, and elevation gained/lost but have never got around to doing this. Maybe in light of your example provided here I might have a go at computing an adjusted estimate of fitness taking account of some of these variables. It would have been very interesting to see how such a prediction might have worked out in my recent RH HM, but as it was, running by ‘feel’ worked out pretty well.
    I hope today’s run has gone well, and look forward to hearing the result

  2. Hi Canute,

    The time I recorded on my HR monitor was 3:36:34, I don't yet have an official time as I'm missing from the official race results so far, seems like to them I didn't even start and have a completely different bib number to one I was given, looks like they might have screwed things up. I'll leave full dissection of how I got on to a blog entry.

  3. That is great. Not quite a PB, but as you have pointed out, Kielder is a demanding course. It will be interesting to hear what your relative efficiency was at Kelder. I look forward to the detailed report.