One-stop-shop Research Tool for NYC Public Schools (K-8)

Posted on Mar 22, 2021


See the app here


Our little man was growing up and it was time to enroll him in the NYC public school system. So like all responsible parents we began our search to come up with a shortlist of ten schools - the recommended amount when submitting our application.  It quickly became apparent that the research was going to be cumbersome.  Simple queries like how one school compared to other schools in a district, or how our district compared to other districts required a lot of note-taking (we didn't have a printer), many browser windows, and a lot of toggling.  My Shiny application takes much of the friction out of researching NYC public schools in order to help all NYC parents, who always have too much on their plates, save time and make more informed decisions.

The Data

The data was sourced from New York City's Department of Education's (DOE) website.  It covers grades K-8 for academic years 2015-2019.

The App

The app has four key sections: school level, district level, city level, and insights.

School Level Dashboard

This is where all key information (testing scores, quality, demographics, attendance, etc.) about a specific school are brought together in a simple and digestible format.  Jumping around to other districts or to schools within the district is simple and effortless.

District Level Snapshot

This section enables the user to view all the schools across an entire district in a single snapshot.  With all schools on the same scale and visual alignment, it becomes much easier to compare schools using key attributes such as quality ratings, testing, and demographics.

City Level Data and Analysis

For those wanting to know how the entire system was doing, users can see how math and language testing performance has been changing over time.  Another very helpful section are the boxplots where each box represents a district with colors indicating borough.  This graphical format enables one to quickly spot underperforming and outperforming districts.

Insights: Quality vs. Testing

A school's quality ratings on attributes such as leadership, trust, teacher collaboration, etc. are crucially important when evaluating a school.  The other key metric to consider is a school's testing performance.  This section sought to answer the question of which quality metrics are most correlated to testing performance?  Using the pull-downs, the user can explore and experiment with different combinations of quality ratings to test type, and having the side-by-side scatter plots further eases comparisons.

Insights: Socioeconomic Challenges

The variable that had the strongest correlation was, unfortunately, a negative one where schools with the highest Economic Need also had the lowest scores and lowest attendance rates. While this finding is not new or surprising, the data further emphasizes the severity and complexity of the problem that probably cannot be solved through the school system alone.


This was an amazing and satisfying project where I learned so much about NYC's public schools in the process.  Presenting the data through a Shiny app provides terrific functionality and interaction with the user while the visual format conveys large amounts of data in a way that's straightforward to digest and compare.  I feel empowered and informed with this tool, and I am eager to share it with other NYC parents!

About Author

Eugene Ng

Aspiring data scientist
View all posts by Eugene Ng >

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 Data Analysis 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