US trucking · Case study · 2 min read
Driver safety scoring
Hard braking and speeding, detected from the driver's phone and scored every week against the miles each driver actually drove.
- Type
- Data service
- Built with
- Phone sensors, a server-side scoring service, weekly speed-limit map data
- Our part
- Detection rules, scoring and the review screens
The problem
A fleet wants to know which drivers brake hard and speed, and it wants to be fair about it. A driver who covers 3,000 miles in a week will have more events than one who covers 800, without being a worse driver.
A flag is also only useful if it is right. The first version of the detection raised around thirty flags per driver per day, most of them wrong. Nobody acts on a list like that.
What we built
The phone records speed and movement once a second while the truck is driving. The decisions are made on the server, not on the phone.
- Speeding means more than 10 mph over the road's limit, held for five minutes. A moment over the limit while overtaking does not count.
- Hard braking is deceleration averaged over three seconds, so one bump in the road is not a brake.
- Hard turns are not scored. Phones measure them too unreliably to hold against a driver.
Each week the events are divided by the loaded miles the driver drove. A week counts only once the driver has covered at least 1,000 miles, and a week above two events per 1,000 miles is marked for a conversation. The safety team sees the last twelve weeks for each driver and records what was done about each marked week.
The hard part
Changing the rules without touching the phones. Because the judging happens on the server, we could rewrite the rules and score every recorded event again, with no app release and no waiting for drivers to update. When the rules above replaced the first version, about a week of history went from 6,237 speeding flags to 58, and from 3,175 hard brakes to 548.
Speed limits were the other problem. The limit for a stretch of road comes from map data that is rebuilt every week, and where that data is wrong, the flag is wrong too: one motorway was marked as a 35 mph road. Those get fixed in the data, and the affected events are scored again.
Where it is now
Live for the whole fleet, with flags few enough to review one by one.