NFL Playoff Scenarios and fun with tree diagrams!

Five AFC teams have already clinched playoff spots: Ravens, Dolphins, Chiefs, Texans, and Browns. This means there are two playoff spots left in the AFC. With the Steelers and Texans winning yesterday, the AFC is now pretty simple and there are only two games today that matter in terms of playoff qualification: Dolphins vs Bill and Jaguars vs Titans. Below you can see a tree diagram of all the possible outcomes for the two remaining teams. 

The NFC is….more complicated:

Five teams have already clinched playoff sports in the NFC: 49ers, Cowboys, Lions, Eagles, and Rams. This leaves two spots available for six teams. This means that five of the eight NFC games today have playoff qualification implication. The three games that don’t matter are the two NFC East games and the Rams vs 49ers. My particular favorite part of the NFC tree diagram is the Vikings playoff scenarios. All they need to do to make the playoffs is to beat the Lions and one of the following:

  1. Bears, Cardinals, and Falcons all win
  2. Bears, Cardinals, and Panthers win

This means that the Vikings are relying on four teams, all with losing records (7-9 Bears, the 4-12 Cardinals, the 2-14 Panthers, and the 7-9 Falcons), to all win today to make the playoffs. And also the Vikings have to beat the Lions. Skol! 

Cheers.

Eugenics

Cheers.

“Four Researchers”

I was mentioned on ESPN today. Well, not me. But my work. I am one of the “four” researchers (That paper has three authors….) they are talking about!

I’m a pretty big deal.

Cheers.

NFL words

Updated: August 26, 2024 (Update at end of article).

So I recently did a comedy set (because I’m a comedian and you can’t stop me) about words you could spell with the symbols of the chemical elements. It’s hilarious, because I’m hilarious, and you can see it here.

Unrelated to this, Jay Cuda is out there setting the bar extremely high for the absolute best Twitter account right now. And Tej Seth suggested that someone should be doing what Jay Cuda is doing for NFL and college football.

Now I can’t possibly hope to be as good as Jay Cuda, but I can contribute some meaningless nonsense to the world so here we go.

What are all the words that we can spell with NFL logos? I’m using these 9 logos with letters in them. This gives me a C, U (colts…sort of), SF, O (I need it), G, NY, KC, B, and T.

Using the code I wrote before and replacing the elements with available NFL logos, here is the complete list of scrabble words:

  • bo
  • bob
  • bog
  • bony
  • boo
  • boob
  • booboo
  • boot
  • bot
  • bott
  • boubou
  • bout
  • bub
  • bubo
  • bug
  • but
  • butt
  • buttony
  • butut
  • cob
  • cobb
  • coco
  • cog
  • cony
  • coo
  • coocoo
  • coot
  • cot
  • cottony
  • cub
  • cut
  • cutout
  • go
  • gob
  • gobo
  • gobony
  • gogo
  • goo
  • goony
  • got
  • gout
  • gut
  • oot
  • otto
  • out
  • outgo
  • to
  • tog
  • tony
  • too
  • toot
  • tot
  • tout
  • tub
  • tug
  • tut
  • tutu
  • ut


The longest word we can spell is COTTONY.

And, important to the immature among us, you can also spell BOOB and BUTT. BOOB can be spelled entirely with AFC North logos!

If I get some actual work done today, I’ll do the other sports.

Cheers.

Update:

It has come to my attention (via @ken_frets) that the Philadelphia Eagles logo contains the letter “E”:

As such I need to update this post. Here is the updated list:

  • be
  • bee
  • beebee
  • beet
  • beg
  • beget
  • begot
  • bet
  • betony
  • bo
  • bob
  • bocce
  • bog
  • bony
  • boo
  • boob
  • booboo
  • boot
  • bootee
  • bot
  • bott
  • boubou
  • bout
  • bub
  • bubo
  • bug
  • but
  • bute
  • buteo
  • butt
  • butte
  • buttony
  • butut
  • cee
  • cete
  • cob
  • cobb
  • coco
  • cocotte
  • cog
  • cony
  • coo
  • coocoo
  • cooee
  • coot
  • cot
  • cote
  • cottony
  • cub
  • cube
  • cubeb
  • cue
  • cut
  • cute
  • cutout
  • ebb
  • ebbet
  • ebony
  • ecu
  • egg
  • ego
  • et
  • gee
  • get
  • go
  • gob
  • gobbet
  • gobo
  • gobony
  • gogo
  • goo
  • goony
  • got
  • gouge
  • gout
  • gut
  • obe
  • oboe
  • obtect
  • octet
  • octette
  • oe
  • ogee
  • oogeny
  • oot
  • otto
  • out
  • outbeg
  • outgo
  • tee
  • teeny
  • teg
  • tet
  • to
  • toe
  • tog
  • togue
  • tony
  • too
  • toot
  • tot
  • tote
  • tout
  • tub
  • tube
  • tug
  • tut
  • tutee
  • tutu
  • ut

