Friday, May 29, 2026

New Mexico's 71% Graduation Rate Leaves It 16 Points Behind the Nation

New Mexico's graduation rate climbed from 66% to 71% over eight years but remains nearly 16 points below the national average, with progress stalling mid-decade.

New Mexico's four-year graduation rate reached 71.1% for the Class of 2017. The national average was roughly 87%.

That 15.9 percentage-point gap means New Mexico graduates its students at a rate nearly one-sixth lower than the country as a whole. The gap has narrowed somewhat since 2009, when the state first adopted the Adjusted Cohort Graduation Rate and measured 66.1%. But five points of improvement over eight years still leaves the state closer to where it started than to where it needs to be.

New Mexico graduation rate trend vs national average, 2009-2017

The three phases

The state's journey from 66% to 71% was not a steady climb. It came in three distinct phases.

From 2009 to 2012, the rate improved by 4.3 points. Each year brought a gain: 1.2 points, then 1.4, then 1.7. By 2012, New Mexico had crossed 70% for the first time since adopting the ACGR methodology, reaching 70.4%.

Then the progress reversed. From 2013 to 2015, the rate slid back 1.8 points to 68.6%. The losses were modest individually -- a tenth of a point here, a full point there -- but they erased nearly half the gains of the previous three years.

Year-over-year changes in graduation rate

The third phase brought recovery. In 2016, the rate jumped 2.4 points to 71.0%, the largest single-year gain of the ACGR era. In 2017, it edged up to 71.1%. The state had recovered its ground and set a new high -- but barely exceeded where it had been five years earlier.

Who improved, who did not

The statewide number obscures very different trajectories for different groups of students.

Hispanic students, who make up the largest share of New Mexico's student population, improved the most: 7.5 percentage points, from 63.0% to 70.5%. Black students and economically disadvantaged students each gained 6.5 points. Asian students moved from 80.0% to 85.4%.

Subgroup improvement, 2009-2017

At the bottom of the improvement list: Native American students gained just 3.2 points (57.8% to 61.0%), and white students gained 1.9 points (74.5% to 76.4%). White students started higher and moved less. Native American students started lowest and moved least.

The male-female gap persisted throughout. In 2017, female students graduated at 75.1%, male students at 67.2%. Boys' graduation rate was lower than the rate for economically disadvantaged students.

A state of contrasts

The state average pulls together 90 districts that range from 100% to below 50%.

In 2017, 21 districts graduated above 85% -- nearly all of them small rural districts where a graduating class might number in the single digits. At the other end, 26 districts graduated below 70%, including Albuquerque Public SchoolsET at 67.9%, the state's largest district by a wide margin.

Distribution of district graduation rates, 2017

The median district graduated at 78.6%, well above the state average. That gap between the median and the mean reflects the outsized weight of AlbuquerqueET, which educates roughly a third of the state's students and sits below the state average. When the state's largest district underperforms, it drags down the statewide number disproportionately.

Two large districts broke the pattern. Las Cruces Public SchoolsET, the state's second-largest, climbed from 64.9% in 2009 to 85.5% in 2017, a 20.6-point improvement that made it the highest-performing large district in the state. Hobbs Municipal SchoolsET, a Permian Basin oil town, went from 69.4% to 86.1%.

The 75% threshold New Mexico never reached

New Mexico never crossed 75% during the data window. The state reached 70% and then spent five years stuck there. That 70-75% range -- between "most students graduate" and "three-quarters graduate" -- proved harder to push through than the climb from 66%.

More recent data from the New Mexico Public Education Department shows the state reached 80.6% for the Class of 2025. That suggests the rate accelerated significantly after our data window ends, during a period that included the Yazzie/Martinez ruling and a substantial increase in state education funding.

The question the data through 2017 cannot answer is what finally broke the plateau -- whether it was the additional funding, the court mandate, pandemic-era policy changes, or some combination. What the data does show is that the first eight years of ACGR measurement produced five points of improvement and a prolonged stall.

At 71.1%, New Mexico in 2017 was roughly where the national average had been a decade earlier. The gap was not closing so much as the state was running the same race on a significant delay.

Data source

Data from the New Mexico Public Education Department. Graduation rates are 4-year Adjusted Cohort Graduation Rates (ACGR) for cohorts 2009-2017. National average from NCES.

Detailed code that reproduces the analysis and figures in this article is available exclusively to EdTribune subscribers.

library(nmschooldata)
library(dplyr)

grad_data <- bind_rows(lapply(2009:2017, function(y) fetch_graduation(y, use_cache = TRUE)))
grad_data$grad_rate <- grad_data$grad_rate * 100

state <- grad_data |>
  filter(is_state == TRUE, subgroup == "all") |>
  select(end_year, grad_rate) |>
  arrange(end_year) |>
  mutate(yoy = round(grad_rate - lag(grad_rate), 1))

cat("2009 rate:", state$grad_rate[state$end_year == 2009], "\n")
cat("2017 rate:", state$grad_rate[state$end_year == 2017], "\n")
cat("Improvement:", round(state$grad_rate[state$end_year == 2017] - state$grad_rate[state$end_year == 2009], 1), "pp\n")
cat("Gap to national:", round(87 - state$grad_rate[state$end_year == 2017], 1), "pp\n")
cat("2012 peak:", state$grad_rate[state$end_year == 2012], "\n")
cat("2015 trough:", state$grad_rate[state$end_year == 2015], "\n")

# District distribution
dist <- grad_data |>
  filter(is_district == TRUE, end_year == 2017, subgroup == "all")
cat("Districts:", nrow(dist), "\n")
cat("Median:", median(dist$grad_rate, na.rm = TRUE), "\n")
cat("Below 70%:", sum(dist$grad_rate < 70, na.rm = TRUE), "\n")
cat("Above 85%:", sum(dist$grad_rate > 85, na.rm = TRUE), "\n")

# Hispanic improvement
hisp_2009 <- grad_data |> filter(is_state == TRUE, end_year == 2009, subgroup == "hispanic") |> pull(grad_rate)
hisp_2017 <- grad_data |> filter(is_state == TRUE, end_year == 2017, subgroup == "hispanic") |> pull(grad_rate)
cat("Hispanic improvement:", round(hisp_2017 - hisp_2009, 1), "pp\n")

Discussion

Loading comments...