Main Project Resources: PAJER, Luke
Last Updated: April 2021
The purpose of the ncaa_select_picks repository is two fold:
- Provide Python package that those more experienced with Python may use to fill out NCAA Men's March Madness brackets who just want to fill out a bracket for fun. Remember that this is no better than random, so this should not be used for any financial investments.
- Provide an easy to use Python notebook for anyone to use to develop their understanding of Python and algorithms. This may be used in a classroom or at an individual level. I encourage people to adapt this to other playoff brackets of other sports!
Disclaimer: the package should be used for fun or research/education purposes. It should not be used for any financial investment as it is likely no better than random at predicting picks. If you or someone you know has any issues with Gambling, please contact the National Gambling hotline at 1-800-522-4700.
If there are any issues or concerns regarding the ncaa_select_picks
package or notebook, please reach out to Luke Pajer.
This project is an open project, and contributions are welcome from any individual. All contributors to this project are bound by a code of conduct. Please review and follow this code of conduct as part of your contribution.
Issues and bug reports are always welcome. Code clean-up, and feature additions can be done either through pull requests to project forks or branches.
All products of the SLAM project are licensed under an MIT License unless otherwise noted.
pip install ncaa-select-picks
import ncaa_select_picks as nsp
nsp.pick_brackets(region_names=['EAST', 'WEST', 'SOUTH', 'MIDWEST'])
OUTPUT:
First Round: ((1, 8), (2, 7), (3, 6), (4, 5))
Second Round: ((1, 4), (2, 6))
Regional Semifinals: [1, 6]
Regional Finals: 6
First Round: ((1, 8), (2, 7), (3, 6), (4, 12))
Second Round: ((1, 4), (2, 6))
Regional Semifinals: [1, 2]
Regional Finals: 1
First Round: ((1, 8), (2, 10), (3, 6), (4, 5))
Second Round: ((8, 4), (2, 3))
Regional Semifinals: [8, 3]
Regional Finals: 8
First Round: ((1, 9), (2, 7), (3, 6), (4, 5))
Second Round: ((1, 5), (2, 6))
Regional Semifinals: [1, 2]
Regional Finals: 2
EAST: 6
SOUTH: 8
This project is developed using Python. There should be no issues with these projects running on Mac, Windows, or Linux. If there are any issues, please submit an issue and it will be investigated.
Every year, millions of people across the globe tune into the madness of the NCAA Men's Basketball tournament March Madness. This is a tournament involving 64 teams, all with the mission to win every game and be crowned the best in Men's Collegiate Basketball.
Image source: https://upload.wikimedia.org/wikipedia/en/thumb/2/28/March_Madness_logo.svg/220px-March_Madness_logo.svg.png
The madness does not just stay on the court, as millions of people each year will fill out brackets in hope that their's will be one of the well known perfect brackets. This perfect bracket is, of course, just improbable, as there are about different combinations of outcomes for a 64 team bracket. Still, the infintesimal probability does not stop people from filling out multiple brackets, with the hope of having at least the best in their office!
- Round 1: 64 teams split into 4 regions with 16 teams in each region (region names change year to year)
- Round 2: 32 teams remain in total, split between the 4 regions with 8 teams remaining in each region
- Regional Semifinals (Sweet 16): 16 teams remain in total, split between the 4 regions with 4 teams remaining in each region
- Regional Finals (Elite 8): 8 teams remain in total, split between the 4 regions with 2 teams remaining in each region
- National Semifinals (Final 4): the winning team for each region go head-to-head with the opposing region, ex. EAST vs. WEST & SOUTH vs. MIDWEST
- National Championship: only 2 teams remain and will battle to be crowned the best basketball team in NCAA Men's Collegiate Basketball
In this notebook, we will explore a way to make predictions based on coin flips. In essence, the model takes the seeding pairs of matchups and pins them against each other in a game involving chance.
For example, if a 5 seed were to play a 12 seed, then the following would occur:
- 17 total flips of a coin
- If there are more than 5 occurances of 'Heads' in the set of coin flips, then the Higher seed (5) wins.
- If there are 13 or more occurances of 'Tails' in the set of coin flips, then the Lower seed (12) wins.
This basic scenario will determine each match up. However, there are some other factors to be taken into account when moving forward with the tournament.
The rest of this notebook is available here in the repository. Please feel free to download and use the notebook for personal/education/research purposes.