| # | Distanse | Tid | Pace | vs target | HR steady | HR siste 500m | REST HR | Split | Power | Laktat |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2.00 km | 7:38 | 3:49/km | ✓ | 163 | 163 | 98 −65 | ▼ neg | 446 | — |
| 2 | 2.00 km | 7:39 | 3:49/km | ✓ | 165 | 164 | 108 −56 | ▼ neg | 442 | — |
| 3 | 2.00 km | 7:39 | 3:49/km | ✓ | 165 | 165 | 116 −49 | ▼ neg | 440 | — |
| 4 | 2.00 km | 7:38 | 3:49/km | ✓ | 167 | 166 | 119 −47 | ▼ neg | 440 | — |
| 5 | 2.00 km | 7:39 | 3:49/km | ✓ | 166 | 166 | 99 −67 | ▼ neg | 440 | 🔴 3.9 |
| 2026-03-14 | Langtur 25 km m/ kvalitet | 3:57/km | 167 bpm |
| 2026-03-11 | 12 x 1000 terskel | 3:50/km | 155 bpm |
| 2026-03-09 | 6 x 2000 terskel | 3:50/km | 158 bpm |
| 2026-03-07 | LørdagsTOSK (sosial easy) | 4:01/km | 161 bpm |
| 2026-03-04 | 12 x 1000 terskel | 3:50/km | 152 bpm |
Det interessante her er kontrasten mellom de autonome markørene og treningsbelastningen. Wellness-tallene var utmerkede: HRV-snittet 77,9 ms med IN_RANGE-status og stigende trend, hvilepuls lav på 37, søvn 7 timer 53 minutter (score 88, «POSITIVE_LONG_AND_DEEP»), Training Readiness 50 (MODERATE). Men TSB dagen før var −16,6 (CTL 92,5, ATL 109,1) — den dypeste i hele Berlin-bygget. ATL hadde toppet etter en lang, hard build-fase.
Vi er 13 dager før Berlin halvmaraton 2026 (29. mars), 141 dager etter Frankfurt. Det var mildt ute (5,4 °C) men økten ble kjørt innendørs på bane. Sko: Saucony Endorphin Pro 4 med 347 km. Strava-navnet fanger dagen presist: «5 x 2000 @ 3:50 / Lt(5) 3,9 / Tunge ben og tung økt 🥵». Carl kjente at beina var tunge, målte laktat som bekreftet det, og gjennomførte likevel — den siste store kvalitetsøkten før nedtrappingen.
Planen var fem 2000-metere på 3:50, og Carl traff den feilfritt: 3:49, 3:49, 3:49, 3:49, 3:49 — fem lange drag på eksakt samme pace. Snittpacen var 3:50, eksakt på mål. Det bemerkelsesverdige er at han holdt denne metronomiske pacingen til tross for tunge ben og den dypeste TSB-en i bygget — det vitner om sterk pace-disiplin og mental styrke. Der pacingen på den friske 9. mars-økten føltes komfortabel, krevde den her mer; men Carl lot ikke trettheten forstyrre jevnheten. Pacestrategien var den samme rene, vedvarende terskelpacen — forskjellen lå i hva den kostet, ikke i hvordan den så ut.
Pulsbildet var kontrollert: hr_steady klatret fra 163,6 til 167,0 gjennom de fem dragene, med snittpuls 159 og makspuls 170. Inter-rep-driften på +2,8 bpm er lav — på overflaten en velkalibrert økt. Men laktatmålingen avslører den underliggende kostnaden. Lt(5) = 3,9 mmol etter siste drag (pace 3:49, hr 166) ligger over LT2-laktatet på 3,3. Til sammenligning lå laktatet på 4. mars (12×1000 @ 3:50) på 2,5, og på 11. mars på 2,6 — begge sub-terskel på samme pace. Her, en uke senere og 14 enheter dypere i TSB, kostet 3:50 nok til å presse laktatet over terskel.
Det er et viktig signal: pulsen alene (kontrollert, lav drift) skjuler at den metabolske kostnaden hadde steget. Det er ikke et tegn på dårlig form — det er et tegn på akkumulert tretthet etter en lang, hard build-fase. Carls aerobe kapasitet var fortsatt eksepsjonell (han holdt 3:50 jevnt), men reservene var tappet, og laktatet på 3,9 var kroppens beskjed om at det var tid for taper. At Carl leste dette (han målte laktat, kjente de tunge beina) og deretter gikk inn i nedtrappingen, var nøyaktig riktig respons.
Watten var jevn: 440–446 watt gjennom de fem dragene, et spenn på seks watt — 6,0 W/kg ved 74 kg. Kadensen klatret lett fra 180 til 184 spm. Den jevne watten bekrefter at Carl holdt en konstant mekanisk innsats — den ytre kraften var den samme som på de friske øktene. Det er nettopp dette som gjør laktatmålingen så informativ: samme watt og pace, men høyere laktat, betyr at den indre, metabolske kostnaden hadde steget. Power-kanalen ser identisk ut med peak-uka; det er bare laktatet som avslører trettheten.
Her er fatigue-signalet subtilt men tydelig — og det ligger i laktatet, ikke i de vanlige kanalene. Inter-rep-driften (+2,8 bpm) er lav, watten jevn, pacen metronomisk; på disse målene ser økten frisk ut. Men laktatet på 3,9 (mot under 2,7 en uke før, på samme pace) er det avgjørende tegnet: den metabolske reserven var tappet. Sammen med Carls subjektive «tunge ben» og den dypeste TSB-en i bygget tegner det et entydig bilde — kroppen hadde nådd bunnen av den produktive treningsdalen, og det var tid for nedtrapping. Dette er et lærebokeksempel på hvorfor laktatmåling er verdifullt: den fanger tretthet som puls og pace alene skjuler.
Mot peak-uka er kontrasten lærerik. 4. mars (12×1000 @ 3:50, laktat 2,5, skår 9.1), 9. mars (6×2000 @ 3:50, laktat 2,5, skår 9.2) og 11. mars (12×1000 @ 3:50, laktat 2,6, skår 9.5) viste alle 3:50-pace komfortabelt sub-terskel med negativ drift. 16. mars holder samme pace, men nå med laktat 3,9 og en dypere TSB. Forskjellen er ikke form — det er tretthet. At økten likevel scorer 8.8 (mot peak-ukas 9,1–9,5) reflekterer at gjennomføringen var sterk, men at den marginalt høyere driften og den supra-terskel-intensiteten plasserer den et lite hakk under de feilfrie peak-øktene. Den markerer slutten på build-fasen og inngangen til taperen.
TSB −16,6 plasserer dagen på bunnen av den produktive treningsdalen — den dypeste i bygget. CTL 92,5 viser at basen toppet her, ved kulminasjonen av treningsbelastningen. At de autonome markørene (HRV 77,9, hvilepuls 37) fortsatt var utmerkede mens laktatet steg, er et klassisk peak-build-fingeravtrykk: kroppen er i toppform aerobt, men de kortsiktige reservene er tappet. Dette var den siste store kvalitetsøkten 13 dager før Berlin — riktig plassert som avslutning på bygget, hvoretter taperen lar reservene fylles. Subjektivt — «tunge ben» — kjente Carl tydelig at det var tid for å trappe ned.
Det taktisk modne er todelt: å holde metronomisk pace på tunge ben, og å lese laktatet riktig. At Carl gjennomførte fem feilfrie 2000-metere til tross for den dypeste TSB-en viser sterk pace-disiplin. Men enda viktigere er at han målte laktat, fikk bekreftet at 3:50 nå var supra-terskel (3,9 mmol), og brukte det som signal til å gå inn i taperen. Det er intelligent, datadrevet treningsstyring — han presset ikke videre etter at kroppen hadde gitt beskjed. For treneren er dette et modelleksempel på hvordan laktatmåling skal brukes: ikke bare for å bekrefte god form, men for å fange når reservene er tappet og taperen bør begynne.
Eksekusjonen på 8.6 hviler på den feilfrie pacingen: fem 2000-metere på eksakt 3:49 gir høy uttelling, watt-stabiliteten løfter, og inter-rep-driften (+2,8 bpm) er lav. Andelen drag i terskelsone er full. Det som holder eksekusjonen marginalt under peak-ukas nivå er at intensiteten endte supra-terskel (laktat 3,9) — på en dypt sliten kropp kostet 3:50 mer enn det burde i en ideell terskeløkt. Kontekstscoren på 9.3 er svært høy: de utmerkede autonome markørene (HRV 77,9, hvilepuls 37) og den gode fasekoherensen gir nær full uttelling, selv på den dype TSB-en. Samlet 8.8 Sterk er en presis dom over en sterkt gjennomført økt på tunge ben — avslutningen på et imponerende build.
Det realistiske løftet her er ikke i utførelsen, men i timingen — og det er nettopp poenget. Hadde økten ligget på en friskere dag (grunnere TSB), ville 3:50 ligget sub-terskel som i peak-uka, og scoren nærmet seg 9,1–9,5. Men det ville motvirket build-fasens hensikt: denne økten skulle ligge dypt for å fullføre treningsbelastningen før taperen. Den «lavere» scoren er altså ikke en kritikk, men en korrekt registrering av at Carl hadde nådd bunnen av dalen. Det riktige neste steget var ikke en bedre økt, men hvile — som taperen leverte.
Dette var avslutningen på et imponerende build: fem feilfrie 2000-metere på 3:50, men nå på tunge ben med laktatet over terskel (3,9), på den dypeste TSB-en i hele bygget. Take-away for treneren er at laktatmålingen fanget trettheten som puls og pace skjulte — samme 3:50 som var sub-terskel i peak-uka kostet nå supra-terskel — og at Carl leste signalet riktig og gikk inn i taperen. For Berlin-prognosen var dette det siste store steget: bygget var fullført, kroppen var i toppform aerobt, og det som gjensto var å la taperen frigjøre reservene. Resultatet (1:21:19) bekreftet at både bygget og taperen traff.
| # | Distanse | Tid | Pace | HR snitt | HR maks | Kadens | Power |
|---|---|---|---|---|---|---|---|
| 1 | 2.00 km | 7:38 | 3:49/km | 156 | 166.0 | 90 | 446 |
| 2 | 2.00 km | 7:39 | 3:49/km | 159 | 166.0 | 90 | 442 |
| 3 | 2.00 km | 7:39 | 3:49/km | 160 | 168.0 | 91 | 440 |
| 4 | 2.00 km | 7:38 | 3:49/km | 160 | 170.0 | 91 | 440 |
| 5 | 2.00 km | 7:39 | 3:49/km | 161 | 168.0 | 92 | 440 |
| Dato | Distanse | Pace | Δ pace | HR | Δ HR | Score | Δ Score | Sko | Link |
|---|---|---|---|---|---|---|---|---|---|
| 2026-03-14 | 26.0 | 3:57 | — | 167 | -8 | 7.1 | +1.5 | Nike Vaporfly 4 | → |
| 2026-03-11 | 16.2 | 3:50 | — | 155 | +4 | 9.5 | -0.9 | ASICS Metaspeed | → |
| 2025-06-30 | 11.5 | 4:00 | — | 161 | -2 | 8.2 | +0.4 | Adidas Adios Pr | → |
| 2025-05-16 | 14.9 | 4:00 | — | 163 | -4 | 8.5 | +0.1 | Adidas Adios Pr | → |
| 2025-04-16 | 13.0 | 4:02 | — | 135 | +24 | 8.7 | -0.1 | Nike Alphafly P | → |
↑ grønn pace/HR = denne økt var raskere/lavere HR enn historisk · ↑ grønn score = denne økt var sterkere.
| Dato | RHR | HRV | Søvn | Stress |
|---|---|---|---|---|
| 2026-03-09 | 38 | 87 | 7.3 h | 17 |
| 2026-03-10 | 38 | 85 | 7.3 h | 18 |
| 2026-03-11 | 38 | 83 | 6.9 h | 20 |
| 2026-03-12 | 38 | 76 | 7.2 h | 19 |
| 2026-03-13 | 37 | 87 | 7.1 h | 21 |
| 2026-03-14 | 37 | 75 | 7.2 h | 17 |
| 2026-03-15 | 37 | 86 | 8.0 h | 19 |
| 2026-03-16 | 37 | 79 | 7.9 h | 20 |
python3 scripts/quality_session_recovery_response.py --date 2026-03-16 når 2-3 dager har gått.interval_long
| Type | Resultat | Vurdering |
|---|---|---|
| Inter-rep drift (rep1 → repN, steady-state) | 164 → 166 bpm (+2.8) | kontrollert |
| Intra-rep drift (første→siste 500m, snitt) | +26.9 bpm | utmattet |
| Metrikk | Verdi | Tolkning |
|---|---|---|
| Pa:HR-decoupling (Friel) | 3.7% | akseptabel |
| Time-in-zone (I3: 160-169 bpm) | 79% i / 20% under / 0% over | treffer |
| Etter rep | HR-slutt | HR 60s senere | Drop |
|---|---|---|---|
| Rep 1 | 163 bpm | 97 bpm | −66 bpm |
| Rep 2 | 165 bpm | 107 bpm | −58 bpm |
| Rep 3 | 165 bpm | 114 bpm | −51 bpm |
| Rep 4 | 167 bpm | 117 bpm | −50 bpm |
| Metrikk | I dag | Snitt 8 uker | Δ |
|---|---|---|---|
| Steglengde (cm) | 135.0 | 135.7 | -0.5% |
| GCT (ms) | 229.6 | 230.5 | -0.4% |
| Vertical Ratio | 7.0 | 7.0 | -0.1% |
| Vertical Oscillation | 9.2 | 9.1 | +0.1% |
| Rep | Distanse | Pace | PB-ref | % av PB-pace |
|---|---|---|---|---|
| 1 | 2.0 km | 3:49/km | 5K | 97.6% |
| 2 | 2.0 km | 3:49/km | 5K | 97.6% |
| 3 | 2.0 km | 3:49/km | 5K | 97.6% |
| 4 | 2.0 km | 3:49/km | 5K | 97.6% |
| 5 | 2.0 km | 3:49/km | 5K | 97.6% |
| Komponent | Verdi | Score (0-100) | Vekt |
|---|---|---|---|
| hrv | 79 | 100 | 35% |
| rhr | 37 | 100 | 25% |
| sleep_score | 88 | 88 | 15% |
| sleep_debt | — | 94 | 10% |
| stress | 20 | 60 | 10% |
| illness | — | 85 | 5% |
| Rep | Første halvdel | Siste halvdel | Δ | Pattern |
|---|---|---|---|---|
| 1 | 3:48/km | 3:43/km | -5s | negative_split |
| 2 | 3:52/km | 3:43/km | -8s | negative_split |
| 3 | 3:53/km | 3:49/km | -4s | negative_split |
| 4 | 3:57/km | 3:46/km | -11s | negative_split |
| 5 | 3:56/km | 3:47/km | -10s | negative_split |
| Type | CV% | Tolkning |
|---|---|---|
| Inter-rep CV (rep1 vs repN steady-state) | 0.8% | eksepsjonelt jevn |
| Intra-rep CV (første→steady→siste 500m) | 9.99% | normal ramp-up + steady |
python3 sync_all.py --log-session gir +0.5 til +2.0 score-bonus.| Komponent | Vekt | Vurdering | Score |
|---|---|---|---|
| pct_reps_in_zone | 30% | Alle 5 reps i sonen (160-169 bpm) ✓ | 10.0/10 |
| pct_quality_km_in_zone | 20% | 50% av km i sonen (50% inkl grace) | 7.0/10 |
| inter_rep_drift | 15% | +3 bpm rep1→repN | 9.5/10 |
| pa_hr_coupling | 15% | 3.7% decoupling — akseptabel | 7.5/10 |
| hr_recovery | 15% | Snitt-drop 60s: 56 bpm — sterk parasympatisk respons (god form) | 9.5/10 |
| pace_target_per_rep | 15% | 5/5 drag innen ±3s/km, 100% innen ±8s/km av drag-spesifikk target | 9.5/10 |