Science · Training load & fitness

Plan TSS/hour and recovery weeks (operational defaults)

How Koyaro sizes plan weeks: hours × TSS/hour, every 4th week at 0.6× load, and a 0.8–0.95 start ramp. Labeled operational defaults, not literature values. When Koyaro builds your plan from your recent rides, their IF replaces the 55 TSS/hour fallback.

Last reviewed · Part of Koyaro’s public science knowledge base — the same method notes the coaching engine cites.

Label: these numbers are operational defaults — coaching convention and tunable product choices, not literature values. We found no paper that sets 55 TSS/hour, a recovery week at 60% of load, or the start-ramp bounds, so none is cited for them.

Athlete summary

To build a multi-week plan, Koyaro needs a weekly TSS target. It takes the hours you said you can train, multiplies them by a TSS-per-hour factor to get a peak week, ramps toward that peak from where your fitness is now, makes every 4th week an easier recovery week, and — before an A-event — finishes with the Bosquet taper.

The shape — progressive overload, regular easier weeks, a volume taper — is standard periodization practice. The exact numbers on this page are Koyaro's starting defaults. They are not taken from a study, and we say so rather than dress them up. When Koyaro builds your plan from your recent rides and there are enough of them, your own intensity replaces the TSS/hour guess.

The defaults (labeled, not cited)

DefaultValueWhat it doesProvenance
Fallback TSS/hour55 (≈ IF 0.74 held for an hour)Peak week = weekly hours × 55 when there are too few recent ridesOperational default. The square law is cited; the 0.74 average is not
Personalised TSS/hour(median recent IF)² × 100, clamped 45–70Replaces the fallback once 3 or more usable rides existAllen & Coggan square law (cited); window, band and clamp are operational
Recovery cadenceevery 4th week (3 load weeks, then 1 easier week)That week is all easy ridingCoaching convention
Recovery depth0.6 × that week's ramped loadHow much lighter the recovery week isOperational default
Start ramp0.9 × your current weekly load (CTL × 7), kept within 0.8–0.95 of peakSets week 1; load then rises linearly to the peak in the last build weekOperational default

“Usable” recent rides are rides from the last 28 days, at least 30 minutes long, with an IF between 0.50 and 1.05 (so recovery spins and all-out races don't dominate the median). Plans Koyaro builds from your training history use this personalised factor; a plan created without that history keeps the 55 fallback.

Plans without a target event have no taper, so the 3-and-1 rhythm simply runs to the end. Before an A-event, a recovery week that would fall right before the taper stays a load week, so recovery and taper do not stack into a longer unload than the Bosquet window.

Worked example (default factor)

10 h/week, CTL 50, 12-week plan with a 2-week taper:

  • Peak week = 10 × 55 = 550 TSS.
  • Start ramp: 0.9 × (50 × 7) / 550 ≈ 0.57 → held at the 0.8 floor, so week 1 = 440 TSS.
  • Week 4 (recovery): 550 × (0.8 + 0.2 × 3/9) × 0.6 = 286 TSS, all easy.
  • Week 10 (last build week) = 550 TSS; taper weeks 11–12 = 0.59 and 0.40 of that (324.5 and 220 TSS).

What is cited — and what is not

Cited. TSS from an intensity factor is Allen & Coggan's TSS = hours × IF² × 100, so one hour at IF 0.74 is 0.74² × 100 ≈ 55. The taper after the build is Bosquet 2007 — see Bosquet taper — volume −41–60%, hold intensity and frequency.

Not cited. The square law converts an IF into TSS/hour; it does not say which IF a typical training hour averages, so 0.74 → 55 is Koyaro's choice. Three load weeks then one easier week is a widespread coaching pattern, not a trial result, and no study we found sets a recovery week at 60% of load or pins the 0.8–0.95 start ramp. The personalisation window, IF band, 3-ride minimum, and 45–70 clamp are guard rails, not physiology.

We'll keep these labeled as defaults until a study supports a specific number. If one does, we'll cite it and say so here.

What this is not

Citations (the formula and the taper, not the defaults)

KeySourceTakeaway
allen-coggan-tssAllen H, Coggan AR — Training and Racing with a Power MeterTSS = hours × IF² × 100 turns an IF into TSS/hour. It does not set 0.74.
bosquet-2007-taperBosquet L, Montpetit J, Arvisais D, Mujika I. Med Sci Sports Exerc 2007;39(8):1358–1365Taper volume −41–60% vs the last build week. It does not set recovery-week depth or cadence.

Ready when there’s a seat.

Join the waitlist for closed beta. We’ll invite you when there’s room — then import your history and start a living plan.