Z/2ZoneTwo

Guide · Readiness

How ready are you?

A daily 0–100 score that combines fatigue, monotony, recent intensity, and rule-based safety caps. Unlike Garmin or Whoop, we don’t need sleep or HRV — just your training history. Here’s the full recipe.

The inputs

Four inputs flow into the score, in order of influence:

  • TSB (form) — the single biggest daily signal. Fresh TSB bumps the score, deeply negative TSB tanks it.
  • Monotony — 7-day Foster monotony. Above 1.3 starts subtracting points, above 2.0 penalizes heavily.
  • Days since last quality — days since your last Z4+ session. 0 days subtracts 5 points (just hit it); 4+ days adds 3 points (recovered).
  • Rule-engine hard caps — if a safety rule is active, the score is capped regardless of other inputs.

The formula

Start at 70. Adjust from there:

TSB component (±25 points)

  • TSB > +25: −10 (stale/overtapered)
  • TSB +5 to +25: +15 (fresh)
  • TSB −5 to +5: +5 (fit)
  • TSB −15 to −5: −5 (overreached short-term)
  • TSB −30 to −15: −15
  • TSB < −30: −25

Monotony penalty

  • Monotony > 2.0: −15
  • Monotony > 1.5: −8
  • Monotony > 1.3: −3

Recovery since last quality

  • Today: −5
  • Yesterday: −2
  • 2–3 days: 0
  • 4+ days: +3

Hard caps (safety)

  • NEGATIVE_TSB_PROLONGED → capped at 40
  • ACUTE_SPIKE → capped at 50
  • HIGH_MONOTONY → capped at 55
  • CROSS_SPORT_LOAD_ADD → capped at 55

Caps take precedence. If you’re in ACUTE_SPIKE, even perfect sleep and a week off last week won’t push your readiness past 50 — because the safety flag is still on.

Bands

80–100 — Primed

Green light for intensity if the plan calls for it.

65–79 — Ready

Normal training. Build or quality session as prescribed.

50–64 — Fit but tired

Prefer quality over volume. Short sharp sessions beat long volume today.

35–49 — Underrecovered

Easy aerobic only or take the day off if the legs feel heavy.

Under 35 — Recovery day

Rest, mobility, or very easy spin. Do not force it.

What we deliberately don't use

Most device-based readiness scores (Garmin, Whoop, Oura) use sleep duration, HRV, and resting HR. We don’t — for two reasons:

  • Strava doesn’t publish that datavia its API, so we’d need a separate device integration per vendor. Outside MVP scope.
  • Training load alone is remarkably predictive. TSB + monotony + recovery-since-quality explains most of the variance. Sleep/HRV adds precision, not a new signal.

If we add Garmin Connect integration later, the score will fold sleep and HRV in as modifiers — not replacements.

Worked example — four readings from the same week

Same athlete, same CTL (75), four different days. Watch how the score moves and why:

Monday after a deload weekend

  • TSB: +14 (fresh) → +15
  • Monotony: 1.05 → 0
  • Days since last Z4+: 5 → +3
  • No rule caps
  • Base 70 + 15 + 0 + 3 = 88 — Primed

Perfect day for the Tuesday interval session. If the plan calls for intensity, go.

Wednesday after Tuesday intervals

  • TSB: +3 → +5
  • Monotony: 1.30 → 0
  • Days since last Z4+: 1 → −2
  • No rule caps
  • Base 70 + 5 + 0 − 2 = 73 — Ready

Normal training day. Plan-prescribed aerobic ride.

Saturday after a big week

  • TSB: −18 → −15
  • Monotony: 1.8 → −8
  • Days since last Z4+: 2 → 0
  • No rule caps
  • Base 70 − 15 − 8 + 0 = 47 — Underrecovered

Easy aerobic only today, even though nothing overtly alarming has fired. The compound of form and monotony is telling you to back off before it becomes an overreach flag next week.

Sunday after three straight “grey zone” weeks

  • TSB: −28 → −15
  • Monotony: 2.3 → −15
  • Days since last Z4+: 3 → 0
  • Rule: HIGH_MONOTONY + NEGATIVE_TSB_PROLONGED
  • Raw: 70 − 15 − 15 + 0 = 40. Caps: 40 (PROLONGED_TSB) → final 40 — Underrecovered with flags

