Skip to content
OnlyProjects
B.Sc · Data ScienceFor educational purposes only

Road Accident Fatalities across Indian States: An Applied Statistical Study of MoRTH Open Data

What five years of state-wise crash data say about where and why Indian roads kill — cleaned, tested and visualised

Mapped to your syllabusBCU / Bangalore University SEP 2024 · Project Work · Semester 6

Overview

1 min read

Reading India's Roads is an applied data-analytics project that studies five years of official, state-wise road-accident data published by the Ministry of Road Transport and Highways (MoRTH) and answers a question every Indian has personal experience of: where, and in what circumstances, do road crashes turn fatal?

India recorded about 4.81 lakh road accidents and 1.73 lakh deaths in 2023, and overspeeding alone accounts for roughly 68 per cent of accidents and fatalities. These numbers are published every year — but as hundreds of PDF tables and scattered CSVs that almost nobody joins together. This project turns that raw publication into a clean, queryable state-year dataset and interrogates it with the statistical tools of the B.Sc Data Science curriculum.

The work is organised in three layers. A data layer collects the MoRTH state-wise tables (2019–2023) via the data.gov.in open-data portal and its OpenCity CSV mirror, cleans them, and loads them into a MySQL database designed in 3NF. An analysis layer in Python (pandas, statsmodels, Matplotlib) performs exploratory analysis, chi-square tests of independence between crash causes and outcomes, and multiple regression on accident severity (persons killed per 100 accidents) against explanatory shares such as overspeeding, rural roads and two-wheeler involvement. A communication layer turns results into charts, a findings dashboard page and a policy-flavoured report.

Because every number traces back to a government publication, the project is deeply viva-defensible — and the honest treatment of aggregate-data limitations (the ecological fallacy) shows statistical maturity beyond a typical final-year EDA.

Relevant for
Karnataka
Level
Intermediate · 14 weeks · team of 2
Common at
Bengaluru City University / Bangalore University, University of Delhi, University of Kerala
Updated
Nov 2026

Syllabus alignment

BCU / Bangalore University · SEP 2024

Project Work · Semester 6 · 4 credits · 100 (80 external + 20 internal)

Subjects this project applies
  • Python (DSCSC51)
  • DBMS (CS31T)
  • AI (DSCS62B)
  • Mathematics/Statistics courses of the SEP Sem 1–2 core
How it is evaluated

See your department's project guidelines.

Also fits: Delhi University UGCF 2022, Kerala University FYUGP 2024, University of Calcutta CCF 2022 (4-year).

What's in the box

11 parts · 5 free · 3 previewed · 3 unlock for ₹2,000

Problem & synopsis

5 min read

Problem statement

India loses about 1.7 lakh lives to road crashes every year, and Parliament, courts and state road-safety bodies keep asking the same question: which states and which conditions produce fatal outcomes? The answer exists in MoRTH's annual "Road Accidents in India" tables, but in a form unusable for analysis — dozens of per-year datasets with inconsistent columns and formats on data.gov.in, and hundreds of PDF tables for the rest. There is no clean, documented, multi-year state panel that a student team can query, test and model. As a result, common claims about road deaths circulate without statistical backing, and district- or state-level severity differences (deaths per 100 accidents vary widely across states) go unexamined. This project builds that missing dataset and applies the B.Sc statistics toolkit — cleaning, chi-square tests, correlation, multiple regression — to produce defensible, reproducible findings about where severity concentrates and which factors it travels with, while explicitly stating the limits of aggregate-level inference.

Synopsis

Abstract

Road accidents kill roughly one Indian every three minutes on average, yet the government's own state-wise statistics remain locked in report tables. This project builds a tidy state-year panel of road-accident outcomes for all States and Union Territories from the MoRTH "Road Accidents in India" annual reports (2019–2023), stores it in a MySQL database, and applies exploratory analysis, hypothesis testing and multiple regression to understand which factors travel with fatality severity. The study closes with state-grouping insights and a clear-eyed discussion of what aggregate data can and cannot prove.

Introduction

