Breakfast and Basketball

Simulating this year's March Madness tournament with the power of Waffle House

Waffle House

One of the many duties incumbent upon college coaches is the recruitment of new players. Naturally, an assessment of the candidate's physical abilities, usually done through reviewing film or in-person camp sessions, is necessary. Academic performance is also a consideration, due to the NCAA's requirements for student atheletes. These qualities are rather straightforward to gauge, but there's one other thing coaches look for during recruit visits that can be harder to pin down: behavior. How an athlete conducts himself can tell coaches a lot- work ethic, coachability, and team fit to name a few. Determining this is more of an art than a science, but Troy's basketball coach Scott Cross has a rather simple approach:

"From that point forward, we offhandedly ask them, do you like Waffle House? If the answer is yes, we sign them. If it's no, we never get them."

The methodology arose after Troy hosted three potential recruits. While driving each recruit to campus, Coach Cross proposed eating breakfast at a nearby Waffle House. The first two recruits rejected this suggestion, opting to dine elsewhere. However, the third candidate, one Nick Stampley from Eastern Florida State, had a more enthusiastic reaction to the breakfast establishment. Before Cross could speak, Stampley expressed great joy at the presence of Waffle House and asked if they could eat there tomorrow morning.

Incidentally, Stampley was the only to receive an offer from Troy. He joined the Trojans and soon became a mainstay in the lineup, with Cross referring him as "...one of the toughest players we've ever coached". This success led to the Waffle House test mentioned above, which presumably is used as a signal for signing new players.

To most people, this appears to be a reasonable trial. Players who snub Waffle House may turn out to be prima donnas, unwilling to make personal sacrifices for the betterment of the team. Recruits who gladly accept the invitation, however, showcase humility and grit, two important assets coaches look for. In either case, Waffle House is just stage setting for sussing out a player's personality.

Should this be true, Cross's test would work just as well with Denny's or IHOP. I choose to believe in a much simpler explanation behind the success of the criteria. Namely, there is a direct, causal link between eating at Waffle House and being skilled at basketball. Consider the following:

This is a believable hypothesis but needs experimental data to be convincing. I happen to know just the place...

March Madness

In just a couple days, the annual NCAA March Madness tournament will begin. This features 64 of the best teams in college basketball and is one of the largest athletic events of the year. As a side show, ESPN hosts a bracket challenge, where fans attempt to pick the results of the 63 games. A perfect bracket yields a $1 billion dollar prize, though this is unlikely to every be claimed.

Though the perfect bracket is out of reach, the challenge does provide a score for each bracket, allowing competitors to see how their predictions stacked up against the rest of the field. I propose the following experiment:

  1. Simulate the results of each game, picking the winner to be the team with the closest Waffle House
  2. Submit the bracket to ESPN's Bracket Challenge and wait for the tournament to complete
  3. If the bracket beats the 50th percentile, conclude that the Waffle House index is a better indicator for team strength than traditional measures

As far as rules go, distances will be measured from the team's basketball stadium to the nearest Waffle House. This will be "straight line" distance, so we don't have to worry about traffic, road structure, or any other nuisance factors. In the unlikely event of a tie, we advance the lower seed.

Data Collection

This task involves four parts:

  1. Grab the seed and region information for all 68 invited teams
  2. Find the coordinates of each team's basketball stadium
  3. Determine the nearest Waffle House and compute the distance between the two locations
  4. Simulate the tournament and upload the bracket to ESPN's website

The first part is trivial, as it just involves scraping the information from a publicly available webpage. Geolocation is also not terribly hard, as the new Google Maps API includes text search. We can just write a simple query like so:


            def get_stadium_locations(client, team_names):
                coords = {}
                for team in team_names:
                    query = f'{team} Basketball Stadium'
                    rsp = client.places(query, type='stadium')
                    geo = rsp['results'][0]['geometry']['location']
                    coords[team] = (geo['lat'], geo['lng'])
                    sleep(0.25)
                return coords
            

