Sometimes “best of three” just isn’t enough. Our Technical Support Specialist, Sean Judd, explains how he used Typeform, Google Sheets, Slack, and some crazy math to create the ultimate office FIFA tournament.
Spend time in any office and you’ll find yourself asking the same questions: How does the printer work? Who do I talk to about my doctor’s appointment? Who’s the office’s top FIFA player, and can that be proven empirically and unequivocally?
OK, maybe that last one’s just me.
One Friday afternoon—after weeks of insults and arrogant boasting on all sides—five of us from Typeform’s Customer Success team decided to determine the true FIFA maestro.
But we didn’t want to scrawl scores on bits of paper that might later go missing. And a whiteboard could mean people’s names being literally wiped off the top of a leaderboard.
We needed to automate our FIFA league.
So I naïvely volunteered to set up a system for tracking the results. How difficult could it be?
We decided on a simple win-to-loss calculation. If a player won three of their four games, for example, they’d have a win rate of 75%. Easy enough.
That was great, until Marci beat me in her first game then promptly went on holiday. That left her sitting pretty with a win rate of 100%. It wasn’t going to be that simple, after all.
“Research shows that less than 7% of Buddhists have reached nirvana while entering data into a spreadsheet.”
Still stinging from the defeat, I set out to cook the books with some complex workarounds—and restore myself to the top of the table.
The system I came up with was based on two calculations:
1. Win rate = 100 – (games played / games won)
This gave us a range of scores between 99 and 97, much better for those salty whiners below me in the table.
2. Goal difference = (number of goals scored / number of goals conceded) * number of games played
This rewarded people who played more often and ensured that our winner played more than just one game.
I admit: there were probably better ways to spend a sunny Saturday morning in Barcelona. But I couldn’t think of any, so I dove into the numerical details. I even made a little video about it, if you’re really into calculations:
There was nothing left to do but play. Right?
We needed somewhere to store all these convoluted numbers, so we started a Google Sheet for maximum transparency.
Our Results tab in Google Sheets was pretty simple, with five columns:
Column A: Player 1
Column B: Goals scored by player 1
Column C: Player 2
Column D: Goals scored by player 2
Column E: Winner of the game
First to play were James and Pol. James won 2-0. And Pol added an honest explanation of where it had all gone wrong:
The Match Report was born!
We loved Pol’s bitterness, and the fact he gave zero credit to James. Because as anyone who has played FIFA knows, nobody actually ever beats you—you only lose because the other player gets lucky. Explained visually:
We decided that the losing player would have to add the results to the spreadsheet and the match report. History would not be written by the victors here.
But there was still something missing.
I wanted to make it more valuable to beat higher-ranked players to avoid having a runaway leader. And higher-ranked players shouldn’t pick up extra points for beating lower-ranked players. So players picked up an extra fraction of a point for beating higher-ranked players.
Finally, we were good to go.
Now, I love a spreadsheet as much as the next person—and I might even love them more than I love some people. But they’re not exactly easy on the eye.
Sure, you can add some nice formatting. But still, all available research shows that less than 7% of Buddhists have reached nirvana while entering data into a spreadsheet.
We wanted to make it fun to enter results.
The solution was under our noses: a fun typeform to create a personal, engaging way for players to enter the results. Then we’d pass the data to Google Sheets using Zapier.
Oh, and we could use another signup typeform to add new players to the list of challengers. And then pass that data to Sheets too. And we could also set up a Slack channel to share notifications and match reports.
By this point I was clearly up to my arse in feature creep—I even had the idea to make a FIFA training video montage, à la Rocky II or Team America. So I put together a Trello board and admitted that I was taking this whole thing way too seriously.
I started with the quickest task: the signup typeform to ask for the challenger’s name, email, and Slack handle. Click ‘Hell yeah’ to try it yourself:
Next, I used Typeform’s conversational interface to collect the results from each match.
A dropdown menu kept misspellings out of the spreadsheet. Variables passed the names of the players into the final field, and Logic Jumps meant that a user couldn’t accidentally enter the same name twice.
Give it a go here:
All that data went straight into our Google Sheet using Zapier.
I also set up a Slack notification so that new players were invited to the Slack channel. And most importantly, match reports would now be automatically posted in the FIFA Slack channel so we could all enjoy the loser’s shame.
Now we were actually, seriously ready to play.
My self doubt hit just before launch—about two weeks later than expected.
We had 99% of the process automated. But the remaining 1% was getting me down: when a new player joined the challenge through the signup typeform, I still had to manually add their name to the dropdown list in the results typeform.
So we grabbed a dev—who lucky enough is also FIFA fanatic—to set up a webhook to pass a new player’s name directly to the Results typeform. It took about 90 seconds tops.
And it was the icing on our fully-automated FIFA cake.
All that was left was for me to wrap myself in my Ireland flag and play some games.
You’ve probably realized that this tournament could be set up for any game around the office: ping-pong, Jenga, rap battles, or even a Step Up-style dance off.
So if you’ve got a game with a winner and a loser: