In the news

NFL SCHEDULE CREATION, POWERED BY AWS

Q&A with NFL VP for Broadcasting Planning

Read an exclusive behind-the-scenes look at how AWS helped the NFL sort through a quadrillion possible options to build a winning schedule for the 2022-2023 season

There are approximately a quadrillion possible schedule combinations for each NFL season. We chatted with VP of Broadcasting, Mike North, to learn about the science—and art—behind finding “the one.”

NFL: Mike North, NFL's VP for Broadcasting Planning
1. At a high level, how does the schedule get put together?

Each year, we have to wait to see who wins the Super Bowl before we can start the process. The next day, we’re right back in the office starting to run schedule simulations because we’re officially on the clock—the NFL only has about 3 months to create the schedule for the upcoming season.

And it all starts with determining the value of each of our 272 games. Each game is an asset. Our job is to try and figure out how to maximize the value and return for each of these assets during an 18-week period. The goal is to land on the optimal schedule for fans, teams, and television partners in the shortest amount of time.

 

2. What role does AWS play in putting the schedule together?
 The NFL schedule is literally powered by AWS. There’s no way the NFL could deliver the quality of schedule that we put out every year for our fans and television partners without the contributions of our friends at AWS.

The best thing our partnership is that AWS is not a one-stop shop. They did not say to us, “Here’s our product, good luck with it.” They sat in the scheduling room with us. They played along at home with us for a couple of years. And then they came up with a plan to really help maximize what AWS could bring to the table in terms of software and hardware and monitoring the performance of each of these machines.

Every night, every single computer we deploy this project on is monitored. Is it working in the most efficient way? Should it be building seed schedules? Should it be building full schedules? Should it be counting up viewership or should it be counting up three-game road trips? How do we get not just maximum value from each of the 272 games, but gain maximum value from each of the 3500-4000 Spot Instances that we've got running overnight?

And AWS has jumped right into the deep end of the pool with us. They are understanding our problem more and more each day. And I'm really looking forward to the next version of the AWS-NFL partnership where we not only talk about not just how best to use the Spot Instances in searches, but use the Spot Instances smarter and search through the solution space smarter.
From a compute and optimization standpoint, we use thousands of Amazon Elastic Cloud Compute (Amazon EC2) machines on a daily, nightly, or hourly basis to run different schedule scenarios. And from a scheduling standpoint, we rely on AWS’ elastic compute capacity to scale capacity and use Spot Instances to keep costs low. Amazon EC2 Spot instances allows us to use EC2 spare capacity when scaling up our scheduling jobs, optimizing the cost to complete the daily scheduling runs to where we save roughly $2 million dollars each year.

But it’s not just about raw compute. This is a close collaboration where we need both expert people and sophisticated technology to be flexible enough to answer questions like “what would it cost the NFL to change this?” or “what is the impact of this change at this time?”
 
3. What variables go into making an optimal NFL schedule?
An optimal schedule means minimizing travel and health and safety concerns, it means maximizing television viewership for all our partners, and it means minimizing competitive inequities. For example, a variable might be if team had a three-game road trip last year, they should not have a three-game road trip this year.

We obviously use past data as well, but we’re constantly incorporating new data sets like daily interactions with fans, which can be rather complex. Our fans tell us every day what they are interested in by who they are clicking on when they go to NFL.com and watching videos, who they are playing on their fantasy teams, whose jerseys they are buying, and who they're following on Instagram. Every time a fan makes a choice about how they interact with the NFL, we can take that information, add it to our ever-evolving data set, and then use that information to help us determine the value each of these 272 games.

Every single one of these games can be played in any of the 18 weeks on any one of seven television networks at any one of eight time slots. The number of possible schedules is well into the quadrillions and we're looking for the magical, mythical unicorn NFL schedule that satisfies all 32 teams equally and all seven network partners equally. That schedule probably does not exist, so it becomes an exercise not only in optimization, but also in pain management.

 

4. Whew, that’s a lot to consider. Can you give us a sense of size and scale from an engineering perspective?

It wasn’t so long ago we used did use to do this by hand on a cork board and produce 1-2 different schedule options a year. But the complexity of assembling the NFL schedule continues to grow exponentially. So, what used to be done manually, has turned into one of those classic “needle in a haystack” engineering problems. 

We first start by defining all known possible factors and inputting them into a rules engine before we begin generating schedule simulations. For the 2022-2023 season, there were over 26,000 rules to take into consideration. This includes things like making sure teams that share a stadium aren’t hosting home games on the same day, maximizing late-season division games, travel before and after international games, and many others. For any schedule to be an option, it has to adhere to these rules.

Once all these different scenarios are being run, this is where the numbers start to escalate and it becomes clearer why we use AWS high-performance computing to help with this process. There are nearly 1 billion options for each team and a quadrillion—1,000,000,000,000,000—total possible schedule combinations that could occur. This year, we’ve put together and analyzed over 100,000 finished schedules with AWS, something that would have otherwise taken thousands of people hours to do manually, and we whittled it down to the one schedule we chose for the season.

So, what we can do now every single night is deploy thousands of AWS Spot Instances, searching through all different branches of the search tree, but all still talking to each other, all are still working off the same set of variables the same set of rules, the same set of constraints, the same scoring system, but maybe just giving it a nudge into a slightly different starting spot.

