Data Science For Good: Identify which schools needs help

Posted on Apr 28, 2019

Project GitHub | LinkedIn:   Niki   Moritz   Hao-Wei   Matthew   Oren

The skills we demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

My Shiny App || My GitHub || About SHSAT || PASSNYC ||HeliconIn



The Specialized High School Admissions Test (SHSAT) is the only criterion for admissions to 8 of the 9 New York City Specialized High Schools. The only exception is the Fiorello H. LaGuardia High School of Music & Art and Performing Arts, which requires an audition or portfolio for admission based on data.

The SHSAT is administered by the New York City Department of Education and is only available to New York City residents in the 8th/9th grade. In 2016, approximately 28,000+ students took the SHSAT, and less than 20% of those students were accepted to a New York City Specialized High School.


Problem Statement: 

As they say, a picture is worth a thousand words.

The plots show the statistics of all the students who take admission in NYC High School. The Bar plot at the left compares the percentage of students who enrolled in SHSAT exam and percentage of those who took it for years 2013 to 2016.

‘You can get it only if you took it’. Only 10% of NYC students make an attempt to SHSAT exams, which is quite low number, and we are not even talking about how many finally got an offer yet. The plot on the right further drills down and shows that there are few schools that are doing better than others. For example, Success Academy Charter School -Harlem 2, Columbia Secondary School, KIPP STAR College Prep Charter Schools are doing well in terms of representation among students who  attempt to take the SHSAT exams, whereas others, including PS 123 Mahalia Jackson, have far less..

Another problem is these elite schools lack diversity because students from not at ethnicity and gender participate in SHSAT exams.

The question is:  why are so few schools participating in this entrance test, After all it’s the gateway to elite education. Upon doing some exploration, I learned that many schools/students don’t know how to prepare for the test. Even some of those who know don’t have enough resources/fund/motivation to take the plunge.

Thankfully, we are not option-less here. There are nonprofit organizations like PASSNYC, HELICON,Inc. who strive to identify talented under-served students within New York City's under-performing school districts in order to increase the diversity of students taking the SHSAT. These organizations provide free educational opportunities to under-served students to help them prepare better and score a spot in and elite high schools.

What Can I do?

Nonprofit organizations are there to help but they need a better model to understand which schools/candidates need help.

I wanted to use data science for a good cause, so I decided to analyze and build my Shiny app on this issue. My agenda is to figure out NYC schools that need help so that their 8th/9th graders can perform better in SHSAT. We would analyze what are the contributing factors that could lead to success/failure. Through this app user can gain insights based on data and derive conclusions to which schools need help to perform better.

The DataSet:

I  used four datasets for my analysis. Three of them are from and one from

I needed detailed school information, SHSAT score information, diversity demographics, and school information by county. I had to gather the data from different dataset in order to consolidate all these data points  into a single dataset.

Data Cleaning:

I started by jotting down which variables I would need and which I won’t. I then created a new Data Frame to work with variables I would need. I converted the data types. Most of analysis is based on percentage and mean value, so I used ‘as.numeric’ to get my element as numbers which were saved as characters in dataframe. I also looked for missing values and NAs and filtered them out where appropriate. Then came some data wrangling where I had SHSAT offers mentioned as a range like (0 – 5 offers). However for offer counts that exceeded 5, we had the exact number of offers. My immediate reaction was: it’s dirty data, get rid of it. But upon further observation, I found that most of the schools are under-performing. I had a lot of observations whose offers were only 0-5, so I decided to convert them to 5 ( since they still show up as under-performing  getting rid of them would have given me a wrong analysis). I derived a percentage offer and use it for analysis. My data sets were wide data rather than long data, so I used ‘gather’ to convert them in my derivation.

About My Shiny App and Data Analysis:

The KPIs of my analysis are: ethnicity, location, community school, economic need index. My Shiny Dashboard app is built to analyze performance based on these key performance indicators.

I approached the analysis with a hypothesis that community schools should be better performing ones since they get various kind of educational and social support that are not found in  other school system. So, to start with, I provided School Data Explorer, which gives user access to data in data table on which can be filtered, sorted and selected based on what user needs to explore. I provided Info box which gives a gist of how community vs non-community schools are doing based on overall schools ELA and Math performance.

The data shows that my initial hypothesis fails. In fact, non-community schools were doing better in their academics. But it raises another question: are they given extra support because they are needy?

To explore that question, I decided to analyze the correlation between community schools with other factors like Economics need index. (Economic need index is calculated as(%temp housing) + (% HRA eligible *0.5) + (% free lunch eligible *0.5) : The higher the index, the higher the need)

Relation between Community/Non-Community , Economic Need Index, Takers%, Success%

I used ggplot for these bar plots , box plot and scatter plot. There are many more Non-Community school than community school, so it would be irrelevant to just pick schools by Community.  The box-plot on the right shows community schools has a higher Economic Need Index. Let's analyze how they perform on SHSAT exams.

Non-community schools have higher population taking exams, and the number drops as the  Economic Need Index gets higher. Most of the community schools who attempted have better rate of succeeding in the exam.

