Overlap analysis between run.privyprep.com and swim.privyprep.com. Sample date: 2026-04-29.
6 athletes were found in both datasets.
| Rank | Athlete | Final Score | Run Score | Swim Score | Balance | Versatility Bonus | Run Events | Swim Events |
|---|---|---|---|---|---|---|---|---|
| 1 | Jacob Ying | 43.60 | 79.24 | 28.57 | 42.00 | 50.00 | 1 | 4 |
| 2 | Josh Chapman | 37.80 | 33.21 | 42.53 | 37.24 | 40.00 | 1 | 3 |
| 3 | Caroline Hughes | 37.61 | 27.74 | 31.62 | 29.52 | 70.00 | 3 | 4 |
| 4 | Ryan Gorgone | 36.22 | 43.42 | 26.32 | 32.78 | 50.00 | 1 | 4 |
| 5 | Omar Santos | 22.26 | 9.19 | 45.00 | 15.32 | 50.00 | 1 | 4 |
| 6 | Matthew Pegues | 20.72 | 12.04 | 15.17 | 13.40 | 50.00 | 1 | 4 |
This is an endurance-weighted run+swim proxy for triathlon potential. No bike data was available.
Percentile = ((field_size - rank + 1) / field_size) * 100
Longer events get more triathlon relevance.
Run weights: 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
For each athlete, the best adjusted event in run and the best adjusted event in swim are selected:
RunScore and SwimScore.
Harmonic mean rewards being good at both, not just one:
Balance = 2 * RunScore * SwimScore / (RunScore + SwimScore)
Based on number of listed events in each sport, capped at 5:
Versatility = avg(min(run_events,5)/5, min(swim_events,5)/5) * 100
FinalScore = 0.8 * Balance + 0.2 * Versatility