A New Fairness (C) Measure

For some time, I’ve been worried in the back of my mind that the fairness (C) statistic was rather hard to interpret. I’d forgotten the details of how is was calculated, but suspected that whenever I got around to looking at it again, I’d be unhappy with the formula. I didn’t want to be unhappy with the formula because I couldn’t do anything about it without revising my simulator, and I was scared to do that.

Sure enough, the time came when I needed to look at fairness (C) again. I was getting ready to write the section on fairness (C) for TGT, and sure enough, the formula looked absurd to me. How could I have done that? Why have I lived so long with such a silly formula? The needed change was obvious.

The basic way of calculating fairness (C) is this: For any trial of the tourney, you calculate the idea payout. Sort the players in descending order of skill. In a perfect meritocracy, the available payouts would be arrayed in the same descending order. Multiply the skills by the payouts.

Then do the same, but for the actual payouts rather than the ideal ones.

Now, for some reason that eludes me, at that point I decided that the fairness (C) statistic should be based on the difference between the aggregate ideal payout and the aggregate actual payout. That, in essence, is the current statistic.

But what I wanted wasn’t the difference. It was the ratio. I don’t really want to know how many dollars (or points, or whatever) went astray. What I want to know is proportion of the ideal payout that is represented by the actual payout. This could easily be expressed as a percentage, with 100% representing perfect fairness. And it would turn the statistic right-side-up again, so that bigger numbers would be better.

Full of trepidation, I opened the source code for my simulator. I didn’t write this code – I paid someone who’s a much better coder than I am to do it. Could I find the place where the silly formula lived? Could I revise it without making a bunch of other things in the program crash?

There it was! All I needed to do was to change a single line of code. I did. Apparently it works!

I consider the new measure tentative – I want to rerun a whole lot of my old analyses with the new measure to make sure that it’s behaving properly. But soon, I hope, I’ll have a much more sensible fairness (C) measure to use.