Live Predictive Tracking
Live Predictive Tracking (LPT) is a Race Roster feature. Spectators see predicted progress on the course as you upload split times. RunScore does not compute the predictions. It uploads structured JSON with start times, finish times, race status, and one column per LPT split.
Unstructured (plain-text) uploads cannot drive LPT. For ordinary live results without tracking, see Publish Live Results.
Set up the Race Roster results race before or in parallel with RunScore. This section is the RunScore side: events, listing columns, and what you upload. For Race Roster dashboard steps, use the linked articles.
The listing Field Header must equal the Race Roster segment name. The event distance must match that segment, including at the mat/decoder. Event names can differ. One mismatch and that checkpoint does not drive tracking.
In this section
| Page | Description |
|---|---|
| Race Roster setup | Checklist and links. Skip if the results race already has LPT and segments |
| RunScore setup | Sample race, events, and listing columns that match those segments |
| Decoders | Each mat location is an LPT split |
| Publish Live Predictive Tracking | @AutoResultsLPT, auto-run, and verify |
What RunScore sends
Every upload should include the same columns. Empty cell if that athlete has no value yet (not started, not finished, split not hit).
Without a dummy status time of 0, RunScore only posts people who already have a split or finish. LPT then shows nothing until the first mat. See RunScore setup. Add estimated finish time on those rows so Race Roster can plot start → first split.
| Column | Required | RunScore source |
|---|---|---|
Chip start local (HH:MM:SS.MS) | Yes, if you have a start mat | Field after Event To Database (do not list the raw start event) |
Gun start local (HH:MM:SS.MS) | Optional fallback when there is no start-mat read | Event GunStart or a gun field |
| Gun time | Yes | Elapsed finish; field or Finish minus GunStart |
| Chip time | Yes | Elapsed finish; field or Finish minus ChipStart |
| One column per LPT segment | Yes | Field or Event. Field Header = RR segment name. Clock time or elapsed — match the Race Roster setting |
| Race Status | Yes | RUNNER STATUS from @CalcStatus (STARTING / IN_PROGRESS / COMPLETE) — see RunScore setup |
| Bib, name, and/or team | Yes | Database fields |
| Estimated finish time | Optional, send it | Registration question → Estimated field. Plots people before the first split (e.g. 1k) |
| Division, city, places | Optional | Database fields |
Race Roster maps columns by header label, not by segment id.
Cumulative (most road races): split elapsed time is start line → this checkpoint. Interval (duathlon, laps): previous segment → this one. Some Race Roster races expect clock time of day instead. Send the same kind of value Race Roster is configured for.
Start-mat reads are noisy. Copy event → field, then upload the field. See RunScore setup.
Related
- How to Set Up Predictive Tracking For My Event (Race Roster)
- How to Set Up Predictive Tracking Using Estimated Finish Times (Race Roster)
5K10KHalf-LPT— dedicated Live Predictive Tracking sample race