How Heats Are Scheduled

RallyLab generates heat schedules automatically, ensuring every participant runs every lane for a fair competition. Here's how it works.

After the heats → How Scoring Works

The Goal: Fair Lane Assignment

Pinewood derby tracks aren't perfectly symmetrical. Some lanes are faster than others due to slight differences in the surface, curve radius, or alignment. If one participant always races on the fast lane and another always gets the slow one, the results don't reflect the cars — they reflect the lane assignment.

RallyLab solves this by scheduling heats so that every participant runs on every lane exactly once. With a 6-lane track and 12 participants, that means 12 heats of 6 cars each — and after all 12 heats, every participant has raced 6 times (once per lane), and every lane advantage or disadvantage is shared equally.

Bottom line: No participant gets an unfair lane advantage. The schedule guarantees it mathematically.

How It Works

The scheduler uses a cyclic method that produces a perfectly balanced schedule. In each heat, participants rotate through lane positions so that every combination of participant and lane appears exactly once.

Here's what a schedule looks like for 8 participants on a 6-lane track:

         Lane 1  Lane 2  Lane 3  Lane 4  Lane 5  Lane 6
Heat 1:  Car 1   Car 2   Car 3   Car 4   Car 5   Car 6
Heat 2:  Car 2   Car 3   Car 4   Car 5   Car 6   Car 7
Heat 3:  Car 3   Car 4   Car 5   Car 6   Car 7   Car 8
Heat 4:  Car 4   Car 5   Car 6   Car 7   Car 8   Car 1
Heat 5:  Car 5   Car 6   Car 7   Car 8   Car 1   Car 2
Heat 6:  Car 6   Car 7   Car 8   Car 1   Car 2   Car 3
Heat 7:  Car 7   Car 8   Car 1   Car 2   Car 3   Car 4
Heat 8:  Car 8   Car 1   Car 2   Car 3   Car 4   Car 5

Each participant appears in exactly 6 heats (once per lane) and sits out 2 heats. Reading down any column, every participant appears exactly once. Reading across any row, all 6 cars are different.

When perfect balance isn't possible

The cyclic method works beautifully for most roster sizes. For others (certain combinations of participant count and lane count), RallyLab falls back to a balanced heuristic that gets as close to perfect as mathematically possible. The guarantee in this case: no participant runs on any lane more than once more than any other lane. That's as fair as it gets.

Alternate lane configurations

Scout Trucks (wider cars) often use every other lane — lanes 1, 3, and 5 on a 6-lane track. The scheduler handles this transparently. It assigns participants to the available lanes only, producing 3 races per participant instead of 6. The same fairness guarantee applies.

If a lane sensor fails mid-event, the Operator can disable that lane. The scheduler regenerates the remaining heats using the reduced lane set, and every participant still gets equal time on the lanes that are working.


Speed Matching

After the first round of heats (where every participant runs every lane), RallyLab knows each car's average speed. For the second round, it groups participants by similar speed so that heats are closer, more competitive, and more exciting to watch.

Slow cars race first, fast cars race last

Within each round, RallyLab schedules the slowest group first and the fastest group last. This builds excitement through the event — the crowd sees progressively faster racing as the section reaches its conclusion.

Speed matching is automatic and optional. It uses the same lane-balance guarantees as the initial schedule — every participant still races every lane within their speed group. If a heat was re-run, only the final accepted result counts toward speed grouping.


What Happens Mid-Rally

A car breaks down or is removed

If a car can't continue racing, the Operator removes it. RallyLab regenerates the schedule for the remaining heats with the smaller roster. Completed heats are not affected — the removed car's partial results are preserved and appear on the leaderboard (marked as incomplete).

A late arrival checks in

If a participant arrives after racing has started, RallyLab handles it in two steps:

  1. Catch-up heats are inserted immediately — the late arrival races right away on each lane they missed, so they're not stuck waiting.
  2. The remaining schedule regenerates to include the new participant in group heats going forward.

The catch-up times count toward the participant's scoring average just like any other heat, so they're not at a disadvantage.


How Many Heats Will There Be?

The number of heats depends on the roster size and lane count. A rough formula: one heat per participant per round. For a typical section with 12 participants on 6 lanes:

At roughly 2 minutes per heat (including car loading and gate reset), a 12-participant section takes about 50 minutes for two full rounds. Larger rosters take proportionally longer — for sections over 100 participants, consider splitting into multiple sections.

Minimum roster: At least 2 participants are needed to schedule heats. A single participant can't race alone.

Related