Step 4 Linear and logistic regression and decision trees on crash severity.
Step 5 Findings framed as recommendations for the consulting brief.
Animated overview of the steps below (an illustration, not recorded footage).
From raw crash data to recommendations
01Step 1 of 5, Python
NSW crash data
Crash data for a Transport for NSW consulting brief.
02Step 2 of 5, pandas
Cleaning
Cleaned and prepared the records with pandas.
03Step 3 of 5, plotly
Exploration
seaborn and plotly charts: speed limits, weather, timing, seasonality, geography.
04Step 4 of 5
Models
Linear and logistic regression and decision trees on crash severity.
05Step 5 of 5
Recommendations
Findings framed as recommendations for the consulting brief.
Tech stack in this project
PythonAnalysis language for the whole project
pandasCleaning and shaping the crash records
seabornStatistical charts of severity drivers
plotlyInteractive charts for exploration
Linear regression
Logistic regression
Decision trees
Why it matters for supply chain
Crash timing = safer delivery windows and schedules
Geography = spatial analytics for transport networks
Severity models = risk scoring for fleet routes
Linked to my Master of Logistics & SCM, University of Sydney
Read the full case study
Problem
Analyse NSW crash data for a Transport for NSW consulting brief, around research questions on speed limits and weather versus crash severity, timing and seasonality, and geography.
Approach
Analysed NSW crash data in Python with pandas.
Visualised patterns with seaborn and plotly.
Modelled outcomes with linear and logistic regression and decision trees.