All projects

UNSWINFS2822 group project

NSW road crash analytics in Python

Severity, timing and geography patterns in NSW crash data

  • Python
  • pandas
  • seaborn
  • plotly
Animated overview of the steps below (an illustration, not recorded footage).

From raw crash data to recommendations

  1. 01Step 1 of 5, Python

    NSW crash data

    Crash data for a Transport for NSW consulting brief.

  2. 02Step 2 of 5, pandas

    Cleaning

    Cleaned and prepared the records with pandas.

  3. 03Step 3 of 5, plotly

    Exploration

    seaborn and plotly charts: speed limits, weather, timing, seasonality, geography.

  4. 04Step 4 of 5

    Models

    Linear and logistic regression and decision trees on crash severity.

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

  1. Analysed NSW crash data in Python with pandas.
  2. Visualised patterns with seaborn and plotly.
  3. Modelled outcomes with linear and logistic regression and decision trees.