India's toll network, in data
My toll project came with a registry of 2,003 plazas. I treated it as a dataset and asked: where are India's tolls, who runs them, and can the data be trusted?
Main finding: just four states hold 53.6% of India's toll plazas, and 159 records had to be fixed or flagged before the numbers could be trusted.
My recommendation: start any toll-spacing review in Rajasthan, Uttar Pradesh, Madhya Pradesh and Haryana. Those four hold 59% of the 582 plazas within 10 km of another, and 55% of Haryana's plazas sit that close. Add traffic data before acting, because this shows location, not how busy a plaza is.
- Plazas after cleaning
- 1,997
- States and UTs
- 26
- In just 4 states
- 53.6%
- Records fixed or flagged
- 159
What I had to clean
- 16 spellings of 7 funding types (Conc, Conc., CONC, Concessio…)
- 2 longitudes that lost their decimal point (731669180 → 73.1669180)
- 8 plazas placed 650–1,770 km outside their own state, such as Uttar Pradesh plazas with Chennai's coordinates
- 25 plazas sharing an exact coordinate with a different plaza, a copy-paste sign
- 6 duplicate records under different codes, and 1 cut-off state name
How I did it, and the limits
- Profiled and cleaned with pandas, logging every change
- Caught bad coordinates by distance from each state's median, with no map files needed
- Answered the questions in SQL with CTEs and window functions, written for MySQL 8 and run on SQLite
- Limits: a May 2026 snapshot with no traffic or revenue, so it shows where plazas are, not how busy they are
Code on GitHub ↗The toll system ↗The Python ↗The SQL ↗Cleaning log ↗ Full write-up





















































































