Visualizing Neighborhood Changes in NYC

Kyle D. Weber
Posted on Oct 21, 2019


For businesses, governmental organizations, and non-profits working in New York City today, understanding the recent economic and demographic history of the neighborhoods in which these organizations work and the future trajectory of these neighborhoods is crucial to organizational strategy.

For a business looking to open in East Harlem, for example, learning about how the number of people employed or average income of the neighborhood has changed in the last few years might provide some insights into what goods and services new residents in the area might be most interested in purchasing.  If the business has a specific location in mind, they might be particularly interested in how these variables have changed at the ZIP code level.

Similarly, for a non-profit group focused on anti-poverty efforts operating out Forest Hills, having detailed information about which industries lost jobs, how the population has changed, or how the distribution of income has changed over the last few years would be valuable in developing strategy.

While these variables are obviously incredibly useful, there are two major limitations that might prevent companies from using this information to guide their strategic decisions.  First, the economic and demographic series described above are only released after a significant lag, making it difficult for companies to gain access to information about these variables that has been updated in the last year.  Second, this information is not necessarily available in the smallest geographies due to privacy concerns, meaning that individuals looking to examine what economic changes are occurring in a specific neighborhood or block will not be able to use most economic and demographic time series provided from the US government for this purpose. 

To supplement the other data series that I collected for different NYC ZIP codes, I gathered information about a proxy for the economic conditions of a neighborhood:  the number of permits for jobs involving new buildings, demolitions, and building conversions (changes that affect the basic uses of the building) that occur in a specific geographic area.  Given the high cost of NYC unionized construction labor, it is likely that landowners engaged in these products would only do so if they believed that economic conditions in the neighborhood in the future would justify additional construction expenditure today.  (This is true even of the expenditures on demolitions, since demolitions in NYC are generally done in anticipation of a new construction project on the same site).  Thus, it would be reasonable to expect indices of permitting activity to be associated with local economic activity, with building permits being associated with higher future expected population and income.

The goal of my project is twofold.  First, I want to directly graph and visualize (a) the economic variables that would be directly interesting to local organizations like income, number of businesses, and number of employees and (b) the construction variables that I believe are proxies for future economic development and growth.  Second, I want to build data sets that can be used for the next stage of the project, which is to directly test the relationship between building permits and measured economic activity to examine whether this data can be used to predict future changes in economic activity.  By visualizing these predictions, I would give local organizations another source of information that could be used when making decisions.

Data Used:

To produce the choropleth maps and time series graphs that are featured in my Shiny app, I used three primary sources of data.

First, I used permit information that was published by the NYC Department of Buildings.  It can be found at this link. It was cleaned by getting rid of extraneous categorical information, eliminating permits that were issued for minor construction jobs or for construction jobs that did not seem to be done to increase the value of the building.

Second, I use information about the number of business establishments in different industries by ZIP Code, employment by those establishments, and the total amount paid in wages (in real terms) by those businesses from the Census Bureau's County Business Patterns data.  This data set can be found at this link.

Finally, I used data from the National Bureau of Economic Research (NBER) about the characteristics of tax returns filed by households with an address in each New York City ZIP code.  The main variable of interest is the distribution of households in different taxable income categories in different NYC ZIP Codes over time.  Information from the NBER about this data set can be found at this link.

App Features:

The features of my app can be divided into two parts.  First, my app contains an interactive Leaflet module that generates choropleths that are shaded based on a user's custom input:  their construction variable of interest, the geography that they want to examine, whether residential or non-residential permits are exclusively included in the graphs, and whether shading is based on quantiles or raw values.

Second, my app contains a series of tabs that show -- based on a user's selected ZIP code -- the following variables graphed the years 2006 to 2016:

  • the distribution of household income for households located in a selected ZIP code by year
  • the total number of businesses in a given ZIP code and industry (with the industry being selected by the user from a list of eleven categories) by year
  • the total number of large businesses (>500 employees) in a given ZIP code and industry (with the industry being selected by the user from a list of eleven categories) by year
  • the total number of employees and total payroll (converted to 2015 dollars) reported by businesses located in a specific ZIP code by year.

Next Steps:

The next step in my project is to build a machine learning model that would examine whether changes in permitting activity in New York City can be used to predict future changes in income, population, or the number of businesses in an area.  Since I have data from the 1980s to the early 2000s that I excluded from my Shiny app to help with load times, I have a rich data set to use to examine whether there is any predictive power of the information contained in the permitting data set.  I am particularly interested in regularized regression for this purpose because the permitting activity data set contains a huge number of variables that might have some predictive power but all of which could not feasibly be included in any model.  Moreover, since I am working with such a long data series, I am excited about the possibility of examining the forecasting performance of different modelling techniques by fitting those models using a subset of my data and then comparing the out-of-sample forecasting performance of each of these models. 

About Author

Kyle D. Weber

Kyle D. Weber

Kyle D. Weber is currently training at the NYC Data Science Academy to gain additional proficiency with machine learning techniques, SQL, Python, and database management tools such as Spark, Hadoop, and Hive. He holds a Masters of Philosophy...
View all posts by Kyle D. Weber >

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp