NovaRunners vs. TullyRunners

Bill Meylan has rated cross country races since 1999 and publishes the ratings on TullyRunners.com. Our points scale uses the same convention, so we check how far apart the two systems land, meet by meet.

TullyRunners’ numbers are used only to check ours and to set where our scale sits. They never enter our calculation.

What is compared

Both systems turn a finish time into points with one number per race: roughly, points = the race’s number − time ÷ 3. Every TullyRunners rating in a race fits this form, so each race has one such number. We read it off the published ratings and call it TullyRunners’ race number.

  • We compare 35 meets that both systems rated in 2022 to 2025, matched by MileSplit meet ID: 70 comparisons of one meet and one sex. No runner is matched by name.
  • Each comparison is checked without that meet: our scale for that season is set from the other matched meets, so a meet cannot agree with TullyRunners just because it helped set the scale.
  • 2026 is not compared. TullyRunners’ 2026 numbers stay unused for now.
  • Our ratings are on the season scale described on the Method page, so each rating gap here includes its season’s constant, and the constant moves every rating gap of that season and sex by the same amount. The course gap and the course constants stay on TullyRunners’ own scale and do not move.

We report two gaps, both in points:

  • Rating gap: our race number minus TullyRunners’, using the ratings we publish. A positive gap means we rate that meet’s runners faster than TullyRunners does.
  • Course gap: the same comparison for the course and the day’s conditions alone, with the shared fitness curve taken out of ours. A positive gap means the course read slower to us.

Headline numbers

How far apart the two systems land: the typical size of each gap and how many comparisons fall within 6 and 3 points
Rating gapCourse gap
Typical size4.8 points, about 14 seconds4.6 points, about 14 seconds
Within 6 points43 of 7045 of 70
Within 3 points26 of 7019 of 70

To read a gap: a rating gap of +3 means our ratings of that meet’s runners sit 3 points, about 9 seconds, above TullyRunners’. A gap is a disagreement, not an error.

Three findings

1. Early-season meets: mostly Knights Crossing

Before ratings were put on the day, we rated runners at early-season meets higher than TullyRunners did, and runners at November meets lower. On the day, Knights Crossing’s rating gap averages −1.5 points, down from +8.9.

For the courses alone the pattern flips: our early-season courses read faster than TullyRunners’. Course gaps average −8.0 points in September and +1.4 in November. Most of that is Knights Crossing. Without it, September averages −1.3, close to November, though the early-season pattern returns once the Class 1 to 3 state races are also left out. Our reading, not Meylan’s: TullyRunners judges runners against their recent ratings, so it may absorb some in-season improvement.

2. State courses: Oatlands runs harder, by more than TullyRunners allows

The VHSL Class 4 to 6 state meets are run at Oatlands Plantation; Class 1 to 3 at Green Hill Park (Virginia Tech in 2024). Both systems rate Oatlands as the harder course, but we separate the two by about 10 points more than TullyRunners does on average (3 to 17), in every season and sex.

Our reading is that TullyRunners underrates Oatlands. Its numbers for Nike Cross Regionals (NXR) New York 2025 at Bowdoin Park (503 boys, 506 girls) sit above its 2025 Oatlands state meets (499, 501), while ours for Oatlands, 503 to 510, sit at the Bowdoin level. A race’s number also carries the day’s conditions and field, so this cannot settle it.

3. TullyRunners is a comparison, not ground truth

TullyRunners adapts the Beyer speed figures used in horse racing. A race’s correction comes from how runners of known ability finished, how fast the course is known to run and the quality of the race, with judgment where data are thin. Both systems’ numbers for one course move from year to year, because a race’s number carries the day’s weather and field as well as the course. VHSL Class 1 girls at Green Hill Park moved 10 points for TullyRunners and 14 for us from 2022 to 2023. A gap says the two systems differ at that meet, not which one is right.

70 COMPARISONS · 2022–25

Every compared meet

