Фитнес-метрика, которая поощряет то, что действительно важно: регулярность, аэробный объём, силовые тренировки и разнообразие движения. Никаких игр. Никаких хитростей. Только прогресс.
Качество тренировок за эту неделю. Насколько хорошо прошли твои тренировки за последние 7 дней: аэробная работа, силовые дни, регулярность и разнообразие. Именно это ты вносишь в свой FitScore.
Твой текущий уровень физической формы. Это то, где ты находишься прямо сейчас. Он растёт со временем благодаря регулярным тренировкам и постепенно снижается, если ты перестаёшь тренироваться.
Высокий ActivityScore превращается в высокий FitScore.
Качество твоих тренировок за неделю складывается из четырёх научно обоснованных* компонентов:
Считается по количеству часов в неделю. Отдача снижается: прирост от 0→5 часов больше, чем от 10→15. Потолок около 15-20 часов в неделю. Активности в зоне 1 (ходьба) учитываются с пониженным коэффициентом: 3 часа ходьбы не то же самое, что 3 часа езды в зоне 2.
Считаются дни в неделю с силовой активностью. Длительность не важна — 3 минуты махов гирей тоже засчитываются. Несколько тренировок в один день считаются как 1 день. 2 дня дают 75%, 3 дня — 90%, а 4 и более дней — максимальные 100%.
Сколько дней в неделю ты тренируешься. Поощряет регулярность и не наказывает тех, кто тренируется каждый день.
6-й и 7-й дни дают столько же баллов, сколько 5-й. Штрафа за ежедневные тренировки нет, если тебе так подходит, но большинству полезны 1 или 2 дня отдыха в неделю, в зависимости от того, как они тренируются.
Считаем разные виды спорта, которыми ты занимаешься хотя бы раз в неделю. Бег и велосипед — разные виды. Плавание и силовые — тоже. Больше разнообразия — значит, работают разные мышцы, суставы и двигательные паттерны.
Длинные заезды в субботу и воскресенье
Велосипед, силовые и движение
Короткие ежедневные тренировки, высокая регулярность
TrainingPeaks и Performance Management Chart Эндрю Коггана (TSS, CTL, ATL) изменили индустрию. Эти понятия дали спортсменам и тренерам общий язык, чтобы измерять тренировочную нагрузку и управлять усталостью. Это была настоящая революция.
Но PMC пытается решить сразу много задач. Какой у меня уровень формы? Сколько мне нужно тренироваться? Нужно ли мне восстановление? С большинством из них он справляется неплохо.
Только хуже всего — когда речь об уровне формы.
Модель CTL подталкивает всех к одному и тому же подходу: умеренно-высокая интенсивность и как можно больше часов. Цифра растёт — значит, работает. Но такой подход редко оказывается лучшим для кого бы то ни было.
Исследования последнего десятилетия говорят о другом. Тренировки во второй зоне. Поляризованная периодизация. Правило 80/20. Исследование за исследованием показывает, что то, что поощряет CTL, редко бывает оптимальным. Устойчивую форму чаще строят умные тренировки, а не просто большие объёмы.
Большинство из нас интуитивно это понимает: 10 часов правильных тренировок лучше, чем 20 часов sweet spot. При этом CTL скажет, что 20 часов означают более высокую «форму».
CTL не поощряет сбалансированные тренировки. Сила всего тела — важная часть физической формы, и её стоит вознаграждать отдельно, чтобы признать её значимость. Сравни элитного триатлета и элитного велосипедиста. Большинство назовёт образцом формы триатлета: сбалансированного, функционального, выносливого. Именно к этому стремятся те, кто тренируется ради формы. А не к узкому специалисту в одном виде спорта, заточенному под один показатель.
FitScore опирается на основы, заложенные Когганом, но обновляет модель с учётом того, что мы знаем сегодня. Форма — это не накопление нагрузки. Это умные, сбалансированные тренировки: аэробный объём с разумными пределами, силовая работа, регулярность, разнообразие движений.
Новый стандарт для нового понимания физической формы.
FitScore использует ту же модель экспоненциального затухания, что и CTL. Постоянная времени около 42 дней для адаптации формы давно известна в спортивной науке. Мы не изобретаем велосипед, мы меняем то, что в эту модель попадает.
Исследования модели Банистера →Больше — не всегда лучше. Зависимость формы от объёма тренировок описывается логарифмической кривой: переход с 5 до 10 часов даёт огромный прирост, а с 15 до 20 — совсем немного. Даже профи упираются примерно в 25 часов, потому что дальше адаптация останавливается или идёт вспять. CTL этот потолок игнорирует. FitScore — нет.
Исследования синдрома перетренированности →Продолжительность важнее интенсивности. Исследования поляризованных тренировок показывают, что 80% лёгкого объёма и 20% тяжёлой работы дают больше, чем подходы с упором на интенсивность. Много часов на низкой интенсивности развивают аэробный «мотор» лучше, чем мало часов на высокой. TSS поощряет ровно противоположное.
Frontiers in Physiology, 2014 →Метрики на основе интенсивности не предсказывают результат. Исследование 2025 года показало, что традиционные модели «форма — усталость» (CTL/TSS) плохо предсказывают результаты в гонках. Показатели тренировочной нагрузки вознаграждают интенсивность, а не объём, который на самом деле строит форму.
Nature Scientific Reports, 2025 →Комбинированные тренировки эффективнее, чем одно кардио. Две силовые тренировки в неделю в дополнение к аэробной нагрузке снизили риск смертности на 30%. Поэтому в FitScore силовые составляют 30% базового балла: они важны сами по себе.
JAMA Internal Medicine, 2022 →Кросс-тренинг делает организм выносливее. Тренировки в нескольких видах спорта задействуют разные группы мышц, снижают риск травм от перегрузки и поддерживают форму, оставляя время на восстановление. Поэтому FitScore начисляет за разнообразие видов спорта бонус до 7%.
Sports Medicine, 2021 →ActivityScore = Аэробная нагрузка + Силовые + Регулярность + Разнообразие
FitScore = скользящее взвешенное среднее ActivityScore за 42 дня
import math def activity_score(aerobic_hours, strength_days, active_days, unique_sports): # Base scores (diminishing returns curves) aerobic = 100 * (1 - math.exp(-0.25 * aerobic_hours)) strength = [0, 50, 75, 90, 100, 100, 100, 100][min(strength_days, 7)] # Weighted base (70% aerobic, 30% strength) base = (aerobic * 0.70) + (strength * 0.30) # Bonuses based on days active and sport variety consistency = [0, 0, 0.02, 0.04, 0.06, 0.08][min(active_days, 5)] variety = [0, 0, 0.03, 0.05, 0.07][min(unique_sports, 4)] return min(100, base * (1 + consistency + variety)) def fit_score(prev_fitscore, activity_score, days_elapsed): # 42-day exponential moving average (same math as CTL) decay = (1 - 1/42) ** days_elapsed return activity_score + (prev_fitscore - activity_score) * decay