Archive · 2025← 2026 rankings

Maine XC Index

Beta

Course-adjusted ratings for every high school cross country runner in Maine — each race absorbs its own course, conditions and field strength, so a 5K at one venue means the same as a 5K at another. From there: head-to-head matchups, dual meets, full regional and state fields, a race simulator, state meet projections with the uncertainty stated rather than hidden, and a Coaches corner that turns any roster into training paces, workout sheets and 5K splits. Click any runner for the races behind their number.

New: Race day. Take splits on your phone against each runner's goal, with two or three coaches sharing one clock from different points on the course. Everything lands on one sheet, and it keeps working where there is no signal. Open Race day

NewWeek of 12 October – 18 October 2026See this week’s winners →

A weekly award for the runners who beat the time we predicted for them by the most — not the fastest, the most improved against their own number. Four winners: boys and girls, underclass and upper.

What’s new
13 September 2026
  • Results now land the same night. The rankings update as meets come in rather than waiting for the site to be rebuilt, so a Tuesday race is on here Tuesday. If the page is ever offline or the feed is down it simply shows the last set it had, exactly as before.
  • Index Breakers — a weekly award for the runners who beat the time we predicted for them by the most, in four categories. Measured against the prediction the site was showing on the morning of the race, with the course and the day taken out, and scaled so a fast runner and a slow one are judged on the same terms. See this week’s.
  • Training paces now ask what ground you are on. Three settings instead of two — hills and trails, flat grass, or track. A rating is a 5K on an average Maine course, so feeding it straight into Daniels made every pace slightly too easy for work done on the flat. Track is pinned to the measured Belfast factor (3.3%), so the quickest paces on offer still come from a course your runners have actually raced — short of the truth for a real track, on purpose. Nothing changes unless you pick a surface.
  • Race day has its own tab now, instead of being buried in the coaches corner — with a walkthrough on the page, and a link you can text your staff that drops them straight into your race.
  • Race day now links up across phones. One coach sets the race up and gets a code; the rest of the staff type it in and every phone runs the same clock. Stand one at the mile and one at two miles and the splits land on a single sheet instead of three. The clock keeps running with no signal at all — and a coach who is offline can still tap, because every split is stamped with the real time it happened and fills itself in when the signal comes back.
  • Festival of Champions results are in, and the simulator is pointed at it — drop your team into the real Belfast field and see where they would have finished. Runners who actually raced keep their real times; only the runners you add are projected, and every projected number is marked as one.
  • Build a meet can now load a real field. Pick the Festival, the Southern Maine Classic, Sectionals or any other big meet from the list and every school that raced it drops in, ready for you to add your own.
  • New Index number on the rankings: higher is better, pinned to a fixed reference so it means the same thing every season.
  • The rating column is now at Cony — the same number, said plainly. Measured on the 2025 championships, the state meet course needs no conversion at all, so that figure is a runner's projected state meet time.
  • Fixed the race simulation. It was treating every runner as far more erratic than real racing, which pushed good runners a long way down their own projected place. Odds, matchups and “what has to happen” are all sharper for it.
  • “What has to happen” now names one key matchup per runner instead of a queue of names, and only claims a runner has gone that fast before when they have enough races for it to mean anything.
  • Six meets that had never been collected are in: Bangor, Camden Hills, Scarborough, Mt Blue, Mt. Ararat and Bucksport.
I beat someone who is still ranked ahead of me

One race is less evidence than it feels like. The ranking is an estimate of what you are likely to run next, built from your whole season. Beating someone once moves it — it just does not erase the rest of the year in one afternoon.

How much does a single race prove? The same runner’s time swings about 40 seconds either side of their own level from one race to the next, with nothing changing but the day. So two runners who finish within half a minute of each other have said very little about who is actually faster. Two who finish a minute apart have said a great deal.

That is roughly how this behaves. At the Festival of Champions, among runners who were within ten places of each other beforehand, the race reordered about five pairs for every one it left alone. The pairs it moved had finished about 51 seconds apart; the ones it left alone, about 18.

