Triathlon Data Analysis: Managing Multi-Discipline Training Load with TrainingPeaks
Triathlon training is far more complex than single-sport training — you need to manage volume, intensity, and recovery across three disciplines at once. TrainingPeaks’ Performance Management Chart (PMC) offers a quantitative system that lets you drive training decisions with data. This article takes a deep dive into how to use this system correctly for triathlon training.
Core Concepts: TSS, CTL, ATL, TSB
TSS (Training Stress Score)
TSS is the core metric for measuring the load of a single training session. The higher the number, the greater the training stress.
Baseline definition: One hour of exercise at your threshold intensity (FTP/LTHR/rFTPa) = 100 TSS.
CTL (Chronic Training Load)
- A weighted average of TSS over the past 42 days
- Represents your “fitness level”
- The higher your CTL, the more solid your training base
- Recommended weekly increase: no more than 5-7 TSS/day
ATL (Acute Training Load)
- A weighted average of TSS over the past 7 days
- Represents your “recent fatigue level”
- ATL significantly higher than CTL indicates overload
TSB (Training Stress Balance)
- TSB = CTL - ATL
- Positive: Well recovered, ready to perform (target TSB +10 to +25 on race day)
- Negative: Accumulating fatigue (normal in a training block: -10 to -30)
- Below -30: Overtraining risk zone
Differences in TSS Calculation Across the Three Disciplines
This is the easiest place to go wrong in triathlon data management — the three disciplines calculate TSS differently, and mixing them together without care can be misleading.
Cycling: TSS (Power-Based)
Formula: TSS = (seconds × NP × IF) / (FTP × 3600) × 100
- NP (Normalized Power)
- IF (Intensity Factor): NP/FTP
- Most accurate: measured directly by a power meter, unaffected by environmental conditions
Reference values:
| Session Type | Estimated TSS |
|---|---|
| Easy ride, 60 min Zone 2 | 40-55 |
| Tempo ride, 60 min Zone 3 | 65-80 |
| Intervals, 60 min | 70-90 |
| Long ride, 3 hours Zone 2 | 140-180 |
| Half-distance bike leg | 180-250 |
| Full-distance bike leg | 280-380 |
Running: rTSS (Pace or Heart Rate-Based)
Running TSS is based on functional threshold pace (rFTPa) or lactate threshold heart rate (LTHR).
Reference values:
| Session Type | Estimated rTSS |
|---|---|
| Easy run, 45 min Zone 2 | 35-50 |
| Tempo run, 45 min Zone 3 | 55-70 |
| Intervals, 60 min | 70-95 |
| Long run, 90 min Zone 2 | 90-120 |
| Half marathon (race) | 150-200 |
| Marathon (race) | 280-350 |
Swimming: sTSS (Pace-Based)
Swim TSS is based on functional threshold pace (sFTPa), typically estimated from a 1000m time trial.
Reference values:
| Session Type | Estimated sTSS |
|---|---|
| Technique session, 45 min | 25-40 |
| Endurance session, 60 min | 45-65 |
| Speed session, 60 min | 60-80 |
| 1.5km race | 60-90 |
| 3.8km race | 120-180 |
Important Reminder: TSS Is Not Fully Equivalent Across Disciplines
100 TSS from cycling does not place the same physical burden on your body as 100 rTSS from running:
- Running causes more muscle damage: eccentric contractions produce micro-damage that needs longer recovery
- Swimming carries the lightest overall load: no impact, buoyancy support in water, fastest recovery
- Practical recommendation: multiply running rTSS by a weighting factor of 1.2-1.3 to better reflect actual recovery demand
Annual Training Plan (ATP)
Season Periodization Example
Using preparation for a March Challenge Taiwan (half-distance triathlon) as an example:
Base Phase (October-November, 8 weeks)
- Target CTL: increase from 50 to 70
- Weekly TSS allocation: Swim 100-120, Bike 250-350, Run 120-180
- Training focus: build aerobic base, improve technique, strength training
| Week | Swim TSS | Bike TSS | Run TSS | Total TSS | Estimated CTL |
|---|---|---|---|---|---|
| 1 | 80 | 220 | 100 | 400 | 52 |
| 2 | 90 | 250 | 110 | 450 | 55 |
| 3 | 100 | 280 | 130 | 510 | 58 |
| 4 | 70 | 180 | 80 | 330 | 57 |
| 5 | 100 | 300 | 140 | 540 | 61 |
| 6 | 110 | 320 | 150 | 580 | 65 |
| 7 | 110 | 340 | 160 | 610 | 68 |
| 8 | 80 | 200 | 100 | 380 | 67 |
Weeks 4 and 8 are recovery weeks (total TSS reduced by 35-40%)
Build Phase (December-January, 8 weeks)
- Target CTL: increase from 67 to 85
- Weekly TSS allocation: Swim 110-140, Bike 350-450, Run 180-250
- Training focus: raise threshold capacity, race-pace practice, long-distance adaptation
Race Preparation Phase (February, 4 weeks)
- Target CTL: maintain 80-85, ATL begins to drop
- Training focus: high quality but reduced volume, race simulation, adjusting nutrition strategy
Pre-Race Taper (final 2 weeks before race)
- Target TSB: reach +10 to +25 by race day
- Weekly total TSS reduced by 40-50%
- Maintain intensity but significantly shorten duration
Taper example:
| Days Before Race | Swim | Bike | Run | Total TSS |
|---|---|---|---|---|
| 14-10 days | 60 | 200 | 100 | 360 |
| 10-7 days | 50 | 150 | 80 | 280 |
| 7-3 days | 30 | 80 | 50 | 160 |
| 2 days before | 15 | 30 | 15 | 60 |
Practical TrainingPeaks Techniques
Technique 1: Set the Correct Thresholds
All of TrainingPeaks’ calculations are based on your threshold settings. Make sure the following values are updated every 6-8 weeks:
- Bike FTP: average power of a 20-minute all-out effort × 0.95
- Run rFTPa: average pace of a 30-minute all-out run, or recent 10K race pace
- Swim sFTPa: pace of a 1000m time trial ÷ 0.95
- Heart rate threshold (LTHR): set separately for each discipline (average heart rate over the final 20 minutes of a 30-minute all-out test)
Technique 2: Use Dashboards to Monitor the Balance Across Disciplines
Build a custom dashboard in TrainingPeaks:
- Chart 1: PMC overview (CTL/ATL/TSB)
- Chart 2: weekly TSS distribution by discipline (pie chart)
- Chart 3: weekly TSS trend (line chart, broken down by discipline)
Ideal TSS distribution (half-distance triathlon):
- Bike: 45-50%
- Run: 30-35%
- Swim: 15-20%
Technique 3: Recognize Data Signals of Overtraining
| Indicator | Normal Range | Warning Signal |
|---|---|---|
| TSB | -10 to -30 | below -30 for 2 consecutive weeks |
| Weekly CTL increase | 3-5 TSS/day | over 7 TSS/day |
| Efficiency Factor (EF) | stable or rising | declining for 3 consecutive weeks |
| Heart rate drift | < 5% | > 10% |
Efficiency Factor (EF) is the ratio of power or pace to heart rate. A sustained decline in EF means the same heart rate output is producing less power/pace — an early signal of overtraining.
Technique 4: Race Prediction
TrainingPeaks’ Race Estimation feature can predict race performance based on your CTL and thresholds:
Ways to improve prediction accuracy:
- At least 8 weeks of complete data
- Thresholds updated within the last 6 weeks
- CTL stable within ±5 of your target value before race day
Advanced: WKO5 and Multi-Discipline Analysis
If you want deeper analysis, WKO5 (TrainingPeaks’ advanced analytics software) offers:
- Power Duration Curve: visualizes your maximum power capability across different durations
- Pmax Decay analysis: tracks long-term power trends
- Cross-discipline fatigue modeling: more precisely calculates the interaction of fatigue across the three disciplines
Free Alternatives
If you haven’t subscribed to TrainingPeaks Premium yet:
- Garmin Connect: offers basic training load analysis and the Body Battery metric
- Strava: the Fitness & Freshness chart (similar to PMC) is available to Summit subscribers
- Intervals.icu: a free and powerful alternative supporting PMC, power curves, and other analyses
- Golden Cheetah: an open-source, free tool for cycling/running data analysis
Real Case Study: A Taiwanese Office Worker’s Triathlon Data Journey
Athlete profile: 35-year-old male, 72kg, training 10-12 hours per week
Target race: Challenge Taiwan (half-distance) in March 2026
Key data milestones:
| Time Point | CTL | FTP | Run Threshold Pace | Swim Threshold Pace |
|---|---|---|---|---|
| October (start) | 45 | 240W | 5:10/km | 2:05/100m |
| December | 65 | 255W | 4:55/km | 1:55/100m |
| February | 82 | 265W | 4:45/km | 1:50/100m |
| Before race (mid-March) | 78 | 265W | 4:45/km | 1:50/100m |
Estimated half-distance triathlon result:
- Swim 1.9km: 35 min
- Bike 90km: 2:40
- Run 21.1km: 1:50
- Total time: approximately 5:10 (including transitions)
Data doesn’t lie, but data needs to be interpreted correctly. TrainingPeaks gives you objective training feedback to help you find the optimal balance across the three disciplines. Remember: the best training plan is the one you can consistently execute.
Related Reading
西進武嶺 免費訓練分析服務 Intervals | 練不夠還是練過頭?你哪一種類型選手?AI模型告訴你! | 備戰神器 | 公路車 訓練 | CT Yeh
4 年前
單車元宇宙新霸主?TrainingPeaks Virtual 實測 / Zwift 完美平替? 還是超越?/ 有台灣國旗!前身 indieVelo / 公路車 / CT Yeh
1 年前
西進武嶺 8000名單車友數據分析 PART1 | 從新手到高手數量/瓦數/推力比/FTP推力比/功率計使用率 大解析 | 公路車 | CTYeh
5 年前
西進武嶺配速器 3.0更新 / NEW 免功率FTP估算! / 大數據xAI體能模型 / 如何模擬人止關前集團效應 / 配速儲存功能 / AI全台自行車賽事行事曆 / 公路車 / CT Yeh
1 年前
FTL 與 SYB 車隊專訪 西進武嶺 實用攻略分享! 2小時 如何練?!你不知道的眉角!新手準備武嶺必看 EP1 | 實力派女車友 | 精華版 | 公路車 | CTYeh
4 年前
單車AI教練!全新 ChatGPT4o 幫你分析訓練成果!排武嶺課表,分析騎車姿勢! 太神了! / 公路車 / CT Yeh / feat. 緯緯
2 年前
一日北高 11小時 賽後心得分享篇 | TWB北高360 | 一日雙城 | 單車 | 公路車
6 年前
一日北高前的高裝檢 | 北高 360 | 挑戰11小時的裝備 | 一日雙塔 | 補給
6 年前