Methodology · Editor's Note
A follow-up to our July methodology note. We've refined how offensive line valuations are calculated so that each lineman's number stands on its own. If an OL figure you follow shifted this week, here's why.
Published July 9, 2026
Earlier this month we wrote about a principle at the center of how we value rosters: a valuation is only as strong as its independence. That work is now complete for the offensive line, the one position group where our approach hadn't yet fully caught up to that principle.
Offensive linemen are now valued individually — each lineman's number reflects his own position, his role on the line, and where he stands in his team's rotation, rather than being derived as part of a shared positional pool. In practice this means an OL valuation is built from that player's own fundamentals, the same way we already value every other position. A number that moves should move because something about that player changed — a position switch, a depth-chart shift, new market data — not because of how his valuation was packaged with his teammates'.
This also delivers something we described as a goal in our last note and have now fully implemented: run the model twice on the same roster data and every offensive line number comes back identical. Our valuations move when the market moves and when better data reaches us — never as an artifact of the model simply being run again.
Alongside this change we revalued every offensive line room across the 70 programs we cover. Most linemen's numbers shifted modestly; a small number of offensive line recruits saw their valuations adjust upward. Team pages and roster articles already reflect the updated figures. As always, these are estimates — our best read of a player's market value given the strongest data available — not a report of what anyone is paid unless we link reporting that says so.
Roster work is never finished, and neither is the model. Athletes, agents, and program staff who want to share or correct information can reach us confidentially through /verify. It makes the whole picture better.