Ever since I started playing basketball I was into looking for the best net. I was convinced that it had an impact on my performance (granted I was 8 years old when I believed that). When I grew up and took statistics I realized this was not true, but I still had a preference in terms of feel when the ball went through the net. You know like the splash brothers. With my friends we never settled the debate and after all these years I never forgot about it. So I decided to create nylongems, a Python-based website that allows basketball fans to vote their choice between two randomly chosen nylons. I had 8 different net types, several from the European courts of the 90s, including my personal favorite, the one with the knitters – which as you will see I might be the only one who likes it.
Bradly-Terry pairwise comparisons
So nylogens provided me with a set of pairwise comparisons and the users choices. For example, I know that nets and were shown to a user and the user chose . Bradley-Terry (BT) model uses these comparisons between objects to identify the ability for each object . Once these abilities are identified, then the probability that object will be chosen over object is given by:
Given nylon-specific features (e.g., chain or no, elastisity of the net etc.), the ability of each object can be further expressed as:
This – theoretically – would allow one to truly design a nylon that everyone would like, since we would be able to estimate how a given feature would correlated with the nylon’s ability or gem score as I termed it. Since we do not have similar features we simply estimate the ability of each net, i.e., a number for each one of them. I collected 285 pairwise comparisons (feel free to contribute more data by visiting nylongems and I will update the results), and following are the gem scores for each nylon:
Unfortunately, my personal favorite is ranked last, while me second favorite (the one with score -0.48) does not rank any better.
There are certainly more advanced pairwise-comparisson models but Bradley-Terry model is used in a variety of settings, including sports analytics, social sciences etc. For example, we use a similar framework to understand how people perceive biking safety and what street features increase the (perceived) safety.
You can find all the code (for the flask app and the data analysis) on my github.