AI-система анализа производительности спортсменов
Спортивная аналитика производительности — одна из наиболее data-intensive областей применения ML. Профессиональные клубы АПЛ, NBA, MLB вкладывают миллионы в systems, которые превращают GPS-треки, биометрические данные и видео в actionable insights для тренерского штаба.
Источники данных
GPS/IMU трекинг:
- Catapult Sports, STATSports, Polar: устройства в жилетках игроков
- Метрики: скорость, ускорение/замедление, дистанция, sprint count
- Частота: 10-100 Гц (GPS) + 1000 Гц (акселерометр)
- Производные: player load, high-speed running distance, mechanical work
Видеоаналитика:
- OPTA / StatsBomb: event data из video tracking (xG, xA, pressures)
- STATSports Vision / Second Spectrum: automated position tracking 25 fps
- Computer Vision: skeleton tracking (MediaPipe, OpenPose) для биомеханики
Биометрические данные:
- HR мониторы: Polar H10, Garmin HRM-Pro
- HRV (Heart Rate Variability): индикатор recovery и overtraining
- Sleep tracking: Whoop, Oura Ring
- Lactate testing: лабораторные данные прямого измерения
RPE (Rate of Perceived Exertion): Субъективная оценка усилия 1-10 после тренировки/игры — один из лучших предикторов риска травмы.
Performance Metrics
Physical KPIs:
physical_metrics = {
'total_distance_km': session_total_distance / 1000,
'hsr_distance_km': high_speed_running_m / 1000, # >5.5 m/s
'sprint_distance_km': sprint_distance_m / 1000, # >7.0 m/s
'accel_decels_count': count(acceleration > 2.5 or deceleration > 2.5),
'max_speed_ms': session_max_speed,
'player_load': catapult_player_load,
'explosive_distance': explosive_acceleration_distance
}
Technical KPIs (из event data):
- Pass completion rate, PPDA (pressing intensity)
- xG, xA, expected threat (xT)
- Ball recovery rate, duels won %
Fatigue Modelling
Acute:Chronic Workload Ratio (ACWR):
def acwr(weekly_loads, acute_window=1, chronic_window=4):
"""
Оптимальная зона ACWR: 0.8-1.3
ACWR > 1.5 → высокий риск нагрузочной травмы (40% выше baseline)
ACWR < 0.8 → недозагрузка, низкая готовность
"""
acute = np.mean(weekly_loads[-acute_window:])
chronic = np.mean(weekly_loads[-chronic_window:])
return acute / chronic if chronic > 0 else 1.0
HRV-based recovery: RMSSD (Root Mean Square of Successive Differences) из HRV:
- Снижение RMSSD на 15%+ vs. personal baseline → сниженная готовность
- Тренд снижения 3+ дня → накопленная усталость, нужен разгрузочный день
Injury Risk Prediction
Features:
injury_risk_features = {
'acwr': acwr(last_4_weeks_loads),
'hrv_deviation': (hrv_today - hrv_baseline) / hrv_baseline,
'cumulative_fatigue': sum(fatigue_scores_last_7d),
'days_since_rest': days_since_full_rest_day,
'previous_injuries': binary_history_of_injury,
'age': player_age,
'session_rpe': subjective_effort_rating,
'sleep_quality': sleep_tracker_score,
'muscle_soreness_reported': self_reported_soreness
}
injury_risk_model = LightGBMClassifier().fit(X_train, y_injury)
today_risk = injury_risk_model.predict_proba([today_features])[:, 1]
Целевая метрика: AUC 0.70-0.80 на prospective validation (следующий месяц, не в выборке). Более высокая точность — вероятно, overfit.
Load Management и периодизация
Формирование тренировочного плана:
- Phase classification: подготовительный, предсезонный, в сезоне, пост-матч
- Нагрузочная волна: 3 недели накопления + 1 неделя разгрузки
- Individual thresholds: каждый игрок имеет персональные пороги нагрузки
RL для тренировочного планирования: Agent оптимизирует план тренировок на неделю:
- State: текущий fitness, fatigue, injury risk, schedule
- Actions: тренировочный объём и интенсивность
- Reward: maximize fitness improvement − injury probability
Сравнительная аналитика
Benchmarking:
- Сравнение с лучшими игроками лиги на аналогичных позициях
- Z-score метрик: насколько выше/ниже среднего
- Radar chart: визуализация профиля игрока
Talent development tracking: Young players: trajectory модель — как должен выглядеть прогресс по годам. Опережает траекторию → accelerated development.
Dashboard для тренера
- Player Readiness Board: ready / caution / limited / unavailable
- Weekly load summary по каждому игроку
- Injury risk heatmap на следующую неделю
- Individual vs. team benchmarks
- Trend charts: физическая форма динамика за сезон
Стек: TimescaleDB для сенсорных данных, Grafana для dashboards, FastAPI для ML-инференса, React для custom тренерского интерфейса.
Сроки: GPS аналитика + ACWR + базовые dashboards — 6-8 недель. Система с injury prediction, HRV-интеграцией и periodization planning — 4-5 месяцев.