Not a lot of interested words that get added. But we can spell TUBE:

Cheers.

Some of my recent work

We (Ben Baumer, Quang Nguyen, and myself) just got our paper entitled “Big ideas in sports analytics and statistical tools for their investigation” published. My favorite thing that I learned from writing that paper was about the existence of the sportyR package. It’s my second favorite package of all time……after teamcolors, of course.

We (Quang Nguyen, Ron Yurko, and myself) also recently posted our paper on STRAIN called “Here Comes the STRAIN: Analyzing Defensive Pass Rush in American Football with Player Tracking Data” on ArXiV. This is work that is based on our Big Data Bowl 2023 work (did I even mention I was a Big Data Bowl finalist this year……). You can see my Big Data Bowl 2023 entry here.

That is all for now.

Cheers.

2023 NCAA Tournament Picks

First Round Winners

South

Alabama

Maryland

San Diego St

Virginia

Creighton

Baylor

Utah St

Arizona

East

Purdue

Memphis

Duke

Tennessee

Providence

Kansas St

Michigan St

Marquette

Midwest

Houston

Iowa

Miami (FL)

Indiana

Iowa St

Xavier

Penn St

Texas

West

Kansas

Illinois

St. Mary’s

UConn

TCU

Gonzaga

Northwestern

UCLA

Sweet Sixteen

South

Alabama

San Diego St

Creighton

Arizona

East

Purdue

Tennessee

Providence

Marquette

Midwest

Houston

Indiana

Xavier

Texas

West

Illinois

UConn

Gonzaga

UCLA

Elite Eight

South

Alabama

Arizona

East

Purdue

Marquette

Midwest

Houston

Xavier

West

UConn

UCLA

Final Four

South

Arizona

East

Purdue

Midwest

Houston

West

UCLA

Finals

Houston vs Purdue

Champion

Houston, 74-73

World Cup 2022 Advancement Scenarios

Before I begin, I have to admit to being a hypocritical coward. We should all be boycotting this World Cup. Qatar bribed FIFA to host it and then when building the stadiums several thousand migrant workers have died. So……not great. And that’s not to mention that Qatar is one of 10 countries where homosexuality may be punished by death. I love the World Cup, but I fucking hate FIFA and I kind of think I hate Qatar, too. Ok. Time for advancement scenarios!

Group A

Qatar

First things first, Qatar is out. No host team has ever been eliminated after two games. That is Qatar’s legacy.

Netherlands

The Netherlands advances with a win OR a tie. They can also advance with a loss if Ecuador wins. They can even advance with a loss if Senegal wins, as long as they lose less badly than Ecuador. So a lot would need to go wrong for the Netherlands to not get through to the round of 16.

Ecuador

Ecuador advances with a win OR a tie. They can also get in with a loss if Qatar beats the Netherlands by worse than Senegal beats them. But they shouldn’t worry about that.

Senegal

Senegal advances with a win. They can also get in with a tie and then get some help from Qatar beating the Netherlands by a few goals. They can still win the group with a win and help from Qatar drawing or winning against the Netherlands.

Here’s all the advancement scenarios graphically.

(Key – Green: Win group, Yellow: Second in group, Red: Eliminated, Light Green: Tie for first, Orange: Tie for second.)

Group B

England

England gets in with a win or a tie or a loss by less than 2. They can also advance with a loss if Iran-USA ends in a draw. A win guarantees them first in the group.

Iran

Iran gets in with a win. They can also get in with a tie as long as England wins or draws their match against Wales.

