The Match score, in plain English
How matching works
Two numbers sit on every school card on Public School Match: a Match band that asks "is this school a good fit?" and an Admissions outlook that asks "will my child get in?" They're independent. A school can be an excellent fit and a long shot; a school can be a fair fit and likely. Below is exactly how each number is built and why we made the choices we did.
What the Match band is, and isn't
The Match band is a comparison between a school and your family's stated priorities. It is not a universal ranking. A school's band depends on the criteria you flagged as important, the values you self-identified with on the Optional Context card, and the active commute origin you chose for this child. Change any of those and the band changes. Nothing about the school changes, only how its data lines up with what you said you care about.
A lower band doesn't mean a school isn't great. It just means it doesn't line up as cleanly with your priorities as a higher-band school does. We always show every public school's data, band or no band.
The five importance tags
Instead of asking you to set a 1–5 slider on every criterion (which gives a false sense of precision), we ask you to tag each criterion with one of five tiers:
- Must Have, if a school can't meet this, it lands in the special "Doesn't Meet Must Haves" band regardless of how well it does on everything else.
- Strongly Prefer, heavily weighted, but a miss doesn't disqualify the school.
- Nice to Have, a tie-breaker. Counts, but lightly.
- Not Sure Yet, collected, ignored in scoring. Shows you the data but doesn't influence the band.
- Don't Care, explicitly silenced. Even the data card gets de-emphasized.
How tags combine into a band
Each criterion produces a 0–100 raw score from the school's data, then is weighted by your tag (Must Have heaviest, Nice to Have lightest). The engine averages the weighted scores into a hidden 0–100 number, which is only used for sort order, never displayed, and then maps that to one of five bands:
- Excellent, top of the distribution for your priorities at this grade level.
- Strong, good alignment across most of your tagged criteria.
- Fair, partial alignment; worth a closer look.
- Weak, limited alignment.
- Doesn't Meet Must Haves, at least one Must Have failed outright. The hidden score still exists, used to sort within this group.
Watchout chips below the band tell you exactly which criteria contributed negatively. Met chips tell you which contributed positively. Both link back to the underlying data so you can verify our reasoning.
What happens when data is missing
When a school doesn't have data for a criterion you care about, we exclude that criterion from the score, both the numerator and the denominator. The missing criterion shows up as a Watchout chip so you know to follow up on the tour. We don't penalize a school for what we don't know, and we don't pretend we knew it by scoring it as 50.
The one exception: if you tag a criterion as Must Have AND check the "Treat Unknown as Non-Matching" toggle, then a school with missing data on that criterion does fail the Must Have floor. That toggle is off by default.
What gets scored
The Match engine evaluates 11 criteria today. Each has its own data sources:
- Commute: travel time from your active saved location to the school, in the modes you selected (walking / transit / driving / fastest of the three), routed on published MTA schedules for transit and OpenStreetMap street data for walking and driving, with straight-line estimates as the fallback.
- Academic Performance: NYC DOE ELA + math proficiency, accelerated pct, and Quality Review climate component.
- School Community Fit: NYC School Survey climate signals only (safety + family-school relationships). Demographics are not in this score.
- Student Body Composition: race/ethnicity + economic mix composition. Only fires when you affirmatively tell us about your family on the Optional Context card. See the Guardrails on the Student Body Composition signal section below.
- Program Style: how well the school's program tags (Dual Language, Arts, STEM, etc.) overlap with what you selected.
- School Size: small / medium / large enrollment bucket.
- School Configuration: grade span (K-5 / K-8 / 6-8 / 6-12 / etc.).
- Admissions Method: lottery / screened / district priority / charter, your stated preference.
- Special Education Support: SWD enrollment % and ICT / SETSS / inclusion program presence. Degrades for charter schools: because charters don't use NYCDOE program naming, we lean on the SWD enrollment data and surface the score as "Estimated" rather than "Official."
- Bilingual / Dual Language: whether the school runs a DL program in the language(s) you specified.
- Route Fit: a geometric overlay of the school against the line between your saved locations (e.g. is the school "on the way" from home to work?). Scored independently from Commute.
The Admissions outlook
Separately from the fit band, every school card shows an Admissions outlook bucket, Likely, Target, Reach, Long shot, or Insufficient data. This is built from MySchools' published applicant-and-offer counts inside each school's priority groups. We:
- Walk the school's priority ladder top-to-bottom (continuing students > siblings > district residents > borough residents > citywide) and find the highest rung your child qualifies for.
- Look up the historical offer rate inside that rung from the most recent published cycle.
- Convert that rate into a bucket, widening the band when the applicant pool was small.
If you've entered your MySchools lottery number, the outlook upgrades to a percentile-based estimate that compares your number's position in the draw with the share of your group that got offers last year. A margin around that share allows for cycle-to-cycle variance. It is a quarter of the share, never more than 10 percentage points, and a group where nobody got an offer stays a Long shot whatever your number. Your number is encrypted at rest, decrypted only by the match engine, and never displayed back to you.
Charter schools run independent lotteries. The DOE priority ladder and lottery number don't apply. We have no published applicant counts for charters either, so we don't estimate an outlook for them. The card reads "Insufficient data" and carries an "independent lottery" badge so you know why.
We never quote a number more precise than the 5% bands. We always cite the source year. Families like yours got offers about this often, not a promise about your specific child.
Applications per seat
Admissions tables on school pages and list views also show an "Applications / seat" column: how many students applied for each available seat in the most recent published cycle and did not already receive an offer to a program they preferred more. That exclusion is the DOE's own definition, and it matters: the count is the pool that was genuinely still in contention for these seats, not everyone who ever listed the program.
The program-level figure is MySchools' own published number, shown as is. Inside a priority group, we derive the equivalent ratio ourselves from that group's published applicant and offer counts. Either way it measures crowding, how many families competed for the seats last cycle. It is not your child's odds. Your odds depend on where you land in the priority ladder, which is what the Admissions outlook above is built from.
On list views the column is a school-level figure, and we compute it ourselves because MySchools does not publish one. We add up the applicants across every admissions program at that school for the grade level you are browsing, add up the seats the same way, and divide. Every admissions track counts, general education and students-with-disabilities alike, because a parent asking how crowded a school was is asking about the school. A program is only included when the source published both its seat count and its applicant count for the most recent cycle; a program that published seats without applicants is left out rather than counted as nobody applying. Where a school has no usable program at that grade level, the column stays empty rather than guessing.
Two consequences are worth stating plainly. First, the same school can show a different figure on different grade tabs, because they describe different sets of programs: a K-8 school's kindergarten seats and its sixth-grade seats are separate competitions. Second, the school-level figure on a list will usually differ from the per-program figures on that school's own page. That is not a disagreement about the facts. It is our arithmetic over the Seats and Applicants columns the page already prints, pooled instead of listed one program at a time, so a school with one very crowded program and several open ones reads as the mixture it is rather than as its most crowded corner. The figure also pools every priority group, so a high number at a zoned neighborhood school is not the same claim as a high number at a citywide gifted program.
MySchools publishes the program-level number already rounded to a whole number, so we print it as a whole number rather than adding a decimal place the source does not have. One consequence is worth knowing: a published 0 does not mean nobody applied. It means the ratio rounded down below one. Where a program published 0 next to a positive applicant count, we show "under 1" instead, so a school with fewer applicants than seats cannot be mistaken for a school nobody wanted. The derived priority-group ratio is a real division we perform ourselves, so that one does carry decimals.
The DOE itself describes this figure as a program's applicants per seat and frames it as demand: more applicants per seat means a lower chance of an offer. We label the column "Applications / seat" to match MySchools, which is the screen a family actually reads the number on. The DOE's guidance pages and its printed admissions guide say "applicants per seat" instead, so there is no single spelling that matches every official surface; we follow the one the number appears on. As far as we can find, the DOE does not publish a separately named competitiveness index for programs, so this ratio, read alongside the priority ladder and each program's admissions method, is what families have to go on.
Guardrails on the Student Body Composition signal
The demographic-composition criterion is the most sensitive number we compute, so it has explicit guardrails:
- Affirmative opt-in only. The criterion only fires when you tell us about your family on the Optional Context card. We never infer demographics from your name, address, or browsing behavior.
- Symmetric scoring. A family that asks for "more families like ours" and a family that asks for "diverse" have the same maximum possible score. Neither direction is privileged.
- No per-demographic penalty. A school is never penalized for serving a particular racial, ethnic, or income group. The scoring formula computes overlap with your stated preferences only.
- Encrypted at rest. Race / ethnicity, ELL status, FRPL status, and IEP status are stored encrypted. Only the server-side match engine reads them, using a single decrypt call that never reaches your browser.
What we never do
- We don't publish a universal "best school" ranking. There isn't one.
- We don't guess about your child. Every input you give us is something you affirmatively typed.
- We don't hide data from you when a school does poorly. Every public-data point is visible on every school's detail page regardless of band.
- We don't lock you out of the data without a profile. You can browse, save, and compare schools without any priorities set, the Match band just doesn't show up until you've told us what to look for.
Where the data comes from
All school-level data on Public School Match comes from public sources, loaded by our own data pipeline. The main feeds:
- NYC DOE LCGMS (the list of open schools, with names, grades served, and addresses).
- NYC DOE School Quality Snapshot (enrollment, demographics, attendance, and test proficiency), plus the School Quality Reports on InfoHub for high school graduation, Regents, and college enrollment results.
- NYC School Survey (student, teacher, and family responses), from the survey files the DOE publishes on InfoHub.
- NYC DOE MySchools (programs, admissions methods, priority groups, applicant and seat counts, quality ratings, bilingual and dual-language programs, and tour and open house dates).
- PSAL (high school sports teams).
- NYC Open Data (school zones, school district boundaries, class size, and a second list of operating schools used to confirm closures).
- NYSED (teacher experience and certification, spending per student, and charter high school graduation and Regents results), with school budgets and staffing from the DOE's Galaxy budget summaries.
- Commute routing (travel times), computed on our own routing stack from MTA GTFS transit schedules and OpenStreetMap street data, fetched on demand and cached for 12 months per (origin, school, mode) pair. Transit times use published schedules for a school-day morning, not live traffic.
Every dataset, with a link to the page where its publisher posts it, is listed under Data sources further down this page.
Behind the scenes we grade every datapoint's confidence, from official-and-current down to estimated, and the site marks estimated values where they appear (commute fallbacks and charter special-education scores, for example, show as "Estimated"). If a number looks wrong, use the "Report data issue" link next to any section of a school page and we will re-check it against the source.
Quality ratings
DOE quality-rating labels skew positive across the system, so a label alone rarely separates one school from another. We show the ratings as the categorical labels they are, and we place percentile-anchored measures (survey topics, teacher metrics, student body mix) alongside them in the same section so you can see where a school actually sits in the citywide distribution. Lean on the percentiles; treat the labels as context.
Information, not a guarantee
Everything on Public School Match is an estimate built from published data. We are an independent tool, we play no role in admissions decisions, and no band, outlook, or ratio on this site is a promise about your child's application. Use these numbers to build a smarter list and better tour questions, then confirm anything time-sensitive, like deadlines, open houses, and program availability, with the school or MySchools directly.
Data sources
Every dataset behind the numbers on this site, with a link to the page where its publisher posts it. Datasets from NYC Open Data link straight to their dataset pages.
Datasets on NYC Open Data
- School Zones 2024-2025 (Elementary School)Published by NYC Department of EducationElementary school zone boundaries, used for the zoned-school lookup and the zone drawn on school maps.
- School Zones 2024-2025 (Middle School)Published by NYC Department of EducationMiddle school zone boundaries, used for the zoned-school lookup and the zone drawn on school maps.
- School DistrictsPublished by NYC Department of City PlanningCommunity school district boundaries, used to find your home district from your address.
- 2021 - 2022 Average Class Size by SchoolPublished by NYC Department of EducationAverage class size on school pages, from the 2021-22 school year, the newest school-level edition published.
- School Quality Reports DataPublished by NYC Department of EducationA second, independent list of operating schools, used to confirm when a school has closed.
- 2019 - 2020 School LocationsPublished by NYC Department of EducationState identification numbers (BEDS codes), used to connect each school to New York State data.
- NYC DOE Public School Location InformationPublished by NYC Department of EducationAn older edition that is no longer updated. The map locations of schools that have not moved since 2017 were first taken from it.
NYC Public Schools publications
- LCGMS School Information ReportPublished by NYC Department of EducationThe official list of open schools, with names, grades served, addresses, and principals.
- School Quality SnapshotPublished by NYC Department of EducationEnrollment, student demographics, attendance, and test proficiency.
- MySchoolsPublished by NYC Department of EducationPrograms, admissions methods, priority groups, applicant and seat counts, quality ratings, and tour and open house dates.
- School Quality Reports, Citywide ResultsPublished by NYC Department of EducationHigh school graduation rates, Regents results, and college enrollment.
- NYC School SurveyPublished by NYC Department of EducationStudent, teacher, and family survey results.
- Galaxy Budget SummaryPublished by NYC Department of EducationSchool budgets and staffing.
- PSALPublished by Public Schools Athletic LeagueHigh school sports teams.
New York State
- NYSED Data DownloadsPublished by New York State Education DepartmentSchool report cards (teacher experience and certification, spending per student), graduation rates, enrollment demographics, and suspensions.
Other sources
- MTA GTFS static schedulesPublished by Metropolitan Transportation AuthoritySubway and bus schedules, used to estimate transit commute times.
- OpenStreetMapPublished by OpenStreetMap contributorsStreet and path data, used to estimate walking and driving commute times.
- NYC GeoSearchPublished by NYC Department of City PlanningAddress lookup, used to place a school on the map when its address changed after 2017.
- Hunter College Campus SchoolsPublished by Hunter College, CUNYDetails for the two Hunter College Campus Schools, which are run by CUNY and do not appear in NYC Department of Education data.