Safety flags won’t let the score rise even if tomorrow’s sleep is perfect. The only thing that clears the caps is a real deload week that pulls the triggering rules back below threshold. This is the score doing its job — refusing to green- light intensity while the structural pattern is wrong.

Common mistakes

  • Training hard because the score says 85. A high score is a permissionfor the prescribed session, not a mandate. If the plan says easy 60 min and readiness is 85, do the easy 60 min. A good readiness day doesn’t need to be cashed in immediately.
  • Skipping training because the score says 45. 45 means “keep it aerobic”, not “take the day off”. Easy Z1–Z2 volume is still productive at 45 and doesn’t deepen the hole. Zero-days belong below 35.
  • Ignoring the flags when the score looks OK. A capped score of 55 (from a rule engine trigger) looks similar to a natural 55. It is not. The capped version means a structural problem is on your chart — high monotony, prolonged negative TSB, acute load spike. Clearing the flag matters more than the numeric score.
  • Checking readiness at random times.The score is most useful when read first thing in the morning, before the day’s training. Checking after you’ve already decided to hammer is too late. Build the habit of a 30-second morning glance.
  • Over-weighting the score vs how your legs feel. Subjective fatigue and readiness usually agree, but when they don’t, trust your legs. The model is built on training-derived signals; it doesn’t see sleep debt, life stress, or illness onset. “Score says go, legs say no” is a back-off day.

Related metrics

TSB — form

The single biggest input into readiness. TSB is produced by the classical Banister model and answers “how fresh am I versus my recent training”. Readiness applies context and guardrails on top. See CTL, ATL, TSB →

Foster monotony and strain

Monotony is the second-largest readiness input, especially via the hard cap when it crosses 2.0. Strain (total TSS × monotony) is the metric the rule engine uses for the combined illness-risk signal. Training monotony →

Rule-engine flags

Deterministic safety checks that apply hard caps. The four that cap readiness: NEGATIVE_TSB_PROLONGED, ACUTE_SPIKE, HIGH_MONOTONY, CROSS_SPORT_LOAD_ADD. Every flag must be addressed in the weekly review before the AI coach is allowed to prescribe intensity.

Combined daily load (multi-sport)

For triathletes and duathletes, TSB, monotony, and readiness are all computed on combined daily TSS across sports — not per sport. This is what makes cross-sport overreach visible when per-sport tools miss it. See multi-sport coaching →

Common questions

FAQ

How is this different from Garmin Body Battery or Whoop recovery?

Body Battery and Whoop use sleep duration, HRV, and resting HR to estimate how recovered your nervous system is. ZoneTwo's readiness uses your training history — TSB, monotony, and time since last quality session. The two are complementary: Whoop can flag a bad night of sleep; readiness can flag that you've trained in the grey zone for three weeks. Many athletes check both.

The score says 82 but my legs feel terrible. What went wrong?

Subjective fatigue isn't always visible in training load alone. Poor sleep, work stress, menstrual cycle phase, illness onset, or nutrition shortfalls can all produce heavy legs at high readiness scores. The score is a training-side signal — treat it as necessary but not sufficient. If the score says green and the legs say red, back off. We'd rather under-train one day than injure you.

Why does a hard session yesterday lower today's score?

The 'days since last quality' component subtracts 5 points when you hit a Z4+ session today, 2 yesterday. This isn't about fatigue (ATL already handles that) — it's about recovery adaptation. Hard sessions need 48–72 hours for full neuromuscular recovery. The score reflects that even if TSB hasn't fully caught up.

Can my readiness be above 100 or below 0?

No. We clamp the output. If the raw formula wants to give you 115 (very fresh, post-deload, four days from quality, low monotony), we show 100. If it wants to show −5 (deep overreach plus hard session plus high monotony), we show 0. The clamping ranges are deliberate — beyond 100 is just 'extra fresh' and beyond 0 is just 'stop training now' with no useful gradient in either direction.

Does readiness tell me what workout to do?

Readiness is a ceiling on intensity, not a prescription for the session. A score of 80 means you can hit a hard workout if the plan calls for it. A 50 means keep it aerobic. The weekly review and AI chat prescribe the specific session — readiness just governs whether the plan's intensity is appropriate today or needs to be dialled back.

Keep reading

Check your readiness.

Your score is on the dashboard the moment you connect Strava.

Free during beta · No credit card

By connecting, you agree to our Terms of Use and Privacy Policy.