# Improved / running Kinchranks

#### ronaldm

##### Member
I'm sure many of us agree that Kinchranks are a very good indicator of someone's capabilities, and measure all round ability better than, for instance, sum of ranks.
For those that don't know (much) about Kinchranks, please see the original post by Daniel: http://www.kinch2002.com/kinchranks/

However, I feel that Kinchranks are still missing an important element: current form.

With kinchranks, your PB is used for calculations. However, we see people that no longer compete in certain events, or have stopped practicing them, and no longer get results in competition that are close to their PB.

To tackle this issue, I propose a 'running' Kinchranks, which take all your results over the past 12 months into account.

How would this work:

1) Let n be the number of non-DNF averages (or single, depending on event) obtained in the last 12 months
2) Multiply the most recent result by n, the one-to-most recent by n-1, etc etc, the least recent one by 1
3) Add up all results from step 2, and divide by (n*(n-1))/2 (which is the sum of all numbers 1 up to and including n)
4) Use the result from step 3 for the calculation of the running Kinchrank (divide WR/CR/NR over the result from step 3, and multiply by 100)

A lucky PB will still help your kinchranks, but only for 12 months, and the effect will fade quickly as you get more results in (as the multiplier for the lucky PB will drop off).

#### KAINOS

##### Member
I actually thought of this kind of system back in mid-2016, with of course some differences. (I don't mean to say 'I was first'/'You're unoriginal' or something, I just felt like sharing my idea. Also I think there MUST be other people who thought of this before us but somehow never posted it or went unnoticed.) In my system, every records in any time counts, (opposed to your system's 12-month time span) and each record's weight declines exponentially, let's say x0.25 by a year. This way, competitors' rank only changes when they compete and add new results, which I think is an advantage of my idea. Also I've tried to figure out a decent algorithm for dealing with DNFs and extreme results (lolscrambles, getting a pop mid-solve and finishing 30ish seconds slower than you should be, etc)) but it wasn't that easy. Maybe we could work on this together

EDIT: Just realized 'competitors' rank only changes when they compete and add new results' part also applies to yours...Should've read it more carefully lol

Last edited:

#### mark49152

##### Super Moderator
Staff member
I have often wondered why the WCA site doesn't have a "since (year)" or "last N months" option on its results pages. Weighting Kinchranks is a nice idea, but we're still missing the basic ability to view only recent results.

#### Kit Clement

tbh we should really start caring more about recent records/rankings in general, it's starting to turn into a game of going to as many competitions as possible to drive up your chances of breaking a record that requires a decent amount of luck on your side.

#### ronaldm

##### Member
In my system, every records in any time counts, (opposed to your system's 12-month time span) and each record's weight declines exponentially, let's say x0.25 by a year. This way, competitors' rank only changes when they compete and add new results, which I think is an advantage of my idea.

I'm not sure I get you here. Do times start to count less as time passes, or when new results come in? If they weigh only .25 after a year, it seems to be the former, and new results have no influence on that.

I have often wondered why the WCA site doesn't have a "since (year)" or "last N months" option on its results pages. Weighting Kinchranks is a nice idea, but we're still missing the basic ability to view only recent results.
Good point, I feel the same. However, would you want to see the best result in the chosen timeframe? An average? If average, how do we deal with DNFs?

What if you don't compete every year?
The 12 month period is something we can plays with. Here in the UK we have 10-12 comps per year, and I'd imagine that wherever you live you will have at least one comp per year. If not, maybe you should look into organising one

tbh we should really start caring more about recent records/rankings in general, it's starting to turn into a game of going to as many competitions as possible to drive up your chances of breaking a record that requires a decent amount of luck on your side.
The two parts of your reply seem to contradict. Do or don't you think recent rankings are a good idea? (Unless I misead your reply)

#### kinch2002

Famous KinchRubik here. Many things on the mind, sorry if this post is a bit of a jumble.

I'm intending to submit a proposal to the Board for official recognition of a Current Rankings system early next year. I believe this becoming a necessity for 2 main reasons:
1. Records always require a bit of "luck", whether it's blatant skips, or just the fact that you're counting best of many attempts.
2. Some people near the top of the rankings are no longer good/active in that event so should we consider them to be "WR5" or whatever? Of course in the all-time rankings they should be, but they aren't right now.
I worked on a Current Rankings system back in 2015, but was never 100% happy with it so never released it. I now regret that a bit as it got put on the back shelf since then. I started looking at it again occasionally in the past few months, and given what I said above, it stays at the forefront of my mind now.

Some responses to Ronald:
• The general intent is good and in line with my work.
• The methodology is simple (great!). However some finer details are not accounted for yet.
• In all honesty, I think I'm further along that you. No offence, because obvious your work is independent to mine! I can't phrase this without sounding harsh oops. I do appreciate people building on my Kinchranks work
Here's some things to ponder:
1. DNFs should be included in some way because they reflect your ability. Especially in blind. I think I have a decent solution for this already by simply counting DNFs as a 0. I don't think this is too unfair.
2. The weighting by date is an essential part of any current ranking system in my opinion. Indeed your way is simple, but I don't think it is quite good enough, as people with very un-uniform competition date spreads will have a strange weighting distribution e.g. One competition yesterday, one 11 months ago. My solution was to give each result a weighting of "365 - daysago". This is a nice solution in my opinion.
3. People who don't compete much. This is the problem that made me not entirely happy with what I designed in 2015. If someone competes once and gets a great result, is that worth as much as someone who has 10 results that average to the same result as the first person? Not so sure - there's arguments both ways. I was thinking a threshold of a certain number of rounds, and if you have less than that, you get scaled down a bit. For example, 1 result is x 0.8, 2 results x 0.85, 3 results x 0.9, 4 results x 0.95, 5+ no scaling. This equates to Scaling = Min(1, 0.75 + (Results x 0.05)). I don't like how this relies on an "arbitrary" number though. Haven't found a way to avoid it yet. And should it be different per event - ideally yes - but at the cost of added complexity, maybe not?
I can produce rankings based on my current implementation described here fairly easily, and should post some soon.

In the meantime, I (and I'm sure Ronald) would appreciate community input on our posts and anything else you can think of.

#### KAINOS

##### Member
I'm not sure I get you here. Do times start to count less as time passes, or when new results come in? If they weigh only .25 after a year, it seems to be the former, and new results have no influence on that.
Well... blame my amazing English skill. I think showing an example would be better: Say a competitor got 20.00 average 2 years ago, 18.00 a year ago, and 15.00 today. Since 20 was done two years ago, the weight for it would be 0.25^2=0.0625. For 18 it would be 0.25^1=0.25, and for 15 it's 1 because time hasn't passed (0.25^0=1). We get (20*0.0625+18*0.25+15*1)/(0.0625+0.25+1)=15.095 as his/her weighted average, or EGA - Estimated Global Average(yup, this is how I named my system). Hope this clarifies everything.

EDIT: Ugh my grammar

Last edited:

#### mark49152

##### Super Moderator
Staff member
Good point, I feel the same. However, would you want to see the best result in the chosen timeframe? An average? If average, how do we deal with DNFs?
Regarding the WCA site, I'd have it just as it is now, so just raw results/rankings, but with the ability to set date ranges like I mentioned.

For Kinchranks, I like the idea of the weighting, and although I haven't given it much thought, I'd be inclined to simply scale the score which I think is what Daniel is suggesting. So calculate the Kinch score for each of the competitor's results, multiply each by some time-based scaling factor based on when the result was achieved, then take the best result to use in the ranking.

Using time seems to me fairer than ordering the results, since it's reasonable that if two competitors each only go to one comp, and get the same result 9 months apart, the more recent one deserves a higher "current" ranking.

Having said that, I think there should be a recent period like 6 months where no scaling is applied, otherwise it would unfairly penalize people who don't compete every weekend, since a small percentage difference in result is worth a lot. For example, with linear scaling over one year, it wouldn't be fair that a 10 second average achieved yesterday is worth more than a 9 second average achieved only 2 months ago. The latter is still "current" IMHO.

Maybe something like no scaling for 6 months, then linear tapering for the next 18 months. Results older than 2 years don't count.

Just my 2 pence.

#### JustinTimeCuber

##### Member
Maybe take into account all comps and weight them exponentially (give each one a weight of e^-kt where k is some constant that makes sense, it would probably be arbitrary but somewhere around 100ish reciprocal days idk).