Data Science
Comparative Evaluation of Classifiers for Liver-Disease Screening on the Indian Liver Patient Dataset
Baselines, confusion matrices and thresholds on UCI's ILPD — screening, not diagnosis
- Python
- scikit-learn
- pandas
- +3
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 6Reading 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.
Syllabus alignment
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.
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.
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.
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.
In scope
Out of scope
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.
| Phase | Weeks | Activities | Deliverable |
|---|---|---|---|
| Understanding & sourcing | 1–2 | Study MoRTH report structure and data.gov.in releases; define the indicator list and research questions | Question list + data-source map |
| Data preparation | 3–5 | Download tables; reconcile column names and units; handle missing UTs; build the tidy panel; document the cleaning log | Clean CSVs + cleaning log |
| Database layer | 6–7 | Design ER model; create MySQL schema; write and test the Python loader; validate row counts against the report | 3NF database + loader |
| Exploratory analysis | 8–9 | Trends, rankings, rates, Karnataka-vs-peers; first chart pack | EDA notebooks + charts |
| Inferential analysis | 10–12 | Chi-square tests, correlation matrix, multiple regression with diagnostics (residual plots, VIF, heteroscedasticity check) | Test tables + model report |
| Evaluation & communication | 13–14 | Interpret findings; write report chapters; build findings summary; rehearse viva | Final 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.
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.
Package 01
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.
Package 02
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.
Package 03
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.
Package 04
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.
Package 05
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.
Slide 1
Road Accident Fatalities across Indian States
Slide 2
Why this problem
Slide 3
Data and sources
Slide 4
Cleaning the panel
Slide 5
Database design
Slide 6
Exploratory findings
Slide 7
Inferential analysis
Slide 8
What this data cannot tell you
Slide 9
Findings summary
Slide 10
Team contribution
Slide 11
Limitations & future scope
Slide 12
Conclusion
Bullets, speaker notes and the .pptx · ₹2,000
Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.
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.
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.
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
Unlocks with the project · ₹2,000
Unlock for ₹2,000What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.
Unlocks with the project · ₹2,000
Unlock for ₹2,000How to study it, adapt it and walk your examiner through it, step by step.
Unlocks with the project · ₹2,000
Unlock for ₹2,000OnlyProjects. (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
Keep browsing
Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.
Data Science
Baselines, confusion matrices and thresholds on UCI's ILPD — screening, not diagnosis
Data Science
From CPCB's open data to policy-ready dashboards for four metro cities
Agriculture
Cattle-dung blends with paddy straw, leaf litter and market waste, benchmarked against FCO Schedule IV specifications
Biochemistry
A p-nitrophenyl phosphate assay read at 405 nm, non-linear Michaelis-Menten fitting, and competitive inhibition by inorganic phosphate
Biotechnology
Four disinfestation protocols, 144 nodal explants on MS medium, and chi-square tests that decide which protocol actually wins
Botany
Frequency, density, abundance and IVI from 20 nested quadrats, with Shannon, Simpson and Jaccard comparisons of a protected and a disturbed plot