USA

It’s as simple as it gets: Win and they advance. Any other result they are eliminated.

Wales

Wales still somehow controls their own destiny even though they are on one point after 2 games. All Wales needs to do to advance is beat England by 3 or more goals (which is, not likely, but hey, who knows). They can also get in with any type of win as long as Iran-USA ends in a draw.

Group C

Poland

Poland advances with a win or a draw. They can also get in with a loss and a bit of help from Mexico. They win the group with any type of win or a tie and a Mexican win or draw.

Argentina

Argentina advances with a win. They can also get in with a tie and a Mexican tie or win…but not a win by too much.

Saudi Arabia

Saudi Arabia advances with a win. They can also advance with a tie and a Poland win or a tie and an Argentina win……but not a win by too much. They also have a shot to win the group with the easiest way being a win and a tie in the Argentina-Poland game.

Mexico

Mexico has a sort of Wales situation on their hands here where they control their own destiny. All they need to do to guarantee they advance is beat Saudi Arabia by 4 goals. Any other win and they need a bit of help (i.e. Poland win or Argentina win by enough goals). Mexico cannot win the group.

Group D

France

France is qualified for the round of 16. They win the group with a win or a tie. Or even most situations in which they lose. France is good.

Australia

Australia advances with any win. They can also get in with a tie as long as France wins or ties.

Denmark

Denmark can advance with a win but they need help. They advance with a win as long as France win or ties. If France loses Denmark needs to beat Tunisia on goal differential. They cannot win the group.

Tunisia

Tunisia can advance with a win….but they need a lot of help….and beating France is hard. With the win they need a Denmark-Australia draw or a Denmark win and then you beat Denmark on goal differential. Just like Denmark, they can’t win the group.

Group E

Spain

Spain advances with a win or a draw. They can also get in with a loss and a Germany-Costa Rica draw or most German wins.

Japan

Japan is in almost the same bot as the US: Win and you’re in. Nearly every other result leads to elimination. The exception being that they can advance with a draw if Germany ties Costa Rica or Germany beats Costa Rica by exactly 1 goal and then Japan wins the goals for tiebreaker against Germany, which is currently ties 2-2.

Costa Rica

Costa Rica advances with any win. They can also advance with a tie and a win from Spain. Everything else is elimination.

Germany

Germany does not control their own destiny. They need a win and a Spanish win or draw. They can also advance with a win and a Spain loss as long as they blow out Costa Rica and Japan blows out Spain. No matter what they cannot win the group.

Group F

Croatia

Croatia advances with a win or a draw. They can still get in with a loss but they would then need help from Canada. You never want to have to rely on Canada……

Morocco

Morocco advances with a win or a draw. They also advance with a loss and a Croatian win. There are also scenarios where they get in with a loss and a Belgium win and even a Belgium-Croatia draw.

Belgium

Belgium advances with a win. They also have a few scenarios where they can get in with a tie, but they would need help from Canada…..and you never want to rely on Canada. They win the group with a win and a Canadian win or draw.

Canada

Oh, Canada. You are eliminated. I hope they enjoyed that 1-0 lead over Croatia while it lasted.

Group G

Brazil

Brazil is in the round of 16. They join France and Portugal one of only 3 teams to have already advanced to the round of 16. They win the group with a win or a tie or a loss with a Serbian win or tie. But they will probably just win so that won’t matter.

Switzerland

Switzerland advances with a win. If they tie, they need help from Brazil with win or tie or lose a close game. They can win the group with a win and a Brazil loss and then winning the goal differential tie breaker.

Cameroon

Cameroon can still advance with a win. But they need help from Serbia with draw or win (but not win by enough to take the goal differential from them). Cameroon will be rooting for Serbia but not too much. They need a small Serbia victory to help themselves.

Serbia

Serbia needs to win to advance, but they also need help. They either need Brazil to win or tie (it’s nicer to have to rely on Brazil than Canada…). They can even get in with a win and a Brazilian loss as long as they still beat Cameroon on the goal differential. Serbia is rooting for Brazil.

Group H

