Sunday, March 11, 2012

March Madness Bracket/Pool Templates

The long awaited Bracket has arrived! See below for links to the template.  You will have to make your own copies. Note: The templates will not work until the field is set and Google adds the information to the =googletournament() function.


Individual Bracket
The individual bracket can be used for you to keep track of your own bracket, or serve as a template to be used in a group bracket pool.  The group will be discussed below.

Full Bracket:
The Full Bracket tab shows what the tournament currently looks like.  You don't make any selections here but this shows how powerful =googletournament() is.  The only editable cells are for choosing men or women and then the year.  This bracket was built with the men's tournament in mind and has not been tested for the women's tournament.

Points:
This tab shows you the current points you have won for your picks.  You can choose how many points are given each round.  I recommend using an exponential system as it gets more difficult to predict games that happen later in the tournament.  The exponential system is the default. This tab is also where you apply the tiebreaker.  This number will show up after the final results of the final game.  The tie breaker asks each person to guess at the final score of the championship game.  The actual summed scores for each time in the final game is subtracted from the guesses of the final scores for each time in the final game.  This creates a differential between the actual results and the guessed results.  In the event of a tie, whoever has the smaller differential wins.  The absolute value is taken so there is not a penalty for going over.

Your Bracket:
This is where you make your choices.  Only edit the yellow cells and make sure to choose what you think the final score will be.  The game cells are validated so you can only choose the possible teams.  Make sure you put your name in the name box and email address if you are part of a group.  This will help the pool admin with sending you information.  Note: You will not be able to fully fill out the bracket until the field is completely set.

Helper:
This sheet is hidden but builds the validation for each team choice.  You can click around to see what it does.  Basically, it looks at the choices you made in the previous round and only allows you to choose one of the possible two teams.  This is an upgrade from the past in that you could type pretty much anything in the cells.

HELP:
The HELP sheet gives a few helper instructions.

Group Bracket
The group bracket creates a place for many brackets to be analyzed for scoring and competition.  The current bracket has room for 50 brackets.  I'm not sure how many brackets the template can take before becoming slow.  However, if you run into this issue, I would advise making "Groups" and aggregating the Standings tab in a separate Standings spreadsheet to keep track of who is winning.  I'll comment on doing that below.

Full Bracket:
This tab is the exact same as in the single bracket template.

Bracket Participants:
Use this sheet to indicate who is participating in your pool.  You will only need to update the Name column. Make sure to include First and Last name or some sort of identifying to make sure that everyone in the pool has unique usernames.  This is important for scoring purposes.  The name that you put here must match the name of the tab that corresponds with the person.  For example, if Big Bird was in our pool we must type Big Bird on the Bracket Participants tab and the bracket corresponding to Big Bird must say exactly Big Bird's Bracket.

Standings:
Standings sorts all of the pool participants by score and then by differential.  As a reminder, the absolute value of the differential is taken so there is no penalty for going over.  You don't need to touch anything on this tab.

Points:
If there is a tab that is going to bog things down, it will be this tab.  This tab scores the brackets by grabbing all of the important information from each bracket and scoring it against the actual results of the tournament by assigning points for correct guesses.  If you would like to change the point values for each round you can do it here in column C.  You should only update the cells with a yellow background.  This sheet uses the indirect() function to search through the Spreadsheet for a bracket that matches a name from the Bracket Participants tab.  This is why the tab name of the individual must match exactly the name in the participants.  If this tab starts bogging down the entire spreadsheet, see below for some tips.

HELP:
This tab provides simple help information about the group version of the spreadsheet.

Blank Bracket:
Here is a blank bracket for using one method of setting up the pool.  I will now discuss two methods below.

Setting up your pool Method 1
The first method for setting up your pool requires you to make multiple copies of the blank bracket tab.  You will need a copy for each participant in your pool.  These tabs much be renamed for the participant and match the name exactly in this format "[Name]'s Bracket". I suggest using unique identifiers or first name and last name.  Once you have this set up for each person in your pool, you will need to share this spreadsheet with them.  You can either share the entire spreadsheet and hope that users don't edit other's brackets or use tab level permissions (click on the down arrow for the tab and go to Protection to choose who can edit the tab) and allow only the user whose name is on the tab to edit the tab.  I would suggest this method for those who have a few people in the pool (<10 or so).  Once everyone has set up their bracket you can change the editing rights to view only for all collaborators so that they cannot change their results.
Update: You will not be able to use the Helper for validation on the Blank Bracket.  If you use this method your participants must type the short name for the team you choose to win.  Therefore, as a bracket admin someone must make sure each choice is a legitimate choice.  This is a disadvantage to Method 1.  Thanks to Hells_ for pointing this out!

