Stephan's Training Plan

Last updated: 08 May 2026 · Phase: Rapperswil Build — Threshold Intro · 70.3 Rapperswil in 30 days
A-Race
IM 70.3 Rapperswil A
30 days
Sunday 7 June 2026
Training Race
Zurich City Triathlon C
51 days
Sunday 28 June 2026
A-Race
Tri Uster Middle A
107 days
Sunday 23 August 2026

Week 19 — 04 May – 10 May 2026 (Current)

Threshold Intro — W2
4.3 weeks to Rapperswil. Tue strength drought-ender ✓, Wed threshold ✗ (DOMS), Thu/Fri swims ✗ (schedule + sleep quality). HRV/readiness strong (7d HRV 76 ms, +9% vs 14d, p=0.040 ↑). Sat indoor LT2 brick non-negotiable. Sun OWS added per request — Sun long run shortened to 60' to absorb load and protect Sat from Saturday-overshoot pattern.
DayDisciplineTypeDurationDetailsStatus
Mon 04 Rest Rest non-negotiable. Recovery Index 38 + W18 weekend volume.
Tue 05 Strength Max strength — full 39 min SWAP executed. Drought Day 32 ENDED. Oura: 08:24–09:03, moderate, 160 kcal.
Wed 06 Run Threshold SKIPPED — DOMS from Tue strength. Threshold lands Tue 12 (W20).
Thu 07 Swim Aerobic + intervals Couldn't fit — schedule pressure.
Fri 08 Rest Active recovery Fri AM swim attempt struggled (Restfulness 39 / Efficiency 58 last night = poor sleep quality despite green readiness card). Late work tonight. Accept rest — already 2 sessions down, no upside cramming a 3rd. Sleep + nutrition tonight.
Sat 09 Bike + Run LT2 brick — indoor 100 + 20 min PROTECTED — entire week is built around this. 10' WU ≤150W → 3×12' @ 220–230W (LT2), 4' recovery @ 100–130W → 10' CD. T2: 20' run ≤127 bpm flat. Nutrition: 60–80g/h CHO. Indoor only.
Sun 10 Swim (OWS) + Run OWS easy + reduced long run 35–45 + 60 min Plan change. OWS: wetsuit mandatory (lake 13–16°C), 35–45 min EASY only, no intervals. Sighting every 6–8 strokes, cold acclimation, buddy/supervised area. Run: 60 min ≤127 bpm flat (lakeside/river), walk uphills, run/walk 8'/1' if HR drifts. Reduced from 85→60 to absorb OWS.

Week 20 — 11 May – 17 May 2026

Race Rehearsal
3.4 weeks to Rapperswil. Final 4-week pre-race window — strength drops to 1×/week. Saturday is the race rehearsal: 2:30h bike with 60 min @ race pace + 30 min T2 run starting at race-pace HR. Single most important session of the entire build. After this week, taper begins.
DayDisciplineTypeDurationDetailsStatus
Mon 11 Rest Rest day
Tue 12 Run Threshold 55 min Lunch: 10' WU, 3×10' @ 154–162 bpm, 2' jog recovery, 8' CD. Last threshold of build cycle before taper. Skip if readiness <70.
Wed 13 Swim Aerobic + intervals 50 min Pre-work. Technique drills + 4×200m moderate. Replace with OWS if lake ≥16°C.
Thu 14 Run Easy sub-LT1 40 min Lunch. ≤127 bpm. Flat route, walk uphills. First to drop if fatigued.
Fri 15 Strength Max strength — 1×/wk 35 min Final 4-week window: strength reduces to 1×/week. Squat 3×5, SL-RDL 3×5, Step-ups 3×6, Heel raises 3×10. Drop supplementary work.
Sat 16 Bike + Run Race rehearsal brick 150 + 30 min Bike: 10' WU ≤150W → 30' steady ≤150W → 60' @ 210–225W race pace (continuous block) → 40' steady ≤150W → 10' CD. Nutrition: 60–80g/h CHO across full ride — full race-day protocol. T2: 15' @ 150–155 bpm (race-pace HR) → 15' easy ≤127 bpm CD.
Sun 17 Run Long sub-LT1 105 min ≤127 bpm. Walk uphills. Run/walk 8'/1' ok. Flat route. Longest run of the build.

Week 21 — 18 May – 24 May 2026