Hey, want to hear something weird? The advancement scenarios for Group G are exactly the same as the advancement scenarios for Group H. Just replace Brazil, Switzerland, Cameroon, and Serbia with Portugal, Ghana, South Korea, and Uruguay. That’s right. The points AND goal differentials are EXACTLY the same for Groups G and H (the third tie breaker, goals for, is different). Weird, right?

Portugal

Portugal is in the round of 16. They join France and Brazil one of only 3 teams to have already advanced to the round of 16. They win the group with a win or a tie or a loss with a Uruguay win or tie. But they will probably just win so that won’t matter.

Ghana

Ghana advances with a win. If they tie, they need help from Portugal with win or tie or lose a close game. They can win the group with a win and a Portugal loss and then winning the goal differential tie breaker.

South Korea

South Korea can still advance with a win. But they need help from Uruguay with draw or win (but not win by enough to take the goal differential from them). South Korea will be rooting for Uruguay but not too much. They need a small Uruguay victory to help themselves.

Uruguay

Uruguay needs to win to advance, but they also need help. They either need Portugal to win or tie (it’s nicer to have to rely on Portugal than Canada…). They can even get in with a win and a Portugal loss as long as they still beat South Korea on the goal differential. Uruguay is rooting for Portugal.

Cheers.

Chess! 2022 FIDE Candidates Tournament!

The 2022 FIDE Candidates tournament is being played right now with the winner facing Magnus Carlsen for a chance to become the world champion (or maybe not). Either way, the winner of this tournament will secure a spot in the World Championship Match (and possible the runner-up, if Magnus decides not to play).  The tournament consists of 8 players and who play each opponents twice, once as white and once as black, for a total of 14 matches.  Players get 1 for a win, 1/2 for a draw, and 0 for a loss and they are currently 9 games into the 14 total and are on a rest day.  (Why do they need a rest day in chess?  Because some of these games are like 8 hours long!?!?).

I’m also teaching a Bayesian class this summer, which gave me an excuse to use the data from the candidates tournament  in a Bayesian example.  So I showed the students a simple multinomial model for the three outcomes of (win, draw, loss).  And we got to have a nice discussion about what our priors should be.  I showed them that if we use a non-informative prior here and let the data dominate, we get kind of nonsense results because they’ve only played so few games in the candidates tournament.  But we have a ton of prior knowledge!  Since all these players qualified for this tournament, we are very confident that they are all very very good and also very very close in terms of skill.  In the model that we set up, the strength coefficients are all relative to each other so we put priors on the betas with mean 0 and HIGH precision (low variance) since we have confidence that these players are all very similar to each other.  We don’t want to let the result of a single game drastically change the regression coefficients.  I’ve included the JAGS model below and the full code can be found here.

Jags Model


"model {
#Likelihood
for (i in 1:N){
##Sampling model
#y[i] ~ dmulti(p[i,1:J], 1)
y[i] ~ dcat(p[i, 1:J]) # alternative
for (j in 1:J){
log(q[i,j]) <- alpha[j] + inprod(X[i,], beta[,j])
p[i,j] <- q[i,j]/sum(q[i,1:J])
}

yrep[i] ~ dcat(ppred[i, 1:J])
for (j in 1:J){
log(qpred[i,j]) <- alpha[j] + inprod(X[i,], beta[,j])
ppred[i,j] <- qpred[i,j]/sum(qpred[i,1:J])
}

}
##Priors
for (j in 1:3) {
alpha[j] ~ dnorm(0, 1)
for (k in 1:8) {
beta[k, j] ~ dnorm(0, 5)
}
}

for (m in 1:Npred){
ypred[m] ~ dcat(ppred2[m, 1:J])
for (j in 1:J){
log(qpred2[m,j]) <- alpha[j] + inprod(Xpred[m,], beta[,j])
ppred2[m,j] <- qpred2[m,j]/sum(qpred2[m,1:J])
}
}

}”

Results

Some model results

