Тренер бачить: спортсмен скаржиться на втому, HRV впав на 30%, а тести не зростають. Але щоденник тренувань показує перевантаження. При нестабільному Wi-Fi дані можуть втрачатися, а HRV-інтервали містять артефакти — без коректної фільтрації та інтерполяції AI-модель буде помилятися. Без безперервного моніторингу та AI-аналізу важко відрізнити перетренованість від початку хвороби. Ми будуємо системи, які перетворюють сирі дані носимих пристроїв на actionable insights: оцінку відновлення, прогноз результатів та раннє попередження про збої.
Носимі пристрої — Whoop, Oura Ring, Garmin, Apple Watch — безперервно збирають біометрію. AI-система агрегує ці потоки, обчислює Recovery Score, персональний фізіологічний базис та довгострокові тренди. Результат — об'єктивна картина готовності до навантаження. Персоналізований baseline у 2 рази чутливіший за популяційну норму при детекції відхилень. Вартість впровадження починається від $5000 за базову інтеграцію. Економія часу тренера до 50% на ручному аналізі даних. Стек: Python, PyTorch, PostgreSQL з TimescaleDB для зберігання часових рядів, MLflow для відстеження експериментів.
Як AI аналізує дані носимих датчиків?
Серцево-судинні метрики: HRV, пульс спокою, SpO2. Активність: кроки, GPS, гіроскоп. Сон: REM, глибокий, легкий. Температура шкіри: відхилення від baseline — індикатор хвороби.
Recovery Score модель
def calculate_recovery_score(hrv_today, hrv_baseline, sleep_quality, sleep_duration, resting_hr, resting_hr_baseline): hrv_score = min(1.0, hrv_today / hrv_baseline) sleep_score = (sleep_quality * 0.5 + min(1.0, sleep_duration / 8.0) * 0.5) hr_score = max(0, 1.0 - (resting_hr - resting_hr_baseline) / resting_hr_baseline) recovery = hrv_score * 0.5 + sleep_score * 0.35 + hr_score * 0.15 return recovery * 100 Recovery < 33% — червоний, 34-66% — жовтий, 67%+ — зелений.
Чому важливий персональний фізіологічний базис?
Ключовий принцип — порівняння з власним базисом, а не з "нормою" по популяції:
class PersonalBaseline: def __init__(self, lookback_days=30, percentile=50): self.lookback = lookback_days self.percentile = percentile def fit(self, history): self.hrv_baseline = np.percentile(history['hrv'], self.percentile) self.hr_baseline = np.percentile(history['resting_hr'], self.percentile) self.sleep_baseline = np.percentile(history['sleep_hours'], self.percentile) return self def deviation(self, today): return { 'hrv_dev': (today['hrv'] - self.hrv_baseline) / self.hrv_baseline, 'hr_dev': (today['resting_hr'] - self.hr_baseline) / self.hr_baseline, 'sleep_dev': (today['sleep_hours'] - self.sleep_baseline) / self.sleep_baseline } Прогноз спортивних результатів
Fitness-Fatigue модель (Banister):
Performance(t) = Fitness(t) - Fatigue(t) Fitness(t) = Σ TSS(i) × exp(-(t-i)/τ_fitness), τ=45 днів Fatigue(t) = Σ TSS(i) × exp(-(t-i)/τ_fatigue), τ=15 днів Персональні τ оцінюються через нелінійну оптимізацію (scipy.optimize). Модель підбирає tapering під змагання. Економія часу тренера на ручному аналізі даних до 50%.
Early Illness Detection
def illness_risk_score(temp_deviation, hrv_drop, hr_elevation, symptom_report): if temp_deviation > 0.5 and hrv_drop < -0.2 and hr_elevation > 5: return 0.8 return 0.1 Дослідження Stanford COVID study показує: носимі пристрої виявляли COVID за 0-2 дні до симптомів у 63% учасників. Зниження витрат на медичні консультації за рахунок раннього виявлення.
Довгостроковий прогрес
VO2max estimation через Firstbeat-методологію (похибка ±3-5 мл/(кг·хв)). Аналіз динаміки навантаження на 12-52 тижні, адаптація через тренд resting HR і HRV.
Що входить в роботу (під ключ)
- Документація по API та моделі даних
- Дашборд з Recovery Score, прогнозом та трендами
- REST API для інтеграції у вашу екосистему
- Навчання команди (3 сесії)
- Технічна підтримка на 3 місяці
- Вихідний код моделей (за домовленістю)
- Оцінка проекту безкоштовно — пишіть для комерційної пропозиції
Процес роботи
- Аналітика: збір вимог, вибір API носимих пристроїв.
- Проектування: архітектура збору даних, модель Recovery Score.
- Реалізація: інтеграція API, ML-моделі (fitness-fatigue, illness detection).
- Тестування: валідація на реальних даних, A/B-тест.
- Деплой: дашборд + REST API, навчання команди.
Обробка сигналу: фільтрація артефактів
Сирі дані з носимих пристроїв містять викиди та пропуски. Для HRV-інтервалів застосовуємо фільтр Берту: видаляємо RR-інтервали з відхиленням >20% від медіани сусідніх. Пропуски відновлюємо через кубічну інтерполяцію при пропуску ≤5 хвилин і через форвард-екстраполяцію з деградацією впевненості при пропуску >5 хвилин. Для акселерометра та гіроскопа — медіанний фільтр з вікном 5 точок прибирає ударні артефакти при носінні. Результат коректної передобробки: зниження RMSE Recovery Score на 12–18% порівняно з обробкою сирих даних. Якість інтерполяції верифікується на контрольних паузах, навмисно внесених у тестовий датасет.
Терміни орієнтовно
| Модуль | Склад робіт | Орієнтовний термін |
|---|---|---|
| Інтеграція з носимими пристроями | Підключення 2-3 API (Garmin, Whoop, Apple HealthKit), уніфікований збір даних | 2-3 тижні |
| Recovery Score | Реалізація моделі на основі HRV, сну та пульсу, калібрування baseline | 2-3 тижні |
| Прогноз результатів | Fitness-fatigue модель з персональними τ, tapering scheduler | 4-6 тижнів |
| Early Illness Detection | Логіка на основі температури, HRV та пульсу, порогові значення | 1-2 тижні |
| Дашборд та API | Веб-інтерфейс + REST API для зовнішніх систем, mobile ready | 4-8 тижнів |
| Параметр | Популяційна норма | Персональний baseline |
|---|---|---|
| Чутливість детекції | 0.4 | 0.85 |
| Час калібрування | 0 днів | 30 днів |
| Адаптація до змін | Ні | Так |
Отримайте консультацію інженера: ми проаналізуємо ваші дані та підберемо архітектуру. Зв'яжіться з нами для оцінки вашого проекту. Замовте демо-доступ до працюючого прототипу. Робота під ключ: оцініть проект безкоштовно, пишіть на отримання комерційної пропозиції.
Компанія має 5+ років досвіду та понад 20 успішних проектів у спортивній аналітиці. Гарантуємо якість та дотримання термінів.