This proves 2 points: 1) Most of the schools with higher Economic Need Index are less participating in SHSAT. 2) Getting academic aid results in a higher success rate for exams.

Birds Eye View on performance based on location: Users can use a drop down menu to select an analysis  based on Percent of test takers / Success rate in SHSAT exams / Cluster of school which expands to single school and gives basic school details, Math/ELA performances and Economic Need Index.

Performance by Geography

I used  NYC shape files on leaflet map for geo spatial data. I wanted to  analyze and find if there is success/failure trend based on location. The percentage of takers is color-coded, and it’s easy to interpret which city on an average need help. The map above shows that Corona (takers: 11%) is a good candidate for further investigation, whereas Little Neck is standing tall with 73% of takers. Queens Village is sitting somewhere in between with 35% takers.

Success rate is an important parameter because "If you took it", you have taken a positive step, but what if most of the students take it and fail. That’s an indicator that the schools needs help in prep. Let’s repeat the examples by Success Rates this time:

Corona:6% ;  Queens Village: 13% ; Little Neck : 44%

Little Neck has proven to be doing good and doesn't need help. On the other hand, Queens Village  shows a low success rate with a relatively high percentage of test takers. So Queens Village, along with Corona, needs help with prep.  We get an insight that Percent of takers and Offers, both together are important variable to our analysis.

Racial demographics

Data from Racial Demographic of New York city shows that over a decade, majority of population receiving offers are Asian or White by ethnicity. Black and Hispanic only make 10% of the total cut. This suggests that  Black and Hispanic students might need help of these non-profit organizations. Also the elite schools are lacking students from diverse background and are looking forward to have more diverse group. So finding schools where Black and Hispanic student make a majority of population is an important aspect of our analysis.

The ‘Ethnicity’ tab of my app is also an interactive tab that allows  users to view Racial demographics by County, by City and by School using the dropdown menu. I have used google Vis to plot this pie chart. Upon selecting Bronx, the user learns that Bronx has 48% of Black and 47.7% of Hispanic population. Hence, user might want to drill down on City and then school to identify racial demographics by school. See plot below :

Upon analyzing the counties, I found that Bronx has maximum number of Black and Hispanic students followed by Manhattan.

Economic Need Index

We have already set up some ground on Economic need index based on our analysis and know that higher the Economic Need Index, lesser the percentage of takers and Offers. Let's learn more on this index and then perform a 4D analysis.

The density plot suggests that there are a lot more number of Black and Hispanic students with higher index and percentage takers reduces as the economic need index increases. This compliments our findings until now.

This is 4D Bubble chart which shows correlation between 4 parameters:

x axis : Economic Need Index;   y axis: Percent Takers

Color: Ethnicity;    Size: Population of that Race; (%) Id: City

As shown in the tool tip, 66% of White student with low Economic need Index  fall into high percent Takers, whereas, as the bottom right corner shows, there is dense population of Black and Hispanic with high Economic Rate Index and Low Percent Takers.

So Which Schools?

Based on our finding I recommend:

  1. Pick schools with low participation, spot talented students from that school and prep them for exams.
  2. Pick schools with high Economic index, high population of Black, Hispanic ethnicity; spot talented students from that school and prep them for exams.

Following tab of my app recommends user which schools to pick based on city. However, as a data scientist I am delighted to bring out facts out of data and would like to provide flexibility to users and let them decide how to use the data, which is why I provided slider inputs for user to set his own range and pick schools.

I hope you enjoyed reading my blog. You can find link to my RShiny app, GitHub. Feel free to explore.

My Shiny App || My GitHub



About Author

Priya Srivastava

Priya Srivastava is an analytical thinker with business acumen. Her first love was STEM, which she pursued in earning a bachelor’s degree in Engineering and building a career as Software Engineer and data warehousing consultant in the technology...
View all posts by Priya Srivastava >

Related Articles

Leave a Comment

Google March 3, 2021
Google Very handful of web-sites that happen to be in depth beneath, from our point of view are undoubtedly nicely worth checking out.
Google March 3, 2021
Google Sites of interest we've a link to.
CBD Oil For Dogs December 17, 2020
CBD Oil For Dogs [...]The info mentioned inside the article are some of the best out there [...]
Google September 17, 2020
Google That is the finish of this write-up. Here you’ll come across some internet sites that we assume you will value, just click the hyperlinks.
Google September 15, 2020
Google Below you will discover the link to some internet sites that we feel you should visit.
MKsOrb August 28, 2020
MKsOrb [...]below you will come across the link to some sites that we believe you must visit[...] August 26, 2020 [...]we came across a cool website that you might love. Take a search should you want[...]
OnHax Me August 19, 2020
OnHax Me [...]Here are a number of the websites we recommend for our visitors[...] August 5, 2020 [...]very handful of web-sites that come about to become comprehensive beneath, from our point of view are undoubtedly effectively worth checking out[...]
cbd oil for cats July 9, 2020
cbd oil for cats [...]The facts mentioned inside the article are a number of the best offered [...]

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans 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 boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis 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 seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI