NFL Schedule Drops Today: The Large-Scale Optimization Behind It
This Gurobi Webinar has great content for anyone doing real-world optimization.
The NFL Schedule for 2023 drops today. This is a good time to discuss the optimization behind this large-scale problem.
All my information comes from a great Gurobi webinar with Mike North of the NFL.
The picture below shows the 2019 schedule. The rows are the weeks, the columns are the teams, the white boxes are away games, and the colors are different time slots and TV stations.
I would have never guessed how interesting this was.
As soon as I saw this webinar, I watched it again and immediately incorporated it into my lectures and talks. If you are doing large-scale optimization projects, this is a must-watch.
Here are the four lessons I use:
First, large-scale projects face many different challenges.
It is a big problem that must be solved in pieces (and put back together).
It has a lot of rules and constraints (see picture below).
These rules may not be possible in a given year: For example, every team would like to open the season at home— this obviously can’t happen, so they have to plan to make this fair over multiple years.
Or the rules may be bendable, and the NFL has to figure out which ones to bend.
And, the big and painful one: the NFL has stakeholders with strong opinions.
The schedule is public, so the fans and pundits will immediately and loudly share their negative thoughts. The teams and players want to win, so they’ll be vocal to ensure the schedule tilts in their favor. Finally, the broadcasters pay a lot of money and want to maximize the number of eyeballs watching the games on their channel.
Mike North of the NFL said what my friend Edith Simchi-Levi likes to say. Something like this: “You know you have a good schedule when everyone is about equally disappointed with the final schedule.”
Second, seemingly simple models can be hard to solve; think creatively to break it up.
From the outside, this problem might look easy to solve. For example, it might look like a well-defined integer program where you fill the teams into the slots.
I think what tricks our minds is that it is easy to find a schedule— start in Week 1 and pick teams to play each other.
However, this easy-to-find schedule will be terrible. The fans, broadcasters, and teams will hate it. And it will break all kinds of rules, like playing an equal number of home and away games.
So, the NFL doesn’t want an easy-to-find schedule; it wants a great schedule. It wants a schedule that adheres to all the rules and constraints and is fair. It wants a compelling schedule that maximizes the value to the fans, broadcasters, and teams.
The desire for a great schedule makes the single integer program impossible.
I loved the creative solution they came up with.
They first build a partial schedule for all the prime-time games (like Monday Night, Thursday Night, and Sunday prime time). The insight here is that they wouldn't like the full schedule if they weren’t happy with these games (the most important ones).
This was a much easier problem. You can see this partial solution below.
Once they had this partial schedule, they would fix these games and solve the rest of the problem. This was much more tractable.
Third, scenarios are critical; cloud computing can help with parallel runs.
The webinar mentioned that they evaluated something like 50,000 potential schedules before picking the final one. They start working 24/7 right after the Super Bowl.
They have to evaluate that many schedules to get one that balances the needs and expectations for the next season. Also, since no single objective (like minimizing cost) exists, they have to run multiple scenarios.
In addition, star players can impact the importance of games. As the Lamar Jackson and Aaron Rodgers drama played out this offseason, I’m sure the NFL scheduling team needed different schedules depending on where they landed.
Optimization projects requiring many scenarios (like supply chain design) can benefit from cloud computing. The NFL gives us an example of how to do this right.
They start by analyzing, adjusting, and changing the partial solutions (of the prime-time games). When they find good versions, they ask the solver to find the complete solution. Finding the complete solution takes many hours to run. So they run these overnight, in parallel. In the morning, they evaluate the full schedules or see that a partial schedule did not lead to a feasible schedule. Then, it starts all over.
Fourth, watch for machine learning problems in the input data.
Although this is primarily an optimization problem, most projects have other interesting problems lurking in the data inputs.
In this case, they mentioned a few.
For example, can they predict next year’s important games and big match-ups? Or if they look at each spot on the schedule as an asset, how can they evaluate and maximize the value of the slot?
Finally, they mentioned analyzing the importance of the rules. One of the things that teams complain about is playing three road games in a row. They think it puts them at a disadvantage. This is hard to honor every year. In the webinar, it sounded like they analyzed this rule and found that it didn’t have an impact.
I’m happy the NFL shared their optimization story. It can help us all learn.
This may be my favorite article Mike! Have to get them credit, they actually document their rules. Not always the case we'll find with our business customers.