Mot de passe oublié? S'inscrire
Backyard Ultra

The example file is at the bottom of this article!

A backyard ultra is an endurance running event that challenges participants to complete a set distance, usually a loop course, within a specific time frame, typically one hour. The unique aspect of this race is that it repeats indefinitely, with participants starting a new loop every hour. If a participant completes a loop within the hour, they rest until the next hour begins, and then they start the next loop. The race continues until only one participant remains able to complete the loop within the hour, and that participant is declared the winner.

For this kind of race, the special results are the tool to use to run the proper calculations for the whole event.

MULTI-DAY EVENTS Settings

The first setting to apply is on the event date: since participants may run for more than 24 hours, it is mandatory to select a Date Until (under Basic Settings > Event Settings)

in order to unlock the section MULTI-DAY EVENTS under the Timing > Chip Timing.

Define the timing points

In this example, we will use 3 different timing points: one decoder for the start/lap detection and 2 more decoders for 2 additional timing points on the course, which will be used as a check to check that all participants run the whole loop.

Build the Special Results

Since we are not going to use the official T0 the following settings are un-ticked to have a better control of all the special results.

The T0 under Timing > Settings > Start Times / Finish Time Limit can be left to 00:00:00.

Dynamic Start Times

To define the start time of each lap, we need first to create a reference for the race start. 

In T101 we store 10:00:00, which is the start time of the race.


In results T102-T106 we will store the start times of the next 6 yards (example has to be expanded accordingly!), which will be calculated dynamically for each participant, based on the calculation entered for those results: the time will be, indeed, calculated only if the participant finished the previous yard (T300X) in less than 1 h (3600 seconds). 

To calculate the finish time of each yard, we need first to get all the right detections from our timing points.

Start, Checkpoint 1, Checkpoint 2 and Finish Detections

Since the current record for Backyard Ultra is 102 yards, our advanced results should be set by considering future developments: that's why we choose to store the Start/CP1/CP2/Finish detection at least 200 IDs apart from each other.

Start Detections T1001-T1006

For the Start, we always take the last detection between 10 s before and 30 s after the dynamic statr time of each yard. This ensures a chip detection is also captured for those who start slightly before or after the official start. For the calculation of the Yard Time, we will be taking the OfficialStart - the chip detection is used as a check.

CP 1 Detections T1201-T1206

For the first checkpoint, we consider valid the first read after the start of the respective yard, thus we set the reference with the relative Start Detection.

CP 2 Detections T1401-T1406

For the second checkpoint, we consider valid the first read after the first checkpoint of the respective yard, thus we set the reference with the relative CP1 Detection: this ensures that participants are running with the right course-direction and not in reverse.

Finish Detections T2001-T2006

For the finish detections, we have chosen to keep a bigger gap with the result IDs in order to have enough room in case the organizer wants to have extra checkpoints on the course.
In this case, for the finish, we consider valid every detection which occurs after at least 20 min from the Start Detection and before the end of the hour. For an extra-control, it could also be possible to reference the finish detection directly with the CP2 detection. 

Time Calculations

Now that we have all the detections, we can run our calculations for the run time of each yard, the running time of each checkpoint and the rest time that each athlete has after the conclusion of each yard. Once again, we keep the same IDs gap between the different calculations, in order to have consistency with the other results and to have enough room for development.

Yard Time

For calculating the time of each yard, we need to take each finish detection and subtract the relative official start time. In case the finish detection is missing (participant didn't complete the run, or participant finished the run above the time-limit) the Yard Time won't be calculated at all.

CP1 and CP2 running Time

For these, we subtract the CP detections with the relative start detection of each yard.

Rest Time

For the rest time, we calculate it by subtracting the next yard start time with the current finish detection. In this way, we are able to know how much time each athlete can spend resting before the next yard start.

Summary of results

With these functions, we can store all the info we may need for our output lists. 

Note that the CurrentYard result (ID7) stores the number of yards ran by the leading participant: this will be extremely useful for calculating automatically the status of every participant during the event.
The YardStarted (ID8) stores the number of Yards started by each participant and NumberOfYards (ID6) the number of Yards completed.

Displaying Results

With all the results calculated, we can now focus on result presentation.

Final List

To automatically set the status DNF to all participants who didn't start the round on time, it is possible to create a User Defined Function with the following formula:

AutoStatus(x): switch([Status]>0;WithStatus();[Status]=0 AND T6<T7;"DNF";1;[x])

Trying to put the formula in words; if the status of a participant is already set to something other than regular ([Status]=0), their status will be displayed straight forward. In case the status is regular (0) and the NumberOfYards of that participant (T6) is smaller than the number of yards ran by the leading participant (T7), then we will automatically display "DNF"; for all other scenarios, we will display the field we want to show.

Final List

In this list, we want to display all participants who have started the race or if they have a status different from regular.
For that, we apply in the filter the following conditions:

where [Started] refers to the result selected under Basic Settings > Contests

To order participants properly, we sort by OverallRank.

Detail List

For showing each yard for each participant, we can prepare a detailed list by using the record multiplier [NumberOfYards] which will create one line for each yard completed by each participant.
By referring to the row number via {n}, we can call each calculated time and with the format() function, we can show the times in the preferred format.
Two images are also added based on the fastest and slowest yard completed: these refer to the row number and the values stored in the advanced results T3 and T5.

Live List

In the live list, we display the current position of each participant (Last Seen column), with the relative Time of Day (ToD) and Gap from the first participant.

  • BYU Template 2025.ses
×

Vous avez une question ?

Notre équipe se fera un plaisir de vous conseiller personnellement.

Contactez-nous!

L'équipe de RACE RESULT se fera un plaisir d'évaluer vos besoins, de résoudre vos problèmes et de répondre à toutes vos questions. N'hésitez pas à nous contacter via le formulaire prévu à cet effet.

Si vous avez une question du support, veuillez ajouter votre id d'événement !

J'ai lu les conditions de confidentialité des données.