Перейти к содержимому

Здоровье

Провал по индикатору Здоровья на главном экране. У Здоровья нет своей карточки в блоке 4 — метрика медленная (меняется на ±1–2% в день), ежедневная карточка с числом была бы визуальным шумом.

Что показывается (здесь есть цифры и графики)

Заголовок раздела «Что показывается (здесь есть цифры и графики)»
  • Тренд скора за 30 / 90 дней
  • Разбивка по 4 компонентам формулы
  • Сравнение с личным максимумом за всё время
  • Контекст: «последние 2 недели ниже нормы — обратите внимание»
  • Под-блок Lumo Age (см. ниже)

Формула (внутренняя, не показывается пользователю напрямую)

Заголовок раздела «Формула (внутренняя, не показывается пользователю напрямую)»
Здоровье_score =
Среднее Восстановление за 14 дней × 0.40
(HRV + RHR vs baseline, ночные значения)
Средний Стресс за 14 дней × 0.30
(дневные HRV + sedentary penalty)
Среднее Качество сна за 14 дней × 0.20
(Deep + REM + Efficiency)
Активность за 14 дней × 0.10
(не перегрузился / не недобрал)

Числовой скор конвертируется в ярлык: 💎 Исключительное / ✨ Сильное / 💚 Устойчивое / 🟡 Умеренное / 🟠 Ограниченное. Пороги (2026-09-29): от 85 / 70–84 / 55–69 / 40–54 / ниже 40.

Открывается тапом по индикатору Здоровья на главном.

  1. За 14 дней — число и ярлык.
  2. Контекст одной строкой — последние две недели против остальных 90 дней: на обычном уровне / выше / ниже (с тем, что просело сильнее всего). Порог — 5 баллов. Без тревожных значков.
  3. Тренд — 30 или 90 дней, пунктиром — личный максимум за это время, под графиком «Лучшее» с датой.
  4. Из чего складывается — четыре составляющие с весом, фактом и баллом.
  5. Lumo Age — дельта к паспортному крупно, «Lumo Age 31 · паспортный 34», тренд по неделям, плашка про погрешность ±3 года, дата обновления. Если в профиле выключено «Lumo Age числом» — только тренд. До 30 дней — «появится через N дней».

До 10 дней экран показывает «Накапливаем данные».

  • Минимум 10 полных дней — до этого индикатор скрыт (плашка «Накапливаем данные»)
  • Обновление — раз в сутки утром
  • Стресс и Энергия могут шуметь (одна плохая ночь, тяжёлый день) — Здоровье показывает устойчивый тренд
  • Ранний маркер выгорания: здоровый организм терпит месяцы перегрузки, потом резко сдаёт — медленная метрика ловит это за недели до срыва

Композитный индекс долгосрочного состояния, выраженный в годах относительно паспортного возраста. Живёт только внутри этого экрана — на главном его нет (решено 2026-09-29).

Это не клинический биомаркер старения. Это reverse-fit к паспортному возрасту по сигналам ring — не GrimAge / PhenoAge / эпигенетические часы. Honest framing обязательно: формулировка «композитный индекс на сигналах кольца», не «ваш биологический возраст».

Lumo Age = chronological_age − Δ
Δ =
RHR_baseline_score × 0.40
(отклонение ночной RHR от ожидаемой для возраста/пола)
HRV_trend_score × 0.20
(ночной RMSSD кольца, тренд за 30 дней
относительно референса по возрасту/полу)
Sleep_consistency_score × 0.20
(стабильность времени отхода ко сну + Deep%)
Activity_minutes_score × 0.10
(минуты средней и высокой нагрузки за неделю —
по интенсивности кольца, см. 09-activity-detail.md)
Temp_stability_score × 0.10
(отклонение ночной температуры от персонального baseline)
Δ ограничено диапазоном [−10; +10] лет.

Веса — черновые, нужна калибровка на референсной когорте (TBD).

  • Главное: дельта к паспортному (−3 года / +2 года), не абсолютный возраст
  • Подпись: абсолютный «Lumo Age 32»
  • Микрочарт тренда за 90 дней
  • Плашка под графиком: «±3 года — типичная погрешность композитных метрик»
  • Обновление: раз в неделю, не чаще (избегаем шума и эффекта «постарел за день»)
  • Опция в настройках: скрыть число, оставить только тренд (для тех, кому демотивирует)
  • Минимум 30 дней полных данных — до этого скрыто (плашка «Накапливаем данные»)
  • Baseline RHR / HRV / температуры формируется параллельно с Здоровьем (14 дней)
  • При перерывах ношения > 3 дней подряд — обновление паузится до накопления свежих 7 дней
  • HRV — RMSSD из истории кольца, ночные записи. Ряда RR-интервалов фоном нет, поэтому SDNN и собственный time-domain HRV не считаем.
  • Пульс покоя — SleepV4, за ночь.
  • Время отхода ко сну и Deep% — события сна кольца и SleepV4.
  • Температура — кожная во сне, отклонение от личной нормы.
  • Активность — интенсивность кольца за 5 минут.
  • VO2max — кольцо отдаёт, сильный кандидат в формулу (у Oura — часть Cardio Capacity), но пока в списке «данные есть, не используем» (Product Spec, §5.7). Проверяем правдоподобие на сэмпле.

Альтернативный путь — оценка жёсткости артерий через PPG waveform features (rise time, dicrotic notch, augmentation index) → pulse wave velocity. Научно строже мульти-инпут модели (Oura Cardiovascular Age, Nature Comms 2025).

Что даёт SR28D. Сырой PPG — зелёный, красный, ИК — с частотой 25 / 50 / 100 Гц, но только пока кольцо подключено: в памяти кольца он не хранится. Для морфологии нужно ≥100–200 Гц — нижняя граница достижима.

Следствие. Ночной Cardio Age невозможен. Возможен ручной замер: минута-две неподвижно при подключённом кольце, как «Измерить стресс сейчас». Трек — v2, не раньше, чем появится обработка PPG и проверка на референсе.

  • Название «Здоровье» — возможно слишком претенциозное. Альтернативы: «Резерв», «Форма», «Устойчивость». Нужно custdev-тестирование.
  • Финальные ярлыки — черновые, прогнать через редактуру.
  • Веса в формуле Lumo Age — нужна калибровка на референсной когорте.
  • Custdev: не демотивирует ли «+5 лет к паспортному»? Может, показывать только при отрицательной дельте, а положительную — как «есть куда расти» без числа.