Health Assessment
Over the last 30 days, your overall health-management picture looks steady and well supported: Sleep score 94/100, Recovery score 86/100, Activity score 50/100, with overall readiness rated good. In practical terms, that means average sleep of 8.24 hours, deep sleep at 25.85%, resting heart rate at 58.96 bpm, HRV at 40.99 ms, weekly exercise of about 154.49 minutes, and body metrics that are broadly stable around 73.01 kg and 16.44% body fat. The main item worth watching is not broad fatigue or obvious deterioration, but a small number of outlier signals. The latest blood oxygen reading was 92%, which does not match your recent 30-day average of 95.93%, and wake-time variability remains fairly wide, with a standard deviation of 80.64 minutes. In other words, your baseline is good; the next step is to maintain what is working and verify whether the low SpO2 reading was a measurement issue or a real signal.
Correlation Analysis
Cross-Metric Findings
Average sleep was 8.24 hours over the last 30 days, with no nights below 6 hours; next-day HRV after normal sleep averaged 40.43 ms, and resting heart rate averaged 58.96 bpm, suggesting that your recovery is being well supported by consistently adequate sleep.
There were 11 high-strain days recently, yet next-day HRV averaged 38.05 ms versus 40.13 ms after rest days, indicating that your current training volume is not producing a meaningful recovery breakdown.
Bedtime variability was 33.71 minutes while wake-time variability was 80.64 minutes; because average sleep duration still held at 8.24 hours, schedule stability is currently a bigger lever than total sleep volume.
Behavioural Patterns
Sleep-protected recovery pattern: no recent nights under 6 hours, average sleep of 8.24 hours, and a sleep score of 94/100 have helped keep recovery strong even with regular training.
Load with adequate rebound: after 11 high-activity days, next-day HRV remained close to rest-day levels, which suggests that your current boxing and strength rhythm is sustainable but does not need aggressive progression right now.
Overview
Your priority is not fixing a broad health problem, but protecting a solid baseline and cleaning up a few weaker signals. First, verify whether the 92% SpO2 reading repeats. Second, tighten wake-time consistency. Third, maintain your current training volume rather than pushing harder while your overall trend is already stable.
Key Findings
- Average sleep rose to 8.24 hours from a 90-day baseline of 8.08, deep sleep increased from 20.51% to 25.85%, and HRV edged up from 40.51 to 40.99 ms, which together suggest slightly better recovery support than baseline.
- Resting heart rate improved from 59.91 to 58.96 bpm while HRV rose from 40.51 to 40.99 ms, and recovery coherence was flagged as aligned, indicating a stable autonomic balance rather than mounting stress.
- Weekly exercise was about 154.49 minutes, meeting WHO guidance, and next-day HRV after high-strain days stayed close to the rest-day reference, which suggests your current activity level is well matched to your recovery capacity.
- Average body mass was 73.01 kg versus 72.9 kg at baseline, and body fat was 16.44% versus 16.35%, showing no meaningful short-term drift in body composition.
Sleep Duration & Stage Trends
Data: SufficientYour sleep is overall healthy: adequate duration with deep sleep in the normal range, which is highly beneficial for physical recovery and cognitive performance. Recent sleep duration remains stable compared to baseline, with no significant fluctuation.
Normal Range Assessment
Average sleep 8.24 hours, within the recommended range (7-9 hours); Deep sleep 25.85%, above normal (13-23%); REM sleep 24.69%, within normal range; Median bedtime 23:15, aligning with an ideal circadian rhythm window.
Recovery Metrics Comparison
Data: ModerateRecovery metrics remain stable with no significant trending changes.
| Metric | Latest | 30 Days | Baseline | Change | Trend |
|---|---|---|---|---|---|
| Resting HR 801-day coverage | 60 count/min | 58.96 count/min | 59.91 count/min | -0.95 count/min | |
| HRV 779-day coverage | 23.4 ms | 40.99 ms | 40.51 ms | +0.47 ms | |
| Blood Oxygen 589-day coverage | 92 % | 95.93 % | 95.86 % | +0.06 % | |
| Respiratory Rate 40-day coverage | 9 count/min | 9 count/min | 19.69 count/min | -10.69 count/min | |
| VO2 Max 72-day coverage | 41.8 mL/min·kg | 43.43 mL/min·kg | 45.56 mL/min·kg | -2.13 mL/min·kg |
Normal Range Assessment
Resting heart rate 58.96 bpm, in the excellent range for active individuals (40-60 bpm); HRV average 40.99 ms - HRV varies greatly between individuals, so absolute values have limited reference value; trend changes are more important to monitor; SpO2 95.93%, normal; Respiratory rate 9 breaths/min, low (normal 12-20); VO2 Max 43.43 mL/min·kg, good cardiorespiratory fitness.
Activity Trends
Data: SufficientYour exercise volume meets the WHO recommendation, providing significant protective benefits for cardiovascular health, metabolic regulation, and mental well-being. Exercise volume remains stable — consistency is key to long-term benefits.
WHO Benchmark Assessment
Daily exercise 22.07 min (weekly 154.49 min), meeting WHO recommendation; Daily standing 10.07 hours, below the 12-hour target but at a reasonable level; Daily active energy 394.45 kcal.
Body Composition Trends
Data: SufficientAverage body mass was 73.01 kg and body fat 16.44% in the last 30 days, with only minimal change relative to the 90-day and 180-day context.
Recommendations for the Next 2 Weeks
- For the next 14 days, keep wake time within roughly 07:30 to 08:30 on at least 10 days; tightening wake time is the fastest way to improve schedule regularity.
- Keep total training volume around 150 to 180 minutes per week, maintain the current strength-plus-boxing mix, and avoid stacking high-intensity sessions on 3 consecutive days.
- Re-check blood oxygen at least 3 times over the next 7 days under stable resting conditions, ideally at a consistent morning or evening time, and note whether any shortness of breath, dizziness, or unusual fatigue is present.
- Record resting heart rate and HRV at least 3 mornings per week within 30 minutes of waking so your next 2-week trend read is based on more consistent conditions.
When to Seek Medical Attention
- If repeat SpO2 readings remain at or below 93%, or low oxygen is accompanied by chest tightness, shortness of breath, dizziness, or unusual fatigue, seek medical evaluation promptly.
- If resting heart rate rises clearly above your recent range over the next 2 weeks while HRV trends down at the same time, that is worth professional follow-up.
- If VO2 Max continues to fall and your subjective exercise tolerance also drops noticeably, that combination is worth discussing with a clinician.
Questions for Your Next Doctor Visit
- My 30-day average blood oxygen is 95.93%, but the latest reading on 2026-04-15 was 92%. If repeat checks stay low, should I evaluate any breathing or sleep-related issue more formally?
- My recent VO2 Max averaged 43.43 mL/min·kg compared with a 90-day baseline of 45.56. If training also feels harder, is that a meaningful change to investigate?
- Respiratory rate only had 1 recent sample, at 9 breaths per minute. In the absence of symptoms, is that more likely a measurement issue or something worth watching more closely?
Data Boundaries & Notes
Data Limitations
- There were 19 usable sleep nights in the last 30 days, and 3 partial nights were excluded, so short-term sleep trend confidence is good but not perfect.
- Respiratory rate has only 1 sample in the last 30 days, so no stable trend can be inferred from it.
- Recovery, sleep, and body-composition signals come from different primary devices and are summarized per primary source rather than merged into a single corrected stream.
Source Confidence
-
sleep Primary sleep source: Withings, covering 276 nights, with staged sleep data.Sufficient
-
recovery Recovery metrics cover 5 indicators, primarily from Ruochen's Watch / Ruochen’s Watch.Moderate
-
activity Activity summaries cover 1931 days, with 9 workouts in the last 30 days.Sufficient
-
bodyComposition Body composition data from Withings / Withings.Sufficient