Skip to content
DocsValidation Data

Benchmark Results — August 2026

Source-quality-weighted sweep results across 250 published benchmarks (276 matched to a catalog bike). Metrics, per-cluster bias, and methodology. Last updated 8 August 2026.

Open the interactive accuracy explorer

Aggregate Metrics (276 matched benchmarks)

0.263s
Weighted |Δ|
0.200s
Median |Δ|
+0.007s
Weighted bias (sim − real)
±0.007s
Top-10 mean error
75/276
Within ±0.10s
138/276
Within ±0.20s
224/276
Within ±0.50s
256/276
Within ±1.00s

Reference Baselines (hand-calibrated)

Three reference bikes from defaults.py are hand-calibrated and excluded from the ALL_KNOWN_BIKES auto-reseed. They serve as regression anchors — if any code change moves these by more than ±0.02s, something is wrong.

GSX-R 1000 K5 (2005)
9.970s
9.933s
-0.037s
YZF-R1 4C8 (2007)
10.300s
10.144s
-0.156s
Hayabusa Gen1 (1999)
10.350s
10.363s
+0.013s

Top 10 Most Accurate Bikes

The 10 smallest residuals across the matched corpus — top-10 mean absolute error ±0.007s. Sources: Cycle World, Sport Rider, MCN, Motorcycle Consumer News. One row (rank 3) is a DERIVED estimate and is flagged as such. Conditions: race fuel, professional rider, ideal strip.

#1Kawasaki ZRX1200R
-0.001s
Year
2001
Target
10.85s
Sim
10.85s
1164cc I4 · Cycle World 2001
#2Honda CBR650R E-Clutch
+0.002s
Year
2024
Target
11.45s
Sim
11.45s
649cc I4 · MotoStatz (instrumented)
#3BMW S 1000 RR
+0.004s
Year
2015
Target
9.90s
Sim
9.90s
999cc I4 · Cycle World 2015
#4Triumph Rocket 3 Storm R
-0.006s
Year
2024
Target
10.56s
Sim
10.55s
2458cc I3 · Cycle World (tuned pass)
#5Honda CBR250RR (Indonesia)
+0.006s
Year
2017
Target
14.60s
Sim
14.61s
250cc I2 · VBox 2017 (instrumented)
#6MV Agusta Brutale 1000 RR Assen
-0.007s
Year
2024
Target
10.15s
Sim
10.14s
998cc I4 · Cycle World
#7Yamaha MT-10 SP
-0.010s
Year
2022
Target
10.35s
Sim
10.34s
998cc I4 · Cycle World
#8Ducati 1098
+0.010s
Year
2007
Target
10.40s
Sim
10.41s
1099cc V2 · Cycle World 2007
#9Kawasaki Z H2 SE
+0.013s
Year
2024
Target
9.95s
Sim
9.96s
998cc I4 · Cycle World
#10Kawasaki Ninja ZX-10R
+0.013s
Year
2011
Target
10.08s
Sim
10.09s
998cc I4 · Sport Rider 7/11

Per-Cluster Bias

Positive bias means the simulator predicts slower than reality. Clusters follow the cylinder-aware 12-cluster taxonomy introduced in the July 2026 retune — twins, singles, and small-cc I4 screamers are split out from the old displacement-only buckets and each cluster is re-centred against the full weighted corpus. A cluster is marked Closed only when its weighted bias is inside ±0.05s and its weighted |Δ| is inside 0.30s — a centred cluster that still scatters widely stays Open. The remaining spread in the small-cc and two-stroke buckets is a known residual from per-bike calibration work not yet completed — it is not a regression.

600–1000cc sport (I4/triple)
N=72 · weighted |Δ| 0.175s — largest cluster, centred
−0.009sClosed
Sport twins 600–1300cc
N=48 · weighted |Δ| 0.246s — second-largest cluster, centred
+0.006sClosed
Litre sport ≥195 hp
N=30 · weighted |Δ| 0.147s — tightest |Δ| in the corpus
+0.027sClosed
500–700cc twin
N=17 · weighted |Δ| 0.145s — instrumented Sport Rider era; one row fell out of the match set this sweep (18 → 17)
+0.001sClosed
200–300cc entry
N=14 · weighted |Δ| 0.231s — bias centred; the unweighted |Δ| of 0.513s still reflects derived-benchmark spread
−0.018sClosed
Cruiser 1300+
N=5 · weighted |Δ| 0.209s — thin set; muscle-bike slip-launch
+0.036sClosed
Singles 300–500cc
N=16 · weighted |Δ| 0.509s — bias centred but spread is wide (unweighted |Δ| 1.327s); derived-benchmark uncertainty
+0.030sOpen
300–500cc twin
N=8 · weighted |Δ| 0.361s — derived-data uncertainty
−0.038sOpen
150–200cc entry
N=13 · weighted |Δ| 0.702s — bias closed from −0.402s in July, but the per-bike spread against the instrumented Racelogic rows stays wide
−0.011sOpen
Small-cc I4 screamers
N=2 · weighted |Δ| 0.962s — re-centred from −0.976s in July, but a two-bike cluster is far too thin to call closed
+0.134sOpen
2-stroke vintage
N=9 · weighted |Δ| 0.642s — off-pipe/on-pipe transition
+0.077sOpen
Other
N=42 · weighted |Δ| 0.324s — mixed heavy ADV/tourer bucket
+0.019sOpen

Methodology

Benchmark sources: Published magazine timeslips from Cycle World, Sport Rider, MCN, Motorcyclist, and BikeWale. Indian community strip records from MotoStatz, Facebook drag groups, and drag event published results. All benchmarks use professional rider / race fuel / ideal strip conditions unless explicitly noted.

Simulation conditions: All simulations run at ISA sea-level conditions (15°C, 101.325 kPa, 0% RH) to match the implicit conditions of most magazine tests. Bikes use their stock BikeConfig from the seeded database — no manual per-bike tuning of Cd or μ.

Matching: Benchmark-to-bike matching uses word-boundary regex to prevent false positives (YZF-R1 ≠ YZF-R15). Year ranges are respected — a 2009 benchmark does not match a 2015 model that shares a name but has different internals.

Known limitations: Residual small-cc and 2T bias is a calibration gap, not a physics gap. The correct fix is per-bike Cd and μ calibration using real strip data — upload a Dragy CSV to /api/calibrate/dragy to overlay your real run against the sim and quantify the gap for your specific bike; the engine's offline calibrator then fits Cd and μ from measured runs.

Regression testing: 10 dedicated regression tests intests/test_power_boost_regression.py run on every commit to catch DB drift. The test helper copies motoquant.db to a temp directory to avoid WAL journal-mode errors on mounted filesystems.