How to use the map
The first tab sets a recruitment target for the Summer Youth Employment Program (SYEP) in each of the city's 51 council districts and in each New York City Housing Authority (NYCHA) development. It has four parts.
- Shading the districts. The choices at the top left set what colors the map. “Young people to recruit,” the first, shows each district's target. The other five show residents 14 to 24, youth unemployment, young shooting victims per resident, the share of young people living in NYCHA housing and NYCHA residents' summer jobs enrollment. Hover over a district for its numbers.
- The target. Each district's target is a share of its residents 14 to 24, set by how often its young people are shot compared with the city as a whole. A district at or below the city's rate keeps today's citywide share, . A district at or more times the city's rate gets the share on the slider, to start. A district in between gets a share in proportion: at twice the city's rate, halfway between and the slider's share. At the start, Moving the slider only adds young people in districts above the city's rate; it never moves slots from one district to another, so the citywide total rises, to at the start. The slider's top is a choice, not a finding, and so is the -times threshold (below). The list beside the map gives every district's target and the young people it adds to today's share. DYCD doesn't publish participants by district, so “today” is the citywide share everywhere.
- Precincts. Police precinct outlines are on when the map opens. The six highlighted are the precincts where the City focuses summer jobs outreach and recruitment (). The slider beneath extends the highlight to the next precincts by young shooting victims per resident, up to 20, and the line under the map gives the share of the city's young people and young shooting victims inside the highlighted precincts. Precincts don't change the targets; they show where the City already recruits.
- NYCHA developments. Two switches outline NYCHA developments: the 29 in the Mayor's Action Plan, where NYCHA recruits residents for summer jobs through its MAP to $uccess program ( are on NYCHA's map), and all of them. NYCHA residents already sign up at the citywide rate, so a development's target starts at NYCHA's current average, of its residents 15 to 24, and rises by as many percentage points as its district's target does. No setting asks a development to enroll fewer young people than it does today. The “NYCHA developments” tab of the list sets each target against the development's 2024 enrollment, the latest published. At the start, . Hover over a development for its numbers.
Tab 1: council districts
Everything starts from 2020 census blocks and NYPD's own map points and is added up to the 51 City Council districts (Department of City Planning boundaries, 872g-cjhh). Nothing is apportioned from precinct totals.
- Residents 14 to 24: each tract's 2020 count by single year of age (census table PCT12) is spread to its blocks in proportion to each block's residents 15 to 24 (table P12), then summed. Citywide: .
- Youth unemployment (16–24): American Community Survey 2020–24, table B23001, by tract, split among districts by where each tract's residents 15 to 24 live. Margins of error follow the Census Bureau's formulas. A district is faded when the coefficient of variation exceeds 30%.
- Shooting victims under 25: NYPD shootings and victims (
5ucz-vwe8,pztn-9bne), , placed by the map point NYPD gives each shooting. of the young victims sit at a precinct station house, NYPD's spot for records it cannot locate, and are left out of districts. The rate is victims a year per 1,000 residents 14 to 24; the multiple compares it with the citywide rate. - Mayor's Action Plan developments: the 29 “MAP to $uccess” developments in NYCHA's 2025 list, the most recent; DYCD's page names 19 and the original 2014 plan 15. are not on the NYCHA map, so are outlined.
- NYCHA residents 15 to 24: for each development on NYCHA's rolls (Development Data Book, January 2025), its population times the share of its residents aged 15 to 24 in the 2020 census, counted in the blocks whose center lies inside its footprint on the NYCHA map (
phvi-damg). Where the map has no footprint (developments converted to private management) or no block falls inside (small sites), the borough's average share is used and the Data Book's council district places it: . Ages 15 to 24 because the census groups 14-year-olds with 10 to 13. In mapped developments the census counts a median NYCHA's rolls, so these figures are on NYCHA's own, lower basis. - NYCHA residents in SYEP: Local Law 163's 2024 count of NYCHA residents enrolled, by council district (
73rz-5b7x; citywide), per 1,000 NYCHA residents 15 to 24; blank where fewer than 100 such residents live in the district. - Precincts: the city's priority six (), named in A Blueprint for Community Safety (Gun Violence Prevention Task Force, July 2023); the fiscal 2025 Mayor's Management Report says SYEP outreach and recruitment focus on them. No published figure gives slots reserved for them. The control extends the highlight down the ranking of the other precincts by young shooting victims per 1,000 residents 14 to 24, counting every victim by the precinct NYPD assigned. The six hold ; the top 15 by rate hold .
Precinct-to-district crosswalk (residents 14 to 24)
Tab 1: the recruitment target
Today's citywide share is 2025's participants ÷ residents 14 to 24 = (2019's were ). The 2024 enrollment of NYCHA residents, , is of the NYCHA residents 15 to 24 on NYCHA's rolls; in the developments the census measures (see below), it is on the census basis, which counts more people, against on the rolls. Either way the city already recruits NYCHA youth at the citywide rate.
m = district's young-shooting-victim rate ÷ the city's w = (m − 1) ÷ ( − 1), held between 0 and 1 share = base + (ceiling − base) × w base = ; ceiling = the slider, up to , default recruit = share × residents 14 to 24 NYCHA development: share = NYCHA average + (its district's share − base) NYCHA average = target = share × its residents 15 to 24
Assumption: “ times.” A district whose young people are shot at or more times the city's rate recruits at the ceiling; at or below the city's rate, at today's share; in between, in proportion. Only it today. The weight is the shooting rate alone: shootings already cluster around NYCHA developments, so adding NYCHA's share would count the same risk twice. At the default the targets sum to participants; at , .
Why unemployment is not a ceiling. The survey's unemployment rate counts the unemployed among young people in the labor force, and most 14- to 24-year-olds are not in it, so a district's count of unemployed young people is in the same range as today's enrollment and would hold the target at or below where the program already is. The target's base is every resident 14 to 24.
NYCHA developments. A development's target is its residents 15 to 24 in the 2020 census blocks inside its footprint times its share. The share starts at NYCHA's current average, : 2024 enrollment ÷ 2020 census residents 15 to 24 across the developments the census measures (about 25% against NYCHA's own rolls, which count fewer people). It then adds the percentage points by which its council district's target exceeds today's citywide share (the Data Book's district; for the that list more than one, split by blocks). At today's share, the targets add up to exactly today's enrollment. Each target is set against Local Law 163's 2024 enrollment by development (acek-a5z6), matched through the development's own number, not the one it is consolidated under. A development gets no target when its census count is under half or over twice its own population on NYCHA's rolls, which happens where the blocks take in other buildings (mostly small scattered sites) or miss some: of the the census can count.
Tab 2: maximizing impact
How to use it. A rough calculator of cost and benefit. Set the number of summer participants, the share of them with a prior arrest (3% in the lotteries studied, up to 10%), how many also get a year-round slot and how much more a year-round slot does than a summer slot (a placeholder until researchers weigh in). The four boxes give the cost and the arrests, state prison sentences and deaths averted, each with a 90% range; the chart shows how one of them grows with the number of participants, against the study's own mix (dashed). Year-round slots go to young people who are already summer participants, so they add cost and benefit but not participants.
high = s × participants; low = participants − high s = share with a prior arrest
arrests averted = high × 0.0335 (low group: 0)
prison, deaths = low × b_L + high × R × b_L
b_L = b / (1 + 0.03 × (R − 1)) b = 0.098 points (prison), 0.073 points (deaths)
year-round slots add (K − 1) × the holder's per-participant effect, filled from the high group first
90% ranges: each estimate ± 1.645 standard errors (0.0202; 0.046; 0.031)
cost = participants × $2,460 ($239.7 million 2025 budget ÷ 97,444 participants)
+ year-round slots × $4,600 (assumed; see Assumption 2)
Effects. Gelber, Isen and Kessler (2016, Quarterly Journal of Economics), New York City's 2005–08 lotteries: participating cut the chance of a state prison sentence by 0.098 percentage points (standard error 0.046) and of death by 0.073 points (0.031), driven by males. Kessler and coauthors (2021 working paper, Table II): during the program summer, participants with a prior arrest (3.1% of 163,447) had 0.0335 fewer arrests each (0.0202); for the rest the effect is a precise zero.
Assumption 1, R = 4.2. A participant with a prior arrest gains R times as much, on prison and death, as one without; R is set so the study's average holds at its 3%. The default is Chicago's within-study ratio of the two groups' effects on violent-crime arrests (11.13 versus 2.66 per 100, Davis and Heller). Comparing Chicago's school-recruited and referral cohorts instead gives R of about 11, but that figure swings from 8 to 46 with small changes in the inputs. Risk is in truth a gradient (Heller 2022); the model uses the one yes-or-no split New York's data allow. See the projections with R = 11 or the default.
Assumption 2, the year-round knob. No study measures a year-round program's effect. The knob (1× to 4×, default 2×) is a placeholder; the question is with the researchers. The 7,000 preset is Work, Learn & Grow's enrollment after SYEP 2025 (DYCD's 2025 report); the 30,000 ceiling is about four times that, and no one has proposed a figure. A year-round slot is costed at an assumed $4,600: a $30 million yearly budget for about 6,500 participants, as reported from DYCD's March 2026 budget testimony. No official per-slot cost is published.
Why the prior-arrest share stops at 10%. In 2024 NYPD made arrests of people under 25 against residents 14 to 24: a year as events, fewer as people. Ten percent of a 100,000-slot program is 10,000 young people with a prior arrest, a large fraction of those arrested in a year; 25% would mean enrolling most of them. The researchers expect effects to hold when more high-risk youth are mixed in, not when the program is made of them. No New York figure exists for the share of 14- to 24-year-olds ever arrested.
Limits
- Shootings are counted where they occurred, not where the victim lives. NYPD's public data give victims' and arrestees' ages in bands only and no residence, so no residence-based measure exists in public data.
- Station-house records are left out of districts, so district counts understate.
- Survey figures are 2020–24 averages, split to districts by where young people lived in 2020.
- NYCHA youth figures by district use NYCHA's rolls, which count fewer people than the census does (for developments the age share is the borough's average); development targets use census counts.
- The effects come from 2005–08 participants and cover arrests in New York State adult records only.
- Prior arrest is the only high-risk group New York's data identify; R is borrowed from Chicago.
- No study measures a year-round slot's effect.
- No published figure gives SYEP slots reserved by precinct or NYCHA development, and sources disagree on which developments are in the Mayor's Action Plan.
Code and data: fetch.py pulls everything and stops on an implausible result; places.py places each NYPD record in a district and sets aside those NYPD logs at a station house (data/stations.json lists each precinct's); build.py computes the files the pages read.