Rate & confidence intervals
Every compute response reports a rate with a 95% confidence interval, plus the numerator and denominator it was built from.
The rate
rate = N / (D_miles / 1_000_000)N: the weighted count of crashes matching yourselections(outcome, vehicle class, road type, weather, light, crash year, and so on). If under-reporting adjustment is on, Blincoe multipliers are applied here.D_miles: calibrated vehicle-miles traveled for the selected road groups and vehicle classes.D_billionsis the same value in billions.rate: incidents per million miles (IPMM).
Numerator details
- Outcome is a nested filter: each outcome (
observed_any_injury,airbag,ka,fatal, and the rest) is a subset ofpolice_reported. - Under-reporting: the
adjustedoption applies Blincoe et al. 2023 (NHTSA) multipliers, PDO ×2.48, non-fatal injury ×1.47, fatal ×1.0. - Crash year: geofence cities carry a
crash_yearcolumn. Selecting multiple years pools their crashes and scales the denominator by the number of years, so the rate stays an annual mean.
Denominator details
- Calibrated VMT (default) blends state-DOT roadway-inventory totals with FHWA VM-4 per-class fractions. VM-4 is pinned to the 2023 Highway Statistics release, the same year as every served denominator, and one release is used in every region. The fractions sum to one, so a selection covering every vehicle class is unaffected by the release. Single-class rates depend on it.
denominator_vmt(California only) toggles between the Caltrans CPRD total and an HPMS functional-class total.multiplier_vmtselects the exposure source inside the operator-weighting multiplier. It is relevant only whenoperator_weighting=robotaxi, and ignored whenoperator_weightis set explicitly.
Operator weighting (geofence)
When operator_weighting=robotaxi, the rate is paired with a Chen 2025 spatial multiplier that re-weights region exposure toward where an ADS operator actually drives, using the operator's rider-only mileage. It applies only when every selected road type is a surface street. rate_non_dyn is always returned for reference. rate_dyn and multiplier are null when the operator mileage layer is not loaded.
The applied multiplier can be overridden with operator_weight, a positive number. When set, the headline becomes rate_dyn = rate_non_dyn × operator_weight and the CI scales by it, substituting a custom operator weight for the computed default. Leave it unset (null) to use the computed value. The override takes effect only on the same dynamic path: operator_weighting=robotaxi, surface-only, operator mileage present.
Confidence intervals
Routes and depots return a ci_method choice:
- Fay-Feuer (default): a weighted-Poisson interval with a phantom-event correction for zero-crash legs.
- Empirical Bayes: a Gamma-Poisson interval using between-cell rate variance.
Geofence intervals use the same weighted-Poisson machinery. rate_low and rate_high are the 95% bounds, and route responses also expose the propagated variance.
Data & licensing
Outputs are derived statistics only (rates, counts, bounds). The API never redistributes raw third-party crash records. Crash data comes from public state sources (TxDOT CRIS, CHP/CCRS SWITRS, ADOT ALISS, Nevada DOT, IDOT), exposure from FHWA HPMS and state DOT inventories, weather from NOAA ISD, and ADS exposure from a published operator dynamic benchmark.
Litigation caveat
Safety data compiled for federal highway-safety programs is shielded under 23 U.S.C. § 409 in many states. Do not market these outputs as litigation evidence, and do not use crash data to solicit involved parties.
Attribute every published figure. Full per-source citations live in the project's data license register.