A roster-level breakdown of training time across swim, bike, run, and other.
The sport distribution is a roster-level summary of how an athlete's training time is split across sports over a chosen window. Useful for:
URL (API):
GET /api/athlete/<public_id>/sport-distribution/?days=<N>.
The function aggregates Activity.duration_seconds by
Activity.sport across the window. Strength and "other"
activities are included so the totals stay honest (a heavy
strength block shows up as a chunk of "non-endurance" time).
Roughly typical splits for athletes at various target races:
| Race | Approx. split |
|---|---|
| Sprint tri | 25% swim, 45% bike, 30% run |
| Olympic tri | 25% swim, 50% bike, 25% run |
| 70.3 | 20% swim, 55% bike, 25% run |
| 140.6 | 15% swim, 60% bike, 25% run |
These are reference points, not prescriptions. The athlete's limiters and the macrocycle phase shift these.
See also: Macrocycle plan basics, Sport analytics page tour.
Still stuck? Ask us a question and we'll write up an answer.
Ask a question