| Rank | Athlete | Final Score | Run Score | Swim Score | Balance | Versatility Bonus | Run Events | Swim Events |
|---|---|---|---|---|---|---|---|---|
| 1 | Dylan Judge | 72.43 | 103.06 | 10.48 | 72.20 | 73.33 | 4 | 4 |
| 2 | Ryan Gorgone | 70.66 | 86.68 | 49.10 | 74.16 | 56.67 | 2 | 4 |
| 3 | Luke Kovak | 64.76 | 77.44 | 32.97 | 62.61 | 73.33 | 4 | 4 |
| 4 | Jacob Ying | 57.30 | 61.92 | 48.55 | 57.46 | 56.67 | 2 | 4 |
| 5 | Jake Judge | 55.88 | 69.73 | 16.34 | 51.93 | 71.67 | 5 | 3 |
| 6 | Walker Madsen | 42.28 | 60.29 | 2.97 | 41.19 | 46.67 | 2 | 3 |
| 7 | Josh Chapman | 38.01 | 29.96 | 53.84 | 37.92 | 38.33 | 1 | 3 |
| 8 | matthew pegues | 25.54 | 10.66 | 38.18 | 19.84 | 48.33 | 1 | 4 |
Scoring Methodology
This is an endurance-weighted run+swim proxy for triathlon potential. No bike data was available.
1) Per-event percentile
Percentile = ((field_size - rank + 1) / field_size) * 100
2) Distance weighting
Run weights: XC 5000m = 1.15, 3200m = 1.00, 1600m = 0.85, 800m = 0.70, 400m = 0.55
Swim weights: 500 free = 1.00, 200 free = 0.80, 100 free = 0.65, 50 free = 0.50
AdjustedEventScore = Percentile * DistanceWeight
3) Sport-level score
For each athlete, the best adjusted event in run and the best adjusted event in swim are selected: RunScore and SwimScore.
4) Balance score
Run is weighted twice as much as swim: Balance = (2 * RunScore + SwimScore) / 3
5) Versatility bonus
Versatility = avg(min(run_events,6)/6, min(swim_events,5)/5) * 100
6) Final triathlon prowess score
FinalScore = 0.8 * Balance + 0.2 * Versatility