Your interval pace right now
From the fitted curve, not a lookup table
Reps should be landing between 4:00 and 4:12 /km. Sessions below are marked against that.
Progression
Same rep distance, over time
Every session
Newest first
| Date | Session | Avg rep | Spread | Fade | Recovery | Reps |
|---|---|---|---|---|---|---|
| 2026-09-02 | 8 reps, 550-850 m | 3:38 /km | ±0.0% | -0.0% | 3:44 | |
| 2026-08-26 | 7 x 800 m | 3:40 /km | ±0.0% | -0.0% | 3:46 | |
| 2026-08-19 | 7 reps, 175-875 m | 3:40 /km | ±0.0% | -0.0% | 3:35 | |
| 2026-08-12 | 8 reps, 300-800 m | 3:43 /km | ±0.0% | +0.0% | 3:50 | |
| 2026-08-05 | 6 x ~860 m | 3:43 /km | ±0.0% | -0.0% | 3:38 | |
| 2026-07-29 | 7 reps, 200-875 m | 3:43 /km | ±0.0% | -0.0% | 3:38 | |
| 2026-07-22 | 6 x ~860 m | 3:46 /km | ±0.0% | +0.0% | 3:41 | |
| 2026-07-15 | 6 x ~860 m | 3:44 /km | ±0.0% | +0.0% | 3:39 | |
| 2026-07-08 | 6 x ~850 m | 3:49 /km | ±0.0% | -0.0% | 3:44 | |
| 2026-07-01 | 7 reps, 325-875 m | 3:43 /km | ±0.0% | -0.0% | 3:38 | |
| 2026-06-24 | 6 x ~860 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2026-06-17 | 6 x ~860 m | 3:45 /km | ±0.0% | -0.0% | 3:40 | |
| 2026-06-10 | 6 x ~860 m | 3:43 /km | ±0.0% | +0.0% | 3:38 | |
| 2026-06-03 | 6 reps, 775-875 m | 3:46 /km | ±0.0% | +0.0% | 3:41 | |
| 2026-05-27 | 7 reps, 300-875 m | 3:45 /km | ±0.0% | +0.0% | 3:40 | |
| 2026-05-20 | 7 reps, 400-800 m | 3:43 /km | ±0.0% | -0.0% | 3:49 | |
| 2026-05-13 | 7 reps, 600-800 m | 3:40 /km | ±0.0% | +0.0% | 3:47 | |
| 2026-05-06 | 6 x ~860 m | 3:42 /km | ±0.0% | -0.0% | 3:37 | |
| 2026-04-29 | 6 reps, 425-875 m | 3:40 /km | ±0.0% | -0.0% | 3:36 | |
| 2026-04-22 | 6 reps, 475-875 m | 3:38 /km | ±0.0% | -0.0% | 3:33 | |
| 2026-04-15 | 7 reps, 300-875 m | 3:39 /km | ±0.0% | -0.0% | 3:34 | |
| 2026-04-08 | 6 x ~860 m | 3:38 /km | ±0.0% | -0.0% | 3:34 | |
| 2026-04-01 | 6 x ~860 m | 3:41 /km | ±0.0% | -0.0% | 3:36 | |
| 2026-03-25 | 5 x ~860 m | 3:38 /km | ±0.0% | -0.0% | 3:33 | |
| 2026-03-18 | 6 reps, 775-875 m | 3:40 /km | ±0.0% | +0.0% | 3:35 | |
| 2026-03-11 | 5 x ~860 m | 3:39 /km | ±0.0% | +0.0% | 3:34 | |
| 2026-03-04 | 6 x ~860 m | 3:41 /km | ±0.0% | +0.0% | 3:36 | |
| 2026-02-25 | 7 reps, 400-800 m | 3:42 /km | ±0.0% | -0.0% | 3:48 | |
| 2026-02-18 | 5 x ~860 m | 3:42 /km | ±0.0% | +0.0% | 3:37 | |
| 2026-02-11 | 6 x ~860 m | 3:41 /km | ±0.0% | +0.0% | 3:36 | |
| 2026-02-04 | 6 x ~860 m | 3:43 /km | ±0.0% | +0.0% | 3:38 | |
| 2026-01-28 | 6 x ~860 m | 3:39 /km | ±0.0% | -0.0% | 3:34 | |
| 2026-01-21 | 6 x ~860 m | 3:42 /km | ±0.0% | -0.0% | 3:38 | |
| 2026-01-14 | 6 x ~860 m | 3:42 /km | ±0.0% | +0.0% | 3:37 | |
| 2026-01-07 | 5 x ~860 m | 3:43 /km | ±0.0% | +0.0% | 3:38 | |
| 2025-12-31 | 5 x ~860 m | 3:42 /km | ±0.0% | -0.0% | 3:37 | |
| 2025-12-24 | 6 reps, 675-875 m | 3:45 /km | ±0.0% | +0.0% | 3:40 | |
| 2025-12-17 | 6 reps, 750-875 m | 3:47 /km | ±0.0% | +0.0% | 3:42 | |
| 2025-12-10 | 6 reps, 400-875 m | 3:42 /km | ±0.0% | +0.0% | 3:37 | |
| 2025-12-03 | 6 reps, 475-875 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-11-26 | 5 x ~860 m | 3:47 /km | ±0.0% | -0.0% | 3:42 | |
| 2025-11-19 | 6 x ~860 m | 3:47 /km | ±0.0% | -0.0% | 3:42 | |
| 2025-11-12 | 5 x ~860 m | 3:46 /km | ±0.0% | +0.0% | 3:41 | |
| 2025-11-05 | 5 reps, 625-875 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-10-29 | 5 reps, 700-875 m | 3:45 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-10-22 | 5 x ~860 m | 3:45 /km | ±0.0% | -0.0% | 3:40 | |
| 2025-10-15 | 5 reps, 175-875 m | 3:45 /km | ±0.0% | -0.0% | 3:40 | |
| 2025-10-08 | 5 x ~860 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-10-01 | 5 reps, 775-875 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-09-24 | 6 reps, 325-875 m | 3:46 /km | ±0.0% | -0.0% | 3:41 | |
| 2025-09-17 | 5 reps, 300-875 m | 3:50 /km | ±0.0% | -0.0% | 3:45 | |
| 2025-09-10 | 5 x ~860 m | 3:49 /km | ±0.0% | -0.0% | 3:44 |
Spread is how even the reps were — 0% is metronomic. Fade compares the second half of the set with the first; negative means you finished faster than you started.
, so the check has to wait for the parsed document. addEventListener('DOMContentLoaded', function () { try { var dm = ['standalone', 'minimal-ui', 'fullscreen', 'window-controls-overlay']; if (!document.getElementById('frozen-note') && (navigator.standalone || dm.some(function (m) { return matchMedia('(display-mode: ' + m + ')').matches; }))) { var pk = 'portal-installed', reg = JSON.parse(localStorage.getItem(pk) || '{}'); reg.Run315 = Date.now(); localStorage.setItem(pk, JSON.stringify(reg)); } } catch (e) { /* private mode - ignore */ } }); // Installable, and readable on the train. See templates/sw.js. if ('serviceWorker' in navigator) { addEventListener('load', function () { navigator.serviceWorker.register('/Run315/sw.js'); }); }