I made this plot to try and compare the competitiveness of the major US sports (NHL/NBA/MLB/NFL):
Each point of a given color represents, for a given season, the Gini coefficient of the win percentages in that league. So for example, the rightmost red circle is the Gini for the 2015-16 NBA season (as of yesterday). I calculate the win-loss percentage for each team in the league and feed this as data to
ineq::Gini in R, which should be calculating the Gini as explained on Wikipedia.
Unfortunately, using this plot to compare across sports is fraught with issues; my main concern is the mechanical suppression of the Gini induced by the varying number of games in a season across the sports.
The NFL season is only 16 games long, while that in the MLB is 162. It is possible (and in fact empirically valid) that a team can go 0-16 in a short season, but nigh-impossible that even a horrible team goes 0-162, even while a team in a long season can go on a 16-game losing streak.
Basically, it appears that regression to the mean is biasing the Gini coefficient down for long-season sports. To test this hypothesis, I randomly sampled sub-seasons of MLB of varying lengths, computed the win percentage on the sub-season, and averaged over many repetitions to see if there's a clear relationship between subseason length and Gini, within the same sport. The result is clear:
How can we correct the simple Gini used in the first graphic in order to allow for a more equitable (i.e., not statistically incomparable) comparison of the sports?
Code to reproduce this analysis can be found on my GitHub here; the simulation for season-length sensitivity is towards the bottom.