Alliansloppet!

Igår gick världens största rullskidtävling, Alliansloppet i Trollhättan!

Startlista Alliansloppet 2014Jag har börjat så smått att träna rullskidor igen sedan ryggskadan, men än så länge är det långt kvar till att jag skulle börja tävla på rullskidor själv. Istället var jag på plats för att jobba med TV-produktionen där jag skötte grafiken i år igen.

Årets tävling var en riktig rysare i damklassen, min klubbkompis i Ulricehamns IF Maria Nordström gick loss tidigt tillsammans med Britta Johansson Norgren och Laila Kveli och såg flera gånger ut att vara på gränsen till utmattning. Men hon bet ihop och spurtade ifrån Britta i målet. Otroligt imponerande!

Målgången:
http://www.tv4play.se/iframe/video/2940637?width=320&height=180&starttime=158

Intervju med segrarna Johan Kjölstad och Maria:
http://www.tv4play.se/iframe/video/2940677?width=320&height=180&starttime=0

 

10-Mila-sändningen

Nu har hela sändningen från 10-Mila lagts upp på Youtube!

Kul att arrangören lägger upp alltihop i efterhand, inte minst som portfolio för mig! 🙂

I början på det här klippet finns det mesta jag gjorde i grafikväg, resultatgrafiken nere till höger, info-grafik (skogsspeaker) uppe till höger samt i bakgrunden kan man se resultatgrafik och sociala medier på storbildsskärmen.

Hur kan vi utvärdera rankingsystemet?

I mitt förra inlägg berättade jag om uppdateringarna som jag införde i dagarna. Vi har nu ett komplext rankingsystem som tittar på en massa olika faktorer för att ranka löparna (förhoppningsvis) korrekt. Men hur vet vi att det faktiskt fungerar?

Ett sätt att mäta hur bra rankingsystemet fungerar är att genom att mäta poängfelet, dvs skillnaden mellan utdelad poäng och åkarens tidigare rankingpoäng för alla resultat i hela databasen. Ett bra rankingsystem borde ju kunna räkna ut en korrekt rankingpoäng, varvid poängfelet vid poängutdelningen borde bli lågt. Standard deviation diagram micro.svg

Den som har pluggat sannolikhetslära förstår säkert att det är standardavvikelsen jag pratar om. För den som inte pluggat sannolikhetslära kan jag berätta att genom att beräkna standardavvikelsen för en “hög med tal” kan vi se hur många av talen som ligger inom ett visst spann, och då kan vi också förutsäga hur framtida tal kommer att ligga. Om standardavvikelsen för vårt poängfel är beräknat till t ex 5 betyder det alltså att 68.2% (se bilden ovan) av poängutdelningarna kommer att ligga inom 5 poäng ifrån medeltalet.

Men vänta, stopp ett tag! Gäller det här alltid? För alla talserier och situationer??

Tja, det gäller för normalfördelade talserier, dvs de som följer klock-formen i figuren ovan. Väldigt många situationer i naturen följer faktiskt normalfördelningen riktigt bra. Vi kan titta på hur poängfelet fördelar sig i vårt rankingsystem:

Resultatfördelning över poängfel (“utdelad poäng” minus “tidigare rankingpoäng”)

Nämen, vad fint, en tydlig klockform tycker jag mig se! Jag räknar ut att medeltalet av poängfelet blir 1.61 vilket betyder att åkarna generellt får en lite bättre utdelad poäng än vad de hade tidigare. Det känns fullt rimligt och går bra ihop med att åkarna utvecklas och blir bättre med tiden. Standardavvikelsen räknar jag ut till 4.37, vilket alltså betyder att 68.2% av resultaten förutspåddes med ett fel på mindre än 4.37 poäng. Inte så illa egentligen!

Vi kan även titta på hur det såg ut tidigare, för att se om våra förbättringar har gjort någon skillnad:

points_diff_historic
Resultatfördelning över poängfel (“utdelad poäng” minus “tidigare rankingpoäng”)

