
Every applicant gets one. It is a tiebreaker inside a priority group, and it is worth much less than the amount of energy spent decoding it.
A long string of letters and numbers. The Department publishes a real one as its example: B51920AF-F1C6-40EC-8E9A-3E1E50CB13BB. It is a UUID — eight characters, then three groups of four, then twelve, separated by hyphens. Thirty-six characters in total, thirty-two of them hexadecimal digits.
They sort in this order: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. So of these two, the first one comes first:
That is the whole of the decoding. The leading characters decide where you sit in the sort, which is why a number starting with 0 feels lucky and one starting with F does not. What they do not do is tell you whether you get in.
The Department has published the line of code. MySchools stores the number on each application as `lottery_id`, a `models.UUIDField` whose default is `uuid.uuid4`. Python's `uuid.uuid4()` takes no arguments, so nothing about a child — race, income, ZIP code, seat group — can reach it. A new number is generated independently for each admissions process, so a child applying to both middle school and Summer Rising has two unrelated numbers.
Two reasons, both from the Department's own explanation.
To actually compute your odds you would need every other applicant's number and every other applicant's full ranked list. Nobody has that.
Applicants do not carry their application number onto waitlists. A new random number is issued for each waitlist a child is on. You never need to know it — the position MySchools shows you already accounts for it.
The match itself is a deferred acceptance algorithm, the Gale-Shapley method. The State Comptroller's audit of it, report 2022-N-7 issued 24 July 2025, describes the random number as one input among four: the number itself, how the applicant ranked the programs, how many applicants are in each priority group, and how many seats there are.
Nothing. List programs in true preference order, include some with average demand alongside the ones everyone wants, and ignore the number. Ranking a school lower does not reduce your chance of getting into it.
Checked 2 August 2026 against the Random Numbers in Admissions page at schools.nyc.gov/enrollment/enroll-grade-by-grade/how-students-get-offers-to-doe-public-schools/random-numbers-in-admissions, which is where the example number, the sort order and the Python code all come from; the Kindergarten admissions page on the same site; and Office of the State Comptroller audit 2022-N-7, "Management of the Student-School Matching Algorithm", issued 24 July 2025.

Every applicant gets one. It is a tiebreaker inside a priority group, and it is worth much less than the amount of energy spent decoding it.
A long string of letters and numbers. The Department publishes a real one as its example: B51920AF-F1C6-40EC-8E9A-3E1E50CB13BB. It is a UUID — eight characters, then three groups of four, then twelve, separated by hyphens. Thirty-six characters in total, thirty-two of them hexadecimal digits.
They sort in this order: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. So of these two, the first one comes first:
That is the whole of the decoding. The leading characters decide where you sit in the sort, which is why a number starting with 0 feels lucky and one starting with F does not. What they do not do is tell you whether you get in.
The Department has published the line of code. MySchools stores the number on each application as `lottery_id`, a `models.UUIDField` whose default is `uuid.uuid4`. Python's `uuid.uuid4()` takes no arguments, so nothing about a child — race, income, ZIP code, seat group — can reach it. A new number is generated independently for each admissions process, so a child applying to both middle school and Summer Rising has two unrelated numbers.
Two reasons, both from the Department's own explanation.
To actually compute your odds you would need every other applicant's number and every other applicant's full ranked list. Nobody has that.
Applicants do not carry their application number onto waitlists. A new random number is issued for each waitlist a child is on. You never need to know it — the position MySchools shows you already accounts for it.
The match itself is a deferred acceptance algorithm, the Gale-Shapley method. The State Comptroller's audit of it, report 2022-N-7 issued 24 July 2025, describes the random number as one input among four: the number itself, how the applicant ranked the programs, how many applicants are in each priority group, and how many seats there are.
Nothing. List programs in true preference order, include some with average demand alongside the ones everyone wants, and ignore the number. Ranking a school lower does not reduce your chance of getting into it.
Checked 2 August 2026 against the Random Numbers in Admissions page at schools.nyc.gov/enrollment/enroll-grade-by-grade/how-students-get-offers-to-doe-public-schools/random-numbers-in-admissions, which is where the example number, the sort order and the Python code all come from; the Kindergarten admissions page on the same site; and Office of the State Comptroller audit 2022-N-7, "Management of the Student-School Matching Algorithm", issued 24 July 2025.