PPS Data Explorer
Unofficial. The PPS Data Explorer compiles data for the 74 Portland Public Schools set to be narrowed to a closure shortlist in November 2026. 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).
More background and timeline

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, 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 with building utilization

Each marker sized by 2025-26 enrollment and labeled with building utilization (enrollment ÷ 2021 functional capacity). Red fill marks schools at less than 50% building utilization. A purple ring indicates an unreinforced masonry (URM) building.

All schools ranked by building utilization

Current enrollment as a percentage of PPS's own functional capacity from the 2021 Long-Range Facility Plan. Functional capacity accounts for classroom count, modular rooms, and set-asides (SPED, art/music, DLI co-location). This is a planning number from PPS, not a raw square-footage estimate.

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.

Housing growth forecast (Metro BLI, ~2035)

Projected new residential units inside each school's PPS attendance area, from Metro's 2045 Building Land Inventory (BLI) Housing-Employment Allocation grid. It's an area-weighted sum over intersecting BLI cells; schools without a published catchment (focus-option, alternative) fall back to a 1-mile buffer (shown in teal). Each bar below is one school, ranked by forecast growth. Source: Portland/Metro BLI Housing-Employment Allocation.

How to read this

BLI is Metro's long-horizon forecast of where new housing will land by ~2035 under current zoning and policy. It's useful for spotting which catchments are expected to absorb disproportionate growth. A school at the high end of the distribution sits in a catchment projected to absorb a large share of new housing, so closing one there risks leaving a growth area without capacity by the time the forecast units arrive.

Seismic retrofit exposure (Holmes 2024)

Rough-order-of-magnitude cost to fully retrofit every building at each school, from the Holmes Engineering 2024 PPS Seismic Assessment. Bar color shows whether the remaining cost is funded: blue = covered by the 2025 bond, red = remaining cost not in any current bond. A purple-outlined bar indicates unreinforced-masonry (URM) buildings which is the highest seismic-risk category. A prefix indicates schools that had prior targeted or full retrofit work from earlier bonds (2012/2017/2020). That history doesn't change whether the Holmes-estimated remaining cost is funded. Portfolio remaining exposure across the 74 in-scope schools: ~$800M.

More info on this dataset

Holmes Engineering was engaged by PPS in 2023 to update the district's seismic assessment for each school. Field walkthroughs in 2023-2024 produced two rough-order-of-magnitude (ROM) cost estimates per school: a URM-only partial retrofit (scoped to just the unreinforced-masonry areas) and a complete retrofit covering every school building. Costs use representative $/SF from recent schematic-design pricing and are engineer's estimates for initial budgeting only.

Fifteen schools appear with $0 remaining. Holmes excluded them because they had recently completed modernizations, had in-progress bond-funded retrofits, or were newly constructed to modern benchmark codes. For eight additional schools (all URM), the 2025 bond voters approved the remaining cost ("Funded" blue bars).

For the remaining ~60 schools ("Unfunded" red bars), Holmes's 2024 complete-retrofit estimate represents work that is not in any current or approved bond. The marker indicates that some earlier bond money was spent on targeted scope (typically roofs, URM bracing, or partial structural upgrades). That past work reduces seismic risk but does not fund the remaining Holmes estimate. A school without the marker has no recorded bond retrofit history at all.

Caveats: treat the Holmes numbers as order-of-magnitude. URM classification comes from Holmes's 2024 URM database. The chart ranks by the complete-retrofit total (not URM-only), so URM and non-URM schools share one axis. Funded vs. unfunded is derived from the PPS bond page and reflects the publicly announced 2025 bond scope as of 2026-04.

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.

Students per teacher (Fall 2023)

Fall 2023 NCES enrollment divided by fall 2023 classroom-teacher FTE — a same-year snapshot of how many students each full-time teacher is accountable for. Excludes counselors, social workers, nurses, and other non-instructional staff. The dashed line marks the in-scope median. Small alternative and K-8 programs naturally cluster low (fixed teacher-FTE floor spread across fewer students); larger neighborhood elementaries and middle schools cluster high. Source: NCES CCD 2023.

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, utilization, 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 indicators (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

PPS Long-Range Facility Plan (2021, Vol 1)
Functional capacity per school (2021). PPS's planning number: gross capacity derived from classroom count and area, minus set-asides (SPED focus, art/music, computer lab, DLI co-location, etc.), with a configuration-specific utilization rate applied (85% at middle/high, higher at K-5/K-8) and further reductions at Title I and TSI/CSI schools.
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 Seismic Assessment (2024)
Per-campus rough-order-of-magnitude (ROM) retrofit cost estimates for all ~80 PPS sites, plus URM classification and URM-only partial-retrofit cost. We parse the per-school "Complete Retrofit" ROM totals into retrofit_cost_remaining_usd. Holmes excludes schools recently or near-completely modernized (shown at $0 in the chart).
PPS Bond: Seismic & modernization
Retrofit and modernization status (full, targeted, planned under 2025 bond).

Ventilation & indoor air

PPS Indoor Air Quality — airflow survey (2021)
NEBB-certified per-room airflow tests (Amerseco + Neudorfer Engineers, 2021) published as one PDF per building. Measured total supply CFM, outside-air CFM, and derived ASHRAE Total Effective Air Changes per Hour (ACH_e) with and without portable filtration. We parse each PDF for room-level readings, then report per-building: rooms tested, median ACH_e without portable filters (the HVAC-only floor), the share of rooms below Lancet's 3 ACH lower bound and 6 ACH recommended classroom target, and whether a MERV-13 filter upgrade had been installed at test time. Coverage: 74 of 83 roster buildings; omitted schools (Benson, McDaniel, Kellogg, Alliance, Odyssey, ACCESS, Bridger Creative Science, Clark) were either newly-modernized after the survey or don't have a standalone building report.

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

Functional capacity is from the 2021 Long-Range Facility Plan and does not reflect post-2021 bond work or reconfigurations (Harrison Park's conversion to a middle school, Lincoln's rebuild, etc.). 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-data

Errors, feedback, feature requests

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

alexmeub.com/contact