How to make an ultra pace chart with aid station splits

To make a pace chart for an ultra, list the organiser's aid stations with their kilometre, climbing and cut-off, take your planned stops off your target time, and share the rest between the legs by how hard each one is: each leg gets the share of the moving time that its flat-equivalent distance is of the whole course. Shared by distance alone, the chart puts you at the top of the climbs too early and makes cut-offs look safer than they are. On the OCC's 2026 course, a plan that uses the whole 14:30 time limit, with no stops, reaches Trient 20 minutes before its cut-off by distance and 3 minutes before it by terrain.

TL;DR

  • Share the time by terrain, not distance: take the stops off the target, then give each leg the share of the moving time that its flat-equivalent distance is of the course.
  • On the OCC 2026, Trient to Col de Balme is 16 % of the distance and 20 % of an even effort. Over the 14:30 time limit, a distance-only chart puts you at the col 53 minutes early.
  • The tightest cut-off isn't always the one a distance chart shows: on the OCC, at an even effort with no stops, any finish slower than 14:38 misses Trient.
  • Where the rule is to leave by the cut-off, as in UTMB Mont-Blanc's 2026 regulations, the stop you plan there comes off the margin.

What goes in an ultra pace chart?

A pace chart has one row per aid station: where it is, what the leg to it holds, when you plan to get there and how much time that leaves before its cut-off. Take the rows from the organiser’s course table for the edition you’re running:

  • Aid station and kilometre, as the organiser gives them.
  • The leg: its length, climb and descent.
  • Stop: the minutes you plan to spend there.
  • Arrival: race time since the start and, with a start time, the clock.
  • Cut-off and margin: the barrier, and how far ahead of it you plan to be.

Every column is copied or chosen except the split times, which decide every arrival.

Where do the split times come from?

The pace charts and calculators that rank for this question take their split times from the distance alone or from other runners’ races; none reads the terrain of each leg from the organiser’s GPX:

Method How each split is made What it misses
Even pace Target time shared by distance The climbs
Editable splits An average pace, then you slow the legs you expect to hike The terrain is your guess
Past finishers Their averaged splits, scaled to your goal A new or changed course; their stops and fade

Marathon Handbook’s 100K chart uses one pace and suggests you “add 5–15 seconds per mile on hilly courses vs a flat reference” (Marathon Handbook). Multiday Running’s cut-off planner “applies one moving pace across the course”, which “makes the arithmetic transparent, but not terrain-aware” (Multiday Running). Endurance Grid says “the editable splits are where you plan the real day” (Endurance Grid).

Andrew Skurka’s tutorial uses official splits where a race publishes them, and otherwise past finishers’ files on Strava, scaled to his goal: “I simply add 5.0 percent to the average splits of my chosen runners” (Skurka, 2017). That needs runners on the same course, and “the data available on Strava is insufficient to get an in/out time at aid stations”.

How do you share a target time by terrain?

Take the stops off the target, convert each leg into flat-equivalent kilometres, and give each leg the share of the moving time that its flat kilometres are of the course’s total. Flat-equivalent distance is the flat distance that would take as long as the course at the same effort (how Pendio measures courses).

  1. Moving time = target time − all planned stops.
  2. Each leg in flat kilometres: every stretch counts its length times a factor for its grade. In Pendio’s model, at the same effort a kilometre at +10 % takes 1.55× as long as on the flat, at +20 % 2.52×, at −10 % 0.87× and at −20 % 1.16× (guide).
  3. Leg time = moving time × the leg’s flat km ÷ the course’s flat km.

Each arrival is then the leg times and stops before it, added up. The grade-adjusted pace (GAP, the flat pace for the same effort) is the same on every leg; the real pace follows the ground. The model and its sources are in trail running calculators. The free GPX course analyzer gives a whole course’s flat-equivalent distance; a race plan splits it by leg.

What does terrain change on a real ultra?

On the OCC’s 2026 course, sharing the time by terrain instead of distance moves the arrival at Col de Balme by 53 minutes. The course runs from Orsières to Chamonix with a 14:30 time limit from an 08:15 start; the organiser’s header gives 60 km and 3,500 m (UTMB Mont-Blanc), its course table 61.2 km and 3,342 m. Pendio’s OCC course page measures the organiser’s GPX at 83.2 flat-equivalent km and gives each leg’s share:

Leg km ↑ / ↓ m Share of the distance Share of an even effort
Orsières → Champex-Lac 7.3 ↑649 ↓97 12 % 13.9 %
→ Plan de l’Au 4.8 ↑80 ↓207 8 % 5.7 %
→ Trient 11.8 ↑804 ↓841 19 % 21.4 %
→ Col de Balme 9.7 ↑1,071 ↓170 16 % 20.0 %
→ Argentière 16.7 ↑555 ↓1,503 28 % 25.5 %
→ Chamonix 10.9 ↑183 ↓403 18 % 13.4 %

