STEIGPlan your season

Planning process

Season to Session

A deterministic planning hierarchy. Events anchor the season. Phases commit the load trajectory. Weeks lock the targets. AI materializes the sessions. Actuals drive adaptive reforecast — not continuous target drift.

Level 1

Event

Race targets and protected windows

Level 2

Season

Planning snapshot and season arc

Level 3

Phase

Committed load contracts

Level 4

Week

Target bands and lifecycle

Level 5

Session

Canonical load, one formula

Race calendar

Events anchor the plan

Every season starts with event targets. Events set the objectives that phases, weeks, and sessions are designed to serve. A-races lock the taper window and peak timing. B-races are performance targets that must not compromise A-race preparation. C-races are training stimuli — no taper, no protection.

36-week season · three events

Base
Build
Spec. Build
Recovery
W1W9W18W27W36
C
C Race
B
B Race
A
A Race
TierTaper windowPost-race protectionWhat the planner does
A2 – 3 weeks5 – 7 daysLocks phase end. Inserts taper phase. Protects post-race recovery window.
B4 – 7 days3 – 5 daysReduces week target. Shifts key sessions earlier. Does not restructure phases.
CNone1 – 2 daysTreated as a hard training session. No load reduction.

Season baseline

Planning snapshot

When the season is created, Steig freezes a planning snapshot. This captures the athlete's state at planning time — not a live estimate that drifts with every activity. All phase and week targets trace back to this snapshot. Reforecasting creates a new snapshot; it does not silently overwrite the original.

Sustainable Load

362

pts / week

Trimmed mean of stable recent weeks. Race weeks, illness, and deload outliers are excluded.

Available Hours

9.5

hr / week

Athlete schedule input. Sets the upper bound on feasibility — converted to a load ceiling per phase.

Constraint Map

Frozen

events · blocks · thresholds

Fixed sessions, travel blocks, protected rest days. Read at snapshot time; not recalculated on every plan change.

Stable week
Excluded (race / illness / deload)
Sustainable load estimate · 362

Mesocycle structure

Phase design

Each phase is a committed contract — not just a label and a date range. It stores the load trajectory the athlete agreed to, the periodization model driving the pattern, the sport mix focus, and the feasibility ceiling checked at commit time. The plan does not drift when actuals change; it reforecasts on explicit triggers.

Load multiplier

1.05 – 1.25×

Relative to sustainable load

Typical duration

4 – 10 weeks

Adjust per athlete and event distance

Intensity intent

70% low / 20% moderate / 10% high

Adaptation focus

Lactate thresholdVO₂max stimulusSport-specific load

Periodization models

LinearBlockPolarized

Functional goal

Drive physiological adaptation. Raise threshold power and pace.

Three-layer target model · Build phase

Raw Phase Target

540

Sustainable load × phase multiplier

Feasible Ceiling

485

−55 from hours / frequency constraints

Committed Target

485

Phase planned against this. Stable unless reforecast.

Phase objective implies 540 pts/week. Schedule constraints cap feasibility at 485. Committed target set to 485.

Microcycle structure

Week lifecycle

Weeks are generated from the committed phase contract, not from live sustainable load. Each week gets a target range — ±15% of the committed phase target — rather than a brittle single-point estimate. A formal lifecycle advances the week from draft through execution to completion.

Status lifecycle

Draft

Plan being assembled

Propose Plan

Proposed

Ready for review

Commit

Committed

Targets locked in

Begin Week

In Progress

Week underway

Complete

Completed

Actuals captured

or

Superseded

Replaced by reforecast

±15% committed target band · illustrative committed target: 400

Min (−15%)

340

Committed

400

Max (+15%)

460

Session materialization

AI session planning

The AI receives a deterministic context — committed week target, residual phase budget, day availability, event protection flags — and outputs session roles first, dates second. The backend validates and recalculates load canonically. The AI owns the structure; the backend owns the numbers.

Planning context pipeline

Committed week target

Residual phase budget

Day envelopes

Event protection

Recent actuals

AI role assignment

Load validation

Key

RI 1.00 – 1.20×

1 – 2× / week

30 – 40%

Race-pace stimulus, threshold work, targeted intervals. Highest load per hour.

Quality

RI 0.90 – 1.10×

1 – 2× / week

20 – 30%

Supporting intensity — tempo, threshold repeats, quality endurance runs.

Endurance

RI 0.65 – 0.80×

2 – 4× / week

30 – 40%

Aerobic base volume. Low intensity. High contribution to long-term fitness.

Recovery

RI 0.50 – 0.65×

1 – 2× / week

5 – 15%

Active recovery, mobility, or rest. Promotes adaptation between harder sessions.

One formula, always

duration_h×RI²×100×sport_factor=estimated_steig_load

Applied by AI-generated sessions, manual sessions, recurring rules, and templates — the same canonical service, every time. Backend is the single source of truth.

Adaptive control loop

Reforecast, not drift

Actuals are captured after every week. Deviation is classified against committed targets. Minor deviations adjust the next week; major deviations trigger a reforecast. Reforecast creates a new planning snapshot, forward-simulates locked phases for baseline accuracy, then recomputes draft and proposed future phases. Committed phases are never touched.

Review stateDeviationOutcomeWhat changes
on_plan< ±10%NoneCarry forward. No adjustment needed.
below_plan−10% to −20%AdvisoryAdjust next 1–2 weeks. Phase contract unchanged.
above_plan+10% to +20%AdvisoryMonitor recovery. Key sessions deprioritized next week.
structurally_compromised> ±20%ReforecastNew planning snapshot. Draft and proposed phases recomputed. Committed phases locked.
superseded_by_contextA-race shift, major hours changeReforecastStructural change trigger. Season arc and phase sequence recalculated.

Possible Underload

Very positive form

Extended deload or illness. Fitness may be declining faster than fatigue.

Fresh

Moderately positive

Well rested. Can absorb more load or push quality sessions harder.

Stable Build

Near zero

Training is landing. Productive zone for quality work and adaptation.

Fatigue Watch

Moderately negative

Accumulated fatigue. Monitor session quality and recovery response.

High Fatigue

Very negative form

Recovery priority. Reduce load or deprioritize key sessions.

Form balance bands are coaching guardrails — not injury-probability claims. They indicate when to prioritize recovery, not when to stop training.

Actuals
Original plan
Reforecast trajectory
20-week season · illness at W8–9 · reforecast W10

Planning principles

What this system is not

Committed phase targets do not automatically adjust every time an activity is completed. They reforecast on explicit triggers — not on every data point.

Form balance bands are coaching guardrails, not injury-probability scores. No single threshold predicts injury risk with clinical reliability.

AI session planning generates structure and session roles. Final load is always calculated by the canonical backend formula — the AI does not own the numbers.

Sustainable Load is an estimate, not a measurement. It improves over time as more stable training data accumulates in the system.

The planning hierarchy does not replace coaching judgment. It makes the plan legible so adjustments are explicit, traceable, and coach-readable.