PPS Data Explorer
Unofficial. This is an independent personal project and is not affiliated with, endorsed by, or produced by Portland Public Schools. All data is compiled from public sources (see Methodology).

On March 10, 2026, Superintendent Kimberlee Armstrong announced that Portland Public Schools (PPS) may close some number of its 74 elementary, K-8, middle, and alternative schools by fall 2027. The driver is a decade of declining enrollment (projected to fall another 13% by 2034-35) and a structural budget gap.

No formal criteria have been published for determining which schools might be selected, but PPS and school board members have pointed to the following set of factors: current enrollment, building utilization (students/sq ft), seismic risk and building condition, recent or planned bond investments, equity considerations, student experience, access to programs, transportation, and long-term sustainability.

This explorer gathers data to visualize these factors for every in-scope PPS school. Academic performance is included for context, though it is notably absent from the criteria PPS has discussed publicly.

Map: all 74 in-scope PPS schools

Each marker sized by 2025-26 enrollment. A purple ring indicates an unreinforced masonry (URM) building.

All schools ranked by building utilization

Students per square foot. Lower bars mean emptier buildings.

Long-term sustainability: 7-year enrollment change (2018 → 2025)

Total in-scope enrollment fell 20% over this window (median school -19%). Bars below that baseline are losing students faster than the district overall. Source: NCES CCD fall 2018 + ODE fall 2025.

Transportation impact: miles to nearest same-level alternative

Great-circle distance from each low-enrollment school to the nearest larger school of the same grade band (elementary, K-8, middle, alternative). A rough lower bound on how far families would have to travel if their school were closed; actual PPS reassignment may differ. Bars are labeled with the nearest alternative school.

DLI vs. neighborhood enrollment at shared-building schools

Every Dual Language Immersion program is a strand hosted inside a neighborhood school; its students come from a district-wide lottery, not the catchment. This chart splits each host school's October 2025 headcount into mainstream/neighborhood (left) and DLI strand (right). Schools range from single-strand hosts (Lane 8% DLI) to whole-school immersion programs (Lent, Rigler, Richmond: 100%). Source: PPS Language Immersion Enrollment Report 2025-26.

Why this matters for closure decisions: total enrollment at a shared-building school blends two distinct populations. The DLI strand pulls students district-wide by lottery, so those seats are not representative of neighborhood demand, and the mainstream cohort, which is the actual catchment-based enrollment, can be a fraction of the posted total. Closing one of these buildings affects two different constituencies: the catchment families who lose their neighborhood school, and the lottery families across the district who lose a DLI option. PPS has named "access to programs" as one of its four closure-decision factors; consolidating a DLI host also removes that program from its current neighborhood unless the strand is explicitly relocated.

Scatter plots

All 74 in-scope schools, colored uniformly. Click & drag to zoom.

Outperformers and underperformers

Each bar is the school's gap between its actual average proficiency and what a linear fit on % BIPOC alone would predict. Positive = beating the demographic benchmark; negative = falling below it. The 15 lowest-enrollment schools highlighted in orange.

School archetypes (k-means + PCA)

4 clusters from k-means on 11 standardized features (enrollment, trend, crowding, year, proficiency, deep poverty, BIPOC %, LEP/SPED, nearby permits and pipeline). Plotted on the first two principal components; distance ≈ similarity. Diamond markers are the 15 lowest-enrollment schools; that subset spans three of the four clusters.

All schools: sortable table

Click a column header to sort. Hover the i next to each header for a definition and source.

Methodology & sources

