Predicting the 2025 NCAA Division I Women’s Basketball Tournament with a Multilevel Model

Using offensive and defensive ratings to simulate the odds of cutting down the nets
Author
Published

March 20, 2025

Efficiency models have had great success in predicting the outcomes of basketball games. The idea is simple: break everything down to possessions. Good teams score points on their possessions, while limiting opponents from scoring on their possessions. This basic principle underpins offensive and defensive ratings.

Just the raw numbers do not tell the whole story. The top scoring offense in 2025 was Murray State, the MVC champions ranked 185th in strength of schedule and whom the selection committee placed as an 11 seed; the top scoring defense in 2025 was 16 seed UNCG, ranked 244th in strength of schedule. It’s not just the totals: it’s also who you play against. A predictive model will need to be able to account for this.

Offensive and Defensive Rating Models

Everything goes back to possessions. For simplicity, I use a possession loss model, which Kubatko et al. (2007) define as1

1 Oliver (2004) and his work popularized a number of statistical approaches to analyzing basketball

\[ \begin{align} POSS_t &= FGA_t \\ &\quad + 0.475 \times FTA_t \\ &\quad - OREB_t \\ &\quad + TO_t \end{align} \]

where for team \(t\)

  • \(FGA_t\) is field goal attempts
  • \(FTA_t\) is free throw attempts
  • \(OREB_t\) is offensive rebounds
  • \(TO_t\) is turnovers

We can assume that each team gets roughly the same number of possessions per game.

I model the rating for each team as a combination of their offensive strength and their opponent’s defensive strength:

\[Eff_{i,j} = \beta_0 + \beta_{\text{home\_off}} \times \text{home} + \text{team}_{i} + \text{opponent}_{j} + \epsilon_{i,j}\]

where \(\text{team}_{i}\) and \(\text{opponent}_{j}\) are random effects for each team and opponent, respectively.

For the data, I will use the excellent {wehoop} package (Gilani and Hutchinson 2021).

Code
eff_form <- bf(
  efficiency | weights(weight) ~ 1 + home_off + (1|team_id) + (1|opponent_team_id),
  center = TRUE
)

prior <- c(
  prior(normal(1.0, 0.15), class = "Intercept"),
  prior(normal(0.1, 0.05), class = "b", coef = "home_off"),
  prior(cauchy(0, 2), class = "sd", group = "team_id"),
  prior(cauchy(0, 2), class = "sd", group = "opponent_team_id"),
  prior(cauchy(0, 1.5), class = "sigma")
)

bmodel <- brm(
  formula = eff_form,
  data = (team_game_data |> mutate(home_off = ifelse(home == 1, 1, 0))),
  chains = 5,
  iter = 4000,
  warmup = 2000,
  cores = 5,
  file =  here::here("notes/2025-wbb/data/eff_model2"),
  prior = prior
)

Results

Figure 1: Offensive and defensive ratings for top teams in the NCAA women’s basketball tournament. Teams near the top right of the graph have the best overall ratings.

The raw offense and defense scores can be thought of as answering the question: on a given possession, how many more points does this team score on offense and limit on defense against an average team?

Because this is a Bayesian model, the posterior represents thousands of probable ways the relative strengths of the teams can explain the observed outcomes (scores from the games).

Table 1: Small sample of draws from the posterior for two teams.
Draw Team Offense
1 UConn Huskies 0.3320497
1 South Carolina Gamecocks 0.2677487
2 UConn Huskies 0.3064298
2 South Carolina Gamecocks 0.2627730
3 UConn Huskies 0.3063233
3 South Carolina Gamecocks 0.2882034
Figure 2: Histogram of draws from the posterior for two teams’ relative offensive ratings.

There are a few ways we could consider what team is the “best” from this model:

  • What is the team’s average (mean and median) rank across the posterior draws?

  • What percentage of games would we expect each team to win against an average team?

