Columbia River Triathlon & Fitness Festival · Olympic Distance (22.8 mi bike — shorter course)
A-Goal: Sub 3:00 (Primary goal — requires FTP 185W+, run 9:00-9:20/mi off bike, practiced transitions)
B-Goal: Sub 3:10 (Fallback — achievable with 175W FTP and 10:00/mi off bike)
C-Goal: Finish Strong (Conservative floor)
Honest Assessment
Why the old plan caused burnout: It prescribed 9-14 hrs/week with quality sessions nearly every day. The research is clear: age-group triathletes need max 2 hard sessions per week, not 4-5. This plan uses 80/20 polarized training — 80% genuinely easy, 20% genuinely hard. Two hard days. That's it.
Where You Are Now
154W
FTP (Jan 2026)
12:49
Avg Run /mi
1:50
Avg Swim /100yd
182
Weight (lbs)
14.8%
Body Fat
171
Threshold HR
Course Intel
This course is faster than standard Olympic. The bike is 22.8 mi (36.7 km) — not the standard 24.8 mi (40 km). That saves ~7 minutes at the same watts. The swim has current assistance on the return. The run is flat paved trail.
Swim — 1,500m
River — upstream first half, downstream return
Bike — 22.8 mi (36.7 km)
Flat double loop on quiet country roads
Run — 10K (6.2 mi)
Flat out-and-back on paved trails to Vancouver Lake
Race Targets (Course-Adjusted)
Segment
A: Sub 3:00
B: Sub 3:10
C: Finish Strong
Swim 1500m
28-29 min
30-31 min
32 min
Bike 36.7km
1:05-1:08
1:10-1:14
1:16
Run 10km
55-58 min
62 min
65 min
Total
2:55-3:00
3:05-3:10
3:15
The honest truth: The shorter bike saves ~7 min vs standard Olympic. Your swim is on track. Your bike needs 25-40W of FTP growth (realistic). Your run is the biggest limiter — but on this flat course, a 62-65 min 10K off the bike is achievable. Sub 3:10 is your realistic target. Sub 3:00 is a genuine stretch goal.
Plan Philosophy
80/20 polarized: Only 2 hard sessions/week (Tue bike + Wed run). Everything else is easy or long.
Single sessions: One training block per day. No AM/PM splits.
8-10 hours/week: Genuinely. Not 12 hours squeezed into a label.
Priority: Run improvement > Bike FTP > Swim maintenance > Strength for durability.
Your Data — Full Baseline Analysis
All data from your Coros, InBody, and MyWhoosh. Period: Feb 17 - Mar 18, 2026.
Body Composition (InBody)
14.8%
Body Fat
88.6
SMM (lbs)
1891
BMR (kcal)
97
InBody Score
Swim Baseline
4.77 mi
Total Dist
6
Sessions
01:51/100yd (actual swimming). Coros summary shows 02:57/100yd but that includes rest between sets — not real swim pace.
Avg Pace
117
Avg HR
145
Load
32-39
SWOLF
Date
Distance
Time
Pace
SWOLF
Mon (latest)
1600yd
00:45:15
01:44/100yd
34
Thu
1825yd
00:50:18
01:51/100yd
36
Wed
900yd
00:40:22
02:03/100yd
39
Mar 9
1825yd
00:57:38
02:07/100yd
39
Feb 27
1250yd
00:28:18
01:46/100yd
34
Feb 23
1000yd
00:26:10
01:40/100yd
32
Trend: Actual swim pace is 1:40-2:07/100yd (weighted avg ~1:51). Coros summary avg (2:57) is inflated by rest intervals — ignore it. Pace varies significantly — technique consistency is the priority, not fitness. Best SWOLF (32) shows what's possible when focused.
Strengths: Best pace (1:40/100yd) is strong for age-group | Low HR (117) means huge aerobic headroom | Already capable of 1,825yd sessions
Limiters: Inconsistent stroke technique | SWOLF variance suggests some sessions lack focus | Only 6 sessions in 4 weeks — frequency too low
Bike Baseline
13:37:14
Total Time
12
Sessions
154W
FTP
1.86
W/kg
132
Avg HR
Date
Ride
Avg W
W/kg
Time
18/03/2026
Rolling Tempo #2
99W
1.19
01:07:09
17/03/2026
Mitochondria #7
97W
1.17
01:18:12
13/03/2026
Mitochondria #6
105W
1.27
01:01:13
10/03/2026
Mitochondria #5
100W
1.2
01:11:13
08/03/2026
Mitochondria #4
101W
1.22
01:11:21
06/03/2026
Tri Tempo #2
110W
1.33
01:22:06
05/03/2026
Anaerobic 10 #1
103W
1.24
00:58:03
03/03/2026
Mitochondria #3
93W
1.12
01:21:13
01/03/2026
Mitochondria #2
113W
1.36
01:00:20
Trend: Consistent training frequency (12 sessions/4 weeks = 3x/week). Power is well below FTP (154W) on most rides — training in Z2 which is correct for base building.
Strengths: Excellent consistency (3x/week) | Good session duration (60-82 min) | Training in correct zone (Z2) for base phase | Variety of MyWhoosh workouts shows structured approach
Limiters: FTP at 154W needs significant growth for sub-3 bike split | No distance data from Coros (indoor rides) | Avg power suggests most rides are easy — good for 80/20 but needs structured intensity
Run Baseline
22.03 mi
Total Dist
7
Sessions
12:49/mi
Avg Pace
09:30/mi
Threshold
139
Avg HR
414
Load
Date
Name
Dist
Pace
HR
Tue (latest)
Portland Run
3.57 mi
12:01/mi
141
Sun
Portland Run
3.15 mi
11:47/mi
146
Mar 7
3.75mi Long Run
3.75 mi
14:04/mi
138
Mar 3
2.5mi Easy Run
2.50 mi
15:00/mi
128
Feb 28
5mi Progressive Repeat Long Ru
5.23 mi
12:21/mi
142
Feb 24
Portland Run
3.03 mi
12:54/mi
140
Trend: Pace improving — most recent runs (11:47, 12:01) are faster than earlier ones (14:04, 15:00). This is a good trajectory. The long run (5.23mi) shows capacity for distance at 12:21/mi.
Strengths: HR at 139 during Z2 runs = proper easy effort, not gray zone | Recent pace improvement trend is encouraging | Can already do 5+ mile runs | No injury issues despite starting from low base
Limiters: Biggest performance gap — need to reach ~10:00/mi for sub-3:10 goal | Only 7 runs in 4 weeks (~1.75x/week) — needs 3x/week minimum | Total weekly mileage (~5.5 mi) is far below target (15-18 mi) | Threshold pace 9:30 vs avg 12:49 = running well below threshold on all runs (correct for Z2 but needs intensity sessions)
Training Load Distribution
55.7%
Bike
25.7%
Run
9%
Swim
9.3%
Strength
Intensity Distribution
Current: ~65% easy / ~25% moderate / ~10% hard — Pyramidal, not polarized. Too much gray zone. This plan shifts to 80/20: most sessions genuinely easy, hard sessions genuinely hard, minimal moderate work.
HR Zones (Karvonen)
Zone
Name
% HRR
HR Range
Feel
Z1
Recovery
50-60%
112-124
Very easy, could go all day
Z2
Aerobic
60-70%
124-136
Easy conversation, base building
Z3
Tempo
70-80%
136-148
Comfortably hard, short sentences
Z4
Threshold
80-90%
148-159
Hard, 3-4 words only
Z5
VO2max
90-100%
159-171
Very hard, can't talk
21-Week Plan
Phase 1
Aerobic Foundation
Wks 1-7 · 7.5-8.5 hrs/wk
Mar 17 – May 4
Phase 2
Build
Wks 8-14 · 8.5-9.5 hrs/wk
May 5 – Jun 22
Phase 3
Race-Specific
Wks 15-19 · 8-9.5 hrs/wk
Jun 23 – Jul 27
Phase 4
Taper
Wks 20-21 · 5→2.5 hrs/wk
Jul 28 – Aug 10
RECOVERYTESTOWSPEAKREHEARSALRACE
Phase 1: Aerobic Foundation
Weeks 1-7 · Mar 17 – May 4 · 7.5-8.5 hrs/wk · 80/20 easy/hard
Swim
Technique-first. 3x/week from Wk 3 (Mon + Thu + Sun drill swim). Pull buoy + drills. Body position (head down, hips up) and catch mechanics (EVF). SWOLF target: consistently < 35 (not just best effort — every session).
Bike
Sweet spot intervals (88-94% FTP). Start 4×8 min, progress to 3×12 min. Saturday: long Z2 rides 70→85 min.
Run
Build from ~5.5 mi/wk to ~12 mi/wk. Cap increases at 1.5 mi/wk. Runna hard Tue (fresh legs): tempo intro. 1x/month tri-specific sub: 15 min easy → 10 min at 10:30/mi → 5 min easy. Cadence drills: 4×30 sec at 180 spm during easy runs. Runna long Sun: 45→60 min. Brick run: 15 min all easy (HR 130-145, pace irrelevant).
Weeks 8-14 · May 5 – Jun 22 · 8.5-9.5 hrs/wk · 80/20 easy/hard
Swim
CSS sets — 5×200 at CSS pace. Sighting practice every 6-8 strokes starting Wk 12. Test CSS every 4-6 weeks. 3 swims/week continues. Drafting practice on Mon: 4×100 behind/beside lane partner to learn hip-draft positioning.
Bike
Threshold intervals — 3×12 min at 95-105% FTP, building to 2×20 min. Over-under variations. Saturday brick bike builds to 90 min.
Run
Runna intensity increases (Tue, fresh legs). Tempo + intervals. 1x/month tri-specific sub: 15 min easy → 15 min at 10:00/mi → 5 min easy. Cadence drills continue. Long runs to 65-70 min + strides (4×20 sec post-run). Brick runs: 20-25 min — first 15 min easy, last 10 min at 10:30-10:00/mi (moderate). Negative-split always.
Strength
MacroFactor Workouts: Wks 4-7 max strength (RPE 8-9), Wks 8-14 transition to power (lighter, explosive intent, RPE 7-8). Sessions: Mon 40-45 min, Thu 30-35 min.
8
May 5
4.0k
165m
11.5mi
9h
2x MF▼
Notes: New FTP zones. Strides start after Sun long run.
MonSwim: ~1600yd — CSS set: 5×200 at CSS pace. Drafting practice 4×100. | Strength A: 40-45 min MF — squat, RDL, Bulgarian splits, pallof, lat pull.
TueRunna hard run: tempo + intervals (~4 mi). Cadence 175-180 target.
WedBike intervals: threshold — 3×12 min at 95-105% FTP, building to 2×20 min.
Race-sim: 3×500 at race effort with upstream/downstream pacing (odd 500s = 85% effort, even 500s = 95% effort). Open water Wks 13, 16, 18. Sighting every 6-8 strokes in all pool sessions. Practice wetsuit on/off (target strip < 60 sec).
Bike
Race-pace — 2×20 min at target race watts (170-180W), 5 min recovery. Saturday brick at race watts for 90 min — practice full race nutrition on bike (60-80g carbs/hr). Heat acclim: fan off first 20 min of Wed warmup. Wk 15: outdoor calibration ride to compare indoor vs outdoor power. Last mile of every brick: unclip one foot, stand and stretch hamstrings (race-day habit).
Run
Brick runs: 25-30 min — first 10 min easy, last 15-20 min at 9:15-9:30/mi (race pace). Negative-split always. 1x/month tri-specific sub on Tue: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy. Cadence 175-180 spm target. Runna long Sun + strides. Move 1 run/week outdoors in heat. Add 10-min mini-brick run after Wed bike intervals. Start mental visualization 2x/week before bed.
Strength
MacroFactor Workouts: maintenance (RPE 6-7, 2 sets instead of 3). Sessions stay 2x/week. Drop to 1x on cutback weeks.
Key: Wk 13: Open water swim #1 — wetsuit practice, sighting, murky water comfort. Lake or calm river.
Key: Wk 18: Full Race Rehearsal (Sunday) — 1,500m swim → T1 (time it, target < 2:00) → 60-75 min bike at race watts (practice nutrition: gel at 20 + 40 min) → T2 (time it, target < 1:30) → 25-30 min run at race pace (9:15-9:30/mi). Do in warmest part of day. Practice pre-cooling (ice towel), sodium loading (morning), and T2 ice protocol. Record splits for race-day comparison.
15
Jun 23
4.4k
180m
15mi
9.5h
2x MF maint▼
Notes: Race-pace bricks. Heat acclim starts: fan off, outdoor runs.
SatBike: 99 min at race watts. Full race nutrition (60-80g carbs/hr). Last mile: unclip, stretch. → Brick run: 25-30 min — first 10 easy, last 15-20 at 9:15-9:30/mi. Negative-split.
SunRunna long run + strides. Outdoors in warmest part of day (heat acclim). | Drill swim: ~600yd — 4×50 catch-up, 4×50 fingertip drag, 4×50 focused.
TueRunna hard run or tri-specific: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy.
WedBike intervals: race-pace — 2×20 min at target watts (170-180W). Fan OFF first 20 min warmup (heat acclim). + 10 min easy run after bike (mini-brick transition practice).
SatBike: 102 min at race watts. Full race nutrition (60-80g carbs/hr). Last mile: unclip, stretch. → Brick run: 25-30 min — first 10 easy, last 15-20 at 9:15-9:30/mi. Negative-split.
SunRunna long run + strides. Outdoors in warmest part of day (heat acclim). | Drill swim: ~600yd — 4×50 catch-up, 4×50 fingertip drag, 4×50 focused.
TueRunna hard run or tri-specific: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy.
WedBike intervals: race-pace — 2×20 min at target watts (170-180W). Fan OFF first 20 min warmup (heat acclim). + 10 min easy run after bike (mini-brick transition practice).
TueRunna hard run or tri-specific: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy.
WedBike intervals: race-pace — 2×20 min at target watts (170-180W). Fan OFF first 20 min warmup (heat acclim). + 10 min easy run after bike (mini-brick transition practice).
SatBike: 94 min at race watts. Full race nutrition (60-80g carbs/hr). Last mile: unclip, stretch. → Brick run: 25-30 min — first 10 easy, last 15-20 at 9:15-9:30/mi. Negative-split.
SunRACE REHEARSAL: 1,500m swim → T1 → 60-75 min bike at race watts (full nutrition) → T2 → 25-30 min run at 9:15-9:30/mi. Do in heat. Time transitions.
19
Jul 21
3.8k
155m
12mi
8.4h
1x MF▼
Notes: Pre-taper. Practice transitions in garage. Sodium loading practice.
TueRunna hard run or tri-specific: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy.
WedBike intervals: race-pace — 2×20 min at target watts (170-180W). Fan OFF first 20 min warmup (heat acclim). + 10 min easy run after bike (mini-brick transition practice).
SatBike: 85 min at race watts. Full race nutrition (60-80g carbs/hr). Last mile: unclip, stretch. → Brick run: 25-30 min — first 10 easy, last 15-20 at 9:15-9:30/mi. Negative-split.
SunRunna long run + strides. Outdoors in warmest part of day (heat acclim). | Drill swim: ~600yd — 4×50 catch-up, 4×50 fingertip drag, 4×50 focused.
Feel-fast swims. 800-2,000 yd/week. Race week: 15 min easy Mon if pool accessible.
Bike
Short race-pace efforts. Volume drops to 30-90 min/week. Race week openers Wed: 3×3 min at race watts + 10 min race-pace run.
Run
Easy runs only. 2-7 mi/week. No hard running after Wk 19. Sat before race: 20 min easy spin + 10 min jog (openers).
Strength
MacroFactor Workouts: 1x light Wk 20 only (RPE 5-6). None Wk 21. No new exercises. No failure.
Key: Wk 20: Lay out all race gear. Bike tune-up done. No new equipment. Light strength 1x only.
Key: Wk 21: Race Week — Mon easy swim. Wed openers (3×3 min race watts + 10 min race-pace run). Thu rest. Fri total rest. Sat 20 min easy spin + 10 min easy jog (openers). Sat Aug 8 RACE DAY.
20
Jul 28
2.0k
90m
7mi
4.8h
1x MF light▼
Notes: Volume -45%. Lay out all race gear. Bike tune-up done. No new equipment after this.
WedBike: short sharpener — 3×3 min at race watts. Keep it crisp.
ThuSwim: easy feel-fast.
FriFull rest (date night).
SatBike: 20 min easy spin. → 10 min easy jog (openers).
SunRest / recovery.
21
Aug 4
0.8k
30m
2mi
2.5h
RACENone▼
Notes: Race Week — Mon easy swim. Wed openers (3×3 min race watts + 10 min run). Sat: 20 min spin + 10 min jog. Aug 8 RACE DAY.
MonEasy swim: 15-20 min if pool accessible. Otherwise rest.
TueFull rest.
WedOpeners: 20 min easy spin → 3×3 min at race watts → 10 min race-pace run (9:15/mi).
ThuRest or 15 min easy swim.
FriTotal rest. Lay out gear. Walk course maps mentally.
SatRACE DAY — Aug 8. Follow race-day timeline.
SunRecovery. Celebrate.
Volume Progression (All 21 Weeks)
Wk
Phase
Swim
Bike
Run
Str
Hrs
Notes
1
Aerobic
2,700
140m
7mi
2x MF
7.5
Establish routine. 2 swims only.
2
Aerobic
2,900
148m
8.5mi
2x MF
7.8
3
Aerobic
3,700
155m
9.5mi
2x MF
8.5
3rd swim (Sun drills) starts
4
Aerobic
2,800
110m
6.5mi
2x MF
6.5
RECOVERY Cutback (-25%)
5
Aerobic
3,800
160m
9.5mi
2x MF
8.3
RECOVERY Post-cutback: resume near Wk 3 level, not above
6
Aerobic
4,000
165m
10.5mi
2x MF
8.6
7
Aerobic
3,600
150m
10mi
2x MF
8.2
TEST FTP Retest (Wed) — also note max HR for zone recalc. Timed 1-mile benchmark (Tue): target < 8:45.
8
Build
4,000
165m
11.5mi
2x MF
9
New FTP zones. Strides start after Sun long run.
9
Build
4,200
172m
13mi
2x MF
9.3
10
Build
4,400
178m
14mi
2x MF
9.6
Sighting practice starts (every 6-8 strokes in pool)
11
Build
3,200
125m
10mi
2x MF
7
RECOVERY Cutback (-25%)
12
Build
4,400
180m
14mi
2x MF
9.6
Wetsuit purchase
13
Build
4,600
185m
15mi
2x MF
10
OWS Peak volume week. Open water swim #1 (lake or calm river — wetsuit practice, sighting, murky water).
14
Build
3,800
155m
12mi
2x MF
8.7
TEST FTP Retest (Wed). Timed 1-mile benchmark (Tue): target < 8:15. If > 8:30, shift race plan to sub-3:10 pacing.
15
Race-Specific
4,400
180m
15mi
2x MF maint
9.5
Race-pace bricks. Heat acclim starts: fan off, outdoor runs.
16
Race-Specific
4,600
185m
15mi
2x MF maint
9.8
OWS Open water #2. Mini-brick after Wed bike.
17
Race-Specific
3,400
130m
10mi
1x MF
7.2
RECOVERY Cutback
18
Race-Specific
4,100
170m
14mi
2x MF maint
9.2
REHEARSAL Race Rehearsal (Sun) — practice full nutrition plan in heat. Open water #3.
19
Race-Specific
3,800
155m
12mi
1x MF
8.4
Pre-taper. Practice transitions in garage. Sodium loading practice.
20
Taper
2,000
90m
7mi
1x MF light
4.8
Volume -45%. Lay out all race gear. Bike tune-up done. No new equipment after this.
21
Taper
800
30m
2mi
None
2.5
RACE Race Week — Mon easy swim. Wed openers (3×3 min race watts + 10 min run). Sat: 20 min spin + 10 min jog. Aug 8 RACE DAY.
Weekly Template
This is the recurring weekly structure. For the week-by-week plan with volumes and notes, see the "21-Week Plan" tab.
Two hard days (Tue + Wed). Everything else is easy or long. Friday is full rest. Gym days: Mon & Thu. Home days: Tue, Wed, Sat, Sun. Strength: Mon full body, Thu upper + core. 3-day gaps both directions.
MON
Swim
Str
~85 min
TUE
Run
~45-55 min
WED
Bike
~70-80 min
THU
Swim
Str
~65-70 min
FRI
Rest
0 min
SAT
Brick
~90-120 min
SUN
Run
Swim
~75-95 min
Mondayswimstrength
Easy Swim + Strength A
~85 min · Chill day (couples therapy)
▼
Swim: 40 min, ~1,200-1,500 yds, technique & pull buoy, HR < 130. Drafting practice from Phase 2+: swim behind/beside a lane partner for 4×100 to learn hip-draft positioning.
Strength A: 40-45 min via MacroFactor Workouts — emphasize glutes/hamstrings, single-leg work, core
MacroFactor emphasis: squat, RDL, Bulgarian split squats or step-ups, pallof press, lat pull
MacroFactor de-emphasis: isolation arms, machine leg ext/curl, heavy deadlift (RDL preferred)
Why Monday: Paired with easy swim. Next hard session (Tue run) is 24+ hrs away.
~45-55 min · HARD DAY 1 of 2 — fresh legs for weakest discipline
▼
Runna programs this session — tempo, intervals, or fartlek.
SWAPPED from Wed: run gets fresh legs because it's the biggest limiter.
Rate honestly in Runna after each session for progressive overload.
Don't pair strength with this day. Hard run + heavy lifting = excessive fatigue.
Tuesday = 48+ hrs since Saturday brick, legs are fresh. Maximize run quality.
Tri-specific run substitution (1x/month, replace Runna): Phase 1: 15 min easy → 10 min at 10:30/mi → 5 min easy. Phase 2: 15 min easy → 15 min at 10:00/mi → 5 min easy. Phase 3: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy.
Verify Runna is giving threshold work — if all Tue sessions are easy/fartlek, manually add tempo blocks.
Cadence focus (all phases): during 2 easy sections, do 4×30 sec at 180 spm (quick turnover, same effort). Builds neuromuscular efficiency at 182 lbs.
Wednesdaybike
Bike Quality Intervals
~70-80 min · HARD DAY 2 of 2 — bike tolerates prior-day run fatigue well
▼
On trainer (MyWhoosh). SWAPPED from Tue: bike is stronger and tolerates fatigue better.
Phase 1: Sweet spot — 4×8 min at 88-94% FTP (135-145W), 4 min recovery
Phase 2: Threshold — 3×12 min at 95-105% FTP (146-162W), building to 2×20 min
Phase 3: Race-pace — 2×20 min at target race watts (170-180W), 5 min recovery
Phase 4: Sharpeners — short, fast efforts at reduced volume
Use ERG mode for sweet spot/threshold. SIM mode for VO2max.
Phase 3+ heat acclim: turn off fan for first 20 min warm-up, fan ON for intervals.
Ankle stability warmup: single-leg balance on unstable surface, 2 min each side (HRT tendon laxity prehab)
Mon→Thu = 3 day gap. Thu→Mon = 3 day gap. Research-backed 48-72hr recovery.
Fridayrest
Full Rest
0 min · Date night
▼
Complete rest. No active recovery. No quick spin.
Body consolidates Mon-Thu work. Full rest days reduce injury risk for 6-day athletes.
Saturdaybrick
Long Brick (Bike + Run)
~90-120 min · Long day
▼
Bike: 70-95 min Z2 on trainer (68-76% FTP). Fuel at 30 min. Practice race nutrition on bike from Phase 2+.
Transition practice: rack bike, change shoes. Time it. Target < 90 sec.
Transition setup: bike shoes pre-clipped to pedals (mount and clip while rolling). Run shoes with elastic laces (no tying). Helmet unbuckled on aerobars, open side facing you. Same layout every time.
Run: 15-25 min. NOT a Runna run. Runna doesn't know about the bike.
Brick run pace prescriptions — Phase 1: all easy, HR 130-145, pace irrelevant. Phase 2: first 15 min easy, last 10 min at 10:30-10:00/mi (moderate). Phase 3: first 10 min easy, last 15-20 min at 9:15-9:30/mi (race pace).
Negative-split the brick run: always start slower than you think you should. Build into pace.
Sundayrunswim
Runna Long Run + Drill Swim
~75-95 min · Long day — 3rd swim added for technique frequency
▼
Follow Runna's long run prescription.
HR 130-145 bpm. If Runna's pace pushes HR above this, slow down.
Fuel if session exceeds 60 min.
Phase 2+: Add 4×20 sec strides after long run (fast but relaxed, walk-back recovery).
Phase 3+: Move 1 long run/week outdoors in warmest part of day (heat acclimation).
Swim is technique-only, not conditioning. Goal: 3x/week frequency to close SWOLF variance.
Phase Details
Deep dive into each phase's focus areas. For the week-by-week overview, see the "21-Week Plan" tab.
Phase 1: Aerobic Foundation (Weeks 1-7)
7.5-8.5
Hours / Week
80/20
Easy / Hard
Wk 4
Cutback
Wk 7
FTP Retest
Goal: Build aerobic base, establish 6-day training consistency, develop swim technique, begin run volume ramp.
Bike
Sweet spot intervals (88-94% FTP). Start 4×8 min, progress to 3×12 min. Saturday: long Z2 rides 70→85 min.
Run
Build from ~5.5 mi/wk to ~12 mi/wk. Cap increases at 1.5 mi/wk. Runna hard Tue (fresh legs): tempo intro. 1x/month tri-specific sub: 15 min easy → 10 min at 10:30/mi → 5 min easy. Cadence drills: 4×30 sec at 180 spm during easy runs. Runna long Sun: 45→60 min. Brick run: 15 min all easy (HR 130-145, pace irrelevant).
Swim
Technique-first. 3x/week from Wk 3 (Mon + Thu + Sun drill swim). Pull buoy + drills. Body position (head down, hips up) and catch mechanics (EVF). SWOLF target: consistently < 35 (not just best effort — every session).
FTP Retest (Wed) — also note max HR for zone recalc. Timed 1-mile benchmark (Tue): target < 8:45.
Phase 2: Build (Weeks 8-14)
8.5-9.5
Hours / Week
80/20
Easy / Hard
Wk 11
Cutback
Wk 14
FTP Retest
Goal: Develop FTP with threshold work, increase run pace via Runna, introduce CSS swim sets, max strength phase.
Bike
Threshold intervals — 3×12 min at 95-105% FTP, building to 2×20 min. Over-under variations. Saturday brick bike builds to 90 min.
Run
Runna intensity increases (Tue, fresh legs). Tempo + intervals. 1x/month tri-specific sub: 15 min easy → 15 min at 10:00/mi → 5 min easy. Cadence drills continue. Long runs to 65-70 min + strides (4×20 sec post-run). Brick runs: 20-25 min — first 15 min easy, last 10 min at 10:30-10:00/mi (moderate). Negative-split always.
Swim
CSS sets — 5×200 at CSS pace. Sighting practice every 6-8 strokes starting Wk 12. Test CSS every 4-6 weeks. 3 swims/week continues. Drafting practice on Mon: 4×100 behind/beside lane partner to learn hip-draft positioning.
Strength
MacroFactor Workouts: Wks 4-7 max strength (RPE 8-9), Wks 8-14 transition to power (lighter, explosive intent, RPE 7-8). Sessions: Mon 40-45 min, Thu 30-35 min.
Volume Progression
Wk
Swim
Bike
Run
Str
Hrs
Notes
8
4,000
165m
11.5mi
2x MF
9
New FTP zones. Strides start after Sun long run.
9
4,200
172m
13mi
2x MF
9.3
10
4,400
178m
14mi
2x MF
9.6
Sighting practice starts (every 6-8 strokes in pool)
11
3,200
125m
10mi
2x MF
7
Cutback (-25%)
12
4,400
180m
14mi
2x MF
9.6
Wetsuit purchase
13
4,600
185m
15mi
2x MF
10
Peak volume week. Open water swim #1 (lake or calm river — wetsuit practice, sighting, murky water).
14
3,800
155m
12mi
2x MF
8.7
FTP Retest (Wed). Timed 1-mile benchmark (Tue): target < 8:15. If > 8:30, shift race plan to sub-3:10 pacing.
Phase 3: Race-Specific (Weeks 15-19)
8-9.5
Hours / Week
75/25
Easy / Hard
Wk 17
Cutback
—
FTP Retest
Goal: Race simulation. Practice race-pace efforts, pacing, nutrition, transitions. Wetsuit + open water. Heat acclimation begins.
Bike
Race-pace — 2×20 min at target race watts (170-180W), 5 min recovery. Saturday brick at race watts for 90 min — practice full race nutrition on bike (60-80g carbs/hr). Heat acclim: fan off first 20 min of Wed warmup. Wk 15: outdoor calibration ride to compare indoor vs outdoor power. Last mile of every brick: unclip one foot, stand and stretch hamstrings (race-day habit).
Run
Brick runs: 25-30 min — first 10 min easy, last 15-20 min at 9:15-9:30/mi (race pace). Negative-split always. 1x/month tri-specific sub on Tue: 10 min easy → 20 min at 9:15-9:30/mi → 5 min easy. Cadence 175-180 spm target. Runna long Sun + strides. Move 1 run/week outdoors in heat. Add 10-min mini-brick run after Wed bike intervals. Start mental visualization 2x/week before bed.
Swim
Race-sim: 3×500 at race effort with upstream/downstream pacing (odd 500s = 85% effort, even 500s = 95% effort). Open water Wks 13, 16, 18. Sighting every 6-8 strokes in all pool sessions. Practice wetsuit on/off (target strip < 60 sec).
Strength
MacroFactor Workouts: maintenance (RPE 6-7, 2 sets instead of 3). Sessions stay 2x/week. Drop to 1x on cutback weeks.
Volume Progression
Wk
Swim
Bike
Run
Str
Hrs
Notes
15
4,400
180m
15mi
2x MF maint
9.5
Race-pace bricks. Heat acclim starts: fan off, outdoor runs.
16
4,600
185m
15mi
2x MF maint
9.8
Open water #2. Mini-brick after Wed bike.
17
3,400
130m
10mi
1x MF
7.2
Cutback
18
4,100
170m
14mi
2x MF maint
9.2
Race Rehearsal (Sun) — practice full nutrition plan in heat. Open water #3.
19
3,800
155m
12mi
1x MF
8.4
Pre-taper. Practice transitions in garage. Sodium loading practice.
Phase 4: Taper (Weeks 20-21)
5→2.5
Hours / Week
Keep intensity
Easy / Hard
—
Cutback
—
FTP Retest
Goal: Reduce volume 45-60% (exponential decay), maintain intensity with short sharp efforts, keep touching all 3 disciplines.
Bike
Short race-pace efforts. Volume drops to 30-90 min/week. Race week openers Wed: 3×3 min at race watts + 10 min race-pace run.
Run
Easy runs only. 2-7 mi/week. No hard running after Wk 19. Sat before race: 20 min easy spin + 10 min jog (openers).
Swim
Feel-fast swims. 800-2,000 yd/week. Race week: 15 min easy Mon if pool accessible.
Strength
MacroFactor Workouts: 1x light Wk 20 only (RPE 5-6). None Wk 21. No new exercises. No failure.
Volume Progression
Wk
Swim
Bike
Run
Str
Hrs
Notes
20
2,000
90m
7mi
1x MF light
4.8
Volume -45%. Lay out all race gear. Bike tune-up done. No new equipment after this.
21
800
30m
2mi
None
2.5
Race Week — Mon easy swim. Wed openers (3×3 min race watts + 10 min run). Sat: 20 min spin + 10 min jog. Aug 8 RACE DAY.
Session Library
Every prescribed session in detail. Click to expand.
Swim Sessions
Monday Easy SwimAll Phases
~40 min · 1,200–1,500 yds · HR < 130
▼
Set
Detail
Warm-up
200 easy
Drills
4×50 catch-up / fingertip drag
Main
4–6×100 pull buoy
Drills
4×50 side kick
Cool-down
200 easy
Coach note: Pull buoy forces catch feel. Sight every 10 strokes from Week 1 — build this habit early for open water.
Monday CSS SwimPhase 2+
~45 min · 1,800–2,200 yds
▼
Set
Detail
Warm-up
400 easy + 4×50 build
Main
5×200 at CSS pace, 20 sec rest
Race-pace
4×100 at race effort, 15 sec rest
Cool-down
200 easy
Coach note: CSS (Critical Swim Speed) = (400 TT time − 200 TT time) ÷ 2. This gives your per-100 threshold pace. Hold it for each 200 rep — if you fade on rep 4–5, the pace is too aggressive.
Race-Sim SwimPhase 3
~50 min · 2,000–2,400 yds
▼
Set
Detail
Warm-up
400 easy + 4×50 race-pace build
Main
3×500 at race effort (2:05–2:15/100m), 60 sec rest
Sprint
4×25, 30 sec rest
Cool-down
200 easy
Coach note: Course tweak: simulate river pacing — 1st rep 90% effort (upstream), 2nd rep 85% (transition), 3rd rep 95% (downstream). Practice the gear shift.
Bike Sessions
Sweet Spot IntervalsPhase 1
~70 min · ERG mode
▼
Set
Detail
Warm-up
12 min ramp 60→75% FTP
Main
2×15 min at 88–93% FTP (135–143 W), 5 min recovery
Aerobic
8 min at 70% FTP
Cool-down
10 min easy spin
Coach note: Progression: Wk 1–2 → 2×12 min, Wk 3–4 → 2×15 min, Wk 5–6 → 2×18 min. Stay seated, cadence 85–95. If HR drifts above 90% max in the last 3 min, drop 3–5 W.
Threshold IntervalsPhase 2
~75 min
▼
Set
Detail
Warm-up
15 min ramp 60→78% FTP
Main
3×10 min at 95–100% FTP, 4 min recovery
Aerobic finish
10 min at 72% FTP
Cool-down
10 min easy spin
Coach note: These should feel hard but repeatable. If you blow up on rep 3, start rep 1 at 95% and build. Cadence 85–95.
Race-Pace SustainedPhase 3
~75 min
▼
Set
Detail
Warm-up
15 min progressive
Main
35–40 min sustained at 85–92% FTP
Cool-down
15 min easy spin
Coach note: Use Week 18 rehearsal data to calibrate exact wattage. This is your race-day power — practice fueling and pacing at this effort.
Run Sessions
Runna handles your run programming.
Wednesday hard runs and Sunday long runs come from your Runna plan — follow those sessions as prescribed.
The Saturday brick run is NOT a Runna session. It's 15–25 min easy off the bike, progressing to race-pace effort in Phase 3. Purpose: teach your legs to run on pre-fatigued quads. Start easy (HR < 145), and by Phase 3 close the last 5–10 min at goal race pace.
Strength Training
Why strength matters for triathlon: Research from Rønnestad, Beattie, and Aagaard shows heavy resistance training improves running economy, cycling economy, and injury resilience — without adding bulk. Key change in this plan: from 1x/week at 90 min to 2x/week at 40-45 min. Shorter, heavier, more frequent.
Session A — Monday (Full Body)
Paired with easy swim. Full leg stimulus OK — next hard session is 48+ hrs away.
#
Exercise
Sets × Reps
Why
1
Back Squat or Front Squat
3×5-6
Cycling power, running economy
2
Romanian Deadlift
3×6-8
Posterior chain for run propulsion + hip extension
3
Lat Pulldown or Pull-Up
3×8-10
Swim catch power, shoulder stability
4
Pallof Press or Ab Wheel
3×10 each side
Anti-rotation core
Session B — Thursday (Upper Body + Core + Prehab)
Paired with easy swim at gym. No heavy leg work.
#
Exercise
Sets × Reps
Why
1
Bench Press or Overhead Press
3×8-10
Upper push, swim stroke
2
Dumbbell Row or Cable Row
3×8-10
Upper back for swim catch, cycling posture
3
Dead Bug (weighted)
3×8 each side
Anti-extension core
4
Single-Leg Calf Raise (slow)
3×12
Achilles health, 3-sec eccentric
5
Band External Rotation
2×15
Shoulder health for swimming
Periodization by Phase
Phase
Frequency
Loading
Session A
Session B
1 (Wks 1-3)
2x/week
3×10-12, moderate
Full body
Upper + core
1 (Wks 4-7)
2x/week
3×6-8, heavy
Full body
Upper + core
2 (Wks 8-14)
2x/week
3×4-6, heavy
Full body
Upper + core
3 (Wks 15-19)
2x (1x cutback)
2×3-4, maintain
Full body (reduced)
Upper + core
4 (Wks 20-22)
1x then 0
Light or none
Light Wk 20
None
MacroFactor setup: Set to Custom, 2 days/week (Mon + Thu), style Strength, RIR 1-2. At Week 15, switch to Maintenance.
Nutrition
Periodized fueling: lose weight on easy days, fuel hard sessions fully.
Strategy: Fuel the work, cut the rest. Slow cut via MacroFactor (0.5 lbs/week) with higher calories on hard days. Projected race weight: 166–168 lbs (down from 179 trending). At 168 lbs + 185W FTP = 2.43 W/kg (up from 1.86).
Weight Projection
Current
179 lbs
trending avg
Wk 7
~175 lbs
FTP retest
Wk 14
~171 lbs
mile benchmark
Race Day
~167 lbs
2.43 W/kg
Daily Targets (MacroFactor)
Hard Days Tue · Wed · Sat
Easy / Rest Days Mon · Thu · Fri · Sun
Race Week Loading 3 days before race
Calories
2,299
2,189
2,400+ (higher carb ratio)
Protein
180g
180g
180g
Carbs
222g in MF
Bias actual eating toward 250g+
200g
8–10 g/kg/day (550–680g)
Fat
72g
77g
50–60g (shifted to carbs)
The carb hack: MF shows 222g carbs on hard days. In practice, eat 250g+ by adding pre-session fuel (banana + toast with honey = ~50g carbs). This fuels your intervals without blowing up the MF tracking. Protein at 180g is the anchor — never drop below this.
Session Fueling
Timing
Hard Days (Tue/Wed/Sat)
Easy Days
Pre-session 60–90 min before
Non-negotiable: banana + toast with honey (~50g carbs). Don't do intervals fasted.
Normal meal timing. No special prep.
During
Sat brick: gel + sports drink (30–40g/hr Phase 1 → 60–80g/hr Phase 3). Tue/Wed: water only unless >75 min.
Sip electrolyte at every station. Pour water on head.
Carry handheld flask for T2→first station gap.
Practice the EXACT protocol at Week 18 race rehearsal. Same brands, same timing, same quantities. Your gut needs to rehearse race-day absorption under heat stress.
HRT-Specific Nutrition
•Calcium: 1,200 mg/day. Supports bone density on estrogen. Food sources preferred, supplement the gap.
Runna doesn't know about bike training. If Tuesday bike left you fatigued, Wednesday Runna run will feel 10-15% harder. Don't chase pace — let HR govern. Rate honestly.
MacroFactor — Nutrition Side
Setting
Value
Goal
Maintain Weight
Protein preference
Upper end of range
Exercise type
Combination of endurance and resistance
Weigh-in
Daily, first thing in the morning
Log everything consistently. Algorithm needs 2+ weeks to calibrate. TDEE should stabilize around 3,000-3,400 kcal/day.
MacroFactor — Workouts Side
Setting
Value
Program type
Custom
Frequency
2 days/week (Monday + Thursday)
Style
Strength
RIR target
1-2
Enter exercises from Strength tab. Remove isolation exercises MacroFactor auto-suggests. At Week 15, switch to Maintenance.
Coros / MyWhoosh
FTP retest: Week 7 and Week 14. MyWhoosh 20-min test ×0.95 or ramp test.
HR Zones (Karvonen, Max HR 171, Resting HR 54)
Zone
Name
% HRR
HR Range
Feel
Z1
Recovery
50-60%
112-124
Very easy
Z2
Aerobic
60-70%
124-136
Easy conversation
Z3
Tempo
70-80%
136-148
Comfortably hard
Z4
Threshold
80-90%
148-159
Hard, 3-4 words
Z5
VO2max
90-100%
159-171
Very hard, can't talk
Based on Max HR 171, RHR 54. Retest at FTP test weeks.