All posts
behind-the-scenes

From Goal to Daily Workout: How IntervalCoach Plans Your Training

MR
Martijn Russchen
·5 min read

When you set a goal in IntervalCoach, the system does not hand you a 12-week spreadsheet and wish you luck. It builds a layered planning system that starts with the big picture and works its way down to individual workouts, adapting as it goes. Here is how the pieces fit together.

Three layers of planning

From goal to daily workout: the three planning layers

The system works in three layers, each one more concrete than the last:

  1. Training plan — the strategic layer. Looks at your goal, your current fitness, and how many weeks you have. Divides that time into phases (Base, Build, Peak, Taper, Goal Week) and sets a weekly TSS target for each.
  2. Weekly plan — the tactical layer. Takes this week's TSS target and breaks it into specific days: which days you train, what sport, how long, and whether each session is an intensity day or an easy day. This is computed four weeks ahead.
  3. Rolling generation — the execution layer. Each day, the system generates an actual structured workout for the day seven days out, replacing the placeholder from the weekly plan. By the time a workout day arrives, the session is already on your Intervals.icu calendar with real intervals and targets.

The training plan: where it starts

When you have a goal, the training plan works backwards from your target date. Whether that is a race, a gran fondo, or a custom fitness goal, the system counts the weeks, assigns phases, and calculates how much training stress you need each week to reach your target fitness.

The weekly TSS calculation starts from your CTL target. If you need to build fitness, the system inflates the target slightly (about 10%) to account for how the exponential moving average works — you need to consistently train a bit above your target CTL to actually reach it.

But raw TSS targets are not enough. The system applies periodization multipliers based on the phase:

  • Base and Build: Full training load, with the focus shifting from aerobic volume to higher-intensity work
  • Peak: Slight reduction (about 95% of target) to absorb fitness before the taper
  • Taper: An exponential decay curve that drops volume while maintaining intensity
  • Goal Week: Roughly half of normal training load

There is a subtlety here that took a while to get right. If you naively set your CTL target and then apply periodization (which reduces load in taper and goal weeks), you end up mathematically unable to reach your target. The system compensates by computing a plan multiplier that inflates the base target just enough to offset the periodization overhead across the full plan.

The weekly plan: four weeks of workout slots

Every Sunday evening, the system generates a fresh weekly plan looking four weeks ahead. This is where abstract TSS targets turn into concrete workout slots.

For each week, the system:

  1. Respects your schedule. If you told it you train Tuesday, Thursday, Saturday, and Sunday, those are your workout days. TSS gets distributed across those days only.
  2. Balances intensity. Typically two to three intensity sessions per week, never back-to-back. The system looks at your recent history to learn which days you tend to go hard and which days you prefer easy rides.
  3. Caps to your availability. A 600 TSS week sounds great on paper, but if you can only train 8 hours, the system caps the target to what is achievable in that time. It also looks at your demonstrated weekly TSS over the last six weeks — what you have actually been doing — as a reality check.
  4. Handles multiple sports. If you ride and run, the system allocates sessions across both sports based on your preferences and goal sport priority.
  5. Checks the calendar. Events, group rides, and manually scheduled workouts are detected and respected. The system does not overwrite what you have already planned.

The result is a day plan: an array of workout slots, each with a date, sport, target TSS, estimated duration, and whether it is an intensity day. Think of these as placeholders — "Thursday: Ride, 75 TSS, 90 minutes, intensity" — waiting to be filled with an actual workout.

Rolling generation: filling in the next seven days

Here is where planning meets execution. Every day, around your preferred workout time, the system wakes up and does two things:

First, it extends the horizon. Every day it looks seven days ahead and generates a real structured workout for that date. So on Monday, it generates next Monday's workout. This keeps a rolling seven-day buffer of real workouts on your calendar.

Second, it catches up. If any days in the next seven are still placeholders, it fills those gaps first before extending the horizon.

When generating a workout for a specific date, the system uses the placeholder's metadata (sport, TSS target, duration, intensity flag) but makes its own decisions about workout type. It considers the training phase focus, what you have done recently (to avoid repetition), and variety across the week. An FTP test gets injected when you are due for one.

Once the workout is generated and uploaded to Intervals.icu, the placeholder is removed from the day plan. The system tracks which dates have been generated to prevent duplicates — if you delete a workout from your calendar, it will not magically reappear.

What athletes see

On the calendar, this looks seamless. You see structured workouts for the next week with real intervals and power or pace targets. Beyond that, you see your weekly plan with TSS targets and workout slots. And in the training plan view, you see the full phase progression from now to your goal with projected fitness.

The weekly plan is editable. You can move workout days around, add or remove sessions, and adjust TSS targets. The system respects your manual changes — if you delete a workout slot, it stays deleted. If you add one, it gets picked up by rolling generation.

When the plan meets the day

There is one more layer I have not mentioned: daily adaptation. Even after all this planning, the actual workout you get on any given day can be modified based on how you are recovering. If your sleep was terrible or your HRV tanked, the system might swap threshold intervals for an endurance ride, or shorten the session.

That is a whole topic on its own. I will cover the daily adaptation pipeline — the health checks, recovery assessment, and real-time workout adjustments — in the next post.