← All essays

Which college football programs develop players?

· Mason Walters

The ranking · data as of October 26, 2026

The top programs

  1. 1 Michigan +9.1
  2. 2 Iowa +8.6
  3. 3 Penn State +8.4
  4. 4 LSU +8.3
  5. 5 Washington +8.2

Programs clearly below zero, lowest first

Ranks are out of all 131, so they skip the programs in between.

  1. 131 Navy −3.9
  2. 130 Texas State −3.6
  3. 129 Air Force −3.2
  4. 127 Tulsa −2.9
  5. 126 East Carolina −2.8
  6. 125 Akron −2.8
  7. 124 Miami (OH) −2.8
  8. 123 Georgia Southern −2.7
  9. 122 Army −2.7
  10. 121 New Mexico −2.5
  11. 120 Ohio −2.5
  12. 119 Arizona −2.5
  13. 118 Charlotte −2.3
  14. 117 South Alabama −2.3
  15. 116 Florida International −2.2
  16. 114 Bowling Green −1.9
  17. 113 Arkansas State −1.9
  18. 112 Kent State −1.8
  19. 111 UNLV −1.8
  20. 107 New Mexico State −1.5
  21. 106 North Texas −1.5
  22. 105 Northern Illinois −1.5
  23. 103 Liberty −1.5

The score is extra NFL players per 100 recruits: how many more of a program's recruits made the NFL than their ratings predicted. Below zero means fewer. The rank is out of 131 programs.

With JavaScript on, this becomes a chart of all 131 programs.

Every high school football recruit gets a rating from the recruiting sites. The rating is a guess at how good he'll be. Some of those recruits make the NFL. I wanted to know which college programs turn their recruits into NFL players more often than the ratings said they would.

Making the NFL means getting drafted or making a regular-season roster. A first-round pick and an undrafted player who made a roster count the same: one NFL player each.

Zero means a program got as many NFL players as its recruits' ratings predicted. Above zero is better. The top program is Michigan, at +9.1 extra NFL players per 100 recruits. I'll explain that number next.

Tristan Wirfs signed with Iowa in the 2017 class as a 4-star recruit. Recruits rated like him made the NFL 25% of the time, so he had a 25% chance. He made it. His result is one NFL player minus that chance, one minus 0.25: +0.75 of an NFL player.

Now take a typical 5-star who didn't make it. Recruits rated like him make the NFL 66% of the time, so he had a 66% chance. Had he made it, his result would have been +0.34. He didn't, so it's −0.66.

So when a player is expected to make it, a miss costs more than a make earns. A program that signs a lot of 5-stars has to turn most of them into NFL players just to break even.

A program's score adds up its recruits' results. Michigan had 263 recruits. 97 of them made the NFL, where 64 were expected. That's 33 extra, or 12.5 per 100 recruits.

A program with few recruits can swing a long way on two or three players. So every score gets pulled part of the way to zero, and a program with fewer recruits gets pulled further. After the pull, Michigan is at +9.1 extra NFL players per 100 recruits.

Players who moved are split by seasons on each roster, so the counts are rounded.

Every score has some luck in it. One or two players who stick on an NFL roster can move a small program's number. So I re-ran each program's score many times, each time on a random sample of its own players, and kept the middle 90% of the results. That's the program's range. The chart draws it as a bar around each dot.

If a program's range crosses zero, I can't say whether it beat its ratings or fell short of them. That's 88 of the 131 programs. For most programs, the score can't be told apart from zero.

That leaves 20 programs clearly above zero and 23 clearly below. Even those aren't certain. If every program were really at zero, about 13 of the 131 ranges would still miss zero by luck. And the range only counts one kind of luck: which players a program happened to get. A fuller account of the uncertainty would leave fewer programs clear of zero. So of the 43 clearly above or below, most are probably real, but I can't say which of the ones near the edge are luck.

These are the 20 programs whose whole range is above zero, best first: Michigan, Iowa, Penn State, LSU, Washington, Alabama, Florida, Georgia, Ohio State, Miami, Wisconsin, Pittsburgh, Notre Dame, Mississippi State, Clemson, Stanford, Boston College, Missouri, Temple and App State.

All but 2 are Power programs (the SEC, Big Ten, Big 12, Pac-12 and ACC, plus Notre Dame). That fits a wider pattern: at the same rating, recruits at Power programs make the NFL more often. Across all Power programs it's +2.3 extra NFL players per 100 recruits. Everywhere else it's −1.2. Measured against the average Power program instead of zero, Michigan is still at +7.4.

