* One detail worth adding: on some average-speed-check sections the posted limit changes partway through (e.g. a temporary 110 km/h work-zone limit inside an otherwise 130 km/h stretch). In that case the "allowed average" isn't a single fixed number — it should be calculated as a weighted average based on how much of the zone (by distance/time) falls under each limit. Waze already has the data to do this: instantaneous speed, current posted limit at each point, and start/end of the check zone. Just flagging this so any implementation accounts for mixed-limit zones, not only zones with a single constant limit.
* One detail worth adding: on some average-speed-check sections the posted limit changes partway through (e.g. a temporary 110 km/h work-zone limit inside an otherwise 130 km/h stretch). In that case the "allowed average" isn't a single fixed number — it should be calculated as a weighted average based on how much of the zone (by distance/time) falls under each limit. Waze already has the data to do this: instantaneous speed, current posted limit at each point, and start/end of the check zone. Just flagging this so any implementation accounts for mixed-limit zones, not only zones with a single constant limit.