Addressing the question of the probability that the best team in a league actually wins the league. . . .
I have been resisting working on this project for a week or more because I am in the middle of a long research project, but it keeps coming up, and it’s an interesting question, so I’ll put a couple of hours into it.
You can study this issue with a model. Suppose that you generate three random numbers, R1, R2, and R3. You multiply R1 * R2, and divide by 4. Then you use R3 to determine whether that number (R1 * R2 / 4) is added to .500, or subtracted from it:
Expected Winning Percentage = .500 +/- (R1 * R2 ) / 4
This generates team winning percentages which are .500 on average, with a standard deviation of .083. An individual team can have a winning percentage theoretically as high as .750, or as low as .250. The actual standard deviation of all team winning percentages since 1900 is .080, but. . .basically identical to real teams.
Let’s suppose that R1 and R2 are .560 473 and .807 116, and that R3 is less than .500; then the expected winning percentage of the team would be .386 908. R1 * R2 divided by 4 is .113 092; subtract that from .500, you have .386 908.
We can convert this into a Log5 by the formula
Log5 = (W Pct) / (2 * (1-W Pct))
In order words, the Log5 of a .600 team is .750; the Log5 of a .500 team is .500, and the Log5 of a .400 team is .333. When two teams play head to head, the expected winning percentage for each team is the ratio of their Log5 numbers. A .600 team playing a .600 team (on a neutral field), the first .600 team will win 50% of the time:
750 / (750 + 750) = .500
A .600 team playing a .500 team on a neutral field, the .600 team will win 60% of the team:
750 / (750 + 500) = .600
A .600 team playing a .400 team on a neutral field, the .400 team will win 69.2% of the time:
750 / (750 + 333) = .692
You can do this without creating the Log5 equivalents; it is just a lot easier to do it with the Log5 equivalents. Anyway, this does in fact happen; a .600 team playing a .400 team, the .600 team will win 69.2% of the time.
Except not EXACTLY, because every game is either a home game or a road game, and the effects of these is not EXACTLY neutral. It makes virtually no difference, but, wishing to be as accurate as we can in our model, we’ll go ahead and do that; we’ll create a "home Log5" and a "road Log5" for each team, which in reality makes the 8-team league a 16-team league, but. . . .we’ll go ahead and do it.
We’ll call these randomly generating winning percentages the "Input Winning Percentages", and refer to them casually as the "True Quality" of the team, OK? There is no rule that the input winning percentages in a league must average .500—just as there is no such rule in real life. In real life, both high school leagues and major leagues have output winning percentages of .500, although the teams obviously are of different quality. The OUTPUT winning percentages have to be .500, because there is one winner and one loser in each game, but the INPUT winning percentages can be anything. In our model, the input winning percentages will average .500 over time, but in an 8-team league, you might have 7 teams over .500 and one team under .500. But the outputs have to be .500, anyway.
OK, so you take the Log5 of each team, relevant to that game depending on which is the Home Team and which are the Space Invaders, and you figure the probability that team A will win the game. Then you generate another random number. If the new random number is less than the probability that Team A will win the game, then Team A wins. If it isn’t, then Team B wins.
Given that much information, running a simulated league is a simple matter of setting up a schedule, 11 home games and 11 road games for each of the 28 possible head-to-head matchups in an eight-team league. Tedious and time-consuming, but not otherwise difficult. A 154-game season for each of 8 teams in the league is just 616 games, not a huge number.
I did that, today, and repeated that simulation 1,000 times, one at a time because I’m not a good enough programmer to make it auto-repeat and count itself. The results:
The best team in the league won the league outright 638 times.
There were another 53 times that the pennant race wound up in a two-way tie.
And there were 4 times that it wound up in a three-way tie.
However, among the 57 "tied" leagues, there were 18 in which the best team in the league was not either or any of the teams which tied for first, so they could not win the playoff. There were 39 times when the best team in the league DID wind up in a tie with another team. If we assume that the best team would win 20 of those races in the playoff game(s), then the best team would win the league 658 times in 1,000 trials, or 65.8% of the time. So that’s my answer to the question: given the old-time 154-game setup, the best team would win the pennant 65.8% of the time.
Giving these teams names, these are the standings for a few seasons at random. In this case, Florida is by far the best team in the league, wins 104 games, and winds up winning the pennant by almost 20 games:
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.397
|
57
|
97
|
.370
|
Boston
|
.546
|
85
|
69
|
.552
|
Chicago
|
.529
|
85
|
69
|
.552
|
Detroit
|
.511
|
81
|
73
|
.526
|
Edmonton
|
.462
|
61
|
93
|
.396
|
Florida
|
.687
|
104
|
50
|
.675
|
Team G
|
.589
|
78
|
76
|
.506
|
Heartland
|
.483
|
65
|
89
|
.422
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
In this case, Team G and Heartland are easily the two best teams in a weak league, although neither is really a great team, but Team G takes advantage of the fact that there are three weak sisters in the league, and wins 111 games. Note that every team in this league except Detroit has a better output winning percentage than their true quality, because it is a weak league:
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.384
|
60
|
94
|
.390
|
Boston
|
.363
|
66
|
88
|
.429
|
Chicago
|
.463
|
83
|
71
|
.539
|
Detroit
|
.502
|
68
|
86
|
.442
|
Edmonton
|
.426
|
70
|
84
|
.455
|
Florida
|
.353
|
59
|
95
|
.383
|
Team G
|
.609
|
111
|
43
|
.721
|
Heartland
|
.604
|
99
|
55
|
.643
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
In this case, Edmonton is easily the best team in the league, and wins the pennant by 9 games—the third straight time that the best team has won:
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.450
|
64
|
90
|
.416
|
Boston
|
.513
|
70
|
84
|
.455
|
Chicago
|
.428
|
62
|
92
|
.403
|
Detroit
|
.604
|
89
|
65
|
.578
|
Edmonton
|
.669
|
100
|
54
|
.649
|
Florida
|
.485
|
74
|
80
|
.481
|
Team G
|
.577
|
91
|
63
|
.591
|
Heartland
|
.499
|
66
|
88
|
.429
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
This league is even weaker; Atlanta is the best team in the league with a True Quality of .525, but Atlanta cruises to a 9-game victory, making it four in a row for the league’s best team:
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.525
|
92
|
62
|
.597
|
Boston
|
.515
|
81
|
73
|
.526
|
Chicago
|
.514
|
83
|
71
|
.539
|
Detroit
|
.473
|
80
|
74
|
.519
|
Edmonton
|
.470
|
80
|
74
|
.519
|
Florida
|
.442
|
75
|
79
|
.487
|
Team G
|
.316
|
50
|
104
|
.325
|
Heartland
|
.432
|
75
|
79
|
.487
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
In this case (below), Atlanta is again the best team in the league despite a modest .545 True Quality, but Heartland, a barely-over-.500 team, manages to win 89 games to finish one game ahead in a close four-way race with Atlanta, Boston and Chicago.
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.545
|
88
|
66
|
.571
|
Boston
|
.527
|
86
|
68
|
.558
|
Chicago
|
.498
|
84
|
70
|
.545
|
Detroit
|
.411
|
59
|
95
|
.383
|
Edmonton
|
.489
|
76
|
78
|
.494
|
Florida
|
.420
|
56
|
98
|
.364
|
Team G
|
.425
|
78
|
76
|
.506
|
Heartland
|
.502
|
89
|
65
|
.578
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
In this case (below), Boston is the best team in the league, but loses to Detroit by three games; I don’t know why, but we can assume it was Don Zimmer’s fault.
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.466
|
76
|
78
|
.494
|
Boston
|
.588
|
87
|
67
|
.565
|
Chicago
|
.440
|
64
|
90
|
.416
|
Detroit
|
.521
|
90
|
64
|
.584
|
Edmonton
|
.502
|
71
|
83
|
.461
|
Florida
|
.439
|
66
|
88
|
.429
|
Team G
|
.517
|
79
|
75
|
.513
|
Heartland
|
.507
|
83
|
71
|
.539
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
Last one. Boston beats Edmonton in a classic pennant race reminiscent of the National League in 1942:
|
TRUE
|
|
|
|
Team
|
Quality
|
Wins
|
Losses
|
Pct
|
Atlanta
|
.490
|
82
|
72
|
.532
|
Boston
|
.657
|
105
|
49
|
.682
|
Chicago
|
.393
|
78
|
76
|
.506
|
Detroit
|
.363
|
55
|
99
|
.357
|
Edmonton
|
.594
|
102
|
52
|
.662
|
Florida
|
.471
|
67
|
87
|
.435
|
Team G
|
.328
|
54
|
100
|
.351
|
Heartland
|
.502
|
73
|
81
|
.474
|
|
|
|
|
|
|
|
616
|
616
|
.500
|
I’ll go ahead an publish this as an article. But I won’t answer any questions about it (my apologies for that), but there are a million other ways to go with this, and I really need to get back to what I was working on.