/
Finalization of 2023 Crash Data (Draft)

Finalization of 2023 Crash Data (Draft)

Synopsis

With the goal of providing finalized 2023 data sets by the end of May, we have scheduled 2 finalization dates, a primary for 2024-05-15 and a fallback for 2024-05-22.

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

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

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 Because of Disagreeing Numbers

This is a lot of lines, but it is not complex. Create a flags for each of the person characteristics of interest. For example, person.is_bike_a, was the person a bicyclist who suffered an A injury? Sum those over crashes to get the counts of each sort of person in each crash, and joint those totals to the crash level data. Finally sum those over the years to get year totals for each types of person and/or type of crash.

Identifying fatalities from the person data is made interesting by our rule that a fatality is not counted unless both indicated as such by the law enforcement officer’s report and by the FARS system. If the injury level is not fatal on the crash report, we use whatever injury was reported on the DT4000. On the other hand, if the report shows a fatality but the FARS team determined that it was not a motor vehicle traffic crash fatality, the injury level is taken as No Apparent Injury.

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) ...

Related content