🐻⬇️🏀

Team model

Bradley-Terry

Static logistic paired-comparison model with one team strength parameter.

Status implemented Short Name BT
Rating Style elo Where Shown teams rankings, team pages, model performance

Model Card

Win/loss model of the form logit(P(team i beats team j)) = eta_i - eta_j + beta_home. This is the clean static paired-comparison baseline.

Validation on this page uses stored season-level full-fit rows plus strict weekly rolling holdouts. Rolling ranks are based on average weekly log loss in the selected league/season. Current scope: All Games. All scored games in the selected league and season. AP Poll is excluded here.

Selected League / Season

Use the selected scope to inspect this model against peers and across rolling weekly holdouts.

Full Fit AUC 0.486 (#9) · 756 games
7-Day Holdout Log Loss 0.736 (#7) · 4 games
Rolling Avg Log Loss 0.686 (#12) · 22 windows
Window Wins 0 · 56.4% rolling accuracy

Full-fit AUC is only available where the older stored-rating batch produced that model for the selected scope. Recency and ensemble families can still have valid 7-day and rolling holdout results even when the full-fit columns are blank.

Rolling Holdout Curves

Selected model plus comparison peers for GLEAGUE 2025-2026. The focus line is Bradley-Terry. Click legend items to hide/show peers.

Log Loss Brier AUC Accuracy

Weekly strict holdout log loss. Lower is better. Showing 6 models across 22 windows.

Recent Windows

Holdout Log Loss Rank Winner
Apr 8 - Apr 10 0.751 #13/16 Log Adjusted (0.567)
Apr 1 - Apr 7 0.597 #7/16 Log Adjusted (0.563)
Mar 25 - Mar 31 0.774 #16/16 Home Team Baseline (0.650)
Mar 18 - Mar 24 0.676 #2/16 Dynamic Bradley-Terry (0.674)
Mar 11 - Mar 17 0.776 #13/16 Home Team Baseline (0.601)
Mar 4 - Mar 10 0.649 #8/16 Pythagorean (0.624)
Feb 25 - Mar 3 0.623 #9/16 Dynamic Bradley-Terry (0.591)
Feb 18 - Feb 24 0.736 #12/16 Points Off/Def Recency (0.692)

Selected Scope Peer Table

Comparison snapshot for GLEAGUE 2025-2026. Rows are ordered by rolling log-loss rank; full-fit AUC may be blank for models that do not have legacy full-season rows stored for this scope.

Model Full AUC AUC Rank 7d LogLoss 7d Rank Rolling LL Rolling Rank Windows
Points Off/Def Recency - - 0.781 #8 0.660 #1 22
Pythagorean 0.532 #6 0.680 #4 0.661 #2 22
Points Off/Def 0.521 #7 0.692 #6 0.664 #3 22
Avg Margin Baseline 0.686 #1 0.655 #3 0.664 #4 22
Recency Ensemble - - 0.811 #12 0.668 #5 22
Bradley-Terry 0.486 #9 0.736 #7 0.686 #12 22

League × Season Summary

Cross-scope validation history for Bradley-Terry. Rolling ranks are by average weekly log loss.

League Season Full AUC AUC Rank 7d LL 7d Rank Rolling LL Rolling Rank Windows Wins
WNBA 2025 - - 0.521 #3 0.630 #6 21 2
NCAAWD3 2025-2026 0.954 #1 - - - - 0 0
NCAAWD2 2025-2026 0.858 #1 0.518 #10 0.573 #7 14 0
NCAAW 2025-2026 0.876 #2 0.614 #10 0.583 #12 22 0
NCAAMD3 2025-2026 0.937 #1 - - - - 0 0
NCAAMD2 2025-2026 0.796 #5 0.564 #9 0.601 #12 14 0
NCAAM 2025-2026 0.823 #1 0.649 #10 0.630 #14 22 0
NCAAM 2024-2025 0.841 #3 0.648 #3 - - 0 0
NCAAM 2023-2024 0.767 #1 0.639 #3 - - 0 0
NCAAM 2022-2023 0.756 #3 0.646 #3 - - 0 0
NCAAM 2021-2022 0.756 #4 0.647 #4 - - 0 0
NCAAM 2020-2021 0.727 #2 0.645 #4 - - 0 0
NCAAM 2019-2020 0.710 #2 0.641 #3 - - 0 0
NCAAM 2018-2019 0.796 #2 0.641 #3 - - 0 0
NCAAM 2017-2018 0.731 #4 0.641 #4 - - 0 0
NCAAM 2016-2017 0.747 #5 0.641 #4 - - 0 0
NCAAM 2015-2016 0.702 #2 0.644 #4 - - 0 0
NCAAM 2014-2015 0.764 #4 0.644 #4 - - 0 0
NCAAM 2013-2014 0.683 #6 0.641 #4 - - 0 0
NCAAM 2012-2013 0.682 #4 0.644 #4 - - 0 0
NCAAM 2011-2012 0.714 #4 0.654 #4 - - 0 0
NCAAM 2010-2011 0.676 #4 0.665 #5 - - 0 0
NCAAM 2009-2010 0.663 #2 0.666 #4 - - 0 0
NCAAM 2008-2009 0.672 #2 0.667 #4 - - 0 0
NCAAM 2007-2008 0.674 #2 0.665 #4 - - 0 0
NCAAM 2006-2007 0.617 #3 0.662 #4 - - 0 0
NCAAM 2005-2006 0.656 #4 0.666 #4 - - 0 0
NCAAM 2004-2005 0.640 #6 0.671 #5 - - 0 0
NCAAM 2003-2004 0.645 #6 0.669 #5 - - 0 0
NBA 2025-2026 0.751 #7 0.613 #7 0.622 #12 26 1
GLEAGUE 2025-2026 0.486 #9 0.736 #7 0.686 #12 22 0

Output Coverage

Stored site-output rows for this model.

League Season Rows
WNBA 2025 17
WNBA 2024-2025 20
WNBA 2024 13
WNBA 2023 13
WNBA 2022 13
WNBA 2021 13
WNBA 2020 13
WNBA 2019 15
WNBA 2018 15
WNBA 2017 14
WNBA 2016 12
WNBA 2015 15
WNBA 2014 16
WNBA 2013 16
WNBA 2012 13
WNBA 2011 17
WNBA 2010 16
WNBA 2009 15
WNBA 2008 14
WNBA 2007 15
WNBA 2006 16
WNBA 2005 15
WNBA 2004 15
WNBA 2003 16
WNBA 2002 18
WNBA 2001 18
WNBA 2000 16
WNBA 1999 12
WNBA 1998 10
WNBA 1997 8
NCAAWD3 2025-2026 604
NCAAWD3 2024-2025 475
NCAAWD3 2023-2024 475
NCAAWD3 2022-2023 506
NCAAWD3 2021-2022 506
NCAAWD3 2020-2021 506
NCAAWD3 2019-2020 639
NCAAWD3 2018-2019 623
NCAAWD3 2017-2018 151
NCAAWD3 2016-2017 658
NCAAWD3 2015-2016 671
NCAAWD3 2014-2015 650
NCAAWD3 2013-2014 522
NCAAWD3 2012-2013 498
NCAAWD2 2025-2026 539
NCAAWD2 2024-2025 368
NCAAWD2 2023-2024 368
NCAAWD2 2022-2023 408
NCAAWD2 2021-2022 408
NCAAWD2 2020-2021 408
NCAAWD2 2019-2020 600
NCAAWD2 2018-2019 636
NCAAWD2 2017-2018 205
NCAAWD2 2016-2017 659
NCAAWD2 2015-2016 685
NCAAWD2 2014-2015 653
NCAAWD2 2013-2014 512
NCAAWD2 2012-2013 481
NCAAW 2025-2026 363
NCAAW 2024-2025 362
NCAAW 2023-2024 363
NCAAW 2022-2023 407
NCAAW 2021-2022 407
NCAAW 2020-2021 421
NCAAW 2019-2020 461
NCAAW 2018-2019 504
NCAAW 2017-2018 527
NCAAW 2016-2017 553
NCAAW 2015-2016 623
NCAAW 2014-2015 625
NCAAW 2013-2014 631
NCAAW 2012-2013 645
NCAAW 2011-2012 658
NCAAW 2010-2011 668
NCAAW 2009-2010 668
NCAAW 2008-2009 668
NCAAW 2007-2008 668
NCAAW 2006-2007 668
NCAAW 2005-2006 668
NCAAW 2004-2005 668
NCAAW 2003-2004 668
NCAAMD3 2025-2026 652
NCAAMD3 2024-2025 492
NCAAMD3 2023-2024 492
NCAAMD3 2022-2023 520
NCAAMD3 2021-2022 520
NCAAMD3 2020-2021 520
NCAAMD3 2019-2020 677
NCAAMD3 2018-2019 644
NCAAMD3 2017-2018 255
NCAAMD3 2016-2017 691
NCAAMD3 2015-2016 683
NCAAMD3 2014-2015 672
NCAAMD3 2013-2014 571
NCAAMD3 2012-2013 562
NCAAMD2 2025-2026 544
NCAAMD2 2024-2025 417
NCAAMD2 2023-2024 417
NCAAMD2 2022-2023 421
NCAAMD2 2021-2022 421
NCAAMD2 2020-2021 421
NCAAMD2 2019-2020 674
NCAAMD2 2018-2019 689
NCAAMD2 2017-2018 246
NCAAMD2 2016-2017 715
NCAAMD2 2015-2016 709
NCAAMD2 2014-2015 693
NCAAMD2 2013-2014 550
NCAAMD2 2012-2013 510
NCAAM 2025-2026 365
NCAAM 2024-2025 364
NCAAM 2023-2024 611
NCAAM 2022-2023 711
NCAAM 2021-2022 764
NCAAM 2020-2021 804
NCAAM 2019-2020 884
NCAAM 2018-2019 939
NCAAM 2017-2018 982
NCAAM 2016-2017 1015
NCAAM 2015-2016 1056
NCAAM 2014-2015 1091
NCAAM 2013-2014 1113
NCAAM 2012-2013 1119
NCAAM 2011-2012 1134
NCAAM 2010-2011 1141
NCAAM 2009-2010 1145
NCAAM 2008-2009 1156
NCAAM 2007-2008 1163
NCAAM 2006-2007 1173
NCAAM 2005-2006 1182
NCAAM 2004-2005 1191
NCAAM 2003-2004 1196
NCAAM 2002-2003 328
NCAAM 2001-2002 324
NCAAM 2000-2001 319
NCAAM 1999-2000 319
NCAAM 1998-1999 311
NCAAM 1997-1998 308
NCAAM 1996-1997 307
NCAAM 1995-1996 306
NCAAM 1994-1995 303
NCAAM 1993-1994 302
NCAAM 1992-1993 299
NCAAM 1991-1992 299
NCAAM 1990-1991 296
NCAAM 1989-1990 293
NCAAM 1988-1989 294
NBA 2025-2026 28
NBA 2024-2025 30
NBA 2023-2024 30
NBA 2022-2023 30
NBA 2021-2022 30
NBA 2020-2021 30
NBA 2019-2020 30
NBA 2018-2019 30
NBA 2017-2018 30
NBA 2016-2017 30
NBA 2015-2016 30
NBA 2014-2015 30
NBA 2013-2014 30
NBA 2012-2013 30
NBA 2011-2012 30
NBA 2010-2011 30
NBA 2002-2003 29
NBA 2001-2002 29
NBA 2000-2001 29
NBA 1999-2000 29
NBA 1998-1999 29
NBA 1997-1998 29
NBA 1996-1997 29
GLEAGUE 2025-2026 31
GLEAGUE 2024-2025 31
GLEAGUE 2023-2024 31
GLEAGUE 2022-2023 31
GLEAGUE 2021-2022 31
GLEAGUE 2020-2021 31
GLEAGUE 2019-2020 27
GLEAGUE 2018-2019 26
GLEAGUE 2017-2018 25
GLEAGUE 2016-2017 21
GLEAGUE 2015-2016 18
GLEAGUE 2014-2015 17
GLEAGUE 2013-2014 16
GLEAGUE 2012-2013 15
GLEAGUE 2011-2012 15
GLEAGUE 2010-2011 15
GLEAGUE 2009-2010 15
GLEAGUE 2008-2009 13
GLEAGUE 2007-2008 11
GLEAGUE 2006-2007 7
GLEAGUE 2005-2006 3
GLEAGUE 2004-2005 3
GLEAGUE 2003-2004 3
EUROLEAGUE 2025-2026 20
EUROLEAGUE 2024-2025 21
EUROLEAGUE 2023-2024 21
EUROLEAGUE 2022-2023 21
EUROLEAGUE 2021-2022 24
EUROLEAGUE 2020-2021 25
EUROLEAGUE 2019-2020 18
EUROLEAGUE 2018-2019 17
EUROLEAGUE 2017-2018 16
EUROLEAGUE 2016-2017 16
EUROLEAGUE 2015-2016 24
EUROLEAGUE 2014-2015 24
EUROLEAGUE 2013-2014 24
EUROLEAGUE 2012-2013 24
EUROLEAGUE 2011-2012 24
EUROLEAGUE 2010-2011 24
EUROLEAGUE 2009-2010 24
EUROLEAGUE 2008-2009 24
EUROLEAGUE 2007-2008 24
EUROCUP 2025-2026 20
EUROCUP 2024-2025 20
EUROCUP 2023-2024 20
EUROCUP 2022-2023 20
EUROCUP 2021-2022 20
EUROCUP 2020-2021 20
EUROCUP 2019-2020 24
EUROCUP 2018-2019 24
EUROCUP 2017-2018 24
EUROCUP 2016-2017 20
EUROCUP 2015-2016 44
EUROCUP 2014-2015 44
EUROCUP 2013-2014 56
EUROCUP 2012-2013 32
EUROCUP 2011-2012 32
EUROCUP 2010-2011 32
EUROCUP 2009-2010 32
EUROCUP 2008-2009 33
EUROCUP 2007-2008 54