TODO(verify): the aid stations’ kilometres, climbing and cut-offs here and below are the organiser’s 2026 course table as Pendio’s OCC page read it on 17 October 2026; the table didn’t load in this draft’s fetch of the organiser’s page.

Shared over the whole 14:30 with no stops, in race time since the start:

Aid station (km) Cut-off Arrival, shared by distance Arrival, shared by effort Margin by effort
Champex-Lac (7.3) – 1:44 2:01 –
Plan de l’Au (12.1) 3:00 2:52 2:51 0:09
Trient (23.9) 6:00 5:40 5:57 0:03
Col de Balme (33.6) 9:15 7:58 8:51 0:24
Argentière (50.3) 13:00 11:55 12:33 0:27
Chamonix (61.2) 14:30 14:30 14:30 0:00

At Trient, by distance: 14:30 × 23.9 ÷ 61.2 = 5:40; by effort: 14:30 × 41.0 % (the first three legs’ shares) = 5:57. The distance chart gives the climb from Trient to the col 2:18; at the effort of the rest of the race it takes 2:54.

How tight is each cut-off?

Each cut-off allows a slowest finish: the cut-off divided by the share of the effort done by then, at an even effort with no stops (how Pendio measures courses). The smallest result is the tightest cut-off; on the OCC it’s Trient, which a distance chart doesn’t pick:

Cut-off Slowest finish that makes it, by distance By effort
Plan de l’Au, 3:00 15:10 15:18
Trient, 6:00 15:22 14:38
Col de Balme, 9:15 16:51 15:09
Argentière, 13:00 15:49 15:01
Chamonix, 14:30 14:30 14:30

By distance, every cut-off is at least 40 minutes looser than the finish. By effort, Trient is the tightest: 6:00 ÷ 41.0 % gives 14:38, eight minutes looser than the time limit. It’s arithmetic on the organiser’s cut-offs, not a prediction: it shows where a slow day runs out of time first.

Then check the rule. UTMB Mont-Blanc’s 2026 regulations say “all participants must leave the check point/aid station before the cut-off time (whatever their time of arrival at the check point)” (UTMB Mont-Blanc). Pendio’s race plan shows the margin at arrival: “+1:24 means you’re planned to arrive 1 hour 24 minutes before the cut-off” (guide). Where the rule is departure, take the stop you plan there off it.

When should the chart not be even?

An even-effort chart has two blind spots: the surface, and the way you slow down.

  • The surface. The model reads the slope, not the ground. It is a fit to Strava’s heart-rate-based GAP model, and Strava says its GAP “does not account for the technical difficulty or condition of the terrain” (Strava Support). On a rocky or muddy leg, the chart knows only the gradient.
  • Your fade and the dark. Pendio’s race plan has two optional factors, off by default: fatigue drift (“x %/h after n h”) and a night factor (× 1.15: every kilometre in the dark takes 15 % longer). Neither moves the finish; to keep the target, the rest of the race gets a little quicker (guide). The guide suggests them when you know your own pattern from past races.

How do you turn the chart into a pace card?

In Pendio, the chart is the race plan on pendio.app/app, and the pace card is its one-page PDF (guide):

  1. Get the course. Import the organiser’s GPX, or press Add to Pendio on a race course page to bring the organiser’s aid stations and cut-offs as a race plan you can edit. Reading the file first: race elevation profile from a GPX.
  2. Set the target and the start: the target time in the Fueling card, then the start date, time and the race’s UTC offset, so every arrival gets a clock time.
  3. Fill in each waypoint: the minutes you plan to stop, and the cut-off, after the start or as a clock time.
  4. Save PDF: one row per stop, with the leg’s distance, climb and descent, moving time and pace, arrival, cut-off and margin, and the gels to eat on the way.

The iPhone app shows the plan read-only and makes the same card from its Pace card PDF button (guide).

Sources

Questions

What target time should I put on my ultra pace chart?

One you choose: Pendio doesn't guess how fast you'll be. Its race plan takes the target you type and shares it out over the course at one even effort, so the climbs simply take longer (guide). The cut-off margins then show how much time that target leaves in hand.

Why does my pace chart give a steep descent more time than the flat?

Because steep descents are slow at the same effort. In Pendio's model, downhills count for less than their length down to about −16 % and for more beyond it (GPX course analyzer): a kilometre at −10 % takes 0.87× as long as on the flat, at −20 % 1.16× (guide).

The bottom line

A pace chart is only as good as its split times. Take the aid stations and cut-offs from the organiser's course table for your edition, take your stops off the target, and share the moving time by each leg's flat-equivalent distance. Then find the tightest cut-off by effort, and check it at the time you leave if that's the race's rule. A race plan at pendio.app/app does the sums and prints the card.