The Places API also supports Nearby, which allows the user to limit the search to a selected area. This is exactly what we need, with two caveats:

  1. The search radius is limited to at most 50 km, which may prove problematic for remote teams
  2. The Nearby API can return restaurants that are merely waffle-adjacent instead of the real deal

I was alerted to these issues when testing the function with Texas A&M, which had a calculated distance of 2.8 km. College Station regrettably lacks a Waffle House, so something must have gone wrong. After investigating further, Nearby returned the coordinates for MESS Waffles. While a great place for chicken and waffles, it's not what we're looking for.

This confusion can be avoided by adding more validation on the establishment's name as returned by Nearby. Regrettably, this isn't enough to get around the 50 km search radius limit. As a fallback, we opt to keep a list of all discovered Waffle Houses when doing the nearby searches. If a team comes up empty-handed, take the nearest discovered Waffle House as a crude approximation 1.

With coordinates of both the stadiums and Waffle Houses in hand, our final task is to calculate the distances between the two points. Google Maps does support these calculations, offering both travel distances and estimated time of arrival. However, I elected to avoid expensive API calls in favor of spherical geometry. The Haversine formula gives us a way to compute the great-circle distance between our two points:


    def haversine(lat1, lng1, lat2, lng2):
        """
        Calculate distance between two sets of coordinates
        Uses the Haversine formula, which gives the circular arc length

        Params:
            lat1 (float): latitude of point 1 in degrees 
            lng1 (float): longitude of point 1 in degrees
            lat2 (float): latitude of point 2 in degrees 
            lng2 (float): longitude of point 2 in degrees

        Returns:
            dist (float): distance between two points 
        """
        EARTH_RADIUS_KM = 6371
        phi1 = math.radians(lat1)
        phi2 = math.radians(lat2)
        dphi = math.radians(lat2 - lat1)
        dlambda = math.radians(lng2 - lng1)

        a = math.sin(dphi/2)**2 + math.cos(phi1) * \
            math.cos(phi2) * math.sin(dlambda/2)**2
        c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))

        return EARTH_RADIUS_KM * c
            

Tournament Simulation

Distance information completed, we can finally simulate the tournament using the Waffle House Index (WHI). This is a relatively simple exercise in data structures, so I will omit the algorithmic details 2. To start, here's the results of the First Four:

  1. NC State def. texas
  2. UMBC def. Howard
  3. Lehigh def. Prairie View A&M
  4. Miami (OH) def. SMU

And advancing to the Final Four:

  1. East- (8) Ohio State Buckeyes (WHI = 1.89 km)
  2. South- (11) VCU Rams (WHI = 0.15 km)
  3. West- (14) Kennesaw State Owls (WHI = 0.31 km)
  4. Midwest- (7) Kentucky Wildcats (WHI = 1.44 km)

Our waffle-powered tournament ends with the VCU Rams claiming victory over Kennesaw State. Some other fun facts:

  1. A combined seed of 25 in the championship would be the highest in tournament history. The previous record is 15, with (7) UConn vs (8) Kentucky in 2014.
  2. Florida and Michigan lose in the Round of 64. They join Virginia and Purdue as the only 1 seeds to be upset by a 16 seed.
  3. As of 2026, there are no Waffle House locations in Hawaii. This does not bode well for the Rainbow Warriors, giving them the highest WHI of 4766 km.
  4. Lehigh and UMBC join Fairleigh Dickinson as the only 16 seed from the First Four to win in the Round of 64. They could be the first of their kind to make it to the Sweet 16, but the WHI predicts they fall in the Round of 32.

Final Notes

This concludes the experimental design. I filled out the bracket on ESPN's website, which you can track here. All that remains is to let the tournament play out. If my intuition holds, Virignia Commonwealth University will be this year's champions. The Rams are no stranger to the tournament, with a Cinderella run to the Final Four in 2011.

Should they surpass this feat, there will no doubt be a great deal of revelry on campus. A school's first national championship is a momentous occasion, one celebrated deep into the night. And as the celebration fades, the student body, exhausted from all the festivities, will converge upon one final place. The selfsame establishment responsible for propelling the basketball team to victory.

Be it an elite athlete or a gaggle of drunk college students, Waffle House is for all.