MoRTH publishes an annual statistical report with state/UT-wise counts of accidents, persons killed and injured, causes (overspeeding, drunken driving, wrong-side driving), road categories (national highways, state highways, other roads), and road-user categories (two-wheelers, pedestrians, pedal cyclists). The 2023 edition records 4,80,583 accidents and 1,72,890 deaths — a 4.2 per cent rise in accidents year-on-year — with two-wheeler riders forming the largest share of victims. The data are free and authoritative, but the publication format makes cross-state, cross-year comparison genuinely difficult for a student or journalist without a data pipeline.

Existing situation and the gap

Student analytics projects in this space typically stop at a single-year bar chart using scraped, unverified numbers. Official open-data releases on data.gov.in exist but are fragmented into dozens of single-year, single-topic datasets with differing column names, units and missing-UT conventions. The gap this project fills is methodological as much as analytical: a documented cleaning pipeline, a small normalised database, and a statistical layer that goes beyond counting into testing and modelling.

Proposed work

  • Assemble state-year tables for 2019–2023: accidents, deaths, injuries, cause-wise and road-category shares, road-user fatalities, and report-computed rates.
  • Design a 3NF MySQL schema (state, year, indicator, value plus reference tables), ingest with a Python loader, and answer slicing questions with SQL joins and aggregations.
  • Explore: national and state trends, the pandemic-year break in 2020–21 and the recovery, worst-severity states relative to fleet and road network, and Karnataka's trajectory alongside its peers.
  • Test: chi-square independence between cause mix and state groups; correlation and multiple regression of severity (killed per 100 accidents) on overspeeding share, rural-road share and two-wheeler fatality share, with diagnostics.
  • Communicate: a chart pack, a one-page findings summary per region, and the ecological-fallacy discussion that frames every claim correctly.

Feasibility

  • Technical: all tooling is open source and taught in the programme — Python/pandas for the pipeline, MySQL (CS31T) for storage, statsmodels for inference. The dataset is a few thousand rows; a normal laptop is more than enough.
  • Data: public domain government publications; no permissions, no cost, no privacy concerns (no individual-level records at all).
  • Operational: the 8 h/week Sem-6 slot comfortably fits the 14-week plan for two members; every technique maps to a course already completed.

Objectives

  1. 01Collect and clean MoRTH state/UT-wise road-accident tables for 2019–2023 from data.gov.in and the OpenCity mirror, documenting every transformation.
  2. 02Design a 3NF MySQL schema for the state-year panel and load it with a repeatable Python ingestion script.
  3. 03Build an exploratory analysis of national and state-level trends, including the 2020–21 pandemic break and the subsequent recovery.
  4. 04Compute and compare fatality severity (persons killed per 100 accidents) and death rates per lakh population across states and years.
  5. 05Apply chi-square tests of independence to cause-and-outcome distributions and report effect sizes alongside p-values.
  6. 06Fit and diagnose a multiple linear regression of severity on overspeeding share, rural-road share and two-wheeler fatality share.
  7. 07Publish a chart pack and findings summary that respects the ecological-fallacy limits of state-level aggregate data.

Scope

In scope

  • State/UT-level aggregate tables from MoRTH annual reports, 2019–2023 (about 36 states/UTs × 5 years × 10–15 indicators).
  • Cleaning decisions: renaming schemes, missing-UT conventions, unit harmonisation, and flagging years where a state's reporting changes.
  • MySQL storage (3NF), Python analysis in Jupyter notebooks, and Matplotlib/Seaborn-style static charts.
  • Statistics: descriptive trends, chi-square independence tests, correlation analysis, one multiple linear regression model with full diagnostics.

Out of scope

  • District-level or individual-crash (FIR-level) analysis — the source data is state-aggregate only.
  • Causal claims: the report frames associations, never causes, and says why.
  • Forecasting of future accident counts (a natural follow-on project).
  • Interactive web dashboards with a server backend; the deliverable is static charts and a summary page, sized to the Sem-6 slot.

Methodology

The project follows an adapted CRISP-DM analytics lifecycle — business understanding, data understanding, data preparation, analysis, evaluation, communication — which fits an applied statistics project better than a construction-style SDLC because the risk sits in data quality and inference, not in code volume.

