RBC GranFondo Whistler · 12 Sep 2026 · Build your own groups
Fifteen riders, two routes, one Sea to Sky Highway. Drag the clock and watch where everybody is. Distance, elevation and aid stations are parsed from the official course GPX. Everyone starts on their own. Put riders into the same group and they ride together, drafting, at that group's average power — then split at the kilometre you choose. Open ⚙ Riders to change anybody's numbers or add someone new.
Give a rider whatever you actually have — a ride they did (distance, climbing, moving time), a model FTP, a power-to-weight number, or the race model W directly. Everything else is derived: the sample is converted to model W, decayed along the fatigue curve (×0.85 per doubling of duration) to the length of this race, and run through the course. Changes are kept in this browser. The list scrolls — all fifteen riders are in it, Mccoy highlighted.
Distance, elevation and coordinates for both routes are parsed straight from the official GPX files: Gran Fondo 121.2 km, Forte Callaghan 146.4 km. Smoothed at a 200 m scale, total ascent works out to 2,411 m and 2,802 m — within 3% of the official RideWithGPS figures of 2,340 and 2,712. The ratio is almost identical on both routes (0.971 and 0.968), which is what says 200 m is the right smoothing scale. The gravity term is then scaled by that factor to land back on the official numbers.
The two routes split at km 106.6 (elevation 524 m): the Forte turns left and climbs Callaghan to 873 m — the high point of the day and the site of its last aid station — then comes back down the same 25.1 km to the same junction. Aid station positions were found by snapping the official station names (Horseshoe Bay, Britannia Beach, Alice Lake, Salt Shed, Brandywine, Callaghan turnaround) onto the route line.
Same model that was fitted to Mccoy's seven power-meter rides to within ±5%, rewritten as force per metre and solved for speed:
model W = (v/3.6) × [ 0.900 × grade(m/km) − 2.18 + 0.01935 × v² ]
Full effort uphill, soft-pedalling down (power tapers linearly to 25% as the road drops, speed capped at 68 km/h). The whole route is cut into 50 m pieces and solved piece by piece, so the 3% wall between km 70 and 80 genuinely slows people down.
One calibration you should know about. Solving segment by segment costs 8–13% more power than the bulk model does for the same finishing time, because drag goes as the cube of speed and a variable-speed ride is more expensive than a steady one (Jensen's inequality). So every rider's power is calibrated upward until they ride exactly their median predicted moving time. The multiplier runs from ×1.083 for Jim to ×1.132 for Steven — higher for slower riders, which is what physics says it should be. In other words: the estimate table owns the total time; this model only decides how that time gets spread along the road.
One number does all the work: the median moving time. Everything in the Riders panel is a different way of arriving at it, and they all pass through the same chain:
a ride they did → that ride's model W → decayed along the fatigue curve (×0.85 per doubling of duration) to the length of this race → race model W → moving time → + aid-station total = door to door. An FTP enters the chain at the 1-hour mark; a power-to-weight figure is converted to a model FTP first (model FTP = W/kg × 86 × kg / (kg + 9.5)); a race model W skips straight to the end.
The three routes agree, which is worth knowing. Feeding Mccoy's 19 Aug ride (100.6 km, 2,020 m, 5:10) gives 126 model W for that ride and 120 race model W. Entering his model FTP of 184 W gives 120. Entering 2.44 W/kg at 77 kg gives 122. Three independent inputs, the same answer — and the same numbers the estimate table was built on.
Two caveats. The decay exponent is borrowed: ×0.85 per doubling is anchored on one rider (Mccoy, 180 model W at an hour, 125 over 5:11). And a short sample extrapolated to a seven-hour race carries all of that assumption — a one-hour effort is a much weaker basis than a five-hour one.
The Forte is a small field and rolls out clean. The Gran Fondo releases thousands of riders from Stanley Park, and the first 10 km — Georgia Street, the Lions Gate Bridge, Taylor Way up to Hwy 1 — is where that field is still one solid block. Nobody rides their own pace through it.
The slider adds that cost, spread across those first 10 km so you can watch the bunch crawl rather than teleport. Default is 2 minutes for the Forte and 8 for the Gran Fondo. Set both to zero and you get the raw estimate-table times back — that table is built from a power model and has no notion of a crowd, so this is time nobody had counted.
It changes more than the finishing times — it changes who catches whom. Push the Gran Fondo number up and the four of them reel Steven in later and further up the road; push it far enough and they never catch him at all. One simplification worth naming: everyone in a wave loses the same minutes here, whereas in reality a fast rider loses more to a crowd than a slow one does.
The default is every rider on their own. Each one holds their median prediction, with the aid-station budget split evenly across the stops (Forte 25 min over 6 stops, Gran Fondo 20 min over 5 — both inside the five-minutes-per-stop rule). Forte starts at 06:05, Gran Fondo at 06:20. Check: with start congestion set to zero, all fifteen finishing times land within ±2 minutes of the median prediction — the residual is just rounding onto the 250 m grid.
Move riders into group A–F with the dropdowns and the model changes what it is simulating. A group of two or more rides together at the average of its members' model W, everybody drafting, up to the kilometre you set; after that each rider is back on their own power to the finish. A group of one is just a solo rider. The line under the controls reports, for every group, how many minutes each member gained or lost versus riding alone.
Two consequences worth watching for. Riders below their group's average are being towed above what they can hold — the model does not make them blow up, but a real race would. And a group whose members start in different waves leaves in the later wave: put a Forte rider in with Gran Fondo riders and he waits 15 minutes at the line, which the model charges him for. A mixed group also has to break up at the km 106.6 junction, because that is where the routes part.
This is the setting that mattered on the day. Nine Forte riders finished within four minutes of each other, and two rode away on their own — so the interesting question was never “how fast is each of them” but “who ends up riding with whom”.
The underlying estimate table says it plainly: the ordering is trustworthy, the absolute times are ±40 minutes. This simulator adds no certainty to that — it just spreads the table out along the road. What is not modelled at all: wind (Howe Sound usually has a headwind), weather, mechanicals, real queues at the aid stations, and above all who blows up on the climbs.
One known discrepancy: the estimate table lists 5 aid stations for the Forte and 4 for the Gran Fondo, but the official station names give five along the Sea to Sky plus the Callaghan turnaround. This page uses those real positions while holding the total stopped time fixed at 25 and 20 minutes, because the total is the number that actually went into the predictions.
A second one worth knowing: the fitted model's drag coefficient is on the low side — 111 W solves to about 29 km/h on the flat where reality is closer to 24. Total times are calibrated so finishing times are unaffected, but the model does run slightly fast on the flats and slightly slow on the climbs.