Realigning the NFL: Optimally
If you could reorganize the NFL, how would you do it? What’s the best way to organize the NFL’s 32 teams into 8 divisions? The NFL’s Tom Bliss considered how to minimize travel distance between same division teams in a popular tweet last year.
Using linear optimization, Tom was able to find a realignment whose total distance considerably shorter than the current one. Tom mentioned in his tweet that this solution might not be the best among all possible realignments. Can we find a better one? Can we prove that it’s the best?
Yes! It turns out that a mixed integer programming formulation of this problem, which I call Optimal League Realignment (OLR), can be solved in a couple of seconds by the Gurobi solver. Here is the before and after:
| AFC Central | East | South | West | NFC Central | East | South | West |
| ATL | LAC | CAR | NE | DAL | CHI | BAL | ARI |
| JAX | LAR | CIN | NYG | HOU | CLE | BUF | DEN |
| MIA | LV | IND | NYJ | KC | DET | PIT | MIN |
| TB | SF | TEN | PHI | NO | GB | WAS | SEA |
Optimal NFL Realignment
The total distance for this realignment is over 82% better than the existing alignment, and 31% better than if you had used a simple "greedy" approach.
How does it work? Thanks to decades of R&D by the operations research (OR) community, there are an array of incredibly powerful open source and commercial mixed integer programming solvers. They routinely solve problems that even many experienced computer scientists and ML practitioners believe to be intractable. And best of all in many cases you get a provably optimal solution. Not a heuristic, not a guess - the best.
If you are familiar with OR you may be wondering about the problem formulation and technical details. I’ve got you covered - you can read all about it in this preprint. It builds on a long tradition of using OR to solve sports-related problems, from Saltzman and Bradford in 1996, to Mitchell in 2002, to through the present.
If you are a practitioner, you may be wondering about the code. I’ve got you covered: here’s the git repository. Have fun.
If you are a casual reader, you might be wondering if this works for other leagues like the NBA, MLB, or NHL. Do I have you covered? Yes I do. Here’s the NBA (nearly 8% better than existing):
And MLB (nearly 30% better than existing):
And NHL (more than 32% better than existing):
Now, if a league wanted to use this approach for a real realignment, they would probably have all kinds of additional practical considerations besides making the teams closer to each other. They might want some teams to be in the same division (e.g. the Giants and Cowboys) and others not (e.g. Jets and Giants). Or they may want a better realignment, but may not want to juggle all the teams around, just some. Or they may want to also consider making the divisions competitively balanced. The model formulation I use in the preprint extends to cover all of these considerations.
Again, here is the paper, and here is the code. Enjoy!



