RankAthleteFinal ScoreRun ScoreSwim Score BalanceVersatility BonusRun EventsSwim Events
1
Ryan Gorgone
82.07108.0849.1088.4256.6724
2
Luke Kovak
81.73106.1332.9781.7481.6754
3
Dylan Judge
78.88112.0310.4878.1881.6754
4
Jake Judge
74.33104.3316.3475.0071.6753
5
Jacob Ying
72.4490.2948.5576.3856.6724
6
Walker Madsen
69.62102.182.9769.1171.6753
7
Josh Chapman
68.4283.8653.8473.8646.6723
8
Tom Berezitsky
66.2486.2514.6562.3881.6754
9
Caroline Hughes
64.1481.5922.3461.8473.3344
10
Omar Santos
34.1011.6562.0728.4556.6724
11
matthew pegues
30.2716.4238.1823.6856.6724

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