70.4% of boat pairs ordered correctly a full season ahead, against 68.8% for a static Plackett–Luce fit and 68.7% for Elo, on 1,414,778 pairs in 16,070 races over Fall 2024, Spring 2025, Fall 2025 and Spring 2026, every model fit only on races before each season began. At 72.4% of pairs at 166 championship regattas with ratings frozen the week before (95% interval 71.6–73.3%).
The edge over Elo is +1.5 to +1.9 points and over static Plackett–Luce +1.5 to +1.8 points (95% intervals from resampling whole regattas, 1,170 regattas); the site model beat both in every resample. Up to about 85% confidence the points sit within 2.3 percentage points of the diagonal. Above that the model is slightly overconfident: when it says 97%, the favourite finishes ahead 94% of the time.
How the test works · Championships · Calibration · Caveats and leakage · Engineering · Code on GitHub
Predicting each of Fall 2024, Spring 2025, Fall 2025 and Spring 2026 using only races sailed before that season began, the site's rating model put 70.4% of boat pairs in the right order across 1,414,778 pairs in 16,070 races. The strongest baseline, Plackett–Luce, static rating, managed 68.8%; a coin flip gets 50%.
A rating is only useful if it predicts results it has not seen. The ratings on this site come from a Plackett–Luce model: every skipper has a strength, and a race finish is modelled as repeatedly choosing the next boat across the line with probability proportional to strength. The site's version lets each sailor's strength drift week to week. This page tests whether that model forecasts future races better than simpler ways of rating sailors.
| Model | Pairwise accuracy | Log-loss | Winner picked | Rank correlation | ICSA accuracy | ISSA accuracy | Returning sailors | With a newcomer |
|---|---|---|---|---|---|---|---|---|
| No information (coin flip) | 50.0% | 0.6932 | 10.4% | 0.000 | 50.0% | 50.0% | 50.0% | 50.0% |
| Average finish percentile | 65.3% | 0.6185 | 27.6% | 0.403 | 66.4% | 64.3% | 66.5% | 62.0% |
| Elo (multi-player, tuned K) | 68.7% | 0.5823 | 32.4% | 0.481 | 70.3% | 67.4% | 70.3% | 64.3% |
| Plackett–Luce, static rating | 68.8% | 0.5815 | 32.6% | 0.480 | 70.6% | 67.2% | 70.5% | 63.8% |
| Plackett–Luce, weekly, before the rating fix (previous site model) | 69.6% | 0.5704 | 33.5% | 0.501 | 71.1% | 68.4% | 71.3% | 65.0% |
| Plackett–Luce, weekly (site model) | 70.4% | 0.5644 | 34.4% | 0.521 | 71.8% | 69.2% | 72.0% | 65.9% |
The rating fix. Until September 2026 the model stopped fitting after 2,000 steps, long before the ratings had settled, which squeezed them together. Ratings are now fitted until they settle, with a pull toward the average on each sailor's rating when they start racing, which matters most for sailors with few races; its strength and the week-to-week smoothing were tuned on week-ahead forecasts from 2024 and spring 2025. On these season-ahead forecasts, pairwise accuracy went from 69.6% before the fix to 70.4%, and log-loss from 0.570 to 0.564. At championships, with ratings from the week before, the fix was worth +0.3 to +0.6 points of pairwise accuracy (95% interval).
Pairwise accuracy for each forecast season. Fall seasons bring a new freshman class, so a larger share of pairs involve sailors no model has seen race before.
| Forecast season | Ratings frozen at | Races | New sailors | Coin flip | Average finish | Elo | Static PL | Previous site model | Weekly PL (site) |
|---|---|---|---|---|---|---|---|---|---|
| Fall 2024 | 2024-W36 | 4,504 | 1,022 | 50.0% | 64.8% | 67.5% | 68.3% | 68.5% | 69.3% |
| Spring 2025 | 2025-W03 | 3,614 | 594 | 50.0% | 65.1% | 69.1% | 68.8% | 70.0% | 71.0% |
| Fall 2025 | 2025-W36 | 4,220 | 1,033 | 50.0% | 64.9% | 68.0% | 68.2% | 68.7% | 69.4% |
| Spring 2026 | 2026-W03 | 3,732 | 596 | 50.0% | 66.5% | 70.8% | 70.2% | 71.8% | 72.6% |
Championships are where ratings get the most attention, so this test scores only championship-level fleet regattas: ICSA national finals and semifinals, conference championships and Atlantic Coast Championship rounds, and ISSA national championships, district championships and district qualifiers. For each one, every model is fit on all races through the week before the event and then predicts it. Baseline settings come from that season's forecast tuning.
The site model ordered 72.4% of boat pairs correctly (95% interval 71.6–73.3%) across 166 regattas and 3,129 races; Plackett–Luce, static rating managed 71.3%. Resampling whole regattas, the site model came out ahead of Static PL in 100% of resamples, and the interval for its margin (+0.8 to +1.4 points) stays above zero. With ratings frozen at the start of the season instead, the same model scored 71.1% on these regattas, so results from earlier in the season add real information.
| Model | Pairwise accuracy | 95% interval | Log-loss | Winner picked | ICSA | ISSA | Site model better in |
|---|---|---|---|---|---|---|---|
| No information (coin flip) | 50.0% | 50.0–50.0% | 0.6932 | 8.4% | 50.0% | 50.0% | 100% |
| Average finish percentile | 67.0% | 66.2–67.8% | 0.6061 | 26.4% | 66.9% | 67.0% | 100% |
| Elo (multi-player, tuned K) | 71.0% | 70.2–71.9% | 0.5577 | 30.8% | 71.6% | 70.5% | 100% |
| Plackett–Luce, static rating | 71.3% | 70.4–72.2% | 0.5571 | 32.5% | 71.8% | 70.8% | 100% |
| Plackett–Luce, weekly, before the rating fix (previous site model) | 72.0% | 71.1–72.9% | 0.5451 | 32.9% | 72.4% | 71.5% | 100% |
| Plackett–Luce, weekly (site model) | 72.4% | 71.6–73.3% | 0.5363 | 33.7% | 72.7% | 72.2% | — |
Predicted versus actual team totals at every championship
Nationals are the hardest test for the ratings. Each table uses only results from before the week of the regatta: every skipper's rating going in, the standings those ratings predict, and how teams actually finished. Ratings are on the rankings scale, and “new” marks a skipper with no earlier races, who starts at the typical rating of their school's recent debut sailors (or the league's, for a school with too few). Predicted points leave penalties out, because adding them makes the totals worse; the chances below still include them. The chance columns come from simulating the whole regatta, every race and every penalty, thousands of times with those ratings: how often each team won, and how often it finished where it did or better.
The ratings picked the winner. Predicted totals were off by 28.1 points per team and finishes by 2.9 places, with a rank correlation of 0.76 between predicted and actual standings. Over 14 races per division, the ratings gave Brown University a 33% chance to win, and standings at least this far from the prediction came up in 11% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Brown University Bears | 1 | +0 | 33% | 33% | 163 | 179.3 | A Guthrie Braun 519 B Blake Behrens 478 |
| 2 | Stanford University Cardinal | 2 | +0 | 46% | 25% | 174 | 187.2 | A Thomas Sitzmann 515 (14 races) B Reade Decker 444 (10 races) B Vanessa Lahrkamp 536 (4 races) |
| 3 | Yale University Bulldogs | 11 | +8 | 5% | 1% | 211 | 270.6 | A Morgan Pinckney 414 B Dorothy Mendelblatt 423 |
| 4 | U. S. Naval Academy Midshipmen | 7 | +3 | 16% | 2% | 223 | 247.5 | A Nathan Smith 447 B Henry Allgeier 428 |
| 5 | Dartmouth College Big Green | 8 | +3 | 26% | 1% | 225 | 248.8 | A Ryan Satterberg 436 B Chase Decker 438 |
| 5 | University of Pennsylvania Quakers | 10 | +5 | 18% | 1% | 225 | 259.1 | A Cole Woodworth 432 B Jackson Mcaliley 424 |
| 7 | Georgetown University Hoyas | 9 | +2 | 38% | 1% | 230 | 255.9 | A Enzo Menditto 427 B Peter Herlihy 435 |
| 7 | Harvard University Crimson | 3 | -4 | 92% | 23% | 230 | 189.1 | A Justin Callahan 519 B Mitchell Callahan 461 |
| 9 | Tulane University Green Wave | 5 | -4 | 85% | 6% | 242 | 221.2 | A Hamilton Barclay 487 (14 races) B Christian Ebbin 439 (10 races) B Kelly Holthus 423 (4 races) |
| 10 | College of Charleston Cougars | 4 | -6 | 90% | 6% | 243 | 219.5 | A Noah Zittrer 458 (12 races) A Pierce Olsen 431 (2 races) B Benjamin Dufour 470 (14 races) |
| 11 | Roger Williams University Hawks | 6 | -5 | 90% | 3% | 253 | 233.9 | A Carlos De Castro 488 (14 races) B Kyle Pfrang 417 (12 races) B Oliver Stokke 383 (2 races) |
| 12 | St. Mary's College of Maryland Seahawks | 13 | +1 | 53% | <1% | 302 | 293.7 | A Nathan Jensen 391 (12 races) A Raam Fox 367 (2 races) B Landon Cormie 409 (14 races) |
| 13 | Connecticut College Camels | 18 | +5 | 6% | <1% | 318 | 367.8 | A Henry Scholz 355 (10 races) A Rory Murray 301 (4 races) B William Hurd 321 (14 races) |
| 14 | Boston College Eagles | 12 | -2 | 93% | <1% | 321 | 274.2 | A Tanner Krygsveld 428 (6 races) A Alex Lech 399 (4 races) A Peter Busch 411 (2 races) A Peter Joslin 416 (2 races) B Caroline Sibilly 425 (6 races) B Cody Roe 388 (4 races) B Jack Redmond 426 (4 races) |
| 15 | Jacksonville University Fins | 14 | -1 | 79% | <1% | 337 | 308.8 | A Owen Bannasch 429 (14 races) B Patrick Igoe 330 (8 races) B Hank Seum 354 (4 races) B Cole Schweda 352 (2 races) |
| 16 | Bowdoin College Polar Bears | 16 | +0 | 60% | <1% | 343 | 347.4 | A Michelangelo Vecchio 360 (12 races) A Ryan Keenan 336 (2 races) B Kyra Phelan 350 (11 races) B Lucca Antonietti 323 (3 races) |
| 17 | Cornell University Big Red | 15 | -2 | 90% | <1% | 370 | 328.4 | A Winborne Majette 394 (14 races) B Gilda Dondona 353 (12 races) B Marcus Greco 269 (2 races) |
| 18 | Fordham University Rams | 17 | -1 | >99% | <1% | 380 | 355.6 | A Jacob Zils 357 (14 races) B Lucas Thress 348 (8 races) B Patrick Shachoy 315 (4 races) B Erickson Rankin 267 (2 races) |
The ratings picked the winner. Predicted totals were off by 26.1 points per team and finishes by 1.9 places, with a rank correlation of 0.85 between predicted and actual standings. Over 12 races per division, the ratings gave Stanford University a 72% chance to win, and standings at least this far from the prediction came up in 43% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Stanford University Cardinal | 1 | +0 | 72% | 72% | 113 | 118.6 | A Vanessa Lahrkamp 504 B Sophie Fisher 425 |
| 2 | Yale University Bulldogs | 2 | +0 | 30% | 8% | 128 | 165.5 | A Dorothy Mendelblatt 414 B Carly Kieding 399 |
| 3 | Harvard University Crimson | 4 | +1 | 30% | 4% | 161 | 181.1 | A Zoey Ziskind 408 B Kate Danielson 371 |
| 4 | Bowdoin College Polar Bears | 11 | +7 | 11% | 1% | 164 | 219.8 | A Lauren Russler 378 B Kyra Phelan 319 |
| 5 | Cornell University Big Red | 6 | +1 | 41% | 2% | 171 | 191.6 | A Winborne Majette 373 (12 races) B Sophia Devling 393 (10 races) B Gilda Dondona 344 (2 races) |
| 6 | College of Charleston Cougars | 8 | +2 | 45% | 2% | 190 | 198.4 | A Bella Shakespeare 383 B Ashley Alfortish 359 |
| 7 | Tulane University Green Wave | 9 | +2 | 32% | 1% | 208 | 218.8 | A Ava Anderson 403 (12 races) B Gabriela Vassel 308 (8 races) B Lola Kohl 273 (4 races) |
| 8 | Brown University Bears | 3 | -5 | 89% | 7% | 214 | 173.2 | A Katharine Doble 415 (12 races) B Katherine Mcnamara 349 (6 races) B Laura Hamilton 414 (6 races) |
| 9 | Georgetown University Hoyas | 5 | -4 | 84% | 3% | 226 | 186.5 | A Emily Doble 373 B Kelly Bates 396 |
| 10 | Roger Williams University Hawks | 10 | +0 | 61% | <1% | 231 | 219.7 | A Lucy Meagher 386 B Tavia Smith 311 |
| 11 | Tufts University Jumbos | 12 | +1 | 50% | <1% | 236 | 240.0 | A Ella Hubbard 312 (8 races) A Sophia Hubbard 310 (4 races) B Maddie Janzen 343 (12 races) |
| 12 | Dartmouth College Big Green | 7 | -5 | 94% | 2% | 247 | 193.3 | A Bella Casaretto 397 (11 races) A Alders Kulynych-Irvin 273 (1 races) B Olivia Drulard 366 (12 races) |
| 12 | George Washington University Revolutionaries | 16 | +4 | 4% | <1% | 247 | 312.3 | A Arrieta Angueira Salbidegoitia 291 B Hayden Clary 200 |
| 14 | Massachusetts Institute of Technology Engineers | 14 | +0 | 73% | <1% | 258 | 264.7 | A Brooke Barry 298 (12 races) B Karya Basaraner 315 (9 races) B Emma Wang 270 (3 races) |
| 15 | Boston College Eagles | 13 | -2 | 96% | <1% | 276 | 246.9 | A Caroline Sibilly 421 B Kate Joslin 212 |
| 16 | U. S. Coast Guard Academy Bears | 15 | -1 | 86% | <1% | 316 | 291.7 | A Madeline Murphy 297 (12 races) B Ella Demand 249 (10 races) B Meara Conley 220 (2 races) |
| 17 | Jacksonville University Fins | 17 | +0 | 63% | <1% | 350.1 | 338.7 | A Kaitlyn Liebel 228 (12 races) B Fiona Froelich 215 (10 races) B Kaitlyn Anderson 51 (2 races) |
| 18 | University of Rhode Island Rams | 18 | +0 | >99% | <1% | 368 | 343.2 | A Ariana Schwartz 199 B Emaline Ouellette 209 |
The ratings picked Point Loma High School; Severn School won. Predicted totals were off by 47.2 points per team and finishes by 2.4 places, with a rank correlation of 0.87 between predicted and actual standings. Over 16 races per division, the ratings gave Severn School a 26% chance to win, and standings at least this far from the prediction came up in 24% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Severn School Admirals | 2 | +1 | 26% | 26% | 167 | 213.8 | A Annie Sitzmann 384 B Harrison Szot 395 |
| 2 | St. George's School Dragons | 5 | +3 | 13% | 4% | 196 | 259.8 | A Gil Hackel 403 (16 races) B Miles Cundey 288 (12 races) B Amelon Rule 343 (4 races) |
| 3 | Mater Dei High School Monarchs | 3 | +0 | 42% | 11% | 203 | 236.6 | A Nickolas Lech 380 (16 races) B Kingston Keyoung 346 (12 races) B Colin Kennedy 409 (2 races) B Gage Christopher 404 (2 races) |
| 4 | Lucy Beckham High School Bengals | 6 | +2 | 33% | 4% | 213 | 266.6 | A James Pine 407 B Nathan Pine 289 |
| 5 | Point Loma High School Pointers | 1 | -4 | 93% | 45% | 221 | 194.4 | A Wyatt Kelly 400 (14 races) A Kevin Cason 388 (2 races) B Anton Schmid 413 (16 races) |
| 6 | Ransom Everglades School Raiders | 12 | +6 | 12% | <1% | 229 | 327.3 | A Ava Mc Aliley 310 (10 races) A Sander Block 317 (6 races) B Max Wolfensberger 296 (16 races) |
| 7 | Barrington High School Eagles | 8 | +1 | 44% | 2% | 304 | 290.9 | A Duffy Macaulay 378 B Ben Reuter 282 |
| 8 | Christchurch School Seahorses One | 4 | -4 | 81% | 5% | 313 | 258.6 | A Wylder Smith 381 (16 races) B Sam De Los Reyes 325 (14 races) B Elliott Lipp 332 (2 races) |
| 9 | Gulliver Preparatory School Raiders | 11 | +2 | 42% | 1% | 318 | 323.5 | A Connor Karr 355 (16 races) B Arturo Zizold 269 (14 races) B Danika Torres 169 (2 races) |
| 10 | Southern Regional High School Rams | 9 | -1 | 69% | 0% | 321 | 300.7 | A Jude Ryon 347 B Gannon Botwinick 299 |
| 11 | Key School Zags | 15 | +4 | 8% | <1% | 335 | 418.8 | A Trey Waters 275 (16 races) B Casey Burman 206 (14 races) B Ethan Purdon 138 (2 races) |
| 12 | Brunswick School Bruins | 10 | -2 | 77% | 1% | 360 | 314.7 | A Harrison Gandy 316 (14 races) A Sebastian Sheppard 376 (2 races) B William Whidden 303 (16 races) |
| 13 | San Marcos High School Royals | 7 | -6 | 97% | 2% | 365 | 281.8 | A Dylan Seawards 353 (16 races) B Sam Wells 344 (12 races) B Taylor Escola 251 (4 races) |
| 14 | Arrowhead High School Warhawks | 13 | -1 | 89% | <1% | 402 | 338.4 | A John Lieber 277 B Nicholas Berkowitz 317 |
| 15 | Bainbridge High School Spartans | 14 | -1 | 60% | <1% | 429 | 403.6 | A Cyrus Yan 220 (10 races) A Stone Dewey 280 (6 races) B Nelson Dorsey 254 (16 races) |
| 16 | Jesuit High School, NOLA Blue Jays | 20 | +4 | 5% | <1% | 429.7 | 519.7 | A Jack Meade 233 (14 races) A Liam Moore 87 (2 races) B Reed Gibbs new (12 races) B David Karcher 209 (4 races) |
| 17 | New Trier HS Trevian | 17 | +0 | 72% | <1% | 450 | 432.2 | A Nathan Finkelstein 256 (16 races) B Aiala Angueira Salbidegoitia 232 (12 races) B Ralph Lipford 69 (4 races) |
| 18 | Minnetonka High School Skippers | 19 | +1 | 67% | <1% | 459 | 458.3 | A Connor Jewett 251 (12 races) A Mark Yakovlev new (4 races) B Reese Kottke 229 (10 races) B Maggie Mcgary 144 (4 races) B Maxwell Kelley 129 (2 races) |
| 19 | Jones College Prep Eagles | 16 | -3 | 97% | <1% | 460 | 426.3 | A Nissa Berman 287 (14 races) A Jack Eskilson 86 (2 races) B Duke Diep 213 (12 races) B Quinn Frakt 129 (4 races) |
| 20 | Olympia High School Bears | 18 | -2 | >99% | <1% | 539 | 454.0 | A Alan Timms 254 (16 races) B Simone Reck 193 (10 races) B Kaden Kim 105 (6 races) |
The ratings picked the winner. Predicted totals were off by 25.3 points per team and finishes by 3.8 places, with a rank correlation of 0.57 between predicted and actual standings. Over 7 races per division, the ratings gave Stanford University a 39% chance to win, and standings at least this far from the prediction came up in 19% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Stanford University Cardinal | 1 | +0 | 39% | 39% | 58 | 86.6 | A Thomas Sitzmann 496 B Vanessa Lahrkamp 515 |
| 2 | U. S. Naval Academy Midshipmen | 8 | +6 | 7% | 3% | 74 | 130.3 | A Nathan Smith 437 B Henry Allgeier 418 |
| 3 | Dartmouth College Big Green | 11 | +8 | 6% | 1% | 91 | 139.9 | A William Michels 413 B Chase Decker 410 |
| 4 | Yale University Bulldogs | 3 | -1 | 46% | 11% | 98 | 108.6 | A Jack Egan 457 B Stephan Baker 473 |
| 5 | Harvard University Crimson | 2 | -3 | 72% | 20% | 107 | 98.3 | A Justin Callahan 524 B Mitchell Callahan 443 |
| 6 | Brown University Bears | 4 | -2 | 57% | 9% | 113 | 113.5 | A Guthrie Braun 481 B Blake Behrens 432 |
| 7 | Tufts University Jumbos | 13 | +6 | 26% | 1% | 119 | 143.2 | A Ben Mueller 418 B Kurt Stuebe 395 |
| 8 | George Washington University Revolutionaries | 18 | +10 | 1% | <1% | 132 | 182.2 | A Tyler Wood 349 B Jedidiah Bechtel 324 |
| 9 | College of Charleston Cougars | 5 | -4 | 78% | 8% | 135 | 113.9 | A Noah Zittrer 470 B Benjamin Dufour 441 |
| 10 | Boston College Eagles | 6 | -4 | 84% | 6% | 136 | 114.3 | A Peter Busch 453 (7 races) B Jack Redmond 459 (6 races) B Michael Kirkman 445 (1 races) |
| 11 | University of Miami Hurricanes | 12 | +1 | 51% | 1% | 148 | 142.6 | A Atlee Kohl 442 B Aidan Dennis 372 |
| 12 | Bowdoin College Polar Bears | 15 | +3 | 39% | <1% | 149 | 155.5 | A Thibault Antonietti 373 B Sam Bonauto 397 |
| 13 | Georgetown University Hoyas | 10 | -3 | 77% | 1% | 151 | 137.0 | A Piper Holthus 402 (3 races) A Enzo Menditto 406 (2 races) A Mateo Di Blasi 460 (2 races) B Peter Barnard 412 (6 races) B Diego Escobar 424 (1 races) |
| 14 | University of Rhode Island Rams | 14 | +0 | 75% | 0% | 159 | 144.7 | A Kerem Erkmen 480 (7 races) B Tyler Nash 328 (4 races) B Christopher Chwalk 318 (3 races) |
| 15 | Tulane University Green Wave | 7 | -8 | 95% | 2% | 161 | 125.1 | A Kelly Holthus 439 (7 races) B Hamilton Barclay 431 (4 races) B Christian Ebbin 440 (3 races) |
| 16 | St. Mary's College of Maryland Seahawks | 9 | -7 | 94% | 1% | 168 | 136.6 | A Owen Hennessey 451 (7 races) B Landon Cormie 376 (4 races) B Charlie Anderson 393 (3 races) |
| 17 | Hobart and William Smith Colleges Statesmen | 17 | +0 | 85% | <1% | 193 | 165.3 | A Juan Carlos Lacerda Jones 363 (4 races) A James Kopack 315 (3 races) B Jj Klempen 389 (7 races) |
| 18 | Massachusetts Institute of Technology Engineers | 16 | -2 | >99% | <1% | 206 | 156.3 | A Sam Bruce 427 (7 races) B Julius Heitkoetter 333 (5 races) B William Kulas 356 (2 races) |
The ratings picked Yale University; Stanford University won. Predicted totals were off by 34.7 points per team and finishes by 2.4 places, with a rank correlation of 0.85 between predicted and actual standings. Over 16 races per division, the ratings gave Stanford University a 39% chance to win, and standings at least this far from the prediction came up in 55% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Stanford University Cardinal | 2 | +1 | 39% | 39% | 198 | 182.9 | A Vanessa Lahrkamp 506 (16 races) B Ellie Harned 384 (8 races) B Sophie Fisher 401 (8 races) |
| 2 | Tulane University Green Wave | 5 | +3 | 12% | 3% | 209 | 253.8 | A Samantha Gardner 418 B Ava Anderson 359 |
| 3 | Harvard University Crimson | 6 | +3 | 15% | 1% | 223 | 265.2 | A Cordelia Burn 379 B Zoey Ziskind 380 |
| 4 | Yale University Bulldogs | 1 | -3 | 95% | 49% | 250 | 176.5 | A Emma Cowles 453 (8 races) A Mia Nicolosi 496 (8 races) B Carmen Cowles 431 (16 races) |
| 5 | Cornell University Big Red | 3 | -2 | 63% | 4% | 255 | 242.8 | A Bridget Green 456 (12 races) A Winborne Majette 382 (4 races) B Sophia Devling 358 (16 races) |
| 6 | Boston College Eagles | 12 | +6 | 11% | <1% | 277 | 326.5 | A Caroline Sibilly 396 B Sara Schumann 271 |
| 7 | Georgetown University Hoyas | 4 | -3 | 84% | 4% | 284 | 243.9 | A Piper Holthus 408 (16 races) B Emily Doble 386 (8 races) B Kelly Bates 380 (8 races) |
| 8 | Bowdoin College Polar Bears | 10 | +2 | 36% | <1% | 287 | 317.1 | A Kyra Phelan 347 B Lauren Russler 333 |
| 9 | Brown University Bears | 7 | -2 | 67% | <1% | 294 | 288.9 | A Katharine Doble 362 (16 races) B Katherine Mcnamara 365 (10 races) B Laura Hamilton 354 (6 races) |
| 10 | Dartmouth College Big Green | 8 | -2 | 63% | <1% | 297 | 305.2 | A Sarah Young 396 (14 races) A Bella Casaretto 361 (2 races) B Olivia Drulard 308 (16 races) |
| 11 | College of Charleston Cougars | 11 | +0 | 61% | <1% | 307 | 318.0 | A Emma Tallman 366 B Emily Alfortish 314 |
| 12 | George Washington University Revolutionaries | 17 | +5 | 9% | <1% | 314 | 403.9 | A Avery Canavan 271 B Arrieta Angueira Salbidegoitia 272 |
| 13 | Massachusetts Institute of Technology Engineers | 9 | -4 | 82% | <1% | 320 | 312.6 | A Brooke Schmelz 347 B Lucy Brock 340 |
| 13 | Northeastern University Huskies | 15 | +2 | 49% | <1% | 320 | 356.4 | A Eva Ermlich 305 B Lucia Loosbrock 314 |
| 15 | Roger Williams University Hawks | 13 | -2 | 86% | <1% | 371 | 336.0 | A Lucy Meagher 375 (16 races) B Tavia Smith 295 (10 races) B Katherine Mcgagh 247 (6 races) |
| 16 | University of Pennsylvania Quakers | 14 | -2 | 94% | <1% | 388 | 338.3 | A Sofia Segalla 358 B Adra Ivancich 292 |
| 17 | University of South Florida Bulls | 16 | -1 | 84% | <1% | 426 | 385.8 | A Kay Brunsvold 334 (15 races) A Kailey Warrior 235 (1 races) B Kalea Woodard 250 (14 races) B Heidi Hicks 215 (2 races) |
| 18 | Tufts University Jumbos | 18 | +0 | >99% | <1% | 453 | 418.1 | A Maisie Macgillivray 230 (6 races) A Meredith Broadus 241 (6 races) A Kiana Beachy 230 (4 races) B Sophia Hubbard 278 (16 races) |
The ratings picked the winner. Predicted totals were off by 40.0 points per team and finishes by 1.9 places, with a rank correlation of 0.91 between predicted and actual standings. Over 20 races per division, the ratings gave Point Loma High School a 67% chance to win, and standings at least this far from the prediction came up in 71% of 2,000 simulated regattas.
| Actual finish | Team | Predicted finish | Beat prediction by | Chance of this finish or better | Win chance | Points | Predicted points | Skippers and ratings going in |
|---|---|---|---|---|---|---|---|---|
| 1 | Point Loma High School Pointers | 1 | +0 | 67% | 67% | 266.6 | 205.6 | A Ian Nyenhuis 438 B Anton Schmid 443 |
| 2 | Antilles School Hurricanes | 5 | +3 | 20% | 7% | 270 | 302.0 | A Tanner Krygsveld 449 B Cobia Fagan 302 |
| 3 | Ransom Everglades School Raiders | 6 | +3 | 18% | 1% | 294 | 329.3 | A Griggs Diemar 412 (20 races) B Sebastian Van De Kreeke 313 (16 races) B Ava Mc Aliley 257 (4 races) |
| 4 | Severn School Admirals | 4 | +0 | 53% | 5% | 301 | 297.4 | A Harrison Szot 366 (12 races) A Alex Baker 358 (8 races) B Annie Sitzmann 393 (20 races) |
| 5 | Christchurch School Seahorses | 3 | -2 | 69% | 4% | 307.8 | 296.6 | A Bo Angus 396 (16 races) A Madeline Janzen 291 (4 races) B Wylder Smith 381 (20 races) |
| 6 | Lucy Beckham High School Bengals | 9 | +3 | 20% | <1% | 326 | 386.0 | A James Pine 382 B Nathan Pine 264 |
| 7 | Mater Dei High School Monarchs | 2 | -5 | 97% | 15% | 327 | 258.3 | A Tate Christopher 429 (20 races) B Brady Kennedy 370 (10 races) B Noah Stapleton 376 (10 races) |
| 7 | St. George's School Dragons | 11 | +4 | 21% | <1% | 327 | 404.1 | A Gil Hackel 330 (20 races) B Amelon Rule 307 (18 races) B Kai Watters 191 (2 races) |
| 9 | Tabor Academy Seawolves | 10 | +1 | 43% | <1% | 345 | 402.1 | A Peter Herlihy 360 (20 races) B Jack Spillane 277 (16 races) B Abby Wei 231 (2 races) B Sander Skaane 227 (2 races) |
| 10 | The Hotchkiss School Bearcats | 8 | -2 | 70% | <1% | 351 | 376.2 | A Pierce Olsen 357 (20 races) B Thomas O'Grady 285 (11 races) B Fynn Olsen 321 (9 races) |
| 11 | Southern Regional High School Rams | 12 | +1 | 57% | <1% | 407 | 414.6 | A Turner Ryon 302 (16 races) A Gannon Botwinick 250 (4 races) B Jude Ryon 322 (20 races) |
| 12 | Corona del Mar High School Sea Kings | 13 | +1 | 63% | <1% | 443 | 426.6 | A Michael Sentovich 305 (20 races) B Maddie Nichols 317 (12 races) B Siena Nichols 291 (6 races) B Jonah Moore 166 (2 races) |
| 13 | Christian Brothers Academy Colts | 7 | -6 | 95% | <1% | 444 | 374.6 | A Christopher Small 346 B Cole Buczkowski 314 |
| 14 | Jones College Prep Eagles | 15 | +1 | 33% | <1% | 445 | 513.9 | A Nissa Berman 254 B Grace Renz 242 |
| 15 | Arrowhead High School Warhawks | 14 | -1 | 83% | <1% | 547 | 466.0 | A John Lieber 277 B Nicholas Berkowitz 276 |
| 16 | Lake Forest High School Scouts | 16 | +0 | 67% | <1% | 559 | 530.6 | A Mason Keane 228 (13 races) A Grady Strothman 245 (4 races) A Owen Kohut 370 (3 races) B Keegan Chatburn 254 (14 races) B Maddie Rode 141 (4 races) B Jackson Schwartz 109 (2 races) |
| 17 | Wayzata High School Navy | 18 | +1 | 28% | <1% | 565 | 599.9 | A Dominik Moncur 263 B Stonewall Anderson 109 |
| 18 | Olympia High School Bears | 19 | +1 | 50% | <1% | 603 | 609.0 | A Alan Timms 202 B Liam Taylor 168 |
| 19 | Clear Lake High School Falcons Green | 17 | -2 | 88% | <1% | 621 | 575.3 | A Sydney Small 265 B Casey Small 148 |
| 20 | Roosevelt High School Rough Riders | 20 | +0 | >99% | <1% | 643 | 631.8 | A Roan Olson 172 B Ethan Lee 162 |
Predicted versus actual standings at every championship
The model predicts each race from ratings alone, as if every race were a fresh draw. Real regattas are not like that: a sailor who beats their rating in one race tends to beat it again. To measure it, each championship skipper's result in every race was scored against their rating going in (places better or worse than expected, as a share of the fleet), then compared race by race, with up to 4,491 sailors behind each pair of races. If races were independent every cell below would be about zero.
Every pair of races is positively correlated, 0.16 on average. Back-to-back races are the most alike (0.24) and the link fades with distance, to 0.09 for races 11 apart, so part of it is form or conditions that change through the regatta. Races also come in pairs: back-to-back races within the same pair (1–2, 3–4, …) average 0.27, while back-to-back races across a pair (2–3, 4–5, …) average 0.19. Rotations show why. Back-to-back races sailed in the same boat correlate at 0.27, back-to-back races in different boats at 0.18. The boat matters even when races are far apart: 2 races apart, the same boat gives 0.33 and a different boat 0.17.
So yes, winning race 1 means something. Across 266 championship divisions, the race-1 winner went on to average 4.4 in later races. Their rating alone predicted 5.3; updating on race 1 predicts 4.8.
Using it. If each sailor's strength is nudged by how they have sailed so far in the regatta, the order of later races is easier to predict. Tuned on 2024–25 championships and tested on 2025–26, pairs ordered correctly rose from 73.0% to 74.5% and log-loss fell from 0.532 to 0.513. That is a bigger gain than the site model's whole edge over Elo.
In the simulations. The championship simulations and the regatta analysis pages now build these correlations into every simulated regatta instead of treating each race as a fresh draw. Each sailor gets a good or bad regatta, form that drifts from race to race, and the speed of whichever boat the rotation puts them in, shared with every team that sails that boat. The three sizes were fitted to the correlations above. How big the swings should be depends on how well a sailor's rating is known, because they also cover the rating being wrong. For skippers with more than 200 races before the event they are 0.7 times the fitted size; for 61–200 races 0.8; for 1–60 races 1.1; for newcomers 2.0. Those sizes were chosen on the 2024–25 championships and checked on 2025–26 (the newcomers still finish worse than their starting rating suggests, which bigger swings cannot fix). Ratings frozen a week ahead are also a little too bunched together: results at championships fit best with the gaps between ratings 5% wider (0% at other regattas the same weeks), so the championship simulations stretch them. Before both changes, team totals needed much smaller swings than individual sailors did: championship winners are mostly experienced skippers with well-known ratings, and extra swings were also flattening favourites whose ratings were already too bunched. With both, team totals chose 90% of the fitted size. See how likely was each result.
Team race matches are forecast by a separate model: a side's strength is the sum over its three boats of the skipper's fleet rating (scaled), small shrunk offsets for the skipper and crew, the school's team race term and a home-water edge; the win probability is the logistic of the difference. The test is the same as above: refit before every regatta date in spring 2025 and 2026 with fleet ratings frozen at the week before, then score the 6,335 matches.
| Model | Log-loss | Matches called |
|---|---|---|
| Coin flip | 0.693 | 50.0% |
| School strength only | 0.562 | 70.4% |
| Fleet ratings only | 0.454 | 77.9% |
| Fleet ratings + school | 0.449 | 78.6% |
| Site model (ratings + school + sailor offsets + home) | 0.438 | 78.8% |
The stated chances are honest at every level (best temperature rescaling 1.00). Finishing positions as an extra training signal and within-event refits both failed to help. Every team race regatta page has a Ratings & Forecast tab with the match-by-match forecast and the event's measured orderliness; see the team racing page, how team race forecasts work and which team races go to form.
When the model says a sailor has a 70% chance of finishing ahead of another, that should happen about 70% of the time. Points on the diagonal mean the stated probabilities can be taken at face value. Up to about 85% confidence the points sit within 2.3 percentage points of the diagonal. Above that the model is slightly overconfident: when it says 97%, the favourite finishes ahead 94% of the time.
| Confidence bin | Mean predicted | Observed | Pairs |
|---|---|---|---|
| 50–55% | 52.5% | 52.2% | 171,021 |
| 55–60% | 57.5% | 56.6% | 167,835 |
| 60–65% | 62.5% | 61.2% | 162,290 |
| 65–70% | 67.5% | 65.7% | 156,377 |
| 70–75% | 72.5% | 70.5% | 150,989 |
| 75–80% | 77.5% | 75.5% | 143,563 |
| 80–85% | 82.5% | 80.2% | 137,920 |
| 85–90% | 87.5% | 85.6% | 126,164 |
| 90–95% | 92.4% | 90.1% | 115,503 |
| 95–100% | 96.9% | 93.6% | 71,333 |
An OCS or a DNF says little about boat speed, so boats that did not finish are left out of each race's finishing order. They never count as losing to every boat that finished, and they are left out of the accuracy numbers above. Penalties are predicted separately: each skipper gets a per-race chance of a start penalty, a DNF and a DNS, pulled toward the league rate by an amount tuned on the previous season, so a few penalties in a handful of races do not brand a sailor. The tenth of race entries it rated most penalty-prone had a penalty 3.0% of the time, against 2.1% for everyone else.
| Outcome | Share of race entries | Log-loss vs league rate | Championships: share | Championships: vs league rate |
|---|---|---|---|---|
| Start penalty (OCS) | 0.26% | +0.1% | 0.32% | +0.3% |
| Did not finish (DNF, RAF) | 0.70% | +0.9% | 0.42% | +3.4% |
| Did not start (DNS) | 1.20% | +1.5% | 0.72% | +8.0% |
| Any of these | 2.15% | +1.6% | 1.46% | +5.3% |
“Log-loss vs league rate” is how much better the penalty scores predict than giving every skipper the league's average rate, season-ahead and at championships. Penalties are rare and only loosely a habit, so these gains are small; did not start is the most predictable.
The trainer holds out every 20th regatta (339 regattas, 3,681 races) and prints its accuracy on them. Re-scoring that split with this evaluator should reproduce the trainer's numbers, which confirms the metric code. These figures are optimistic for the two Plackett–Luce models: the weekly model smooths ratings across time, so a held-out race's rating is informed by races that came after it. Elo and average finish only use earlier weeks here.
| Model | ICSA accuracy | ICSA log-loss | ISSA accuracy | ISSA log-loss |
|---|---|---|---|---|
| No information (coin flip) | 50.0% | 0.6932 | 50.0% | 0.6932 |
| Average finish percentile | 62.5% | 0.6401 | 66.8% | 0.5995 |
| Elo (multi-player, tuned K) | 66.8% | 0.6004 | 69.6% | 0.5701 |
| Plackett–Luce, static rating | 70.3% | 0.5596 | 72.7% | 0.5357 |
| Plackett–Luce, weekly, before the rating fix (previous site model) | 70.0% | 0.5681 | 72.9% | 0.5372 |
| Plackett–Luce, weekly (site model) | 70.8% | 0.5536 | 73.8% | 0.5215 |
| Trainer's own printout (weekly PL) | 70.85% | 0.5536 | 73.77% | 0.5215 |
| Forecast season | Tuned on | Elo K | Avg-finish shrinkage | Static PL L2 λ |
|---|---|---|---|---|
| Fall 2024 | Spring 2024 | 64 | 3 | 3 |
| Spring 2025 | Fall 2024 | 64 | 20 | 6 |
| Fall 2025 | Spring 2025 | 128 | 3 | 3 |
| Spring 2026 | Fall 2025 | 64 | 20 | 6 |
python3 analysis/plackett_luce/evaluate_models.py
Generated 2026-09-30 from 103,570 races and 26,413 sailors (2008-W38 to 2026-W39). Full run 118 minutes.
Short write-ups of what the ratings and results show, with the numbers and how they were computed.