About SHSAT Practice Test: how it works, and where it can be wrong
Updated
SHSAT Practice Test (shsatpracticetest.net) is an independent project made in New York City, for New York City families. It offers a free adaptive SHSAT practice test, practice questions and admissions tools. Our test is computer-adaptive, the format the SHSAT uses starting in fall 2026.
SHSAT Practice Test is not affiliated with or endorsed by NYC Public Schools, the NYC Department of Education, or Pearson. We use “SHSAT” only to describe the test.
Original questions
Every passage and question on this site is written by us and checked against New York State grade 6–7 standards. We do not copy questions from the official SHSAT practice tests, NYSED released tests, or other prep companies. We use the official materials only to understand the format. You can see examples on our SHSAT practice questions page.
How our score estimate works
Method as of October 7, 2026. If it changes, we will update this section and its date.
1. Adaptive question selection
Our practice test has 21 questions in 40 minutes: 11 ELA and 10 math. Every question has a difficulty level from 1 to 5, set by our writers. Each subject starts at average difficulty. After every answer, or after each passage set, the test re-estimates your child’s level from all of their answers so far in that subject and gives the question or passage set closest to it. That running estimate is the one in step 3, with a slightly stronger starting assumption, so a single early answer rarely moves the difficulty by two levels; in our simulations this was just as accurate. Every child gets the same mix. In ELA: a first reading passage set, a second reading set matched to the estimate (one of three), a Revising/Editing Part A passage with numbered sentences (one of two), and one stand-alone Revising/Editing Part B question, in the order of NYC’s 2026 practice tests. In math: 2 questions from each of 5 topics, with 7 or 8 multiple-choice questions, 1 or 2 typed answers and 1 other interactive question, close to the mix on the 2026 practice tests. This follows the approach NYC describes for the real SHSAT on its SHSAT page; NYC’s exact selection rules are its own.
2. A Rasch-style model
We place ability (θ, “theta”) and question difficulty (b) on one scale. Level 3 sits at 0, and each level up or down moves the difficulty by the same step. The chance of a correct answer follows a Rasch-style (one-parameter logistic) model:
P(correct) = 1 ÷ (1 + e−(θ − b))
When ability equals a question’s difficulty, the chance of a correct answer is 50%. It rises as ability moves above the difficulty and falls as it moves below.
3. The final ability estimate
After every answer, and again when the test ends, we estimate θ separately for ELA and math from all of the answers so far in that subject, using an expected a posteriori (EAP) estimate. EAP combines the answers with a weak starting assumption that students are spread around the middle of the scale, so a short test with a few lucky or unlucky answers does not swing to an extreme. We keep that assumption weak on purpose: a stronger one pulled strong students' estimates about 20 points too low in our simulations.
4. From ability to an estimated score
Estimated score = 480 + 55 × (θELA + θMath), rounded and kept between 200 and 800
A student in the middle of our scale in both subjects (θ = 0) gets 480. For example, θELA = 0.5 and θMath = 0.3 give 480 + 55 × 0.8 = 524. The 200–800 range is our own display scale. NYC does not publish a fixed SHSAT score range.
5. How far off it can be
In our simulations, one 21-question test typically lands within about ±50 points of the student’s true level on our scale, and some results miss by more. Averaging several tests narrows the random part of that error: the average of three tests is typically within about ±30 points, which is why My Progress shows the average of the last three. Averaging cannot fix a systematic gap between our scale and NYC’s. Only calibration can.
6. Estimates from practice-test answers
The SHSAT score calculator can also estimate a score from the number of questions right on a full-length practice test. That estimate uses a different model, built on NYC’s own description of how raw scores turn into scaled scores; its method and error are explained on that page.
7. What it is not
Our estimated score is not an official SHSAT score, and it does not predict one exactly. We have not yet calibrated our scale against official results. When we can compare our estimates with official scores, we will publish the measured error on this page.
How NYC scores the real SHSAT
On the real test, each question has a set difficulty, and the score comes from the student’s pattern of right and wrong answers compared with question difficulty. Starting in fall 2026, the score is re-estimated after each answer from all answers so far. Performance on each subtest is converted to a scaled score through a standardization process; the two scaled scores are added to make the composite score used for rank ordering. NYC does not publish raw-to-scaled conversion tables or a fixed score range. (NYC SHSAT page, “How will the test be scored?”). More on the new format: what’s on the 2026 SHSAT.
Cutoff scores
Cutoffs are the lowest scores that received an offer at each school in a given year. NYC Public Schools publishes them on its Specialized High Schools page. Future cutoffs will differ, especially after the switch to the adaptive test in fall 2026. See the SHSAT cutoff scores for 2022–2026, or compare a score with them in the SHSAT score calculator.
Your data
- Score history stays in this browser. The site keeps test history and topic accuracy in this browser’s local storage, for My Progress and the score calculator. There are no student accounts. Browsers can erase it: Safari after about 7 days without a visit, any browser when you clear its site data.
- Answers are sent to us without a name. When your child finishes a practice test or answers a topic practice question, the answers, whether each was right, the time spent on each question and the test score are sent to our database, hosted by Cloudflare. No name, email or account is sent with them, and the IP address and browser details that come with every web request are not saved with them. To read the answers of one browser together, the browser makes a random ID the first time it sends something; it is never shown and is not tied to anything else. A typed answer is kept only when it looks like a number or a math expression; anything else, such as a name, is removed before saving. We delete answers and tests 12 months after they are sent.
- Why. Only to find questions that are too easy, too hard or unclear, and to set their difficulty from real answers. We do not sell the answers or use them for ads.
- Problem reports. If your child reports a problem with a question, we save the reason they pick with that question. There is no box for typing details. Reports are deleted after 12 months.
- Erasing. “Erase my saved results” on My Progress deletes the history in this browser and everything sent under its ID.
- The only thing we ask for is a waitlist email. If you join a waitlist, we store the email address you enter, which list you joined (free accounts, Pro, or tools for tutors and teachers), which of our pages you signed up on, the date and time, and your child’s grade if you give it. It is stored on Cloudflare, which hosts the site.
- How we use it. Only to tell you when accounts, Pro or teacher tools open. We do not sell it, share it with advertisers or use it for ads.
- For parents, not students. The waitlist is for parents and guardians. Students under 13 should not enter an email address.
- Technical data. Like any web host, Cloudflare processes IP addresses and request details to deliver pages and block abuse. We turned off Cloudflare’s per-request logs for our server; the only logs we keep are messages our code writes, such as errors, which never include an IP address, for up to 7 days. Our forms limit how many requests one IP address can send per minute; the address is not saved with anything. Before answers or a report are saved, Cloudflare Turnstile checks that a person, not a bot, is sending them; it loads only at that moment and rarely asks you to tick a box. We do not use analytics or advertising trackers.
- Deleting your email. You can ask us to delete it at any time. A contact address for deletion requests, corrections and questions is coming soon.