Wskaźnik formy, który nagradza to, co naprawdę ważne: regularność, objętość treningu tlenowego, trening siłowy i różnorodność ruchu. Bez gier. Bez sztuczek. Po prostu postęp.
Jakość treningu w tym tygodniu. Jak wyglądał twój trening przez ostatnie 7 dni: praca tlenowa, dni treningu siłowego, regularność i różnorodność. To właśnie twój wkład w FitScore.
Twoja aktualna forma. Tak wygląda w tej chwili — budujesz ją z czasem regularnym treningiem, a gdy przestajesz trenować, stopniowo spada.
Wysoki ActivityScore przekłada się na wysoki FitScore.
Jakość twojego tygodniowego treningu składa się z czterech potwierdzonych naukowo* składników:
Liczone na podstawie tygodniowej liczby godzin. Każda kolejna godzina daje coraz mniej: więcej zyskujesz, przechodząc z 0→5 godzin niż z 10→15. Górny limit to około 15-20 godzin/tydzień. Aktywności w strefie 1 (spacery) liczą się w mniejszym stopniu, bo 3-godzinny spacer to nie to samo co 3 godziny jazdy w Z2.
Liczy się liczba dni w tygodniu z treningiem siłowym. Czas trwania nie ma znaczenia — 3 minuty swingów kettlebell też się liczą. Kilka treningów jednego dnia to wciąż 1 dzień. 2 dni dają 75%, 3 dni 90%, a 4 i więcej dni to maksimum, czyli 100%.
Ile dni w tygodniu trenujesz. Nagradza to, że w ogóle się pojawiasz, ale nie karze tych, którzy trenują codziennie.
6. i 7. dzień dają tyle samo punktów co 5. Codzienny trening nie jest karany, jeśli ci odpowiada, ale większości osób służą 1 lub 2 dni odpoczynku w tygodniu, zależnie od tego, jak trenują.
Liczymy różne dyscypliny uprawiane co najmniej raz w tygodniu. Bieganie i kolarstwo to osobne dyscypliny. Pływanie i podnoszenie ciężarów też. Większa różnorodność to praca innych mięśni i stawów oraz inne wzorce ruchowe.
Długie jazdy w sobotę i niedzielę
Połączenie kolarstwa, treningu siłowego i ruchu
Krótkie codzienne treningi, duża regularność
TrainingPeaks i Performance Management Chart Andrew Coggana — TSS, CTL, ATL — zmieniły branżę. Te pojęcia dały sportowcom i trenerom wspólny język do mierzenia obciążenia treningowego i kontrolowania zmęczenia. To była rewolucja.
Ale PMC próbuje rozwiązać wiele problemów naraz: jaka jest moja forma? Ile pracy trzeba wykonać? Czy potrzebuję regeneracji? Z większością z nich radzi sobie całkiem dobrze.
Tyle że najgorszym z nich jest poziom formy.
Model CTL popycha wszystkich w tę samą stronę: dość ciężka intensywność i jak najwięcej godzin. Wynik rośnie, więc to musi działać. Tylko że rzadko jest to najlepsze podejście do treningu dla kogokolwiek.
Badania z ostatniej dekady pokazują coś innego. Trening w drugiej strefie. Trening spolaryzowany. Zasada 80/20. Kolejne badania pokazują, że to, co nagradza CTL, rzadko jest optymalne. Trwałą formę zwykle buduje mądrzejszy trening, a nie więcej treningu.
Większość z nas czuje to intuicyjnie: 10 godzin właściwego treningu daje więcej niż 20 godzin sweet spot — choć według CTL te 20 godzin oznacza wyższą „formę”.
CTL nie promuje zrównoważonego treningu. Siła całego ciała to ważny element formy i powinna być nagradzana osobno, żeby docenić jej znaczenie. Porównaj czołowego triathlonistę z czołowym kolarzem. Większość ludzi wskaże triathlonistę jako wzór formy — wszechstronnego, sprawnego, odpornego na zmęczenie. Do tego dążą osoby, które trenują dla formy. Nie do specjalizacji w jednej dyscyplinie, nastawionej na jeden wynik.
FitScore opiera się na podstawach, które stworzył Coggan, ale aktualizuje model zgodnie z tym, co wiemy dziś. Forma to nie gromadzenie obciążenia. To mądry, zrównoważony trening: objętość tlenowa z realistycznymi limitami, trening siłowy, regularność i różnorodność ruchu.
Nowy standard na miarę nowego rozumienia formy.
FitScore korzysta z tego samego modelu wykładniczego wygaszania co CTL. Stała czasowa ok. 42 dni dla budowania formy jest dobrze ugruntowana w naukach o wysiłku fizycznym. Nie wymyślamy koła na nowo, tylko zmieniamy to, co wkładamy do modelu.
Badania nad modelem Banistera →Więcej nie zawsze znaczy lepiej. Zależność między objętością treningową a formą ma kształt krzywej logarytmicznej — przejście z 5 na 10 godzin daje ogromne korzyści, ale z 15 na 20 godzin dokłada już niewiele. Nawet zawodowcy zatrzymują się w okolicach 25 godzin, bo powyżej tego adaptacja staje w miejscu albo się cofa. CTL ignoruje ten sufit. FitScore nie.
Badania nad zespołem przetrenowania →Czas trwania liczy się bardziej niż intensywność. Badania nad treningiem spolaryzowanym pokazują, że 80% objętości w spokojnym tempie i 20% mocnych wysiłków daje lepsze efekty niż podejście nastawione na intensywność. Więcej godzin przy niższej intensywności lepiej buduje silnik tlenowy niż mniej godzin przy wyższej intensywności — czyli odwrotnie niż to, co nagradza TSS.
Frontiers in Physiology, 2014 →Wskaźniki oparte na intensywności nie przewidują wyników. Badanie z 2025 roku wykazało, że tradycyjne modele forma–zmęczenie (CTL/TSS) słabo przewidują wyniki na zawodach. Wskaźniki obciążenia treningowego nagradzają intensywność kosztem objętości, która faktycznie buduje formę.
Nature Scientific Reports, 2025 →Trening łączony działa lepiej niż samo cardio. Dodanie do treningu tlenowego dwóch treningów siłowych w tygodniu obniżyło ryzyko zgonu o 30%. Dlatego w FitScore siła to 30% wyniku bazowego, bo ma znaczenie sama w sobie.
JAMA Internal Medicine, 2022 →Trening uzupełniający buduje odporność na zmęczenie. Trenowanie kilku sportów angażuje różne grupy mięśni, zmniejsza ryzyko kontuzji z przeciążenia i pozwala utrzymać formę, dając jednocześnie czas na regenerację. Dlatego FitScore nagradza różnorodność bonusem do 7%.
Sports Medicine, 2021 →ActivityScore = Trening tlenowy + Siła + Regularność + Różnorodność
FitScore = krocząca średnia ważona ActivityScore z 42 dni
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