Setting up your pool Method 2
If you have a lot of people in your pool you might consider having multiple Group brackets and requiring your pool participants to fill out their own single bracket and share it with you.  The steps for achieving this are as follows:

  1. Share the Single Bracket as view-only (or link them to the single bracket template above)
  2. Ask them to make a copy of this sheet and rename accordingly (they will have to be signed into a Google Account)
  3. Have them fill out the bracket and rename the "Your Bracket" tab with their name
  4. Once they have completed the bracket, they must share it with whoever is running the group pool
  5. Once shared, the pool admin must open the shared bracket, select the tab that shows their choices and choose "Copy to..."
  6. Select the group bracket as the target location of the copy.
  7. Open the group bracket and you will see a "Copy of [Name]'s bracket"
  8. Rename the tab as "[Name]'s Bracket" and add their name that matches their bracket name to the list of participants.
  9. OPTIONAL: Share the Group bracket with this person.
  10. You're Done! Now watch the tournament!
Tips
  1. If the spreadsheet becomes bogged down, create multiple group spreadsheets and assign people to a group alphabetically.  For scoring, you can then create a separate spreadsheet that uses importrange() to grab the Standings tab from each group.  You can use vmerge() from the scripts gallery to join the data or lock the ranges to grab only x amount of rows.  Then you can use a filter() or query() on your data to find out who is winning.  See a template below for doing that.
  2. If the spreadsheet becomes bogged down considering copying and pasting values only on the Points tab.  Since the Points tab grabs the winning choices from the individual brackets you really only need to do this once.  After the brackets are "locked" you can get rid of all of the indirect() functions by copying and pasting values only.  Just know that any changes you make to an individual bracket will not be updated on the points.  But this shouldn't matter because people shouldn't be making changes to brackets after the tournament has started.

Final Thoughts
This might seem somewhat complicated but I think it really shows the power of having a spreadsheets online, collaboration, custom functions, and integration with other Google products.  I'm running a pool where I created a Google Site to hold all of the information using Method 2.  I've included a link to an example site that will be created once the tournament gets going.  Enjoy!


If you have any questions, feel free to comment below.  I also might hold a Hangout on Wednesday night CST to entertain any questions or just talk about how this works.  Add me to a circle on Google+ to learn more about that.

...and since I'm from St. Louis...GO BILLS!

Cheers!



