A better “best.”

Akhra Gannon
Building Slant.co
Published in
2 min readDec 17, 2015

Until today, Slant’s option rankings followed a simple formula: upvotes minus downvotes. Unfortunately, this put newer and lesser-known options at an unfair disadvantage: without as much time to gather recommendations, their upvote counts are naturally smaller than those of older and better-recognized options.

We’re now basing the ranking on what percentage of total votes are upvotes. In this model an option with 200 votes and 100 downvotes, previously 100 points, has a 67% rating. It will be ranked below an option with 60 votes and 15 downvotes, only 45 points but an 80% rating. In a nutshell, this removes inertia from the system: an option doesn’t get to sit at the top just because more people have seen it.

(The mathematically inclined may note that an option with 2 votes up and zero down is at 100% and beats something with 90 up and 1 down. We fix this by adding a constant base value to the raw up and down votes. Technically, a brand new option starts at 50% and rises or falls from there.)

But wait, there’s more!

The world moves fast, and what’s genuinely great today might be obsolete a year from now. A cellphone with hundreds of recommendations could be completely outclassed six months later, yet the new phone will have a stiff uphill climb. Putting an expiration date on the questions themselves is a sloppy solution. Instead, we’ve added age decay.

Every recommendation (up or down) has a “weight” which starts at 1.0 and decays on a curve, quickly at first then more slowly, and never to less than about 0.3 (which takes well over a year). Since all recommendations are on the same curve, this will never change rankings by itself; the real effect is that new votes carry more weight, so the rankings are always responsive to user input.

New options don’t have to fight an unfair battle to be seen, and outdated rankings can be corrected swiftly. Taken together, these changes mean that any time Slant’s information falls behind, each individual user has real power to fix it.

--

--