PhaseWeeksActivitiesDeliverable
Understanding & sourcing1–2Study MoRTH report structure and data.gov.in releases; define the indicator list and research questionsQuestion list + data-source map
Data preparation3–5Download tables; reconcile column names and units; handle missing UTs; build the tidy panel; document the cleaning logClean CSVs + cleaning log
Database layer6–7Design ER model; create MySQL schema; write and test the Python loader; validate row counts against the report3NF database + loader
Exploratory analysis8–9Trends, rankings, rates, Karnataka-vs-peers; first chart packEDA notebooks + charts
Inferential analysis10–12Chi-square tests, correlation matrix, multiple regression with diagnostics (residual plots, VIF, heteroscedasticity check)Test tables + model report
Evaluation & communication13–14Interpret findings; write report chapters; build findings summary; rehearse vivaFinal report + slides

Quality assurance: every computed statistic is cross-checked against figures printed in the MoRTH report itself (e.g., national totals must match the report's all-India row before any further analysis); notebooks are re-run top-to-bottom from raw CSVs to prove reproducibility; and the two members cross-review each other's notebooks before the analysis is accepted into the report.

Study design

1 diagram · 8 tools · 1 min read

  • Python
  • pandas
  • NumPy
  • statsmodels
  • scikit-learn
  • Matplotlib
  • MySQL
  • Jupyter Notebook

Because this is an analysis project rather than a software product, the architecture is the study design itself, drawn as a one-way pipeline in which no stage feeds back silently: every correction returns through the documented cleaning log, never through ad-hoc edits downstream.

flowchart TD
  A["data.gov.in datasets +<br/>OpenCity CSV mirror"] --> B["Raw store:<br/>one file per table, per year"]
  C["MoRTH annual report PDF<br/>(authoritative check)"] --> B
  B --> D["Cleaning pipeline:<br/>rename, harmonise, handle missing UTs"]
  D --> E["Tidy state-year panel:<br/>CSV + data dictionary"]
  E --> F[("MySQL database:<br/>3NF - state, year, indicator, value")]
  F --> G["EDA notebooks:<br/>trends, rates, rankings"]
  F --> H["Inferential layer:<br/>chi-square, correlation, regression"]
  G --> I["Chart pack and<br/>findings summary"]
  H --> I
  I --> J["Report chapters with<br/>ecological-fallacy framing"]

Three design choices deserve explanation in the viva. First, the authoritative check sits upstream: the MoRTH report PDF is the referee, and any number in the OpenCity mirror or a data.gov.in dataset that disagrees with the report's all-India row is quarantined and investigated — open-data portals re-publish with occasional transcription errors. Second, the tidy panel (one row per state-year-indicator) is deliberately boring: it makes the MySQL schema trivially normalised and lets every analysis, however exotic, begin from the same six-column query. Third, the inferential layer is separated from the exploratory layer so that hypothesis-driven work (chi-square, regression) cannot be quietly tuned after peeking at the exploratory charts — a small but real guard against p-hacking in a student project.

The database itself is intentionally small: a STATE table (code, name, region), an INDICATOR table (code, label, unit, source table), and a FACT table (state, year, indicator, value, flag), giving clean 3NF with no update anomalies — a direct application of the DBMS (CS31T) course.

Work packages

5 packages

  1. Package 01

    Data acquisition and cleaning (Member A)

    Downloads the state-wise accident, fatality, cause, road-category and road-user tables for 2019–2023 from data.gov.in and the OpenCity mirror, reconciles differing column names and units, handles missing UT conventions, and produces the tidy panel together with a written cleaning log that records every decision.

  2. Package 02

    MySQL database and query layer (Member A)

    Designs the 3NF schema (STATE, INDICATOR, FACT plus region grouping), writes the Python ingestion script with validation against MoRTH's all-India totals, and prepares the SQL query set — per-year slicing, state comparisons and cause-mix pivots — used by both analysis notebooks.

  3. Package 03

    Exploratory analysis and visualisation (Member B)

    Builds the EDA notebooks: national trend lines with the 2020–21 pandemic break annotated, state rankings on rates rather than raw counts, severity (killed per 100 accidents) distributions, Karnataka trajectory against peer states, and the polished Matplotlib chart pack used in the report.

  4. Package 04

    Inferential statistics (Member B)

    Runs chi-square tests of independence on cause-by-state-group contingency tables, computes the correlation structure among severity and its candidate drivers, fits the multiple linear regression of severity on overspeeding share, rural-road share and two-wheeler fatality share, and reports full diagnostics honestly.

  5. Package 05

    Findings, report and integrity framing (both members)

    Converts statistical output into findings: one-page summaries per region, the joint ecological-fallacy discussion that limits every claim to associations between state aggregates, chart captions with sources, and the final report chapters plus viva rehearsal for the 80:20 external-internal evaluation.

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    Road Accident Fatalities across Indian States

  2. Slide 2

    Why this problem

  3. Slide 3

    Data and sources

  4. Slide 4

    Cleaning the panel

  5. Slide 5

    Database design

  6. Slide 6

    Exploratory findings

  7. Slide 7

    Inferential analysis

  8. Slide 8

    What this data cannot tell you

  9. Slide 9

    Findings summary

  10. Slide 10

    Team contribution

  11. Slide 11

    Limitations & future scope

  12. Slide 12

    Conclusion

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 16 answered free · 13 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    Why did you choose MoRTH road-accident data for a data-science project?

    Because it is authoritative, free, genuinely Indian and analytically rich: the annual report publishes state-wise counts of accidents, deaths, causes, road categories and road-user types for every year, which supports the full analytics cycle — cleaning, storage, exploratory analysis and inference. It also matters socially, so every statistical result has a real policy audience rather than being an exercise on artificial data.

  2. 02Concept

    What is the ecological fallacy and why does it matter for your conclusions?

    The ecological fallacy is the error of applying group-level associations to individuals: if states with higher overspeeding shares show higher severity, that does not prove the individual overspeeding drivers died more often. Because our data are state aggregates, every claim in the report is framed as an association between state-level quantities, and we explicitly avoid causal or individual-level language throughout.

  3. 03Concept

    Explain normalisation. Why is your schema in 3NF?

    Normalisation removes redundancy and update anomalies: 1NF needs atomic values, 2NF removes partial dependencies on composite keys, and 3NF removes transitive dependencies. Our FACT table stores only state code, year, indicator code, value and flag; state names live once in STATE and indicator labels and units once in INDICATOR, so renaming a state or correcting an indicator label is a single-row change with no risk of inconsistency.

+13 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

How to reproduce the study

1 step · unlocks with the project

Unlocks with the project · ₹2,000

1 step

Every step to carry the project out with the tools in the tech stack, in order.

Unlock for ₹2,000

READMEFIRST

293 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

293 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

318 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

318 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

8 sources

  1. Ministry of Road Transport & Highways, Road Accidents in India 2023 (annual report)
  2. data.gov.in — Open Government Data Platform, Road Accidents dataset group
  3. OpenCity — Road Accidents in India 2023 (CSV mirror of MoRTH state-wise tables, 2019–2023)
  4. World Health Organization, Global Status Report on Road Safety 2023
  5. statsmodels User Guide — contingency-table tests and linear regression
  6. pandas Documentation — data cleaning and reshaping
  7. James, G., Witten, D., Hastie, T. & Tibshirani, R., An Introduction to Statistical Learning (free PDF)
  8. MySQL 8.0 Reference Manual

Cite this bundle

OnlyProjects. (2026). Road Accident Fatalities across Indian States: An Applied Statistical Study of MoRTH Open Data: B.Sc Data Science project bundle [Educational resource]. https://onlyprojects.online/projects/bsc-ds-road-accident-fatalities-statewise-analysis

Future scope

1 min read

  • Add the newest MoRTH edition each year so the panel extends rather than restarts.
  • District-level deep-dive for one home state, using state police or state road-safety-cell publications.
  • Time-series forecasting of national or state fatality counts as a companion project.
  • A small interactive map page for the chart pack using the Web Programming (DSCS61) course skills.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.