And sometimes it is simply wrong. Across the whole field this gets about 93 of every 100 head-to-head pairs the right way round. Near the top, where everyone is packed into a few seconds, it is closer to 81 — so in a tight group, expect the order to move. If one looks plainly wrong it sometimes is: a run that was never a race — pacing a teammate in, a first day back — can drag a number down, and those get corrected when a coach tells us what the day actually was.

How to read these numbers

Two numbers, one runner. Both come from the same place: how far ahead or behind a runner finished relative to everyone else in each of their races, with course, weather and field strength removed.

The Index is a rating, not a clock — higher is better. It is pinned to a fixed reference (15:00 for boys, 17:30 for girls) that is never rebased, so a 90 means the same thing this year as in ten years’ time, and a runner’s number moves only when the runner does. The fastest in the state sits around 92; the middle of the field is around 66. A greyed Index is one we know less well — the number is real, the band behind it is wide.

At Cony is that same ability written as a time on the state championship course. There is no conversion in it: fitting every 2025 runner on their season with the championships held out and then predicting Cony on 1 November came out at 1.000 across 563 runners, because a slow course and a peaked, tapered field cancel almost exactly. It assumes a runner arrives in November the way most runners do, which is the one thing the model cannot see coming.

The horizontal rules are the honest part. A line is drawn only where there is a real gap. Runners between two lines are level with each other — their uncertainties overlap, so the order among them is noise, and reading anything into "7th versus 9th" inside a block is reading noise. Where a rule appears, the runner below genuinely is slower.

A red line under a name means a real race disagrees with the order. Inside a tier the model is saying it cannot separate these runners, so the numbers 3 and 5 are noise rather than a claim. But where two of them have actually met and the one listed below won, that is worth knowing, so it is marked. One race is about half a standard deviation of a runner's normal variation and a rating averages everything they have done — so it is not a contradiction, it is the single hardest piece of evidence against the sort order, shown rather than buried.

The confidence bar fills as a rating firms up. A runner with one race sits near empty; six races fills it.

The ± is where they are likely to finish, not how well we know their average, and those are different numbers. Two things move a runner off their rating on the day: what we still do not know about them, which shrinks with every race they run, and the fact that nobody runs their average twice, which does not shrink at all. So the ± narrows as a season goes on but never gets small — about forty seconds for a boy and fifty for a girl is the floor, because that is how much a real runner varies from one Saturday to the next. Roughly two thirds of runners finish inside it and nineteen in twenty inside twice it, which has been checked against races the model had not seen.

Click any runner to see every race behind their number and how their season has moved. The chart plots each race converted to the same 5K scale, so a line that falls is real improvement rather than an easier course.

Matchup compares any two runners, including two who have never met: it finds the runners they have both raced and chains through them. Build a meet takes any number of schools — two for a dual, ten for an invitational — and scores it the way a real meet is scored: only the first seven from a team count for anything, a team without five finishers is struck out of the scoring altogether (which moves everyone else up the order), the low score wins, and a tie goes to whoever's sixth runner is further up.

"What has to happen" races the meet four thousand times. Each runner is drawn from their own measured spread, not their rating alone, and the meet is scored from scratch every time. The needs column is what a runner averaged across the runs that went their team's way — a target, not a prophecy — and swing is the gap between their good-day and bad-day average, which is the honest answer to "where is this meet won". A star who is winning anyway has almost no swing; the meet usually turns on a fourth or fifth runner. Those draws are deliberately heavy-tailed, because runners measurably are: 87% of races land within two standard deviations where a normal curve says 95%, and upsets live entirely in that difference.

Provisional runners are marked. A single race, anchored to last season, is enough to place someone roughly. It is not enough to argue about.

Accuracy, measured rather than claimed. Trained on September 2025 and asked to predict the Festival of Champions, this model called 92.1% of 444,627 head-to-head matchups across the boys and girls races, and 17 of its 20 predicted top-ten places finished in the top ten. Error is far tighter at the front of the field than at the back: the leaders were predicted to within 8 to 17 seconds, the back of the field to within 55 to 75. Every figure here is regenerated from the collected results each time the site is built — nothing is quoted from memory.