Brady Kennedy

Data Analyst & Researcher

Data Analysis Portfolio


🍎
Helping Volunteer Tutors Know at Goddard Riverside (R, Python, QGIS)
Tutors at the Star Learning Program were having trouble determining which curriculum their students used after the 2024 revamping of the citywide reading materials, so I created this map and a searchable dataset that they can type their student's school into and see which plan to follow.

District-level data for curricula changes was only available as an image from DOE, so I used OCR in R to extract it into a tabular format. I used the nycschools package in Python to quickly query the school names, boroughs, and districts. Then I used R and QGIS to turn it into a database and map for the tutors to use!
Map Output
Map Output
Using OCR to extract table from image in R
Using OCR to extract table from image in R
🏙️
Analyzing The Effects of Gentrification on Rent-Regulated Apartments in NYC (SQL, R, Python)
I analyzed the effects of neighborhood change on change in count of rent-regulated units at the building level using SQL, R, and Python, finding a significant negative effect of gentrification that increases over time.

To do this I first scraped property records from NYC DOF website using Python (BeautifulSoup4, Selenium, pypdf). I then queried NYC HPD, NYS DHCR, and NYC DCP data using SQL from NYC Open Data. I lastly applied time heterogeneous difference-in-differences method in R (fixest, MatchIt, iplot). I based my gentrification typology on the event driven framework of bunsen et al. (2023).
Visualizing Rent Gap
Visualizing Rent Gap
Event study graph
Event study graph
Visualizing IWATT coefficient effects over time
Visualizing IWATT coefficient effects over time
Results table for TH DiD Model
Results table for TH DiD Model
🏡
Fence Contracting Business KPI Dashboard (Excel, R, Tableau)
I created a KPI dashboard using R and Tableau to track sales conversions, job profitability, sales by geographic area and product type, lead times, customer acquisition costs, and cash flow. Here is a selection of exports directly from ggplot2 (using obfuscated data) prior from loading into Tableau. This data was exported from the CRM and Quickbooks into Excel for initial formatting, but most cleaning was done in R.


Sales Conversions Per Job Type
Sales Conversions Per Job Type
Sales Per Lead Source
Sales Per Lead Source
Distribution of GP Margin per Job Type
Distribution of GP Margin per Job Type
Revenue Over Time per Job Type
Revenue Over Time per Job Type
Job Type per County
Job Type per County
Share

Tools
Translate to