Every compared meet and sex: TullyRunners’ race number, ours checked without the meet, the course gap and the rating gap
SeasonMeet and venueDateSexTullyRunnersOursCourse gapRating gap
2022Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 10, 2022Boys484470.6−13.4−6.1
2022Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 10, 2022Girls486466.5−19.5−7.9
2022Oatlands InvitationalOatlands Plantation, LeesburgSep 24, 2022Boys497498.3+1.3+3.6
2022Oatlands InvitationalOatlands Plantation, LeesburgSep 24, 2022Girls499498.3−0.7+4.2
2022MileStat.com XC InvitationalPole Green Park, MechanicsvilleOct 15, 2022Boys485492.3+7.3+2.6
2022MileStat.com XC InvitationalPole Green Park, MechanicsvilleOct 15, 2022Girls485493.7+8.7+4.7
2022Third Battle InvitationalThird Battle of Winchester Battlefield, WinchesterOct 15, 2022Boys490496.0+6.0+2.1
2022Third Battle InvitationalThird Battle of Winchester Battlefield, WinchesterOct 15, 2022Girls490494.5+4.5+1.5
2022VISAA Cross Country State ChampionshipsWoodberry Forest 5K Course, Woodberry ForestNov 10, 2022Boys505504.4−0.6−5.0
2022VISAA Cross Country State ChampionshipsWoodberry Forest 5K Course, Woodberry ForestNov 10, 2022Girls508512.4+4.4+0.9
2022VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Boys494486.1−7.9−11.9
2022VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Girls495491.9−3.1−6.3
2022VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Boys494490.7−3.3−7.2
2022VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Girls495495.8+0.8−2.2
2022VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Boys494492.1−1.9−5.7
2022VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 12, 2022Girls495496.4+1.4−1.4
2022VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Boys504513.5+9.5+5.8
2022VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Girls507516.8+9.8+7.0
2022VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Boys504508.3+4.3+0.5
2022VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Girls507517.2+10.2+7.4
2022VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Boys504509.6+5.6+1.9
2022VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 12, 2022Girls507514.7+7.7+5.0
2023Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 9, 2023Boys489481.1−7.9+2.7
2023Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 9, 2023Girls490487.4−2.6+11.5
2023MileStat.com XC InvitationalPole Green Park, MechanicsvilleOct 14, 2023Boys484489.0+5.0+0.9
2023MileStat.com XC InvitationalPole Green Park, MechanicsvilleOct 14, 2023Girls485482.5−2.5−7.0
2023VISAA Cross Country State ChampionshipsWoodberry Forest 5K Course, Woodberry ForestNov 9, 2023Boys505508.5+3.5+1.3
2023VISAA Cross Country State ChampionshipsWoodberry Forest 5K Course, Woodberry ForestNov 9, 2023Girls508519.9+11.9+9.4
2023VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Boys485480.3−4.7−6.7
2023VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Girls485478.2−6.8−9.1
2023VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Boys485482.5−2.5−4.4
2023VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Girls485480.0−5.0−7.2
2023VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Boys485481.6−3.4−5.1
2023VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 11, 2023Girls485480.1−4.9−6.9
2023VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 11, 2023Boys496499.3+3.3+1.5
2023VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 11, 2023Girls498505.1+7.1+5.2
2023VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 11, 2023Boys496497.2+1.2−0.6
2023VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 11, 2023Girls498503.5+5.5+3.5
2024Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 7, 2024Boys483470.8−12.2−1.8
2024Knights Crossing XC InvitationalKnightsGreen Hill Park, SalemSep 7, 2024Girls485465.9−19.1−7.6
2024The VA XC ShowcasePole Green Park, MechanicsvilleOct 19, 2024Boys481489.8+8.8+3.3
2024The VA XC ShowcasePole Green Park, MechanicsvilleOct 19, 2024Girls482492.0+10.0+1.8
2024Third Battle InvitationalThird Battle of Winchester Battlefield, WinchesterOct 19, 2024Boys486487.9+1.9−1.7
2024Third Battle InvitationalThird Battle of Winchester Battlefield, WinchesterOct 19, 2024Girls486488.4+2.4−3.9
2024VHSL Class 1 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Boys493490.5−2.5−6.1
2024VHSL Class 1 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Girls495488.1−6.9−13.3
2024VHSL Class 2 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Boys493494.8+1.8−1.6
2024VHSL Class 2 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Girls495495.6+0.6−5.7
2024VHSL Class 3 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Boys493494.5+1.5−1.8
2024VHSL Class 3 State XC MeetClass 1–3Virginia Tech University, BlacksburgNov 16, 2024Girls495498.2+3.2−2.8
2024VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 16, 2024Boys499501.9+2.9−0.4
2024VHSL Class 4 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 16, 2024Girls501511.2+10.2+4.4
2024VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 16, 2024Boys499503.7+4.7+1.5
2024VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 16, 2024Girls501510.9+9.9+4.2
2024VHSL Class 5 State XC Meet 2024Class 4–6Oatlands Plantation, LeesburgNov 16, 2024Boys499502.6+3.6+0.3
2024VHSL Class 5 State XC Meet 2024Class 4–6Oatlands Plantation, LeesburgNov 16, 2024Girls501513.9+12.9+7.0
2025Oatlands InvitationalOatlands Plantation, LeesburgSep 27, 2025Boys494490.5−3.5+6.0
2025Oatlands InvitationalOatlands Plantation, LeesburgSep 27, 2025Girls498495.6−2.4+10.1
2025The VA XC ShowcasePole Green Park, MechanicsvilleOct 18, 2025Boys481484.8+3.8+6.4
2025The VA XC ShowcasePole Green Park, MechanicsvilleOct 18, 2025Girls482485.6+3.6+7.3
2025VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Boys486482.4−3.6+0.2
2025VHSL Class 1 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Girls488474.6−13.4−8.6
2025VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Boys486480.6−5.4−1.5
2025VHSL Class 2 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Girls488478.0−10.0−5.1
2025VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Boys486480.7−5.3−1.3
2025VHSL Class 3 State XC MeetClass 1–3Green Hill Park, SalemNov 8, 2025Girls488485.2−2.8+2.5
2025VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 8, 2025Boys499502.9+3.9+8.0
2025VHSL Class 5 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 8, 2025Girls501508.2+7.2+12.5
2025VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 8, 2025Boys499502.6+3.6+7.7
2025VHSL Class 6 State XC MeetClass 4–6Oatlands Plantation, LeesburgNov 8, 2025Girls501510.1+9.1+14.5

Gaps beyond 6 points either way are marked with an asterisk. “Ours” is set without the meet. Meet pages set their course constant from all of the season’s matched meets, so theirs can differ slightly; the “Ours” tooltip gives that value.

Date. The day the race or meet was run, from the source results.Season. The season of the fit. Each season and sex has its own zero point, so its own K.Meet and venue. The compared meet as named in the source, with its venue and city. Tags mark Knights Crossing and the VHSL state meets.Sex. Boys or girls; each is compared separately.TullyRunners. TullyRunners’ number for the race, read off its published ratings: each rating there equals that number − time ÷ 3.Ours. Our number for the course and the day’s conditions on TullyRunners’ scale, with our scale set from the season’s other matched meets, not this one.Course gap. Ours minus TullyRunners’ for the course and the day’s conditions, in points, with the shared fitness curve taken out of ours. Positive means the course read slower to us; gaps beyond 6 points are marked.Rating gap. Our race number minus TullyRunners’, from the ratings we publish, with our scale set without this meet. Positive means we rate that meet’s runners faster; gaps beyond 6 points are marked.