23 programs have their whole range below zero. Lowest first: Navy, Texas State, Air Force, Tulsa, East Carolina, Akron, Miami (OH), Georgia Southern, Army, New Mexico, Ohio, Arizona, Charlotte, South Alabama, Florida International, Bowling Green, Arkansas State, Kent State, UNLV, New Mexico State, North Texas, Northern Illinois and Liberty.

22 of them are outside the Power conferences. Most, 19, are in the Group of Five, the smaller FBS conferences; the other 3 are independents. They include the service academies Navy, Air Force and Army, whose graduates owe military service. That keeps many of their players out of the NFL.

5 Power programs sit in the bottom 25: Texas (128th), Arizona (119th), Florida State (115th), Colorado (110th) and Georgia Tech (109th). Only Arizona's range is wholly below zero. The other 4 cross it, so I can't rule out luck.

Where do the best developers find their extra NFL players? Per recruit, the 20 programs clearly above zero beat the ratings at every star level: 7.3 extra NFL players per 100 2-star recruits, 7.5 per 100 3-stars, 8.6 per 100 4-stars, 8.1 per 100 5-stars and 6.4 per 100 junior college players. These 20 were picked because they beat the ratings overall, so they were bound to beat them at most levels. What's informative is that none lags. The 5-star and junior college groups are small, about 210 and 221 recruits, so those two figures are less certain.

Most of their extra NFL players are 3- and 4-stars, because that's who they sign. They signed about 2,554 3-stars and 1,554 4-stars, against 210 5-stars. Of about 394 extra NFL players, 191 were 3-stars and 133 were 4-stars.

Everything so far counts all 12 classes, 2009–2020. 12 years is a long time. Coaches leave and staffs turn over. So I rank each program twice: over all of them, and over the last 5, 2016–2020.

Texas (128th to 31st) rose the most, 97 places. The other big risers were Texas Tech, Ole Miss, Kentucky and Arizona.

Miami (10th to 72nd) and Utah State (34th to 96th) fell the most, 62 places each. The other big fallers were Louisiana Tech, Toledo and Louisville.

The 2020 class can still change: some of those players may yet make the NFL. Each class is compared with the share of that class year's recruits nationally who made the NFL, so the youngest classes aren't marked down for having had less time.

What I still can't answer:

  • Is this development, or better scouting? The ratings are my starting guess. A program that finds players the ratings got wrong would look exactly like one that coaches them up. The score can't tell the two apart.
  • Why do Power recruits make the NFL more often at the same rating? It could be development. It could be that NFL scouts watch Power games. It could be who signs where. I can't separate them yet.
  • Does it follow the head coach? When a coach moves, I don't know yet whether the score goes with him or stays with the school.
  • Why does most of the middle look alike? Maybe development is mostly the same everywhere. Maybe there aren't enough recruits at each school to tell them apart.

Find your team

Pick a school to see its rank and score, how it did over all the classes and over the recent ones, and, for each star rating, the share of its recruits who made the NFL against the share their ratings predicted.

How I built it

The hard part wasn't the score. It was knowing that a recruit, a college roster entry and an NFL player were the same person. The recruiting sites, the college rosters and the NFL records don't use the same ID for a player, and names repeat. Matching them took most of the work. I wrote up how I matched the players on my work site.

The expected number comes from a curve: the chance of making the NFL at each recruiting rating. The rating is the recruiting services' numeric score for a recruit, finer than his star count. The curve is fitted on every rated recruit in the country, one curve per recruit type (high school, junior college). I shift the curve for each class year, because the youngest classes haven't had as long to reach the NFL. Without the shift they'd look like development failures.

Zero is the national rate over all rated recruits, including some who never played FBS football, and they make the NFL less often. So FBS programs average slightly above zero: +0.6 extra NFL players per 100 recruits.

I tested the curve, without the shift, on years it never saw. For each class, I fitted it on the other classes only and used it to guess which of that class's recruits would make the NFL. The error is how far its guesses land from what happened. Giving every recruit the same chance is one national guess. The curve cuts the error of one national guess by 11% where star levels cut it by 9%. That's a small cut: whether a recruit makes the NFL is mostly unpredictable from his rating. That's why programs are compared on hundreds of recruits, not a few.

Data as of October 26, 2026. Recruiting classes 2009–2020.


Found this useful or want to push back on it? Say hi.