27 comments:

  1. Thanks for setting this up, but when will the tournament teams be updated on your brackets?

    ReplyDelete
  2. I'd also appreciate your help getting the googletournament function updated... thanks!

    ReplyDelete
  3. Hi all,
    Still working on getting things on Google's side updated. Hopefully we see this updated today! Hang in there. I know I'm patiently waiting.

    ReplyDelete
  4. I am also waiting on the teams to be updated, how is this not Google's #1 priority?!?! ;)

    ReplyDelete
  5. Adah is able to confirm that they are working on this.

    https://groups.google.com/a/googleproductforums.com/forum/#!category-topic/docs/spreadsheets/aqH1388eZGU

    ReplyDelete
  6. I've done some things to get around it. It's not particularly pretty (and I lost the hoop graphic somewhere...) but it'll work. Also, fair warning, I totally messed with the points system to make it work for my pool, but other than that, it should work for most folks. And feel free to make a copy and modify it to your needs (although it's probably a little late now).

    goo.gl/XHTQS

    Great work, though, Ted, on the back end. I've had my pride projects derailed by something out of my control, too. Chin up, we'll get 'em next time.

    ReplyDelete
  7. Hi all,
    I've updated both templates now and they should be working. They are no longer dependent on =googletournament(). I will update a spreadsheet that will updates all of your spreadsheets automatically.

    Changes:
    I removed all =googletournament functions. The sheets will update using the importrange() function that uses data from my spreadsheet.
    Validation for all team choices occurs on both the Group and Single Templates now (Thanks to Adam for a new method).
    I removed some of the game information in order for the validation to work.
    I reorganized how points are determined so that you aren't getting points for games that haven't happened yet (this would have happened because game winners for future games are TBD and default choices are TBD).
    This will only work for the Men's Tournament for 2012. However, moving forward from year-to-year will be as simple as updating the key for the spreadsheet with the winners.
    I did some of this rather quickly so if you find any problems please let me know ASAP so I can fix the template. Thanks and enjoy!

    Cheers!
    Ted J

    ReplyDelete
  8. Hey Ted - Thanks for all this. Hope it works!

    - Jeremy

    ReplyDelete
  9. This is pretty cool! Thanks!
    Question: Who updates the winning teams? Murray State is lacking the "St" therefore, it shows as a loss if you selected them. Also noticed the Kansas St (who won already) is placed on the Syracuse spot, which is a higher seed and currently playing.

    ReplyDelete
  10. Please disregard the Kansas St.; it has been fixed. Murray St is still lacking the "St".

    ReplyDelete
  11. My standings aren't updated, even though the games have been. Did I do anything wrong in setting it up?
    https://docs.google.com/spreadsheet/pub?key=0Ai4UF1-tMKDddGtsbmN0Qk5WcVRZUjE3YTJ3RDY4QVE&gid=32

    ReplyDelete
  12. I can't see your formulas but I think you need to rename the tabs as Jeff's Bracket instead of just Jeff. Try that and let me know if that doesn't work.

    ReplyDelete
  13. That helped a little. The standings are at least showing something now, but they're not correct. Also, is it just for me that "Wisconsisn" is spelled wrong in the original bracket, so with the win and proper spelling "Wisconsin," it shows as a wrong pick? Thanks again. I hope these comments don't look like complaints...I'm grateful!

    ReplyDelete
  14. Nope these comments are great! You are correct that "Wisconsin was misspelled in the original template. I have since changed it. I think if you click on the team choice cell for a bracket that has that as the winner, the new correct spelling will show up as a choice. If you re-choose the Wisconsin issue is fixed.

    I'm diagnosing the points calculation issue. I think I know where it is and I'll post a solution as to how to fix it. Granted it might be easier to recopy the updated template and just copy-to each of your bracket sheets and rename the tabs accordingly.

    ReplyDelete
  15. I've updated the template. There is one more row on the Full Bracket tab than on the individual brackets. I updated the Points tab to work correctly. I would suggest making a new copy of the template. Or you can copy and paste D5:F67 from my points template into yours.

    If you have any problems feel free to share your version with me and I can fix it. Sorry about that!

    Keep the comments coming!

    ReplyDelete
  16. Column D in the Points tab is unaccessible to us. (To me, at least.)

    ReplyDelete
  17. The template itself is view-only. Just click Make A Copy from the File menu and you can unhide these columns on your copy. Click on the little arrows between C and E.

    ReplyDelete
  18. Thanks, Ted. I thought I had done that, but I must have returned to your file to try and copy. It worked for me now, but I did find that I had to first "Copy to..." the whole Points tab to my file before I could Copy and Paste the selected cells.

    Now...to fix the spelling on "New Mexico"/"N. Mex St."...?

    ReplyDelete
  19. Oops! I had them matches incorrectly. Should be working now. Give it a second to kick through.

    ReplyDelete
  20. Ted, can you write a script or formula for possible points? This would help determine who is really winning my league. Thanks

    ReplyDelete
  21. If you want current possible points try this:

    =sum(arrayformula(if(len(Points!F5:F67)>0,Points!C5:C67,0)))

    ReplyDelete
  22. Thanks Ted. That works but I was trying to create a formula for maximum possible points for each person. The maximum possible points total would change for each loss in your bracket. For example, if you have Kansas in your final four and they loss in the first round, your maximum possible points would substract points for each round you had Kansas winning. Let me know you what you think. Thanks,

    ReplyDelete
  23. Sounds like a good idea. I'll play around with it and see what I can come up with.

    ReplyDelete
  24. Michigan St. versus Michigan St (no period) ... after the Missouri upset I need all the help I can get :)

    ReplyDelete
  25. The spellings for second round Syracuse and Ohio State are incorrect.

    ReplyDelete
  26. Ohio State is spelled incorrectly for the Final Four. Should be "OSU"

    ReplyDelete
  27. Thanks! Everything should be fixed now. I've also checked all remaining games and we shouldn't have any problems. Thanks for using this!

    ReplyDelete