Uppgradering av rankingsystemet

Rankingsystemet på Skidresultat.se är nog den största anledningen till sidans popularitet. Det är byggt för att sträva efter utopin att “rankingpoängen som delas ut ska motsvara den faktiska prestationen, oberoende av dina motståndare, banan, vädret eller om du är elit eller motionär”. Detta är ju såklart helt omöjligt att uppnå, men det är ett fint mål!

Rankingsystemet på Skidresultat.se har uppgraderats ungefär en gång per år sedan sidan lanserades, så nu är vi inne på femte generationen. Förra stora uppgraderingen lanserade jag i höstas och den stora förändringen då var hur referens-tiden räknades ut. Den som undrar hur det hela funkar kan läsa mer här.

Under vintern har jag utvärderat rankingsystemet och försökt att hitta svagheterna i det. Några tävlingar stod ut lite extra (dåligt) i statistiken:

  • Engelbrektsloppet 2014, där många i mitten av resultatlistan fick alldeles för bra poäng. Detta berodde på att täten gick för långsamt jämfört med vad de borde ha gjort (pga nysnö-tunga spår), läs gärna Erik Wickströms rapport från loppet.
  • Engelbrektsloppet 2013, även här nysnö och för bra poäng till många.
  • Årefjällsloppet 2014, här verkar flera, även eliten, ha presterat sämre än väntat. Min gissning är att det inte är ett fel på rankingsystemet utan att det är många som inte klarar av den långa distansen lika bra.

Dessutom har jag sett att en del skidåkare har fått väldigt bra rankingpoäng från rullskidtävlingar men inte alls presterat lika bra på snö, vilket get övriga startfältet en “onödig skjuts” uppåt i poäng.

De senaste dagarna har jag tittat på möjligheten att komma tillrätta med problemen och indroducerat två stora förändringar i rankingsystemet:

1: Separera sporter

Numera så ser vi skillnad på resultat som presterats på snö respektive rullskidor, men för att inte rankingsystemet ska balla ut helt när snöåkaren åker sin första rullskidtävling tjuvkikar systemet på åkarens snöresultat också, men räknar ner dem med en faktor på 0.9. På så sätt kan vi någorlunda säkert räkna ut rankingpoäng både för snö och rullskidspecialister.

Det finns alltså numera två parallella rankinglistor på skidresultat.se, en för Längdskidor och en för Rullskidor.

Jag funderade även på möjligheten att separera fristil/klassisk stil eller masstart/individuell start, men vi börjar lite försiktigt så här.

Den andra stora förändringen är:

2: Kompensera för orättvisa fören

Tidigare har poängen delats ut enligt en linjär skala: Din poäng blev enligt hur långt efter du är referensåkaren (i procent):

CodeCogsEqn (2) där tref och t är referenstiden och din tid (i sekunder).

Detta fungerade bra på de flesta tävlingar men när täten gick långsamt och resten normalsnabbt som i exemplen ovan får större delen av startfältet en för bra poäng.

Lösningen blir att införa en mer avancerad formel för att räkna ut rankingpoängen:

CodeCogsEqn (1)där tref, tleader, t och kcomp är referenstiden, ledarens tid, din tid samt kompensationskonstanten.

Varför jag valt just den här formeln är för att

  • Genom att variera kcomp kan vi pressa ner poäng-kurvan och ge mer rättvisande poäng.
  • Den förändrar inte vinnarnas utdelade poänger

Här är en bild på rankingpoängfördelningen på Engelbrektsloppet 2014, före och efter kompenseringen.

 

fore_efter

De grå prickarna är åkarnas tidigare rankingpoänger och motsvarar alltså ungefär vad de borde presterat på det här loppet också. Eftersom att nästan alla grå prickar ligger under före-kurvan är det tydligt att många har fått en för hög rankingpoäng här.

Genom att göra en typ av regressionsanalys tar vi fram det värde på kcomp som ger bäst passning mot åkarnas tidigare rankingpoänger och använder sedan det i ekvationen ovan.

 

I nästa inlägg ska jag berätta hur jag utvärderar hur bra rankingsystemet faktiskt fungerar!

Advertisements

Published by

Johan Nyman

Cross-country skier, orienteerer, mechanical engineer, web developer, media application developer etc...

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s