InfrastructureCompleted
NYC Construction Cost Overrun Analyzer
An end-to-end pipeline over NYC open data that quantifies how far the city's capital projects run past their budgets, broken down by agency, borough, size bucket, and project type.

$65.2B
total overrun quantified across 5,515 capital projects
The question
New York City publishes budget and actual-cost data for thousands of capital projects, but nobody reads it as a dataset. The question: which agencies, boroughs, and project sizes systematically blow past their budgets, and by how much?
Data & pipeline
- Five-phase Python pipeline (run_pipeline.py) pulling DOB permits and Capital Projects budget-vs-actual data from NYC Open Data
- 5,515 projects analyzed, 99.5% with a usable original budget figure
- Loaded into a MySQL database (nyc_cost_overruns) with 7 flat analysis views plus CSV exports
- Tableau dashboard built on top of the MySQL views
What I found
- Citywide total overrun of $65.2B, with a median project running +6.8% over budget
- DDC is the outlier agency: median project +108.8% over, and 75% of its 890 projects classified as Excessively Over Budget
- The $10M–$50M size bucket behaves worst, with a median overrun of +14.3%
- Newtown Creek CSO tunnel shows +10,800%, a headline number that demands the original-budget caveat below
Caveats: read before quoting the numbers
- The earliest budget snapshot is not the original authorization budget, so overruns on older projects are understated
- Schedule data covers only ~1,600 projects from May 2023 onward; the delay–overrun correlation (Spearman 0.186) is weak
- Legacy OMB data was excluded from the overrun math to keep comparisons consistent
Stack
PythonMySQLTableauNYC Open Data