Rank Team Mean Rank Median Rank Top Offense Top Defense Wins
1 UConn Huskies 1.3 1 76.61% 25.10% 99.69%
2 South Carolina Gamecocks 2.2 2 15.07% 21.52% 99.48%
3 Texas Longhorns 3.8 3 0.48% 22.28% 98.93%
4 Notre Dame Fighting Irish 5.2 5 0.28% 8.44% 98.82%
5 UCLA Bruins 5.6 5 1.08% 1.61% 98.68%
6 USC Trojans 7.3 7 0.10% 5.68% 98.23%
7 Duke Blue Devils 7.9 7 11.92% 97.88%
8 TCU Horned Frogs 9.1 8 5.67% 97.67%
9 West Virginia Mountaineers 11.9 11 2.47% 97.14%
10 Kansas State Wildcats 12.4 11 0.16% 0.01% 96.12%
11 Ole Miss Rebels 13.3 12 0.01% 0.12% 96.52%
12 LSU Tigers 14.1 13 0.07% 0.01% 96.11%
13 Baylor Bears 15.8 15 0.03% 95.58%
14 Tennessee Lady Volunteers 16.1 15 0.07% 95.50%
15 Oklahoma Sooners 17.6 16 0.01% 0.02% 95.55%
16 Alabama Crimson Tide 18.1 17 0.01% 0.01% 95.19%
17 NC State Wolfpack 19.2 18 0.01% 94.99%
18 Kentucky Wildcats 20.6 19 0.02% 94.27%
19 Ohio State Buckeyes 22.7 22 0.03% 93.75%
20 Iowa Hawkeyes 23.0 22 0.01% 93.52%
21 Vanderbilt Commodores 23.5 22 0.17% 93.55%
22 North Carolina Tar Heels 24.4 23 0.12% 93.11%
23 Michigan State Spartans 24.4 23 93.25%
24 Michigan Wolverines 27.1 26 0.01% 92.27%
25 Oklahoma State Cowgirls 27.8 27 92.15%

Simulating the Tournament

