XC Simulation Pace Factor

Comparing performance across races and meets (or, Why Pace Factor?)

In cross-country, not all races are created equal. Some courses are hilly while others are flat. Some races are run under hot and sunny conditions while others are cool and cloudy. The races also vary in distance typically from 2 miles to 5 km in length. We want to compare the performance of cross-country athletes across different races to simulate how they would perform competing together. Clearly comparing their times won't work if some ran 2 miles and others ran 3.1, so instead we will use their pace. But pace will also vary given differences in distance, weather, and course difficulty. This is where Pace Factor comes in to play.

Computing Pace Factor

We have race distance, and we could get estimates of course difficulty, and maybe even weather, but computing the effects of those on pace would be complex. So instead we will use the performance of runners who ran in both races to compute their relative difficulty and compute a multipler (or Pace Factor) that can convert the pace in one race to an equivalent performance in the other. Generally we will pick a base race (or set of races we think should be equivalent) and assign them a Pace Factor of 1.0. We then take another race that has overlapping runners from those base races and compute the Pace Factor for that race. We then add all the runners from that race (with their converted paces) into our base set, and keep adding more races with overlapping runners. We may make another pass over the earlier races, using as a base all the performances from all of the races, so the Pace Factors for races can change as we get additional results for more races.

For an individual meet, we first combine all the races of the same distance and gender rather than treating each race independently. For each race we then look at every athlete who has paces in our base set, and for each athlete compute the average ratio of pace in base races to pace in this race, but adjusted for an average expected pace improvement of 1/3 of 1% per week (determined by looking at previous years' data for athletes who ran multiple races on the same course throughout the season). We then take the median ratio from all athletes (median rather than mean to exclude outliers from athletes who had an untypically bad performance in one of the races) as the Pace Factor for the race.

Example

We'll take the Women's Junior and Senior races from the Fighting Knights Joust as our base races, and show computing the Pace Factor for Lowell Invitational Womens Varsity 1. There were ten athletes who competed in both races, so we compute individual Pace Factors for them.

AthleteFighting Knights JoustLowell Invitational Varisty 1
GradeAthleteSchoolTimeMilesPaceTimeMilesPacePace Factor
12Sienna ReindersCarlmont21:33.62.957:18.5120:02.92.787:12.701.0134
12Angela HebertWatsonville21:42.12.957:21.3920:08.32.787:14.641.0155
11Anita MetzlerCarlmont21:06.82.957:09.4219:26.22.786:59.501.0237
12Gabrielle LaiEl Camino22:39.12.957:40.7120:45.02.787:27.841.0287
11Katie YeeMills20:25.92.956:55.5618:35.62.786:41.291.0355
12Alyssa DraheimMills21:39.02.957:20.3419:38.92.787:04.061.0384
12Jacqueline PanMills18:48.82.956:22.6417:01.82.786:07.551.0411
11Katelynn RuizWatsonville19:16.32.956:31.9717:17.32.786:13.131.0505
11Sara ChaudoinWestmont23:28.72.957:57.5320:46.82.787:28.491.0647
11Lara Scanziani-GrijalvoOceana19:58.82.956:46.3716:47.22.786:02.301.1216

We then take the median Pace Factor from these, which is 1.0370 and use that as the Pace Factor for every athlete's performance in the Lowell Invitational Women's Varsity 1 race. As you can see, Lowell Invitational's pace factor is greater than 1, indicating athletes ran faster paces there than at Fighting Knights Joust. In general a higher Pace Factor indicates an easier race and faster average paces, while a lower Pace Factor indicates a harder races with slower average paces.

CCS Details

For these CCS simulations, we generally take full-distance races at Crystal Springs XC course as the base races, since that is where CCS Finals will be held in 2023, as well as where many of the league finals are held. We then compute pace factors for races with the most overlapping performances with our base set until we have computed them for all races. The simulations use every athlete's best adjusted pace (adjusted acroding to each race's pace factor to give equivalent performance to base races at Crystal Springs XC course) by default, with the option to use athlete's best actual pace.

Challenges

Pace Factor isn't perfect. While taking the median of the overlapping athletes helps exclude outliers, the pace factor for a race can still be skewed if a whole team decides to run it as a workout rather than a race, or if the race has very few athletes in the base set. It also assumes that all athletes improve at the same rate of 1/3 of 1% per week over the season, while in reality some will improve much more than that and others not at all (or even get slower due to injuries, overtraining, or other factors). Finally, because it is an iterative computation, adding more races into the set causes updates to pace factors for earlier races, too.