Given equally matched players the model predicts that the player with the white pieces will win 10.10%, the player with the black pieces with win 6.28% of the time and there will be a draw 83.62% of the time.  This all seems very reasonable. (Though the white win percentage in actual games exploded to about 27% given three with wins yesterday).  I also made some fun plots to see the differences in players.  The first plot is the the probability of the players winning vs drawing playing as white and the second plot is the same but for players playing as black.  The dashed lines represent expected values that are equal.  So for instance, in the first plot (players playing as white), Nepo is more likely to win as white and less likely than the others to draw, but his EV is near 0.55.  The only other player with a white EV above 0.525 is Fabi.  When playing as black, the model actually gives Caruana the highest probability to win, but Nepo’s draw probability is high enough that he still have the highest EV as black of almost exactly 0.5.

 

 

Expected Final Points

Based on the results of this model, I simulated the remaining games in the tournament 5000 times and then computed the final standings.  Here are the expected number of points for the final tournament standings, with 95% credible intervals:

  1. Nepo: 8.70 (7.5, 10)
  2. Caruana: 8.08 (7, 9)
  3. Hikaru: 7.03 (6, 8)
  4. Rapport: 6.99 (6,8)
  5. Duda: 6.49 (5.5, 7.5)
  6. Ding: 6.47 (5.5, 7.5)
  7. Radjabov: 6.38 (5, 7.5)
  8. Alireza: 5.87 (5, 7)

 

And I made a fun plot for the number of points that each player will end with.  The darker the colors the more likely that outcome.  (Is there a name for this type of plot?  It’s like a histogram with color.  Does this have a name?). What’s notable about this is that Rapport, Radjabov, and Firouzja are all stuck at 4/9 but the model is predicting that Rapport and Radjabov are likely to finish with more points of Firouzja.

Probability of winning the candidates

I’ve calculated two probabilities for every player: 1) The probability they win the candidates outright and 2) the probability that either win outright OR are part of a tie for first.

Probability of winning the candidates outright

  1. Nepo: 67.76%
  2. Caruana: 10.44%
  3. Hikaru: 0.58%
  4. Rapport: 0.5%
  5. Duda: 0.06%
  6. Ding: <0.02%
  7. Radjabov: <0.02%
  8. Alireza: <0.02%

Probability of finishing with at least a piece of first place

  1. Nepo: 87.94%
  2. Caruana: 29.46%
  3. Hikaru: 2.26%
  4. Rapport: 2.02%
  5. Duda: 0.38%
  6. Ding: 0.12%
  7. Radjabov: 0.38%
  8. Alireza: <0.02%

Probabilities of most likely outcomes

  1. Nepo wins outright: 67.76%
  2. Nepo and Caruana two way tie: 16.88%
  3. Caruana wins outright: 10.44%
  4. Nepo, Caruana, Hikaru three way tie: .76%
  5. Nepo and Rapport two way tie: .64%
  6. Hiarku wins outright: 0.58%
  7. Nepo and Hikaru two way tie: 0.52%
  8. Nepo, Caruana, Rapport three way tie: .52%
  9. Rapport wins outright: 0.5%
  10. Caruana and Hikaru two way tie: 0.26%
  11. Caruana and Rapport two way tie: 0.2%
  12. Nepo and Duda(!!!) two way tie: 0.16%
  13. Nepo and Radjabov two way tie: 0.14%
  14. Nepo, Caruana, and Radjabov three way tie: 0.12%
  15. Nepo, Caruana, and Duda three way tie: 0.12%
  16. Nepo, Caruana, Hikaru, and Rapport FOUR WAY TIE: <0.1%
  17. Duda wins outright: <0.1%
  18. Nepo, Caruana, and Ding three way tie: <0.1%
  19. Nepo and Ding two way tie: <0.1%
  20. Nepo, Caruana, Hikaru, and Radjabov FOUR WAY TIE: <0.1%
  21. Nepo, Caruana, Rapport, and Radjabov FOUR WAY TIE: <0.1%
  22. Nepo, Rapport, Radjabov, and Ding FOUR WAY TIE: <0.1%
  23. Nepo, Caruana, Rapport, Ding, and Duda FIVE WAY TIE(!!!): <0.1%
  24. Nepo, Duda, Radjabov three way tie: <0.1%
  25. Nepo, Duda, Rapport three way tie: <0.1%
  26. Radjabov and Rapport two way tie: <0.1%

Cheers.

 

 

Data Art Talk Video

Here is a link to the talk on Data Art that I gave at the University of Oregon.

 

Cheers.

 

