Hvad er ESR?
ESR er esport.dk's vurdering af en spillers styrke i Counter-Strike. Det er et tal: et højere tal betyder en højere estimeret spillestyrke. ESR skal hjælpe os med at placere hold i divisioner med så jævnbyrdige modstandere som muligt. Det er et vurderingsgrundlag, og ingen rating kan garantere helt lige kampe.
Modellen er foreløbig. Den aktuelle version hedder esr-cs-v1.2. Dens vægte og usikkerhed er praktiske valg, som endnu ikke er statistisk valideret. ESR er ikke en procent, et FaceIT-level eller en garanti for en bestemt division.
De tre datakilder
- FaceIT Elo, hvis vi kan finde spillerens CS2-profil via det tilknyttede SteamID. Antallet af FaceIT CS2-kampe bruges til at vurdere sikkerheden omkring Elo-tallet.
- Steam-timer i Counter-Strike, når spiloplysningerne er tilgængelige. Timer er et mindre støttesignal, fordi mange timer ikke nødvendigvis betyder høj spillestyrke.
- Egne kampe på esport.dk, hvor vi har verificerede data fra demofiler. Kampresultat, modstandernes vurderede styrke og spillerens individuelle bidrag påvirker ESR.
Indtastet CS2-rank og resultater fra andre arrangører indgår ikke i denne version. Vi bruger heller ikke alle de oplysninger, der kan udtrækkes fra en demo.
1. Grundværdien: FaceIT eller 1.000
Har spilleren en tilgængelig FaceIT Elo, er den udgangspunktet. En spiller uden FaceIT får 1.000 som grundværdi i ESR-beregningen. Det opretter ingen FaceIT-profil og vises ikke som en faktisk hentet FaceIT Elo. En ny FaceIT-konto kan også starte omkring 1.000; det tal er derfor ikke i sig selv bevis for spillerens niveau.
En midlertidig API-fejl nulstiller ikke en tidligere hentet værdi. Vi bevarer senest kendte data og viser kildestatus og dato. Bekræfter FaceIT, at profilen ikke findes, bruges grundværdien 1.000. En ukendt værdi og en bekræftet manglende profil er forskellige situationer.
2. Steam-timer: et begrænset tillæg
Steam-tillægget beregnes som min(75; 20 × log2(1 + timer / 500)). Tillægget stiger langsomt og kan højst give 75 point. Det gør det vanskeligt at opnå en høj ESR alene ved at have spillet længe.
| Steam-timer | Tillæg |
|---|---|
| 0 | 0 |
| 500 | 20 |
| 1.000 | ca. 31,7 |
| 2.000 | ca. 46,4 |
| 4.000 | ca. 63,4 |
| 10.000 | 75 |
Eksempel: FaceIT Elo 1.700 og 2.000 Steam-timer giver cirka 1.746,4 før egne demokampe. En spiller uden FaceIT med samme timer starter omkring 1.046,4. En lukket Steam-profil eller et mislykket opslag er ukendt, ikke nul spillede timer. Findes en tidligere verificeret værdi for samme Steam-konto, bevares den.
3. Demokampe: resultat og modstandernes styrke
Hver verificeret map behandles én gang. Vi sammenligner gennemsnittet for de identificerede deltagere på de to hold. Den forventede vinderchance er E = 1 / (1 + 10^((modstanderens ESR − eget holds ESR) / 400)). Lige stærke hold har hver en forventning på 0,5. En sejr mod et stærkere hold giver derfor mere end en sejr mod et svagere hold.
Resultatet S er 1 ved sejr, 0 ved nederlag og 0,5 ved uafgjort. Kampens grundændring er K × (S − E), hvor K = (24 + 16 / (1 + tidligere maps / 10)) × aldersvægt. K starter på 40 for en helt ny map med fuld vægt og falder gradvist mod 24, efterhånden som spilleren får flere egne maps.
Som regneeksempel giver en sejr i spillerens første map mod et lige stærkt hold 20 point før det individuelle bidrag, når aldersvægten er 1. Et tilsvarende nederlag giver minus 20.
Det individuelle bidrag fra demoen
Vi sammenligner spillerens præstation med gennemsnittet på eget hold i den samme map. Indekset består af 60 procent relativ skade pr. runde (ADR), 25 procent relative kills pr. runde og 15 procent relative assists pr. runde. For hver del bruges spillerens værdi divideret med holdets gennemsnit, minus 1. Hvis holdets gennemsnit er nul, bidrager delen med nul.
Holdets gennemsnitlige indeks trækkes fra spillerens indeks. Forskellen ganges med 10 og begrænses til mellem minus 5 og plus 5 point pr. map, derefter ganges med aldersvægten. Dette tillæg lægges til resultatændringen. Kampresultatet vejer derfor væsentligt mere end denne individuelle justering.
Kills, assists, skade og antal runder indgår direkte. KAST, trades, clutches, utility og andre hændelser indgår ikke i ESR i denne version, selv om vi kan gemme demodata til senere forbedringer. Deaths indgår ikke som en selvstændig straf.
Alder, historik og genberegning
En maps aldersvægt er 0,5^(alder i dage / 180). Efter 180 dage har den cirka halv vægt, efter 360 dage en fjerdedel. Ældre resultater slettes ikke. Tiden kommer aktuelt fra demoens filnavn; kildens tidszone er ikke kendt. Beregningen bruger samme dags referencepunkt, så gentagelser samme dag er stabile.
ESR genberegnes fra det aktuelle kildegrundlag og alle gemte, identificerede Counter-Strike-maps i deterministisk rækkefølge. Et nyt FaceIT-tal kan derfor ændre vurderingen, uden at gamle kampe tæller dobbelt. ESR følger spilleren mellem turneringer og sæsoner og nulstilles ikke ved sæsonstart. Vi gemmer også ratinghistorik og beregningsgrundlag. Tallet gemmes med to decimaler og vises normalt afrundet til et helt tal.
FaceIT-kampe og usikkerhed
FaceITs samlede antal CS2-kampe påvirker usikkerheden, ikke ratingen som et ekstra pointtillæg. En Elo efter få kampe er et mere usikkert signal end en Elo efter mange kampe. Vi lægger ikke CS:GO-kampe oven i CS2-kampantallet.
Med kendt FaceIT Elo og n kendte CS2-kampe starter usikkerheden på 400 − 200 × n / (n + 50). Det giver 400 ved nul kampe, 300 ved 50 kampe og cirka 218 ved 500 kampe. Ukendt kampantal med FaceIT giver 300; uden FaceIT giver 400. En fejl i statistikopslaget betyder ukendt, aldrig automatisk nul kampe.
Egne demomaps reducerer usikkerheden ved at dividere med sqrt(1 + effektive maps / 8). Effektive maps er summen af aldersvægtene. Er FaceIT-kildedatoen over 90 dage gammel, lægges 75 til. Usikkerheden er mindst 80. Et vist ±-tal er en foreløbig modelindikator, ikke et dokumenteret statistisk konfidensinterval. Usikkerheden trækkes ikke fra ESR.
Holdets ESR og divisionsfordeling
Holdets ESR er det almindelige gennemsnit af alle spillere i den tilmeldte sæsontrup. Vi vælger ikke kun de fem højeste. Dermed kan trupper med fem eller syv spillere sammenlignes efter samme regel.
Eksempel: ESR 1.000, 1.200, 1.400, 1.600 og 1.800 giver et holdgennemsnit på 1.400. Tilføjes to spillere med 1.200 og 1.600, er gennemsnittet stadig 1.400. Får truppen svagere eller stærkere spillere, påvirker det gennemsnittet. Gennemsnittet beskriver den tilmeldte trup; den konkrete kampopstilling kan være stærkere eller svagere.
Mangler en trups spiller en beregnet ESR, vises holdet som afventende frem for et misvisende gennemsnit af en del af truppen. En spiller uden FaceIT kan stadig have en ESR gennem grundværdien, Steam-timer og egne kampe. Divisionsfordeling bør også vurderes sammen med datadækning og usikkerhed, især for nye hold.
Hvornår opdateres oplysningerne?
Ved sæsontilmelding hentes FaceIT Elo, tilgængeligt CS2-kampantal og Steam-spilletid for de tilmeldte spillere. Nye demofiler overføres indtil videre manuelt. En administrator starter behandlingen med UPDATE DEMO. Kampene tilføjes statistikken, og ESR genberegnes. Demoerne slettes først efter verificeret lagring og privat backup af de udtrukne oplysninger. En fejl bevarer filerne til gennemgang. Automatisk demooverførsel og automatisk behandling er endnu ikke slået til.
Spillere kobles gennem verificeret SteamID. Ukendte identiteter får ikke gættet en kontokobling eller tildelt kampresultater. Admin kan se ESR på spillerprofilen under IDer og i Turneringshold. Spilleren kan se sin ESR under IDer på egen profil. Datagrundlag, egne maps og kildestatus hjælper med at vurdere tallet.