Seed Team R32 S16 E8 F4 Final Champs
1 UCLA Bruins 99.45% 84.83% 57.80% 40.92% 15.43% 7.15%
16 Southern Jaguars 0.55% 0.06%
8 Richmond Spiders 52.90% 8.21% 3.28% 1.41% 0.31% 0.08%
9 Georgia Tech Yellow Jackets 47.10% 6.90% 2.55% 0.97% 0.14% 0.04%
5 Ole Miss Rebels 86.86% 43.46% 17.28% 9.92% 2.88% 0.88%
12 Ball State Cardinals 13.14% 1.99% 0.22% 0.04% 0.01% 0.01%
4 Baylor Bears 85.48% 51.09% 18.52% 10.08% 2.53% 0.81%
13 Grand Canyon Lopes 14.52% 3.46% 0.35% 0.14% 0.02%
6 Florida State Seminoles 56.53% 16.86% 7.52% 2.02% 0.32% 0.07%
11 George Mason Patriots 43.47% 11.31% 4.28% 1.23% 0.18% 0.04%
3 LSU Tigers 93.90% 70.37% 41.12% 16.97% 4.04% 1.26%
14 San Diego State Aztecs 6.10% 1.46% 0.24% 0.01%
7 Michigan State Spartans 54.90% 22.35% 10.52% 3.73% 0.59% 0.18%
10 Harvard Crimson 45.10% 16.85% 7.12% 2.17% 0.30% 0.06%
2 NC State Wolfpack 88.20% 58.06% 28.74% 10.36% 2.02% 0.55%
15 Vermont Catamounts 11.80% 2.74% 0.46% 0.03%
Seed Team R32 S16 E8 F4 Final Champs
1 South Carolina Gamecocks 99.27% 92.07% 79.79% 60.09% 38.10% 21.25%
16 Tennessee Tech Golden Eagles 0.73% 0.12% 0.04%
8 Utah Utes 57.74% 5.21% 2.76% 1.01% 0.25% 0.04%
9 Indiana Hoosiers 42.26% 2.60% 1.14% 0.37% 0.10% 0.01%
5 Alabama Crimson Tide 79.21% 46.92% 9.99% 4.28% 1.41% 0.32%
12 Green Bay Phoenix 20.79% 6.54% 0.43% 0.07% 0.01%
4 Maryland Terrapins 80.35% 41.75% 5.53% 1.73% 0.35% 0.07%
13 Norfolk State Spartans 19.65% 4.79% 0.32% 0.07%
6 West Virginia Mountaineers 76.04% 44.63% 21.89% 7.22% 2.76% 0.78%
11 Columbia Lions 23.96% 7.85% 2.00% 0.32% 0.07%
3 North Carolina Tar Heels 91.65% 46.70% 16.15% 3.63% 0.98% 0.23%
14 Oregon State Beavers 8.35% 0.82% 0.05%
7 Vanderbilt Commodores 68.81% 17.04% 7.96% 1.87% 0.47% 0.12%
10 Oregon Ducks 31.19% 3.76% 1.03% 0.16% 0.01%
2 Duke Blue Devils 96.49% 78.49% 50.77% 19.17% 8.25% 2.79%
15 Lehigh Mountain Hawks 3.51% 0.71% 0.15% 0.01%
Seed Team R32 S16 E8 F4 Final Champs
1 Texas Longhorns 99.91% 89.18% 69.38% 42.09% 22.32% 10.83%
16 William & Mary Tribe 0.09%
8 Illinois Fighting Illini 48.83% 5.26% 2.12% 0.58% 0.09% 0.03%
9 Creighton Bluejays 51.17% 5.56% 2.36% 0.57% 0.14% 0.04%
5 Tennessee Lady Volunteers 86.34% 46.12% 13.95% 5.33% 1.88% 0.51%
12 South Florida Bulls 13.66% 2.52% 0.17% 0.02%
4 Ohio State Buckeyes 79.23% 45.21% 11.19% 3.56% 1.07% 0.33%
13 Montana State Bobcats 20.77% 6.15% 0.83% 0.18%
6 Michigan Wolverines 57.04% 9.80% 3.61% 0.90% 0.30% 0.05%
11 Iowa State Cyclones 42.96% 5.82% 1.88% 0.51% 0.09% 0.01%
3 Notre Dame Fighting Irish 96.99% 83.73% 53.44% 28.61% 14.42% 6.41%
14 Stephen F. Austin Ladyjacks 3.01% 0.65% 0.11% 0.03%
7 Louisville Cardinals 51.88% 8.98% 1.91% 0.36% 0.05% 0.01%
10 Nebraska Cornhuskers 48.12% 7.96% 1.63% 0.34% 0.06% 0.01%
2 TCU Horned Frogs 98.61% 82.80% 37.42% 16.92% 6.82% 2.24%
15 Fairleigh Dickinson Knights 1.39% 0.26%
Seed Team R32 S16 E8 F4 Final Champs
1 USC Trojans 97.80% 83.82% 54.94% 16.85% 9.74% 4.18%
16 UNC Greensboro Spartans 2.20% 0.36% 0.06%
8 California Golden Bears 45.61% 6.65% 2.20% 0.28% 0.07%
9 Mississippi State Bulldogs 54.39% 9.17% 3.48% 0.45% 0.11% 0.02%
5 Kansas State Wildcats 79.14% 42.89% 19.49% 4.74% 2.38% 0.86%
12 Fairfield Stags 20.86% 5.64% 1.16% 0.14% 0.06% 0.01%
4 Kentucky Wildcats 88.94% 49.62% 18.41% 3.42% 1.39% 0.39%
13 Liberty Flames 11.06% 1.85% 0.26% 0.01%
6 Iowa Hawkeyes 69.27% 28.95% 4.07% 1.51% 0.68% 0.20%
11 Murray State Racers 30.73% 7.52% 0.38% 0.12% 0.04% 0.01%
3 Oklahoma Sooners 83.02% 57.31% 8.57% 3.66% 1.71% 0.48%
14 Florida Gulf Coast Eagles 16.98% 6.22% 0.39% 0.08%
7 Oklahoma State Cowgirls 60.72% 3.16% 1.63% 0.60% 0.29% 0.10%
10 South Dakota State Jackrabbits 39.28% 1.26% 0.56% 0.13% 0.03% 0.01%
2 UConn Huskies 99.79% 95.52% 84.39% 68.01% 54.73% 36.53%
15 Arkansas State Red Wolves 0.21% 0.06% 0.01%

References

Gilani, Saiem, and Geoffery Hutchinson. 2021. “Wehoop: Access Women’s Basketball Play by Play Data.” CRAN: Contributed Packages. The R Foundation. https://doi.org/10.32614/cran.package.wehoop.
Kubatko, Justin, Dean Oliver, Kevin Pelton, and Dan T Rosenbaum. 2007. “A Starting Point for Analyzing Basketball Statistics.” Journal of Quantitative Analysis in Sports 3 (3).
Oliver, Dean. 2004. Basketball on Paper: Rules and Tools for Performance Analysis. U of Nebraska Press.