This is part of a multi-post tutorial on creating a pace chart for an ultra marathon. Start with the Introduction, or skip to a specific section:
Unless you have created a pace chart for an ultra marathon before or found a template online, the process begins with a blank spreadsheet. Personally, I use Google Sheets, a free platform that is easily shareable and that I can access from all of my devices (e.g. desktop, Chromebook, smartphone).
Critical data
I start by importing data about the course, specifically at least:
- Important landmarks;
- Cumulative distance for each landmark; and,
- Split distances between each landmark.
In a normal ultra, which is heavily supported, my list consists exclusively of aid stations. In a less supported race, I might also include geographic features like stream crossings or passes in order to create more regular checkpoints.
Data sources
Most race organizations will post a list of aid stations and cumulative distances. If it’s shared as a spreadsheet or a table, the data can be easily copied and pasted into the spreadsheet, and then formatted to your liking. If not, it must be tediously entered manually.
Split distances are usually not included with the official information. It’s not a big deal: they can be easily calculated with a formula using the cumulative distances. Actually, I would recommend doing this anyway — I’ve found errors in official split distances before.

Screenshot of aid station list for Silverheels. Split distances between stations is not provided, but can be easily calculated using the cumulative data.
Secondary data
I import other aid station information, too, like:
- Available supplies and services,
- Crew access points,
- Drop bag locations, and
- Pacer pickup opportunities.
Some of this information may not be relevant in every race or to me. For example, at Bighorn this weekend I don’t have a crew and I’m not using a pacer. But I’d rather collect the data now and choose not to use it later.
Finally, consider adding the elevation of each landmark. This bit of data may provide an estimate of the vertical change between two landmarks, so long as the course is consistently up, down, or flat, not undulating. More reliably, it helps hone your expectations — by looking at your altimeter, you’ll know if the aid station might be right around the corner, or if you still need to climb another 400 vertical feet.

At the end of Step 1, your pace chart should look something like this. Key landmarks with cumulative and split distances, plus perhaps other information like elevation and services.
Data accuracy
I’m generally skeptical of the accuracy of official course information. How many race organizations have walked every step of their course with a commercial-grade GPS, ideally as many times necessary until they have produced two identical readings for each segment of the course?
In more cases, I think the official race data is based on less accurate consumer-grade GPS units, GPS sport watches, bike odometers, and even car odometers; or they rely on measurements made in a mapping program (e.g. Caltopo) or on data in the public domain (e.g. trail forums and databases).
Even if the course data were precise, it is unlikely to match the data displayed by your GPS sport watch, e.g. Suunto Ambit or Garmin Fenix 5. Some models are better than others, but all of them will come up short or long relative to the true distances (which means that pacing data will be off, too).
You might think that you could eliminate one source of data inaccuracy by using course data recorded by the exact same watch that you have. Two identical watches will measure the course identically, right? Not necessarily. In fact, I’ve seen the same watch record differently the same trail on the same run when the runner traced back their route.

This track of the Bighorn 100 course (and out-and-back) was recorded by the same GPS watch. If the watch recorded the course reliably, only one line would be visible, not two. Be aware that the pace chart will be somewhat inaccurate, due to inaccurate course data and inaccurate GPS sport watches.
As an analytical person, I have a natural preference to be exact with everything. But due to the limitations of the source data and my GPS watch, I have learned to accept functional accuracy when developing a pace chart. It’s an extraordinarily useful guide during a race, but I also expect to find some degree of imprecision.