Game scheduling in a pandemic

Typically our game schedules are fully determined and uploaded by the third week of August. But this is one more way that COVID-19 is changing things for us.

With our Travel Program teams primarily playing intramural games this fall against each other, we aren’t participating in Middlesex Youth Soccer League (MYSL), our travel league. We are, however, scheduling travel friendlies against nearby towns with low COVID-19 numbers. And this is where the scheduling fun begins.

We have reached out to 18 such towns, posted contact information and descriptions of our teams, and even identified teams participating in MYSL play this fall who have bye weeks and reached out to those head coaches about playing us those weeks.

We’re starting to schedule some travel friendlies a little bit out, but so far it’s been a lot of “Hey, should we try to schedule something for this Saturday?” And that makes scheduling a real challenge.

Travel games (including friendlies) are the most complicated scheduling things we do. You need to have a game slot on a field. You need to have a game time that works for your team’s coaching staff, many of whom coach multiple teams. You need to have an opponent that makes sense for your team who can make that game time. And you need officials.

You don’t want to go to all of that planning work only to discover that one or more of those things doesn’t work, so building each week’s schedule starts with travel friendlies. And when those are being finalized late in the process, that really complicates things.

If you’re curious how the sausage is made, here’s a glimpse into the creation and publication of this week’s game schedule — now available on our website and in your SportsEngine mobile app:

  1. Figuring out the travel friendlies

I keep a spreadsheet of travel friendlies for this fall that is being constantly updated as other towns and teams get back to us. Of particular interest are the games in the coming week, and especially on Saturday. Once those are reasonably set, the work of game scheduling for Saturday can begin in earnest.

Recently, we were in negotiations to play a slew of travel friendlies against teams from a Boston neighborhood, only for Boston to end up Red in the state’s updated COVID-19 Average New Daily Cases map. We were paying close attention to Boston’s numbers and saw this coming, so it wasn’t a total shock three days out from Saturday, but that was yet another COVID complication.

2. Assigning game slots

Once we have a good idea of what our travel friendlies look like, we can start assigning game slots around them. We’re looking at things like not leaving any gaps between games, minimizing switches between 9v9 and 11v11 fields at Dilboy, and even trying to vary game times for teams so no one gets stuck with early or late games consistently every week.

Our In-Town matchups are predetermined using scheduling software that looks to create balanced, varied schedules. The goal is that every team plays every other team the same number of times. This isn’t always possible given the math, but we don’t want a scenario where a team plays one opponent four times and another opponent only once. We even try to ensure that teams get to wear both home and away colors an equal number of times.

3. Schedule around coach conflicts and requests

When assigning game slots, I try to take into account any coaches with multiple teams or any special requests that coaches have made. We have coaches who work on Saturday morning or are in the middle of house hunting and need mid-day free for open houses. And some coaches just prefer AM or PM games. Additionally, our B78 teams have a lot of players doing Babe Ruth doubleheaders on Saturday mornings, so we need to give them afternoon games.

There’s a final check to make sure the game times work for all our coaches, then the game schedule is considered finalized.

4. Enter the game information into a schedule upload template.

Rather than entering each game individually into SportsEngine, it’s much more efficient time-wise to do a batch upload. So the games are entered into a spreadsheet — and, yes, it can be a little confusing remembering all the codes for everything — and a schedule upload CSV file is exported.

5. Import the game schedule into SportsEngine.

With the game schedule data in CSV format, that file is uploaded into the Schedule Upload page of our SportsEngine admin dashboard. It takes a minute or two, and then if you’ve done your job right, you see a message that all the games imported successfully, with no dreaded error messages requiring subsequent re-uploads.

6. Run a final check SportsEngine

Once everything is up in SportsEngine, it’s important to do one last check, both by age groups and by fields to make sure every team appears and that there aren’t fields scheduled at the same time on the same field.

Then we ping the coaches to make sure they know their schedule is up and can contact families to encourage them to RSVP to the games. And then start on next week’s game schedule!