BOT Madness: Logic & Strategy
Reveal Group has split over two dozen developers into four teams to create the best bracket-picking robots in celebration of March Madness 2022. Our teams include UiPath, Blue Prism, Automation Anywhere and Microsoft Power Automate. Each team gathered to brainstorm unique strategies and logic to determine their bracket picks as well as demoing their BOT in action.
Team Strength Analysis:
The UiPath team developed an automation to analyze ~30k rows of raw statistics data that were outputted out of the Data Collection automation [AS1] to create a Team Strength Scale.
To account for variability in team performance and to allow for potential underdog selection, we added and subtracted two standard deviations from each team’s strength and generated a random number between the high and the low. The teams were then sorted based off the output of the standard deviation calculation and saved to an excel spreadsheet.
– Bracket Selection:
A Bracket Selection automation was developed to navigate and complete the March Madness bracket. The automation captures each matchup in the bracket and references the Team Strength scale to determine which team has the higher strength. The team with the higher strength is selected as the winning team.
Blue Prism Team
Round 1: With consideration of one team member’s personal connection and with a nod to the kangaroo mascot given Reveal Group started in Australia, the Bot first selects Richmond or Akron if they are present. If neither are present, the bot selects any Top 4 seeded team. If those conditions are not met, the bot then checks if a state name is included in the team’s school name. If a state is included in only one name, that team is selected. If a state appears in both or neither name, the team with a shorter school name is chosen to proceed to the next round.
Round 2: Again, using team preferences, the bot selects Richmond, Akron, Gonzaga, or Arizona if they are present. If those conditions are not met, the bot chooses the seeded team whose seed is divisible by 3 with no remainder. If both or neither of the teams are divisible by 3 with no remainder, the higher seed is chosen to proceed.
Sweet 16: In this round, the bot checks the Vegas odds for each team. If the matchup is close, the bot selects the team with the lower odds (here’s for the underdog!). If the matchup is a blowout, the bot selects the team with the higher odds.
Elite 8: Next, the bot chooses the team from the state with a greater population. If both teams are from the same state, the higher seed is chosen.
Final 4: Here, the bot chooses the team from the state with a lesser population. If both teams are from the same state, the team with a shorter school name is chosen.
Championship: Finally, to keep it simple, the bot chooses the team listed second.
Automation Anywhere Team
Setting Up The Bot:
The team manually populated an excel sheet with the distances.
Filling Out The Comparison Chart:
The AA Bot reads the school and ranking for each match up. From the spreadsheet, it will read the school distances from Reveal Group HQ.
Picking The Winner:
If the Lower Ranked Seed is Closer AND the Random Number Generator is Less than 4000000, the Lower seed gets picked. The Higher Seed would therefore get picked if the distance is closer OR higher than 4000000. This would allow us to favor the higher seed, and allow for randomness
Round 2 Onwards
If the Lower Ranked Seed is Closer AND the Random Number Generator is Less than 5000000, the Lower seed gets picked. The Higher Seed would therefore get picked if the distance is closer OR higher than 5000000 This would allow us to only slightly favour the higher seed, and allow for more randomness.
Microsoft Power Automate Team
Reveal Group’s Power Automate Team configured a robot to select the champion of the 2022 March Madness Basketball Tournament, as well as the winner of each matchup, using a combination of random criteria and weighted odds. Read this blog to see the steps included in the match-selection process.
The process commenced by opening a blank bracket in RunYourPool. With the bracket open, the next step was to navigate to the NCAA March Madness webpage and scrape the names of the 64 qualifying teams and paste the team names in the column header, and row titles, of a 64X64 matrix on an excel sheet. Then, the robot populated the cells in this table with either a 1 or a 0 – chosen at random.
This table was then retrieved and stored in a Flow Variable.
The next step in the process involved retrieving this year’s Vegas Betting Odds  allocated to each team from DraftKings Sportsbook and storing them in a Flow Variable.
To make use of the odds in this process, they were converted from odds to a probability – ranging from 0 to 1.
The bot then starts to loop through each matchup on the bracket. For each matchup, the two team names are retrieved, a value is derived for each team, and the team with the highest value is selected. The ranking system used to get this value for each team is as follows:
– The bot locates the matchup on the excel sheet and retrieves the cell value (0 or 1),
– If the value is 0, the first team in the matchup gets +1 added to their probability, and
– If the value is 1, the second team in the matchup gets +1 added to their probability
However, if the bot runs into a matchup where both teams have identical values, then the tiebreaker portion of the process would be invoked to ensure a decision can be made at each matchup. In the case of a tiebreaker, the bot would take the school names and count the length of each name. If the length of the first team’s name is even and the length of the second team’s name is odd, then the second team would claim the victory.
Please follow Reveal Group on LinkedIn and Twitter as we announce the winners. Engage with us by posting YOUR bracket picks and tagging #BotMadness.