Each of the 74 rows is one PPS school in the closure-announcement scope (elementary, K-8, middle, and alternative; PPS's 9 high schools are excluded per the March 10 announcement). Columns are pulled from the sources below and joined on a mix of NCES school ID, Oregon ODE School Institution ID, and manual name mapping for recent renamings (e.g., Madison → McDaniel, Wilson → Wells-Barnett, Fernwood → Beverly Cleary). Geographic signals (affordable housing, permits) are aggregated to each school using its actual PPS attendance boundary, with a 1-mile haversine radius as a fallback for focus-option / alternative / embedded programs that don't have a published catchment.

Enrollment & demographics

Oregon ODE Fall Membership
2025-26 and 2024-25 school-level enrollment, race/ethnicity shares, grade-band.
NCES CCD (via Urban Institute Education Data API)
School addresses, lat/lon, 2022 enrollment baseline, free/reduced meal counts, direct-certification counts.
US Dept of Education Civil Rights Data Collection (CRDC, 2020 & 2021)
Chronic absenteeism, English Learner (LEP), and IDEA/SPED counts (2020 file); plus 2021 (the 2020-21 school year): counselor, social-worker, psychologist, and nurse FTE; out-of-school suspension instances; chronic absenteeism with matching CRDC enrollment denominators. The 2025 collection (2023-24 SY) is not yet published.

Academic performance

Oregon OSAS state assessments (2024-25, 2023-24)
School-level ELA and Math proficiency rates (meets/exceeds, all grades, all students).
Oregon ODE At-A-Glance Source File (2024-25)
The statewide CSV that backs every school's At-A-Glance profile. Source for regular-attenders %, experienced-teacher %, teacher retention %, and median class size.

Buildings & seismic

KPFF Seismic Report (2009)
Year built, square footage, and construction type for every building in the district. Note: square footage predates recent bond expansions.
Holmes Engineering URM Assessment (2024)
Unreinforced masonry classification and retrofit cost estimates for 18 PPS buildings.
PPS Bond: Seismic & modernization
Retrofit and modernization status (full, targeted, planned under 2025 bond).

Title I & federal programs

PPS Funded Programs
Title I-A schoolwide designations, 2025-26.

Specialized programs

PPS Dual Language Immersion (DLI) program list
Per-language host schools for Spanish, Chinese, Japanese, Russian, and Vietnamese DLI tracks (elementary, middle, high). Captured 2026-04; re-verify annually.
PPS K-5 focus options
K-8 focus-option / specialized-curriculum schools: Buckman Arts, Bridger Creative Science, Sunnyside Environmental, Winterhaven STEAM, Odyssey TAG, ACCESS, MLC.
PPS Language Immersion Enrollment Report (annual)
Per-school DLI-strand vs. non-strand headcounts from the district SIS (Synergy), October 2025 enrollment snapshot. Published annually by PPS Research, Assessment & Accountability. The only source that separates immersion students from neighborhood students inside a shared-building school; ODE Fall Membership reports only the combined total.

Housing & neighborhood growth

Oregon Affordable Housing Inventory (OAHI)
Existing and pipeline affordable housing projects with unit counts, bedroom mix, and status. Aggregated to each school using the school's PPS attendance boundary (point-in-polygon) rather than a fixed radius; schools without a published catchment (alternative, embedded, or focus-option programs) fall back to a 1-mile haversine radius.
Portland BDS Residential Building Permits (via PortlandMaps)
4,144 permits issued 2022 – 2026-04 that created new residential units; 12,401 units total. Single-family, ADUs, and multifamily (market-rate and affordable combined). Attributed to each school by point-in-polygon against the PPS attendance boundary, with the same 1-mile fallback noted above.
City of Portland School Attendance Areas
PPS attendance-area polygons (elementary/K-8, middle, high), retrieved from the City of Portland School_Boundaries FeatureServer layer and saved to data/raw/pps_boundaries_*.geojson.

Regional context (not attached per-school)

Metro Council's 2045 Distributed Forecast (Ord. 21-1457, adopted Feb 2021) projects City of Portland growing from 668,429 to 774,219 residents (+16%) by 2045, and unincorporated Multnomah County from 19,328 to 40,490 (+110%). Metro only publishes this forecast at city/county level (no tract or TAZ breakdown, and no age bands), so it is not attached to individual schools here; it is background only. PSU Population Research Center explicitly does not forecast Multnomah County, so Metro is the only public long-horizon population forecast for the PPS footprint.

Lowest-enrollment 15

A descriptive subset: the 15 in-scope schools with the lowest raw fall 2025-26 enrollment, surfaced in several views for context. This is not a PPS-published shortlist; the district is expected to release its own list in Nov 2026 with a board vote in Dec 2026.

Derived metrics

Student-experience metrics (CRDC 2021)
PPS doesn't publish a per-school "student experience" composite, and the obvious post-COVID source (Oregon's At-A-Glance "regular attenders %" and teacher-experience tables) isn't available as a clean bulk download. As a stand-in, three 2020-21 CRDC-derived rates are surfaced: support staff per 100 students (counselor + social worker + psychologist FTE ÷ 2020-21 enrollment × 100), chronic absenteeism rate (students chronically absent ÷ 2020-21 enrollment), and OSS per 100 (out-of-school suspension instances ÷ 2020-21 enrollment × 100; counts events, not unique students). Caveat: 2020-21 was the second pandemic year; chronic-absence rates were unusually high district-wide and should be read as a floor on current rates.

Caveats

Building square footage is from 2009 and may understate capacity at schools expanded under recent bonds. CRDC LEP/IDEA counts are from 2020 (COVID year) and are divided by 2025-26 enrollment to derive shares; treat as approximate. Free/reduced meal shares use 2022 counts over 2022 enrollment; post-2022 trends are not reflected. Permits represent approvals, not completions; a permit may be issued but not built.

Source code

This dashboard is open source. Review the data pipeline, open an issue, or submit a PR on GitHub.

github.com/meub/pps-closures

Errors, feedback, feature requests

Spot something wrong? Have an idea for another view or data source? Get in touch.

alexmeub.com/contact