Greg’s wildly uninformed opinion about the NCAA Men’s basketball tournament

Since I started paying attention to NCAA basketball two days ago, I am now an expert.  I’ve done my “research” and I will now tell you exactly what is going to happen in the tournament.

Some things:

  • Worst 1 seed: Arizona
  • Best 2 seed: Duke
  • Best 3 seed: Purdue
  • Best 4 seed: Illinois
  • Best 5 seed: Iowa
  • Best 6 seed: Texas
  • Best 7 seed: Michigan St
  • Best 8 seed: UNC
  • Best 9 seed: TCU
  • Best Double digit seeded teams: Michigan, Virginia Tech, Indiana, Iowa St, San Francisco, Notre Dame, Miami FL, Rutgers, Loyola Chicago (Go Ramblers!)
  • Worst single digit seeds: Murray St, Creighton, Boise St, Colorado St, Providence, Marquette, Seton Hall
  • Teams that are under seeded: Purdue, Texas,  Michigan, Virginia Tech, Indiana, UNC, Iowa St
  • Teams that are over seeded: Villanova, Arizona, Wisconsin, St. Mary’s, USC, Providence, Colorado St, Marquette, Boise St, Davidson, Creighton, Murray St
  • Why is Murray State a 7 seed?
  • Best team to miss the tournament: Wake Forest
  • Worst At-Large Bid: Wyoming.  (More like WHYoming, amirite?)

My current top 100 rankings (seed) Qualified for NCAA tournament:

  1. Gonzaga (1)
  2. Baylor (1) 
  3. Kansas (1) 
  4. Purdue (3)
  5. Duke (2)
  6. Arizona (1) 
  7. Kentucky (2) 
  8. Auburn (2) 
  9. Texas Tech (3) 
  10. Illinois (4) 
  11. Tennessee (3) 
  12. Texas (6) 
  13. Iowa (5)
  14. UCLA (4) 
  15. Villanova (2) 
  16. Arkansas (4) 
  17. Ohio St (6)
  18. Alabama (6) 
  19. UConn (5) (Go Huskies!)
  20. Michigan (11)
  21. LSU (6) 
  22. UNC (8)
  23. Wisconsin (3) 
  24. Virginia Tech (11)
  25. Michigan St (7) 
  26. Wake Forest
  27. Indiana (12)
  28. Oklahoma
  29. Nicholls St (Wisconsin, a 3 seed, beat Nicholl’s state by only 3 points!)
  30. Xavier
  31. Florida
  32. Oklahoma St
  33. Virginia
  34. Iowa St (11)
  35. San Francisco (10)
  36. USC (7) 
  37. St. Mary’s (5) 
  38. Miss St
  39. TCU (9)
  40. San Diego St (8)
  41. Seton Hall (8)
  42. Notre Dame (11)
  43. UAB (12)
  44. Miami FL (10)
  45. West Virginia
  46. Rutgers (11)
  47. Loyola Chicago (10) (Go Ramblers!)
  48. Kansas St
  49. Providence (4) 
  50. Marquette (9)
  51. Colorado St (6)
  52. Oregon
  53. Washington St
  54. Northwestern
  55. BYU
  56. St. Johns
  57. Maryland
  58. Clemson
  59. North Texas
  60. Texas A&M
  61. Boise St (8)
  62. Florida St
  63. Penn St
  64. Davidson (10)
  65. VCU
  66. UC Irvine
  67. Vermont (13)
  68. Syracuse
  69. Vanderbilt
  70. Dayton
  71. UCSB
  72. Creighton (9)
  73. St. Bonaventure
  74. South Dakota St (13)
  75. St. Louis
  76. Utah St
  77. Colorado
  78. SE Louisiana
  79. Belmont
  80. Murray St (7) 
  81. Richmond (12)
  82. Texas A&M CC
  83. New Orleans
  84. Toledo
  85. SW Missouri St
  86. Louisiana Tech
  87. NC St
  88. NM St (12)
  89. Mississippi
  90. South Carolina
  91. Louisville
  92. Wyoming (12)
  93. Furman
  94. Chattanooga (13)
  95. Drake
  96. Call Riverside
  97. CS Fullerton (15)
  98. Iona
  99. Fresno St
  100. Western Kentucky