Froome's second-place finish in the Stage 20 individual time trial secured his third-place finish in the general classification.
Our model did reasonably well during the final four stages.
- Stage 18: 3h 46' 50" (actual), 4h 02' 11" (prediction), 15' 21" slow (6.77% error)
- Stage 19: 5h 28' 17" (actual), 5h 17' 38" (prediction), 10' 39" fast (-3.24% error)
- Stage 20: 0h 40' 52" (actual), 0h 39' 11" (prediction), 01' 41" fast (-4.12% error)
- Stage 21: 2h 46' 36" (actual), 2h 45' 13" (prediction), 01' 23" fast (-0.83% error)
In my last post, I mistakenly typed 4h 02' 35" for the Stage 18 prediction. Sorry about the typo! I suppose the 24" reduction helped us a teeny bit, but Stage 18 will be one we need to analyze more closely in the future. I'm glad we finished so well with Stage 21's prediction coming in under 1%.
One piece of silliness each year is to compare the sum of the actual winning times with the sum of our predictions. Here is the result:
- Total: 82h 32' 17" (actual), 81h 50' 50" (prediction), 41' 27" fast (-0.84% error)
Note that the above "actual" time is not Geraint Thomas's winning time of 83h 17' 13", but the sum of all the stage-winning times. We do not model an individual cyclist. Missing by less than 1% of the actual total time may seem impressive, but keep in mind that we missed some stages because we were too fast, and we missed others on which we were too slow. We have a good feeling for how the entire race will be run, so errors tends to cancel when forming the sum.
Modeling the Tour de France was once again a delight. Kudos to my research student, Carl Pilat, for his efforts. More research work lies ahead as we dissect this year's race to determine what worked well with our model and what didn't work well. We learn when we are ignorant of something and when we are wrong about something. Continual learning is what makes being a scientist so much fun!