The NFL Scheduling Problem and What Product Teams Can Learn From It
My first job after graduate school was with American Management Systems (AMS), a national consulting firm based in Northern Virginia. I spent seven years there, working alongside some of the smartest people I’ve encountered in my career. I have plenty of stories from that time, but one project in particular has stayed with me.
In the fall of 1991, I had the unique opportunity to work on a project to develop a scheduling system for the National Football League. While the opponents and locations in the NFL schedule are set by formula, this system focused on determining when each game would be played.
That turns out to be a hard problem.
Each team must play exactly one game per week unless they have a bye. There were constraints around the maximum number of consecutive home or road games, stadium availability (especially with the multi-purpose stadiums common at the time), and weather. Owners in places like New England and Buffalo, for example, wanted to limit the number of home games played in December.
Before we were brought in, the NFL schedule was effectively handcrafted. One person at the league office, Senior Vice President of Broadcasting, Val Pinchbeck, Jr., was the scheduling guru. He and his small team worked in a secured room at NFL headquarters with two large wooden peg boards mounted on the walls. Teams were listed across the top, weeks of the season down the side, and rings with team helmets were placed on pegs to represent road games.
Over the years, he had developed an intuition not only for creating schedules that were feasible, meeting all the constraints, but also for what he called “playable” schedules: ones the owners would actually approve. The NFL Commissioner, Paul Tagliabue, wanted to free him up to focus on higher-level broadcasting strategy and ensure they could continue producing schedules after his eventual retirement. That’s why they asked us to build the system.
To give you a sense of the era, we wrote the program in C++ and ran it on a personal computer. For me, this was a dream assignment: occasional trips to NFL headquarters, time in the scheduling room, and plenty of football talk.
Even with the technology assist, Mr. Pinchbeck still set the overall shape of the schedule by hand. He would manually determine the first three weeks, the final week or two, and all the prime-time games. Television mattered a great deal even then, though there were far fewer prime-time slots. From there, he asked us to generate feasible and potentially playable schedules based on his template.
That’s where we hit a major challenge.
Even with parts of the schedule fixed, there were still an exponentially large number of possible combinations. The personal computers of the early 1990s simply didn’t have the processing power to brute-force the problem in any reasonable amount of time.
One member of our team, who had previously worked in factory planning in the former Soviet Union, had a breakthrough insight. By changing the order in which the program attempted to place games on the schedule, we could dramatically reduce the amount of computation required.
The key was to always schedule the most constrained game next—the one with the fewest viable placement options. By doing this, the program could eliminate infeasible schedules much earlier, after placing only a small number of games, rather than filling most of the schedule before discovering it wouldn’t work.
That single change reduced runtimes from years to something on the order of four to eight hours, depending on the template.
This breakthrough allowed the program to give timely, meaningful feedback. If the schedules produced from a template weren’t high quality, Mr. Pinchbeck could adjust the template and try again.
This was one of the first times in my career where I could genuinely step forward as a domain expert, unlike with the normal government or insurance systems our company usually typically worked on. On one April Friday as we were nearing the desired date for the schedule release, Mr. Pinchbeck provided me a template and asked me to run it overnight. He trusted me to select the best one or two schedules out of all the feasible schedules produced by this run. He gave me the direct phone number to the scheduling room and asked me to call Saturday morning.
I ran the program overnight on my personal computer at my apartment, reviewed the results, and selected the best candidate schedule. As I read through each week over the phone, Mr. Pinchbeck would interject occasionally: “That works”, “Looking good,” and “I think we could play this schedule.”
One of the schedules I selected ended up in the final set they considered. I don’t recall whether the 1992 schedule was ultimately based on that version, but I do remember how I knew we had done our job. I was on my honeymoon in Hawaii a few weeks later, opened the local newspaper, and saw the NFL schedule printed in the sports section.
Why am I sharing this story?
The scheduling problem we encountered is eerily similar to a significant problem that product teams face every day.
When we design products to address customer needs, there are far more potential solutions than we could ever build. Given the uncertainty around desirability, feasibility, usability, and viability, it’s almost impossible to know upfront which solution is the right one. Since development is expensive and slow, one cannot brute-force their way to the optimal solution. Most organizations do a fixed amount of discovery work up front, then pick a single solution and go all-in. The result is predictable. Roughly 80 percent of features added to products are rarely or never used.
The real insight in the scheduling algorithm wasn’t about finding the perfect schedule. It was about quickly eliminating paths that wouldn’t work, making it possible to explore the entire feasible schedule space.
We can apply the same thinking to product discovery.
The faster we can determine that a potential solution fails on desirability, feasibility, usability, or viability, the more options we can realistically explore. This increases the odds that we land on solutions that truly matter and resonate in the market.
In fact, this is what continuous product discovery helps us do. Teresa Torres popularized this method in her book, Continuous Discovery Habits, and on her website. Opportunity solution trees allow us to consider multiple possible solutions to a meaningful customer problem simultaneously. Defining what are the most critical assumptions that have to be true about each proposed solution, especially those we are uncertain of, is akin to determining what are the most-constrained games that need to put in the schedule.
By developing the capability to quickly test the validity of these critical assumptions, we limit the amount of time we need to spend on solutions that won't pan out, and rapidly move on to other potential solutions which may turn out to hit the sweet spot in terms of desirability, feasibility, usability, and viability. We wind up with better solutions for our customers and better profits for our business because we can evaluate many more potential solutions than our competitors do. By getting really good at killing the product ideas that won't get us into the end zone (pun intended), we more quickly identify the best ideas that will best meet customer needs and deliver profits to our company. As a bonus, as we continuously talk to our customers and consider various possible solutions to their needs, our understanding of our customers' problems and the market continue to evolve and improve as we go along.
A few postscripts to wrap up the story.
The NFL schedule has become far more complex since then, with more prime-time games, more media contracts, and significantly more revenue tied to broadcast considerations. The league eventually replaced our system with a newer one.
The scheduling room at NFL headquarters is now named after Val Pinchbeck Jr., the man who single-handedly developed the NFL schedule for so many years. a fitting honor for someone who combined deep expertise with uncommon intuition.
Mr. Pinchbeck, who passed away in 2004, was great to work with. I fondly remember him taking us to his local eatery for lunch during our occasional visits to NFL headquarters. One time, it was just him and me. During that lunch, he told me lots of stories about how the AFL and NFL used to operate. As he was telling me about how the NFL draft used to work with team personnel running up actual index cards to the Commissioner with the name and college of the player they were selecting, he gave an example of how the Commissioner would read the card and announce the pick, "With the first pick of the NFL draft, the New York Jets select Gary Cohen, wide receiver, University of Michigan." That is of course, the closest I ever came to being drafted (or representing the University of Michigan as a football player)!