xcpredict

How the prediction works. Every past result is weighted by how much it resembles the race being predicted — technique, sprint or distance, distance in km, and how long ago. A 10 km skate leans on other 10 km skates, then 15 km skates, then 10 km classics, and barely on sprints. A small ranking model is fitted on those summaries.

Men and women are never mixed. They do not start together, so a combined field is not a race and the model does not rank one. Gender is taken from the races each skier actually started — no athlete in this database has appeared in both.

The controls are real. Ticking a filter recomputes every athlete's features in your browser and re-scores the field — it is not switching between precomputed answers. The model is eleven numbers (data/model.json) and runs here, not on a server.

Held out on the 2026 season, never seen in training: 0.826 pairwise accuracy, against 0.700 for ordering by FIS points and 0.496 for random. Data: FIS, 2023–2026. Source: github.com/deknapp/xcpredict

Built by Nathan Knapp · LinkedIn