Benchmark Results — June 2026

Source-quality-weighted sweep results across 216 published benchmarks (236 matched to a catalog bike). Metrics, per-cluster bias, and methodology. Last updated 13 June 2026.

Aggregate Metrics (236 matched benchmarks)

0.262s
Weighted |Δ|
0.207s
Median |Δ|
−0.015s
Weighted bias (sim − real)
±0.006s
Top-10 mean error
62/236
Within ±0.10s
113/236
Within ±0.20s
187/236
Within ±0.50s
217/236
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
10.034s
+0.004s
YZF-R1 4C8 (2007)
10.300s
10.286s
-0.001s
Hayabusa Gen1 (1999)
10.350s
10.471s
+0.002s

Top 10 Most Accurate Bikes

The 10 smallest residuals from published (non-derived) benchmarks — mean absolute error ±0.006s. Sources: Cycle World, Sport Rider, MCN, Motorcyclist, BikeWale, MotoStatz. Conditions: race fuel, professional rider, ideal strip.

#1Honda CBR 600RR
+0.001s
Year
2007
Target
10.84s
Sim
10.84s
599cc I4 · Sport Rider
#2Aprilia Tuono 660
-0.002s
Year
2021
Target
11.33s
Sim
11.33s
659cc I2 · MotoStatz
#3Harley-Davidson Sportster S
-0.002s
Year
2021
Target
11.10s
Sim
11.10s
1252cc V2 · HDForums timeslip 2021
#4Kawasaki Z H2 SE
-0.003s
Year
2020
Target
9.95s
Sim
9.95s
998cc I4 · Cycle World 2020
#5Kawasaki Ninja ZX-9R
-0.003s
Year
2000
Target
10.50s
Sim
10.50s
899cc I4 · Sport Rider 2000
#6Kawasaki Ninja H2
+0.005s
Year
2015
Target
9.62s
Sim
9.63s
998cc I4 · MCN 2015
#7BMW R 12 nineT
+0.008s
Year
2014
Target
11.05s
Sim
11.06s
1170cc boxer-twin · Cycle World 2014
#8Kawasaki Ninja ZX-10R
+0.011s
Year
2021
Target
10.00s
Sim
10.01s
998cc I4 · Cycle World 2021
#9Kawasaki ZZR1400
+0.011s
Year
2006
Target
9.90s
Sim
9.91s
1352cc I4 · MCN 2006
#10Yamaha YZF-R6
+0.011s
Year
2007
Target
10.85s
Sim
10.87s
599cc I4 · Sport Rider 2007

Per-Cluster Bias

Positive bias means the simulator predicts slower than reality. A positive bias in the small-cc clusters is a known residual from the per-bike calibration work not yet completed — it is not a regression.

Litre sport ≥195 hp
N=31 · weighted |Δ| 0.137s — best instrumented cluster
−0.015sClosed
600–1000cc sport
N=99 · weighted |Δ| 0.201s — largest cluster, centred
−0.073sGood
500–700cc twin
N=12 · weighted |Δ| 0.141s — tightest |Δ| in the corpus
+0.059sClosed
300–500cc twin
N=23 · weighted |Δ| 0.516s — bidirectional spread, derived-data uncertainty
−0.086sOpen
200–300cc entry
N=15 · weighted |Δ| 0.343s — derived-benchmark data uncertainty
+0.071sOpen
150–200cc entry
N=12 · weighted |Δ| 0.820s — noise-dominated, bias centred
+0.018sOpen
Cruiser 1300+
N=3 · weighted |Δ| 0.312s — thin set; muscle-bike slip-launch
+0.312sOpen
2-stroke vintage
N=6 · weighted |Δ| 0.584s — off-pipe/on-pipe transition
+0.153sOpen
Other
N=35 · weighted |Δ| 0.383s — mixed heavy ADV/tourer bucket
+0.124sOpen

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 — the auto-calibrator in /api/calibrate/dragy handles this once you supply a Dragy CSV for your specific bike.

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.