Boats are sorted by their anticipated arrival time at the next checkpoint (except when they are at a checkpoint with a mandatory stop -- then they are listed in arrival order). The time estimated for a boat to arrive at a checkpoint is calculated based on how long it takes for a "typical" boat, how far they are along in the section, and a weird multiplier factor based on their speed on the first leg of the race and which leg they are on. It seems to work reasonably well with the 2013 and 2014 data...
Boats that are slow on the first leg but then pick up speed will have incorrectly late estimated times for checkpoints, so will appear to drop down the order as they pass checkpoints then gradually catch up. Similarly boats that were fast on the first leg will jump up the order as they pass checkpoints then gradually drop back.
An exception to this is at checkpoints where boats are required to stop. Here boats are sorted on their earliest or actual departure time. They remain sorted by their departure time until they are half a kilometer downriver of the checkpoint when they revert to being sorted by their expected arrival time at the next checkpoint.
Note, Estimated times are projections, Tentative times are interpolated. If we know a boat is past a checkpoint, but we do not have an observed time, it is given a tentative time. We usually only give an estimated time one checkpoint ahead, but if the estimated time for the next checkpoint is in the past (if the tracking data for the boat is very old, for instance), we will give estimated times further out.
Race Software by Peter Coates
originally developed for the Yukon 1000 Canoe Race