Taper W1
Volume drops ~15–20% from W20 peak. Intensity maintained — only reduce duration and reps. T2 run at goal 70.3 pace (150–155 bpm). Strength 1×/week (final session likely this week — drop entirely from May 28).
DayDisciplineTypeDurationDetailsStatus
Mon 18 Rest Rest day
Tue 19 Run Threshold — taper 45 min 10' WU, 2×10' @ 154–162 bpm, 2' jog recovery, 8' CD. Volume reduced from W20 (3×10' → 2×10'). Intensity unchanged.
Wed 20 Swim Aerobic + open water 45 min Pre-work pool or open water (if lake ≥16°C). Technique + 3×200m moderate.
Thu 21 Run Easy sub-LT1 35 min Lunch. ≤127 bpm. Short and controlled. Walk uphills.
Fri 22 Strength Max strength — 1×/wk 30 min Final strength session before race. Squat 3×5, SL-RDL 3×5, Step-ups 3×5, Heel raises 3×10. Moderate loads only.
Sat 23 Bike + Run Race-sim brick 85 + 20 min Indoor: 10' WU ≤150W → 2×12' @ 220–230W (LT2, volume reduced from W20), 4' recovery → 10' CD. T2: 20' run @ 150–155 bpm (goal 70.3 race pace). Nutrition: 60–80g/h CHO.
Sun 24 Run Long sub-LT1 — taper 70 min ≤127 bpm. Walk uphills. Taper reduction (105 → 70 min). Flat route.

Week 18 — 27 Apr – 03 May 2026 ✓ Threshold Intro

Build
Mon–Thu textbook. Fri 01 strength SKIPPED (drought 30+ days). Sat 02 OWS recon (2.06km) + 70km e-bike (unrecorded) replaced indoor brick. Sun 03 outdoor brick: 90.2km / 154W avg / 123 bpm avg (disciplined sub-LT1 outdoor pacing ✓) + 7.5km Z3 run (87% time grey zone, classic post-3h-bike drift). Recovery Index 38 next morning — body felt the volume.

Week 17 — 20 Apr – 26 Apr 2026 ✓ Soft Restart

Soft Restart
Mon–Wed textbook. Thu 23 unplanned ROUVY Z2 bike. Sat 25 major overshoot — ROUVY 1h + outdoor 41km vs planned 60' easy. Sun 26 swim replaced run. Body absorbed it (readiness 90→81→83) but HRV leaking down (59 ms vs 7d 62, 14d 63).

Week 16 — 13 Apr – 19 Apr 2026 ✓ Post-Marathon Recovery

Recovery
Textbook 5-day rest Mon–Fri. Sat 18 unplanned brick (68.5km bike + 6.77km run). Sun 19 Rapperswil course recon (10.2km Z2 loop) + 2075m swim. Readiness dropped 88→77→74. HRV declining 73→60 ms. Sleep efficiency 44% Sun (latency 1 = exhaustion crash).

Week 15 — 06 Apr – 12 Apr 2026 ✓ Marathon Race Week

Race
Marathon completed as planned B-race. Zurich Marathon 3:48:04 (5:21/km, avg 158.3 bpm, max 176, 65m elev). Conservative start (lap 1: 145.7 bpm, 5:20/km). Steady laps 2–4 at 5:09–5:10/km, 152–156 bpm. Fade from 30km. ~6 min positive split. 6 gels on schedule. Run LT2 validated at ~160 bpm.

Week 14 — 30 Mar – 05 Apr 2026 ✓ Taper W1

Taper
Tue sharpener 9.03km / 4:51/km / avg 149.6 bpm. Thu swim 1975m / 132 bpm. Sat taper run slightly long (67' vs 50') with HR at LT1 ceiling. Sun outdoor ride 64.6km @ 156W / 122.7 bpm / 627m climb. Both acceptable for late taper. Readiness 84, HRV 67–68 ms.

Week 13 — 23 Mar – 29 Mar 2026 ✓

Build
Tue marathon-pace run 10.29km @ 5:07/km avg 148 bpm — PR flag, VO2max 55. Wed swim 1800m / 140 bpm. Sat long Z2 65.5km / 168.9W (grey zone +19W above LT1). Sun last long run 20.1km / 127.5 bpm / 5:58/km (textbook sub-LT1).

Week 12 — 16 Mar – 22 Mar 2026 ✓ Swim Camp

Camp
Swim Camp Sursee Fri–Sun: Session 1 (2,650m), Heavy day Sat (3,800m + 2x dryland), Session 4 Sun (3,900m intervals). Mon–Thu textbook with 3x e-bike commute. Wed run 9.56km / 127.6 bpm hilly. Wed swim skipped (correct pre-camp).

Week 11 — 09 Mar – 15 Mar 2026 ✓

Build
Tue easy 9.25km / 126 bpm. Wed swim 2000m / 142 bpm. Thu easy 6.7km / 124.8 bpm. Sat ROUVY x2 / 46km / 129.5W + swim 1875m. Sun long Z2 17.6km / 125.5 bpm.