Data

The files behind this site and how they are made.

Downloads

Columns

Join on dbn. An empty value is never a zero, and the status column says why it is empty. Percentages are proportions from 0 to 1. The CSV archive has every row. The workbook's history sheet has a headline set, because Excel stops near one million rows.

DBN
District, borough and school number, such as 02M475.
Comparison group
Schools the City finds similar for one measure. The City publishes the group's average, not its members.
Score out of 5
The City's rating of one measure against the comparison group.
City average
The average of all schools filing the same report, published beside survey results.
Rating
The City's word for one of three areas, Excellent, Good, Fair or Needs Improvement, with the score it comes from.
Withheld
Calculated but not published, to protect a small group of students.
Economic Need Index
The City's estimate of the share of students facing economic hardship, from benefit and housing records.
Screened, zoned, open
Admissions methods, set per program. Screened uses grades or other criteria. Zoned favors students in the zone. Open has no academic requirement.

Free to reuse with attribution. Carry the reporting period when you republish a figure. The JSON files the pages read are open too, with no key, and their paths are stable. data/metrics.json lists every measure and its unit, and data/sources.json lists every source, period and limit.

 

Sources

Process

Each update runs six steps.

  1. Collect

    Every morning the site downloads eight public sources from New York City Public Schools, NYC Open Data and the City's geocoder. The reporting period is read from inside each file.

  2. Match

    Every row is matched to a school by its DBN, the ID every City school has. Never by name, because each file spells names differently.

  3. Check

    Each figure keeps its year, unit and status. A figure the source did not publish stays blank. The build stops if a source changes shape or loses schools, rows or locations.

  4. Band

    For about one figure in six, the City publishes a score from 1 to 5 against a group of similar schools. A profile colors four bands from that score, 4 and up, 3 to 4, 2 to 3 and under 2, with the score inside. No score, no color. That grouping is the site's only judgment.

  5. Count

    For each figure, the build counts the schools of the same type by their published value, in 24 equal steps, for the two newest years. A profile draws where its school falls among them. The counts name no school and make no score.

  6. Place

    Each school gets a point from the City's school point file, then the high school directory, then the geocoder. A school none of them has stays off the map.

  7. Publish

    The same checked tables write every page and every download, so they cannot disagree. A late source puts a warning on every page.

Figures

Limits