Synopsis
We plan to finalize 2023 Crash Data in May of 2024
Overall Numbers (Preliminary)
These results for 2022 and earlier reflect finalized data. The 2023 data are production as of 2024-04-24 end of day. The statistics are the same as or similar to those provided in Final year-end crash statistics. Some of the statistics from that source are omitted because their calculation may have required significantly more work to interpret and reproduce.
Statistic ⬇️ Crash Year ➡️ | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 |
---|---|---|---|---|---|---|
Fatal Crashes | 517 | 511 | 540 | 546 | 547 | 524 |
Injury Crashes | 29959 | 28791 | 23747 | 26209 | 25071 | 24532 |
Property Damage Crashes | 113736 | 115986 | 90410 | 101541 | 103212 | 99568 |
Total Crashes | 144212 | 145288 | 114697 | 128296 | 128830 | 124624 |
A-Injury Crashes | 2714 | 2621 | 2651 | 2880 | 2740 | 2701 |
Total Persons Killed | 575 | 551 | 592 | 595 | 595 | 575 |
Total Persons Injured | 41125 | 39723 | 32374 | 35676 | 33813 | 33366 |
Total Serious (A) Injuries | 3213 | 3133 | 3187 | 3473 | 3213 | 3252 |
Alcohol-Related Crashes | 6255 | 6058 | 6050 | 6368 | 6230 | 5973 |
Alcohol-Related Fatalities | 159 | 140 | 167 | 166 | 155 | 159 |
Alcohol-Related Injuries | 3293 | 2918 | 3120 | 3234 | 3008 | 3051 |
Alcohol-Related A-Injuries | 719 | 666 | 752 | 736 | 661 | 704 |
Drug-Related Crashes | 1724 | 1749 | 2250 | 2094 | 1821 | 1723 |
Drug-Related Fatalities | 59 | 59 | 80 | 74 | 64 | 70 |
Drug-Related Injuries | 1198 | 1099 | 1412 | 1309 | 1144 | 1159 |
Drug-Related A-Injuries | 246 | 233 | 294 | 292 | 269 | 289 |
Impaired Driving Related Crashes | 7137 | 6938 | 7261 | 7375 | 7048 | 6695 |
Impaired Driving Related Fatalities | 185 | 168 | 212 | 197 | 184 | 199 |
Impaired Driving Related Injuries | 3949 | 3507 | 3861 | 3883 | 3556 | 3574 |
Impaired Driving Related A-Injuries | 838 | 768 | 905 | 876 | 787 | 833 |
Hit & Run Related Crashes | 19518 | 19778 | 18480 | 21377 | 20303 | 19252 |
Hit & Run Related Fatalities | 25 | 21 | 27 | 26 | 35 | 41 |
Hit & Run Related Injuries | 2891 | 2686 | 2588 | 2835 | 2469 | 2334 |
Hit & Run Related A-Injuries | 191 | 194 | 233 | 251 | 207 | 199 |
Motorcycle Crashes | 1967 | 1806 | 2104 | 2082 | 1921 | 1949 |
Motorcyclists Killed | 83 | 85 | 116 | 121 | 82 | 102 |
Motorcyclists Injured | 1819 | 1682 | 1917 | 1838 | 1768 | 1773 |
Motorcyclist A-Injuries | 563 | 523 | 609 | 656 | 648 | 631 |
Pedestrian Crashes | 1505 | 1460 | 1137 | 1273 | 1324 | 1299 |
Pedestrians Killed | 57 | 53 | 50 | 50 | 72 | 61 |
Pedestrians Injured | 1414 | 1376 | 1049 | 1270 | 1195 | 1190 |
Pedestrian A-Injuries | 276 | 277 | 254 | 305 | 257 | 254 |
Bicycle Crashes | 852 | 759 | 619 | 691 | 668 | 790 |
Bicyclists Killed | 4 | 14 | 12 | 9 | 14 | 7 |
Bicyclists Injured | 755 | 675 | 543 | 600 | 593 | 699 |
Bicyclist A-Injuries | 76 | 81 | 74 | 87 | 71 | 92 |
Construction Zone Crashes | 3166 | 2489 | 1805 | 2186 | 2034 | 2168 |
Construction Zone Fatalities | 9 | 17 | 16 | 13 | 8 | 9 |
Construction Zone Injuries | 1281 | 899 | 665 | 859 | 666 | 712 |
Construction Zone A-Injuries | 76 | 78 | 53 | 71 | 49 | 52 |
Deer Crashes | 20183 | 18414 | 16547 | 16204 | 16278 | 16153 |
Deer Crash Fatalities | 4 | 9 | 13 | 9 | 5 | 14 |
Deer Crash Injuries | 515 | 556 | 523 | 564 | 537 | 585 |
Deer Crash A-injuries | 73 | 80 | 76 | 76 | 69 | 75 |
Large Truck Crashes | 7727 | 8174 | 5685 | 6356 | 6785 | 6564 |
Large Truck Crash Fatalities | 76 | 69 | 63 | 94 | 73 | 73 |
Large Truck Crash Injuries | 2251 | 2306 | 1446 | 1715 | 1846 | 1665 |
Large Truck Crash A-injuries | 237 | 252 | 198 | 215 | 229 | 192 |
FMCSA Reportable Crashes | 3097 | 3126 | 2327 | 2654 | 2720 | 2560 |
FMCSA Reportable Crash Fatalities | 76 | 69 | 63 | 94 | 73 | 73 |
FMCSA Reportable Crash Injuries | 1956 | 2044 | 1308 | 1513 | 1628 | 1457 |
FMCSA Reportable Crash A-injuries | 233 | 253 | 197 | 215 | 227 | 190 |
For the most part my naïve calculations agree with the official statistics. I’ve highlighted where they differ (as identified in a manual scan of the two sets of data. I’m not claiming that mine is right but do want to call attention to 2023 statistics that might be different to this work once official numbers are calculated.
Highlight Color | Meaning |
---|---|
Fatality Count Differences. The official statistics have one additional fatality in 2018 and 2020. It is on off in each year. | |
Idiosyncratic; no obvious reason for the difference. | |
Differences caused by how individuals are identified as Motorcyclists. Mine is anyone whose Unit Type is Motorcycle. Something more elaborate may be being used for the official calculations. If the identifying motorcyclists is non-trivial, we might want to consider adding a person level motorcyclist flag improve analysis reproducibility. | |
Something strange with Injured Pedestrians | |
There appears to be a difference in how large truck crashes were identified in 2020 and earlier. |
TLDR = Showing Work for Disagreeing Numbers
person.is_fatal = map(eachrow(person)) do x x.INJSVR=="Fatal Injury" || return false x.STAFATL=="Y" end person.is_pdo = map(eachrow(person)) do x x.INJSVR=="No Apparent Injury" && return true x.INJSVR=="Fatal Injury" || return false x.STAFATL=="N" end person.is_injury = .!(person.is_fatal.||person.is_pdo) person.is_ainjury = person.INJSVR.=="Suspected Serious Injury" person.is_mcycle = person.UNITTYPE.=="Motorcycle" person.is_ped = person.UNITTYPE.=="Pedestrian" person.is_bike = person.UNITTYPE.=="Bicycle" person.is_mcycle_k = person.is_mcycle.&&person.is_fatal person.is_mcycle_a = person.is_mcycle.&&person.is_ainjury person.is_mcycle_inj = person.is_mcycle.&&person.is_injury person.is_ped_k = person.is_ped.&&person.is_fatal person.is_ped_a = person.is_ped.&&person.is_ainjury person.is_ped_inj = person.is_ped.&&person.is_injury person.is_bike_k = person.is_bike.&&person.is_fatal person.is_bike_a = person.is_bike.&&person.is_ainjury person.is_bike_inj = person.is_bike.&&person.is_injury psums = combine(groupby(person, :CRSHNMBR), :is_fatal=>sum=>:num_fatal, :is_injury=>sum=>:num_injury, :is_ainjury=>sum=>:num_ainjury, :is_mcycle_k=>sum=>:num_mcycle_k, :is_mcycle_a=>sum=>:num_mcycle_a, :is_mcycle_inj=>sum=>:num_mcycle_inj, :is_ped_k=>sum=>:num_ped_k, :is_ped_a=>sum=>:num_ped_a, :is_ped_inj=>sum=>:num_ped_inj, :is_bike_k=>sum=>:num_bike_k, :is_bike_a=>sum=>:num_bike_a, :is_bike_inj=>sum=>:num_bike_inj, ) leftjoin!(crash, psums, on=:CRSHNMBR) ... df = combine(groupby(crash, :crash_year), "is_mcycle"=>sum=>"Motorcycle Crashes", "num_mcycle_k"=>sum=>"Motorcyclists Killed", "num_mcycle_inj"=>sum=>"Motorcyclists Injured", "num_mcycle_a"=>sum=>"Motorcyclist A-Injuries", "is_ped"=>sum=>"Pedestrian Crashes", "num_ped_k"=>sum=>"Pedestrians Killed", "num_ped_inj"=>sum=>"Pedestrians Injured", "num_ped_a"=>sum=>"Pedestrian A-Injuries", "is_bike"=>sum=>"Bicycle Crashes", "num_bike_k"=>sum=>"Bicyclists Killed", "num_bike_inj"=>sum=>"Bicyclists Injured", "num_bike_a"=>sum=>"Bicyclist A-Injuries", ) leftjoin!(cstats, df, on=:crash_year) ...
Add Comment