och motsvarande statistikegenskaper var:

  • Våren 2013: Std.avv: 5.35, medel: -1.36
  • Våren 2014: Std.avv: 4.74, medel: 1.58
  • Våren 2014 efter separering av längdskidor/rullskidor: Std.avv: 4.67, medel: 1.62 
  • Våren 2014 efter separering av längdskidor/rullskidor + föreskompensering: Std.avv: 4.37, medel: 1.61

Jodå, standardavvikelsen har stadigt minskat, så våra förbättringar verkar ha gett effekt! Jag blev lite förvånad över att kurvan från våren 2013 var så vänsterförskjuten, och det känns ju inte bra att ha ett negativt medelvärde för ett rankingsystem. Med facit i hand så var det nog ett klokt val att byta från den gamla rankingalgoritmen.

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!

10-Mila!

Hej bloggen!

Jag har precis kommit hem från Eksjö och en otroligt rolig helg i form av TV-produktion av 10-Mila!

Jag jobbade där redan förra året och hjälpte till med att sköta TV-grafiken, men i år hade jag totalansvaret för all grafik som vi skulle använda. Sjukt roligt och utmanande, och så är det ju något speciellt att skicka upp sina skapelser på storbildsskärmar inför tusentals tittare.. 🙂

Årets produktion var unik på flera sätt, dels för att det var en riktig marathonsändning (start kl 10:30, slut kl 9 dagen därpå, nästan ett dygn i sändning alltså) och dels för att vi i hade inte en, utan två storbildsskärmar på plats. Den ena körde vi traditionell TV-produktion på och den andra vigde vi helt till att visa resultat-listor, sociala medier och deltagarinformation.

10mila
De två storbildsskärmarna på arenan, med TV-sändningen till vänster och grafik-skärmen till höger

Jag har sedan i somras pillat med en grafik-klient för TV-produktion, och det var den vi använde nu för att lägga på resultatgrafik på bilderna. Jag provkörde den redan i förra helgen på Silva-league i Båstad, och nu var det det stora elddopet så att säga.

Den andra skärmen utvecklade jag en enkel separat resultatvisning till, som vi visade resultat från kontroller i banan och vid växlingar på. Tanken var att när TV-sändningen gick vidare i tävlingen skulle grafik-skärmen stanna kvar och bevaka tävlingen lite längre bak i tävlingen, eller sammanfatta läget. Den andra halvan av skärmen vägde vi åt sociala medier, och vi lade ut hundratals med Twitter-poster från deltagare och publik under tävlingen.

Det hela fungerade kanonbra, jag var lite nervös för resultatvisningen eftersom jag inte kört den i just den här konfigurationen live förut, men allting flöt på bra och konceptet med två skärmar kändes hur bra som helst.

Ser redan fram emot nästa års tävling! Men nu ska jag sova…

Snart vinter!

Det börjar dra ihop sig!

Läser på alla möjliga skidbloggar just nu om folk som åker till snön. Torsby, Orsa Grönklitt, Idre, Bruksvallarna verkar ha fina spår! Själv stannar jag på hemmaplan i höst, ryggen är lite osäker fortfarande så det är träning på hemmaplan som gäller.

Helgen spenderar jag & Amy med min familj i Skövde och idag har vi kört stavlöpningsintervaller i slalombacken. Vi brukar passa på att utnyttja slalombacken när vi är här, på slätten kring Linköping finns ju inte en höjdkurva..

I vinter är planen iallafall att jag ska kunna träna fullt ut och förhoppningsvis kunna tävla en del, över nyår ska det bli lite Tour de Idre och sedan finns det planer på Norrbärke Ski Marathon, Skid-orientering i Orsa, Västgötaloppet i Ulricehamn, Syaslingan på hemmaplan, Skinnarloppet och Vasaloppet. Vi får väl se hur det går! 🙂

Just ja, har precis aktiverat statistiksidan på Skidresultat.se, kan vara nåt att kika på?