We always liken it to finding the best grain of sand on a gigantic beach. How would you even begin? Well, the first thing you do is you would get as many of your friends as you possibly could. And you would spread them out across the beach. And we would tell everybody, this is what the best grain of sand looks like—this size, this shape, this color. If somebody's getting close, well then maybe somebody who's not getting close was just on the wrong part of the beach. So they can leave that part of the beach and come over here where somebody is getting close. And let's do a deeper dive in this area of the beach because whatever it is about the sand and the sun and the water and the jellyfish and the crayfish that makes this grain of sand closer to what we're looking for, hopefully there are many others like it in this section.

And then, all of a sudden, something shifts like Tom Brady retiring. Now, the definition of the best grain of sand on the beach has changed. Tom Brady's not in the league anymore, everybody back to your starting points, here's the new definition of the best grain of sand. And then 30 days later, Tom Brady changes in his mind. Everybody back to your original starting point. Now here's the new new definition of the best grain of sand. Start digging again. And we start digging again every night over and over again for 14 weeks. We find what we think is as close as we can get in the time we have because at some point, we've got to pick a winner.

5. How does your ML modeling adjust to daily changes and fluidity of the league?

There are tons of examples, but let’s take a look at NFL free agency. Right after the Super Bowl ends, we have to start generating schedules. This year, we saw shocking trades and big signings that fundamentally changed the landscape of the league. All of a sudden, we have players in different conferences and a variety of new matchups that impact where certain games could be slotted.

And while this offseason was fairly unprecedented, it isn’t necessarily a new issue though. Take a look at Tom Brady again. All we have to do is look back to when he signed with the Tampa Bay Buccaneers in March, 2020. At the time, the team was coming off a third-place finish in its division with a 7-9 record and our modeling the first few weeks reflected that performance. However, once they landed one of the marquee players in the league, their odds for the upcoming season changed and they became a better fit to be scheduled for primetime games.

From a technology standpoint, we need the flexibility AWS provides to account for these changes while leveraging the baseline models developed right after the season ends. In practice, this means we modify weighting for certain teams in the rules engine, or moving individual games by hand, within an existing schedule.

6. How is what you do for scheduling unique when compared to other leagues?
The scheduling community is actually pretty small. All of the schedule makers in each of the major sports leagues, we all know each other. We talk to each other regularly. We get together from time to time and we talk about best practices.

All of our problems are just a little bit different. Some are different in size. We only play 17 games per season so the stakes are a little bit higher for us. When other leagues build their schedule and they have a game or series or two deployed aren’t quite deployed in an optimal way, there’s another game next in the next day or two. For the NFL, every game matters so we really need to be strategic about how we deploy each one of these assets.

 

7. What are some learnings that might help leaders in other industries?
We're not that dissimilar from any other industry in that we’re trying to find the shortest possible path to the best possible outcome. If you're in the automotive industry, and you're building cars, you might have spent the last 10 years and millions dollars figuring out the absolute best way to build a car with an internal combustion engine. And then all of a sudden, your industry gets flipped on its head, and now everything's electric and you have to rethink everything.

That's something that we're going through right now as we deploy one of our packages of games on Amazon Prime Video. We’re asking our fans to shift the way they consume our product. And they're going to have to go to a streaming service to find games now. We have spent 50 years building an audience on network television and promoting and driving people to the three-letter networks. This is the next evolution in that.

Just like any other industry as your audience changes, as what they want changes, as what they're willing to spend changes, your product changes. You have to change right along with them. So, we’re constantly reevaluating, not just how to deploy these best assets but where to deploy these best assets if we really want to make the streaming service on Thursday night on Amazon jump off the page and be successful.

We couldn't do that if we were still building the schedule by hand. So, we have to take advantage of that data. We have to listen to our fans. And we have to be strategic about deploying each of these.
8. Looking ahead, what’s your process of pushing the scheduling process forward?
Obviously, the world looks very different now than it did five years ago. It's going to look very different five years from now, so we always want to be on the cutting edge of the new technological advancements, whether it's in quantum computing, server capacity, number of processors, speed of processors—we always want to be using the newest, the biggest, the fastest.

But it's also a little bit about looking backward. You know what has worked for you in the past. You don't necessarily want to completely abandon it. Maybe you kind of roll out a new way to solve this thing in parallel, kind of as a pilot program, and have parallel paths going until you're 100% sure that the new way works. You don't want to abandon the old way too quickly.

We've also learned a lot over the years by talking to everybody we could think of, including the NFL’s corporate partners. The one that may be closest to what we're trying to do, believe it or not, is Frito Lay. Every single time Frito Lay pulls a potato out of the ground, they have to make a decision. How do I get maximum return from this one potato? Do I cook it right now? Or do I freeze it and save it for later? Do I make sour cream and onion or do I make barbecue? Do I put it in a little bag and put it in a high school cafeteria vending machine? Or do I put it in a big bag and put it on the shelves at Costco? It’s the same thing we're trying to do right now … being strategic with each of our games.
9. How do you see AWS helping evolve the schedule creation process?
We’re always asking ourselves, “How can we schedule smarter with our data while searching through this infinite solution space?” We plan on leveraging AWS cloud computing and predictive analytics to optimize the schedule for TV ratings, evaluating all available television windows and exploring new dates and times and delivery methods.

AWS is also looking into how computational life science challenges are being solved and seeing what concepts could be used to address the mathematical problems we face when putting the NFL schedule together. Genetic Algorithm is one of many methods that can be used to create a schedule. This method determines the best schedule using fitness cost calculation, which can compare the quality of one schedule against the other. Then, using crossover, mutation, and elitism selections, we can determine better schedules.  We are very excited to see where AWS can help us go in the next year or two or eight or ten … all of us working together to get maximum value out of each one of our 272 potatoes!

Ready to get Started?
Learn more about working with AWS Professional Services.