{"id":16528373,"url":"https://github.com/danvk/march-madness-data","last_synced_at":"2025-03-03T06:24:06.876Z","repository":{"id":66069047,"uuid":"125665548","full_name":"danvk/march-madness-data","owner":"danvk","description":"NCAA brackets in JSON form","archived":false,"fork":false,"pushed_at":"2019-03-30T01:33:01.000Z","size":1130,"stargazers_count":21,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-16T10:03:48.903Z","etag":null,"topics":["data-analysis","ncaa-basketball","sports"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danvk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-17T20:14:22.000Z","updated_at":"2024-04-16T17:05:37.000Z","dependencies_parsed_at":"2023-03-17T09:45:29.831Z","dependency_job_id":null,"html_url":"https://github.com/danvk/march-madness-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danvk%2Fmarch-madness-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danvk%2Fmarch-madness-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danvk%2Fmarch-madness-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danvk%2Fmarch-madness-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danvk","download_url":"https://codeload.github.com/danvk/march-madness-data/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241618034,"owners_count":19991790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","ncaa-basketball","sports"],"created_at":"2024-10-11T17:40:06.761Z","updated_at":"2025-03-03T06:24:06.855Z","avatar_url":"https://github.com/danvk.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# March Madness Data\n\nThis repo contains JSON files for all the NCAA brackets from 1985–2017.\n\n## Results\n\n### Sums of Seeds\n\nAfter #16 seed UMBC became the first to beat a #1 seed, I was curious what the highest sum of seeds in a game was. This was harder to find out than I expected, so I grabbed some data from Wikipedia and found the answer. It's 25!\n\n```\n(1989) 25:            Minnesota 11 vs 14 Siena\n(1991) 25:     Eastern Michigan 12 vs 13 Penn State\n(1991) 25:               Temple 10 vs 15 Richmond\n(1991) 25:          Connecticut 11 vs 14 Xavier\n(1992) 25:     New Mexico State 12 vs 13 Southwest Louisiana\n(1993) 25:    George Washington 12 vs 13 Southern\n(1997) 25:                Texas 10 vs 15 Coppin State\n(1998) 25:           Washington 11 vs 14 Richmond\n(1998) 25:        Florida State 12 vs 13 Valparaiso\n(2001) 25:           Georgetown 10 vs 15 Hampton\n(2001) 25:              Gonzaga 12 vs 13 Indiana State\n(2008) 25:            Villanova 12 vs 13 Siena\n(2008) 25:                  WKU 12 vs 13 San Diego\n(2009) 25:              Arizona 12 vs 13 Cleveland State\n(2011) 25:             Richmond 12 vs 13 Morehead State\n(2012) 25:               Xavier 10 vs 15 Lehigh\n(2012) 25:        South Florida 12 vs 13 Ohio\n(2013) 25:          Mississippi 12 vs 13 La Salle\n(2014) 25:            Tennessee 11 vs 14 Mercer\n(2015) 25:                 UCLA 11 vs 14 UAB\n(2016) 25:             Syracuse 10 vs 15 Middle Tennessee\n(2018) 25:                 UMBC 16 vs  9 Kansas State\n(1997) 24:          Chattanooga 14 vs 10 Providence\n(1993) 22:               Temple  7 vs 15 Santa Clara\n(2012) 22:              Florida  7 vs 15 Norfolk State\n(2013) 22:        Wichita State  9 vs 13 La Salle\n(2013) 22:      San Diego State  7 vs 15 Florida Gulf Coast\n(1986) 21:      Cleveland State 14 vs  7 Navy\n(1998) 21:         Rhode Island  8 vs 13 Valparaiso\n(2011) 21:                  VCU 11 vs 10 Florida State\n(2014) 21:               Dayton 11 vs 10 Stanford\n```\n\nAll the 25s are in the Round of 32. This happens whenever there are two first-round upsets in the\nsame part of the bracket. You can't get a higher sum than 25 until the third round or later, and\nthis has yet to happen. The closest was 14 Chattanooga vs. 10 Providence in 1997.\n\n**Sweet 16**:\n```\n(1997) 24:          Chattanooga 14 vs 10 Providence\n(2013) 22:        Wichita State  9 vs 13 La Salle\n(1986) 21:      Cleveland State 14 vs  7 Navy\n(1998) 21:         Rhode Island  8 vs 13 Valparaiso\n(2011) 21:                  VCU 11 vs 10 Florida State\n(2014) 21:               Dayton 11 vs 10 Stanford\n(2016) 21:              Gonzaga 11 vs 10 Syracuse\n(2002) 20:                 UCLA  8 vs 12 Missouri\n(1990) 18:     Loyola Marymount 11 vs  7 Alabama\n(2001) 18:               Temple 11 vs  7 Penn State\n```\n\n**Elite Eight**\n```\n(2000) 15:       North Carolina  8 vs  7 Tulsa\n(2002) 15:              Indiana  5 vs 10 Kent State\n(1990) 14:             Arkansas  4 vs 10 Texas\n(1997) 14:              Arizona  4 vs 10 Providence\n(2000) 14:            Wisconsin  8 vs  6 Purdue\n(2002) 14:             Missouri 12 vs  2 Oklahoma\n(1986) 12:             Kentucky  1 vs 11 LSU\n(1990) 12:                 UNLV  1 vs 11 Loyola Marymount\n(1994) 12:       Boston College  9 vs  3 Florida\n(2001) 12:       Michigan State  1 vs 11 Temple\n```\n\n**Final Four**\n```\n(2011) 19:                  VCU 11 vs  8 Butler\n(2006) 14:              Florida  3 vs 11 George Mason\n(1986) 13:                  LSU 11 vs  2 Louisville\n(2000) 13:              Florida  5 vs  8 North Carolina\n(2016) 11:       North Carolina  1 vs 10 Syracuse\n(1985) 10:            Villanova  8 vs  2 Memphis State\n(1992) 10:            Michigan#  6 vs  4 Cincinnati\n(2010) 10:       Michigan State  5 vs  5 Butler\n(2013) 10:           Louisville  1 vs  9 Wichita State\n(2014) 10:            Wisconsin  2 vs  8 Kentucky\n```\n\n**Finals**\n```\n(2014) 15:          Connecticut  7 vs  8 Kentucky\n(2011) 11:          Connecticut  3 vs  8 Butler\n(1985)  9:           Georgetown  1 vs  8 Villanova\n(1988)  7:               Kansas  6 vs  1 Oklahoma\n(1992)  7:                 Duke  1 vs  6 Michigan#\n(1989)  6:           Seton Hall  3 vs  3 Michigan\n(2000)  6:              Florida  5 vs  1 Michigan State\n(2002)  6:             Maryland  1 vs  5 Indiana\n(2010)  6:               Butler  5 vs  1 Duke\n(1991)  5:               Kansas  3 vs  2 Duke\n```\n\n### Craziest Final Four\n\nOr what was the craziest final four (i.e. highest sum of seeds)? It was 26, in [2011][].\nThe least crazy was [2008's final four][2008], the only with four 1 seeds.\n\n```\n26 2011         Kentucky (4)     Connecticut (3)              VCU (11)          Butler ( 8)\n22 2000          Florida (5)  North Carolina (8)   Michigan State ( 1)       Wisconsin ( 8)\n20 2006              LSU (4)            UCLA (2)          Florida ( 3)    George Mason (11)\n18 2014          Florida (1)     Connecticut (7)        Wisconsin ( 2)        Kentucky ( 8)\n18 2013       Louisville (1)   Wichita State (9)         Michigan ( 4)        Syracuse ( 4)\n15 2016        Villanova (2)        Oklahoma (2)   North Carolina ( 1)        Syracuse (10)\n16 2018  Loyola–Chicago (11)       Michigan ( 3)        Villanova ( 1)          Kansas ( 1)\n15 1986             Duke (1)          Kansas (1)              LSU (11)      Louisville ( 2)\n13 2010   Michigan State (5)          Butler (5)    West Virginia ( 2)            Duke ( 1)\n13 1992             Duke (1)         Indiana (2)        Michigan# ( 6)      Cincinnati ( 4)\n12 2017   South Carolina (7)         Gonzaga (1)           Oregon ( 3)  North Carolina ( 1)\n12 1990             Duke (3)        Arkansas (4)     Georgia Tech ( 4)            UNLV ( 1)\n12 1985       Georgetown (1)       St John's (1)        Villanova ( 8)   Memphis State ( 2)\n11 2005         Illinois (1)      Louisville (4)   North Carolina ( 1)  Michigan State ( 5)\n11 1996    Massachusetts (1)        Kentucky (1)      Miss. State ( 5)        Syracuse ( 4)\n10 2015         Kentucky (1)       Wisconsin (1)   Michigan State ( 7)            Duke ( 1)\n10 1988             Duke (2)          Kansas (6)         Oklahoma ( 1)         Arizona ( 1)\n10 1987         Syracuse (2)      Providence (6)          Indiana ( 1)            UNLV ( 1)\n 9 2012         Kentucky (1)      Louisville (4)       Ohio State ( 2)          Kansas ( 2)\n 9 2003         Syracuse (3)           Texas (1)        Marquette ( 3)          Kansas ( 2)\n 9 2002         Maryland (1)          Kansas (1)          Indiana ( 5)        Oklahoma ( 2)\n 9 1998   North Carolina (1)            Utah (3)         Kentucky ( 2)        Stanford ( 3)\n 9 1995   Oklahoma State (4)            UCLA (1)   North Carolina ( 2)        Arkansas ( 2)\n 9 1989             Duke (2)      Seton Hall (3)         Michigan ( 3)        Illinois ( 1)\n 8 2004   Oklahoma State (2)    Georgia Tech (3)             Duke ( 1)     Connecticut ( 2)\n 8 1994          Florida (3)            Duke (2)         Arkansas ( 1)         Arizona ( 2)\n 7 2009     Michigan St. (2)     Connecticut (1)        Villanova ( 3)  North Carolina ( 1)\n 7 2001             Duke (1)        Maryland (3)   Michigan State ( 1)         Arizona ( 2)\n 7 1999             Duke (1)  Michigan State (1)       Ohio State ( 4)     Connecticut ( 1)\n 7 1997   North Carolina (1)         Arizona (4)       Minnesota* ( 1)        Kentucky ( 1)\n 7 1991   North Carolina (1)          Kansas (3)             Duke ( 2)            UNLV ( 1)\n 6 2007          Florida (1)            UCLA (2)       Georgetown ( 2)      Ohio State ( 1)\n 5 1993   North Carolina (1)          Kansas (2)         Kentucky ( 1)      Michigan * ( 1)\n 4 2008   North Carolina (1)          Kansas (1)          Memphis ( 1)            UCLA ( 1)\n```\n\n## Using the data\n\nThe data comes from [Wikipedia articles][2011]. It's all in `data/YYYY.json`. For example:\n\n```json\n{\n  \"year\": 1997,\n  \"regions\": [\n    [\n      [\n        [\n          {\n            \"round_of\": 64, \"seed\": 1,\n            \"team\": \"North Carolina\", \"score\": 82,\n          },\n          {\n            \"round_of\": 64, \"seed\": 16,\n            \"team\": \"Fairfield\", \"score\": 74\n          }\n        ],\n        ...\n      ],\n      ...\n    ],\n    ...\n  ],\n  \"finalfour\": [\n    [\n      [\n        {\n          \"round_of\": 4, \"seed\": 1,\n          \"team\": \"North Carolina\", \"score\": 58\n        },\n        {\n          \"round_of\": 4, \"seed\": 4,\n          \"team\": \"Arizona\", \"score\": 66\n        }\n      ],\n      [\n        {\n          \"round_of\": 4, \"seed\": 1,\n          \"team\": \"Minnesota*\", \"score\": 69\n        },\n        {\n          \"round_of\": 4, \"seed\": 1,\n          \"team\": \"Kentucky\", \"score\": 78\n        }\n      ]\n    ],\n    [\n      [\n        {\n          \"round_of\": 2, \"seed\": 4,\n          \"team\": \"Arizona\", \"score\": 84\n        },\n        {\n          \"round_of\": 2, \"seed\": 1,\n          \"team\": \"Kentucky\", \"score\": 79\n        }\n      ]\n    ]\n  ]\n}\n```\n\n- There are four regions.\n- Each contains an array of four rounds.\n- Each round contains an array of games.\n- Each game is an array of two teams.\n- Each team is an object with `round_of`, `seed`, `team` and `score` keys.\n\nIf you're working in Python, you can find some helper functions in `utils.py` and some\nexample code in `find_highest_seeds.py` and `craziest_final_four.py`:\n\n    $ ./craziest_final_four.py data/*.json\n    26 2011         Kentucky ( 4)       Connecticut ( 3)              VCU (11)           Butler ( 8)\n    22 2000          Florida ( 5)    North Carolina ( 8)   Michigan State ( 1)        Wisconsin ( 8)\n    20 2006              LSU ( 4)              UCLA ( 2)          Florida ( 3)     George Mason (11)\n    18 2014          Florida ( 1)       Connecticut ( 7)        Wisconsin ( 2)         Kentucky ( 8)\n    18 2013       Louisville ( 1)     Wichita State ( 9)         Michigan ( 4)         Syracuse ( 4)\n    ...\n\n## Updating the data\n\nTo regenerate (or update) the data, you'll need Python 3.6 or later.\nSet up your virtual environment and run:\n\n    pip install -r requirements.txt\n    ./extract_wiki_source.py pages/*.html\n    ./extract_bracket.py pages/*.wiki\n    mv pages/*.json data/\n\nTo add a new year, use `curl` to put a new HTML file in `pages/YYYY.html`. You can\nuse the URLs in `urls.txt` as a template.\n\n[2008]: https://en.wikipedia.org/wiki/2008_NCAA_Division_I_Men%27s_Basketball_Tournament\n[2011]: https://en.wikipedia.org/wiki/2011_NCAA_Division_I_Men%27s_Basketball_Tournament\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanvk%2Fmarch-madness-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanvk%2Fmarch-madness-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanvk%2Fmarch-madness-data/lists"}