<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bounded Rationality (Posts about ranking)</title><link>http://bjlkeng.github.io/</link><description></description><atom:link href="http://bjlkeng.github.io/categories/ranking.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Tue, 10 Mar 2026 20:54:58 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Building A Table Tennis Ranking Model</title><link>http://bjlkeng.github.io/posts/building-a-table-tennis-ranking-model/</link><dc:creator>Brian Keng</dc:creator><description>&lt;div&gt;&lt;p&gt;I wrote a post about building a table tennis ranking model over at Rubikloud:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://rubikloud.com/labs/building-table-tennis-ranking-model/"&gt;Building A Table Tennis Ranking Model&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It uses
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model"&gt;Bradley-Terry&lt;/a&gt;
probability model to predict the outcome of pair-wise comparisons (e.g. games
or matches).  I describe an easy algorithm for fitting the model (via
MM-algorithms) as well as adding a simple Bayesian prior to handle ill-defined
cases.  I even have some
&lt;a class="reference external" href="https://github.com/bjlkeng/Bradley-Terry-Model"&gt;code on Github&lt;/a&gt;
so you can build your own ranking system using Google sheets.&lt;/p&gt;
&lt;p&gt;Here's a blurb:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Many of our Rubikrew are big fans of table tennis, in fact, we’ve held an
annual table tennis tournament for all the employees for three years
running (and I’m the reigning champion). It’s an incredibly fun event where
everyone in the company gets involved from the tournament participants to
the spectators who provide lively play-by-play commentary.&lt;/p&gt;
&lt;p&gt;Unfortunately, not everyone gets to participate either due to travel and
scheduling issues, or by the fact that they miss the actual tournament
period in the case of our interns and co-op students. Another downside is
that the event is a single-elimination tournament, so while it has a clear
winner the ranking of the participants is not clear.&lt;/p&gt;
&lt;p&gt;Being a data scientist, I identified this as a thorny issue for our
Rubikrew table tennis players. So, I did what any data scientist would do
and I built a model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;&lt;/div&gt;</description><category>Bradley-Terry</category><category>ping pong</category><category>ranking</category><category>Rubikloud</category><category>table tennis</category><guid>http://bjlkeng.github.io/posts/building-a-table-tennis-ranking-model/</guid><pubDate>Wed, 19 Jul 2017 12:51:41 GMT</pubDate></item></channel></rss>