top of page
Search

How It Works

  • Writer: Eli Sage-Martinson
    Eli Sage-Martinson
  • Jan 30, 2018
  • 1 min read

Updated: Feb 4, 2018

This post provides a quick overview of how my skier ranking algorithm actually works.


First, the program reads in race results as CSV files. It uses an Artificial Intelligence algorithm to split the file into different races and identify the skiers in each race.


The program then assigns each skier a new Elo ranking based on how they did in the race. Each Elo ranking defaults to 1000, representing an average skier. When you beat another skier, you move up. When you lose to another skier, you move down. How much your score changes depends on how different your score was from your opponent's: upsets result in the biggest changes.


Right now, meets are processed in the following order:

1. All small, conference or regional meets. These are weighted x1.

2. All big invites (Mesabi, Loppet, etc.). These are weighted x3.

3. All conference championships. These are weighted x3.

4. National meets, like the JNQs. Winning is weighted x3, losing is weighted x1.6.


The goal of this process is to first establish inter-conference or regional hierarchies of skiers, then use the cross-pollination of big meets and JNQs to smooth out the rankings statewide. Losing at the JNQs are only weighted x1.6 because the meets are so competitive.


Team rankings are determined based on the scores of a virtual meet using Elo rankings to determine skier finish order.

 
 
 

Recent Posts

See All
Final State Rankings

With the start list for the state meet posted, my algorithm has finally crunched the numbers on everyone in the state meet (well, almost...

 
 
 
Who's the Deepest?

Depth is a good metric of a team's potential for future success and ability to recover from injury or unforeseen mid-race trouble. With...

 
 
 

Comentarios


bottom of page