Run315

Race plan

2026-12-28 · 42.20 km

City Marathon

3:31:27 5:01 /km
Projected finish
+16:27 goal 3:15:00
Short of your goal
112 days to go
Trend -0.9% · your bias +0.6%

Race-day readiness

If you hold your current 66 load per day

+0
Form on race day · no taper
+17
Form with a 14-day taper
Fitness would still be 57.

Form above about +10 on the day is where most people race well. Cutting volume to roughly 55% for the last 14 days moves you from +0 to +17 without losing meaningful fitness.

The course

Attach the course and the pacing below stops being a guess about a flat road. Upload the organiser GPX, or point at a run where you covered the same ground.

Training block

16 weeks · peaks at 96 km in week 13

Built from what you are running now, not from a template. Volume rises across the block, backs off every fourth week, and the heaviest week lands just before the taper. Every session is a band off your own curve, so it stays right as you get fitter.

86%
Of the plan, actually run
2 of 16 finished weeks on target · 11/16 long runs done.

You are running 86% of what the plan asks, most weeks. That is worth taking seriously in the other direction: the race projections assume the training in the plan, so either the plan needs to come down to meet you, or they are optimistic.

Base Build Peak Taper
WeekPhaseVolume Long runKey sessions
1 · 16 to go Base 60 km 15.6 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
2 · 15 to go Base 63 km 16.4 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
3 · 14 to go Base 66 km 17.2 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
4 · 13 to go Base easy 48 km 12.6 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
5 · 12 to go Base 72 km 18.8 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
6 · 11 to go Base 75 km 19.5 km
Steady 4:35–4:51 /km
20-30 min continuous, comfortably hard
Strides 3:46–3:58 /km
6 x 20 s relaxed and fast off a jog
7 · 10 to go Build 78 km 23.5 km
Threshold 4:16–4:27 /km
3 x 8 min with 2 min jog
Intervals 4:00–4:12 /km
6 x 3 min hard with 2 min jog
8 · 9 to go Build easy 57 km 17.0 km
Threshold 4:16–4:27 /km
3 x 8 min with 2 min jog
Intervals 4:00–4:12 /km
6 x 3 min hard with 2 min jog
9 · 8 to go Build 84 km 25.3 km
Threshold 4:16–4:27 /km
3 x 8 min with 2 min jog
Intervals 4:00–4:12 /km
6 x 3 min hard with 2 min jog
10 · 7 to go Build 87 km 26.2 km
Threshold 4:16–4:27 /km
3 x 8 min with 2 min jog
Intervals 4:00–4:12 /km
6 x 3 min hard with 2 min jog
11 · 6 to go Peak 90 km 30.7 km
Race pace 4:35–4:51 /km
2 x 20 min at goal pace inside the long run
Threshold 4:16–4:27 /km
4 x 8 min with 2 min jog
12 · 5 to go Peak easy 65 km 22.2 km
Race pace 4:35–4:51 /km
2 x 20 min at goal pace inside the long run
Threshold 4:16–4:27 /km
4 x 8 min with 2 min jog
13 · 4 to go Peak 96 km 32.7 km
Race pace 4:35–4:51 /km
2 x 20 min at goal pace inside the long run
Threshold 4:16–4:27 /km
4 x 8 min with 2 min jog
14 · 3 to go Taper 72 km 18.0 km
Sharpener 4:16–4:27 /km
10 min easy, 6 x 90 s at race effort, 10 min easy
15 · 2 to go Taper 53 km 13.2 km
Sharpener 4:16–4:27 /km
10 min easy, 6 x 90 s at race effort, 10 min easy
16 · 1 to go Taper 34 km 8.4 km
Sharpener 4:16–4:27 /km
10 min easy, 6 x 90 s at race effort, 10 min easy

A schedule, not a prescription. It has no idea whether you slept, and the readiness read on the dashboard is the thing that should override it.

Fuelling

for 3:31:27 of running

60–90g/h
Carbohydrate
211–317 g over the race.
400–600ml/h
Fluid
To thirst, inside that range.
300–600mg/l
Sodium

60-90 g an hour, and above 60 g it has to be a glucose-and-fructose mix, roughly 2:1. Glucose transport saturates near 60 g/h, so taking more of a single-sugar gel mostly leaves it in your stomach.

Drink to thirst inside this range rather than to a schedule. Overdrinking dilutes your blood sodium, which is more dangerous than mild dehydration and does put runners in hospital every year.

Roughly when

AtTakeRunning total
8:24 22 g 22 g
25:11 22 g 44 g
41:58 22 g 66 g
58:45 22 g 88 g
1:15:33 22 g 110 g
1:32:20 22 g 132 g
1:49:07 22 g 154 g
2:05:54 22 g 176 g
2:22:41 22 g 198 g
2:39:29 22 g 220 g
2:56:16 22 g 242 g
3:13:03 22 g 264 g

Spaced evenly rather than crammed late: the gut empties at a rate, and a backlog does not clear once you are working hard. Nothing in the last ten minutes, because it would not be absorbed in time to matter.

For a race this long, 36-48 hours of high-carbohydrate eating beforehand measurably helps. It is about eating more carbohydrate, not more food -- and the training taper is what makes room for it. Aim for 8–12 g of carbohydrate per kilo of body weight per day, for the two days before.

These are the published consensus ranges (Jeukendrup 2014; the joint position stand of the Academy of Nutrition and Dietetics, Dietitians of Canada and the ACSM, 2016), not personal advice. Gut tolerance is individual and 90 g/h is a trained capacity rather than a starting point — practise it in training, never first on race day.

Split targets

Slightly negative — 1% steadier out, 1% quicker back

Checkpoint Projected Goal
5K 25:18 23:20
10K 50:37 46:41
15K 1:15:55 1:10:01
20K 1:41:13 1:33:21
25K 2:06:08 1:56:20
30K 2:30:57 2:19:12
35K 2:55:45 2:42:05
40K 3:20:33 3:04:57
Finish 3:31:27 3:15:00
, 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'); }); }
Static demo. A synthetic athlete, frozen to files — every page here is the real app rendering real analysis, but anything that writes (Garmin sync, adding a race, the coach review) is switched off, because a file server has nothing to write to. Source & how to run it for real.