Hvor viktig er toppoppgjøret i Toppserien?

Avaldsnes og Lillestrøm møtes for første gang i sesongen på søndag. Som ventet er dette et toppoppgjør, der utfallet av kampen har stor påvirkning på hvem som til slutt blir seriemester. Før kampen leder Avaldsnes med ett poeng, men har spilt en kamp mer. Det er med andre ord jevnt, men hvor viktig er denne kampen?

Det er slike spørsmål Toppseriemodellen-DAMELO er utmerket til å svare på. For er det ikke egentlig Lillestrøm som er i førersetet, all den tid de har en kamp mindre spilt og de har gode muligheter til å vinne? Den ekstra kampen til Avaldsnes var mot Røa, og dersom vi ser på Lillestrøm sine sjanser i tilsvarende kamp anser DAMELO at det er 67,8% sjanse for LSK-seier, 18% sjanse for uavgjort, og 14,2% sjanse for at Røa overrasker. I snitt forventes det at Lillestrøm tar 2,2 poeng i den kampen (3*0,678+1*0,18), noe som gjør at modellen anser LSK som favoritt til gullet på nåværende tidspunkt.

Før kampen

Medaljesannsynlighet før søndagens kamp.

Dette er forsåvidt logisk også, blir det uavgjort i begge toppkampene og lagene vinner resten av kampene sine så vil LSK bli seriemester for fjerde sesong på rad. Plusser man på at det er Avaldsnes som har hjemmebane i dette oppgjøret blir det enda tydeligere at det er de som er mest avhengig av å vinne, og i alle fall ikke tape dette oppgjøret. For å tallfeste hvor viktig denne kampen er kjørte jeg 1000 simuleringer av resten av sesongen for hver av de tre mulige kamputfallene. Det gir følgende mulige endringer i vinnersjanser:

Vinnersannsynlighet basert på mulige utfall

Endringer i sannsynlighet basert på mulige utfall i toppoppgjøret.

Blir det uavgjort er det altså ikke store endringer i sannsynlighetene. Klarer Avaldsnes å vinne så er det de som vil være gullfavoritt, selv om det fremdeles er jevnt. Blir det derimot borteseier vil det være et stort steg mot gullet for LSK, og de vil ha 3/4 sannsynlighet for å bli seriemester, mens Avaldsnes sitt håp nesten blir borte. Sagt på en annen måte; vinner Avaldsnes kampen har de samme sannsynlighet for å bli seriemester som det er at det blir krone på et myntkast, taper de er sannsynligheten den samme som å få krone tre ganger på rad. For Lillestrøm er det ikke fullt så alvorlig; med tap vil de fremdeles ha samme sannsynlighet for å vinne som det er å trille 5 eller 6 med en terning, mens seier gjør at de har samme sannsynlighet som at et tilfeldig trukket kort er hjerter, ruter eller spar.

Det er med andre ord mye som står på spill på søndag, og DAMELO holder Avaldsnes som en knapp favoritt. 9 runde

Posted in Fotball | Tagged , , | Leave a comment

Hva skjedde Strømsgodset? Oppsummering Eliteserien 2017 etter 10 runder.

Det er tid for å sjekke inn med AMELO-modellen og gjøre en ny oppsummering av Eliteserien, denne gang med fokus på et lag som virkelig underpresterte de siste fem rundene, Strømsgodset.

Sist gang vi konsulterte modellen var etter fem runder, og da lå Strømsgodset på 6. plass med 8 poeng. AMELO mente at de hadde relativt lett motstand i runde 6 til 10, og at de i snitt burde ta nye 7,4 poeng og beholde 6. plassen. Slik gikk det ikke. Kampene mot Kristiansund (B), Sarpsborg 08 (H), Odd (B), Stabæk (H) og Tromsø (B) resulterte i kun 2 poeng, noe som medfører at Strømsgodset nå ligger på kvalifiseringsplassen. Hvor sannsynlig var det at dette skulle skje? Figuren nedenfor viser sannsynlighetsfordelingen for antall poeng Godset kom til å ha, basert på analysen etter 5 runder, og det var 95% sjanse for at de kom til å ha mer enn 10 poeng!

170524 Godset

Hva så med andre lag? Rosenborg ser jo plutselig ut til å være menneskelige likevel, Lillestrøm og Viking gjør det jo fortsatt dårlig, og noen lag har vel gjort det bra? Selv om Rosenborg bare har tatt 2 poeng de siste tre kampene, så vant de begge de foregående, og har dermed 8 poeng de siste fem kampene. Fortsetter de slik ut året, blir det 40 nye poeng og de ender opp med 61 poeng totalt. Dårligere enn de siste to sesongene, men flere poeng enn sølvlaget hadde i noen av de sesongene (Brann hadde 54 poeng i fjor og Strømsgodset 57 i 2015). RBK har litt å rette på, men de underpresterte ikke voldsomt disse rundene. 170524 6 til 10

I tillegg til nevnte Strømsgodset, har Viking, Molde og Haugesund alle underprestert mer enn Rosenborg. Det er også verd å trekke frem Odd og Aalesund som positive eksempler. Begge har samlet 12 poeng de siste fem rundene, over 4 mer enn forventet, og med det meldt seg inn i kampen om medaljene.

Hva så med status etter 10 runder? Her er ELO-tabellen slik den er nå, der lagene som har hatt en endring på minst 15 poeng er markert i blått eller rødt, og de med minst 30 poengs forskjell er uthevet. Dess større endring, desto større er forskjellen på lagets styrke nå kontra før sesongstart. (Jeg har brukt 15 og 30 siden K-faktoren er satt til 30 i modellen).

170524 ELO nå

Igjen er det to lag som skiller seg ut, Stabæk og Viking. I Stabæk sitt tilfelle er ratingen nå den samme som den var etter 5. runde, mens Viking fortsetter å falle og har tapt nye 37 poeng siden sist. Er interessant å se at det både i topp og bunn på ratingtabellen er lag som har gjort det omtrent som forventet.

Basert på disse ratingene og poengfangsten til nå spår AMELO at dette blir snittpoengene når sesongen er over. 170524 Forventet poeng

Rosenborg spås fremdeles på topp, men det er nå noe jevnere enn før. Brann og Sarpsborg 08 har fått et lite forsprang på Odd, Aalesund og Stabæk i kampen om medaljene. I bunn er Viking, mens Lillestrøm og Kristiansund spås å kjempe om kvalifisering.

170524 Medalje170524 Nedrykk

Rosenborg har fremdeles større sannsynlighet på gull enn noe annet lag har på medalje, men kampen står nå mellom færre utfordrere. Det er også mindre spenn mellom hvilke plasseringer som er mulig, og Molde er nå eneste lag med minst 1% sjanse på hver av de 16 tabellposisjonene.170524 Sannsynlig plassering

Viking i bunn har nå altså over 50% sannsynlighet for direkte nedrykk, og må begynne poengfangsten snarest. Hvordan ser det så ut i de neste 5 rundene, da man skal møte de lagene man fremdeles ikke har spilt mot?

170524 Runde 11-16

Her er det endelig litt gode nyheter for Viking, de har nemlig de nest letteste motstanderne utenom Rosenborg. Strømsgodset (B), Kristiansund (H), Lillestrøm (B), Haugesund (H) og Molde (B) bør kunne gi en del poeng, og er en ypperlig mulighet til å melde seg på igjen siden de møter fire av de fem lagene nærmest på tabellen. En dårlig prestasjon vil dog føre til en enda styggere tabellsituasjon. I motsatt ende ser AMLEO at Brann får bryne seg, med Aalesund (H), Odd (B), Stabæk (H), Sarpsborg 08 (B) og Vålerenga (H) på menyen. Om fem kamper er vi halvveis, og slik tror AMELO det ser ut da:

170524 Spådom 15.jpg

Rosenborg spås å ta klart flest poeng og vil med det øke ledelsen. Brann har dog fordel av tre hjemmekamper, og kan med det holde seg i topp på tross av tøffest motstand. Ellers ser det ut til å bli få endringer på tabellen annet enn at Strømsgodset forventes å karre seg opp en plass på bekostning av Kristiansund. Til helgen går 11. runde av stabelen, og her er sannsynlige utfall ifølge AMELO:

170524 Runde 11

Posted in Fotball | Tagged , , , , , , , , , , , , , , , , | Leave a comment

Initial Evaluation of Eliteserien Prediction Models

There are a few prediction models available for the 2017 season of Eliteserien, and since five rounds have been played it is time to do an initial evaluation to see how these models are doing.

The models I’ll be comparing are our own ELO-model, Kroneball’s R.O.N.N.Y., as well as the betting odds of Betsson. Yes, betting odds are predictions, even though their main goal is to make money and not guess the correct outcome. To go from odds to probability, I take 1 and divide by the odds for each of the outcomes of a match to get an raw probability. This usually adds up to more than 1 (the house needs a cut), so to get the model probability I take the raw probability of each outcome and divide by the sum of the probabilities for the match. (For instance, in the match between Tromsø and Stabæk the odds were 1.88, 3.6 and 4.1. This translates into raw probabilities of 0.532, 0.278 and 0.244 which totals 1.054, which then becomes the model probability of 0.505 for a Tromsø win, 0.264 for draw and 0.231 for Stabæk. For comparison, the ELO-model had 0.42, 0.267 and 0.313, while R.O.N.N.Y. predicted 0.4254, 0.3704 and 0.2043.)

Before I dive into the evaluation, I’ll compare and contrast the models a bit and then do a summary of the season. As described, the betting odds aren’t mainly trying to predict the match outcomes, but in order to make money they have to predict fairly accurately. The Analytic Minds ELO-model (AMELO) uses past data about wins, draws and losses to predict the outcomes. As each game is played, the model updates with the new information and is thus dynamic to the changes that have occurred so far in the season. R.O.N.N.Y. uses more advanced statistics (and frankly, better data) to make its prediction using expected goals (xG). However, it has used last season’s data to make the predictions so far, which means it has not been able to respond to Stabæk’s good season opener for instance. In general, that model generally also predict a higher chance of draws than the other two models as well as what history would suggest. (In the 40 matches so far, the average draw probability of R.O.N.N.Y. is 31.0% compared to Betsson’s 25.2%, and AMELO’s 24.8%. Over the past three seasons, 23.8% of the games have ended in draws while 46.7% are won by the home team and 29.6% by the away team.)

So far this season, 26 games have been won by the home team, 9 by the away team, and only 5 games have ended in a draw (65%, 12.5% and 22.5%). That’s a major shift towards the home team, particularly from draws, and is likely to influence this evaluation. I suppose we can expect a reversion to the mean over the season as a whole, so things are likely to balance out a bit later.

Now for the evaluation itself. I’ll be using two approaches; Ranked Probability Score (RPS – as described in Solving the problem of inadequate scoring rules for assessing probabilistic football forecast models by Constantinou and Fenton.) as well as the area under the curve (AUC) of the receiver operating characteristic (ROC) curve. RPS basically measures how close your predictions were, and punishes the model more for predicting a home win than a draw if the game was won by the away team. Say one model predicted a 50% chance of home win, 20% of draw and 30% chance the away team would win, while a second had 20%, 50% and 30%. Since the away team won, the second model will score better because it was closer to being a drawn match than a win for the home team. (The first model would have an RPS of 0.37, while the second would have 0.265. The closer to 0 the better the model). The ROC basically ranks the predictions and measures how well it identifies the correct outcome. This creates a curve, and the larger the area under that curve, the better the model is at distinguishing between high and low probability events. Basically, a 70% probability event should happen more often than a 50%, which in turn should happen more than 20% probability event.

First up is the RPS evaluation. In the table below I have listed the average RPS per round, as well as the average of all matches so far. In addition, I’ve listed the game outcomes of each round.

170427 RPS evaluation after 5 rounds

As can be seen, Betsson “won” the first two rounds, R.O.N.N.Y. the third one, while AMELO has edged out the last two rounds and has the lowest average so far, just a tick ahead of Betsson. The difference between AMELO and R.O.N.N.Y. can mostly be explained by the combination of a higher draw probability from R.O.N.N.Y. combined with remarkably few upsets. (Removing the drawn games, AMELO’s favorite has won 28 of the 35 games (80%).) This gives a double hit in the evaluation because less probability is allocated to the favorite when the draw rate is higher, and since there are few upsets the increased draw probability doesn’t help cushion the score. This is particularly evident in round 3, which contained 3 upsets according to AMELO (4 according to Betsson and R.O.N.N.Y.) as well as a draw. That makes for high RPS all around, but lower for the model that has higher chances of draws. AMELO has also benefited from being dynamic and picking up Stabæk’s and Sarpsborg 08’s good form early in the season, which R.O.N.N.Y. so far hasn’t. It will be interesting to revisit this again after round 10 and see how it stacks up then.

Now for the ROC. This is another place where we can see that there have been few upsets. The quicker the graph rises, the better it has hit with the predictions. Since AMELO has a more or less fixed draw rate, these are identified by the long diagonal lines.

170427 ROC after 5 rounds

AMELO (AUC of 0.813) and Betsson (0.786) follow each other closely here as well, while R.O.N.N.Y (0.658) lags a bit behind.  This is again due to the relatively high draw prediction rate, which makes it level off sooner than the others. For comparison, the highest draw probability of AMELO is 26.7%. It has made 59 predictions with a higher value, of which 32 have occurred while 17 have failed. Since there has been 40 correct outcomes and 80 misses, that means AMELO has made 80% of the correct predictions and only 21.25% of the misses by the time it starts looking at the draws. Again, as the outcomes (probably) revert to the mean, these unusually high AUCs will decrease and R.O.N.N.Y. will be closer to the rest. It’s also worth noting that all three models missed with their highest assigned probability of the season, which was Rosenborg winning at home against Aalesund. (AMELO assigned 65.5%, Betsson 79.8%, while R.O.N.N.Y had 81.4%)

In conclusion, the season opener has been good for AMELO and it’s ability to relatively quickly react and adapt to how the season progress. However, the season opener has featured few draws and few upsets, which is probably not going to continue. It will be interesting to see how R.O.N.N.Y. does in the next few rounds once this season is incorporated, both compared to the other models as well as against itself in the first rounds.

Brann and Viking kick off round 6 on Saturday, and here are AMELO’s projection for that round:170426 6 runde

Posted in Fotball, Models | Leave a comment

Eliteserien 2017: Oppsummering etter 5 runder

Fem runder er spilt i årets Eliteserie, og det er på tide å ta en kikk på hvordan ting har forandret seg siden før sesongstart. Dette gjelder endringer i ELO, hvordan utviklingen har vært i forhold til tabellposisjon, samt hvor godt modellen traff i sine spådommer om de første fem rundene. Til slutt blir det også en liten analyse av de neste fem rundene.

Noen lag har hatt en god sesongstart mens andre har hatt det verre. Dette er som forventet, men ved hjelp av ELO-ratingen er det mulig å tallfeste hvem som har gjort det bedre enn man skulle tro og motsatt. I figuren nedenfor er ELO-tabellen etter 5 runder, der lagene som har hatt en endring på minst 15 poeng er markert i blått eller rødt, og de med minst 30 poengs forskjell er uthevet. Dess større endring, desto større er forskjellen på lagets styrke nå kontra før sesongstart. (Jeg har brukt 15 og 30 siden K-faktoren er satt til 30 i modellen)

170426 ELO-endring

ELO-rating etter 5 runder. Endring siden sesongstart i parentes.

Stabæk er det laget som definitivt har prestert bedre enn forventet, med en økning på hele 49 poeng. I tillegg har Sarpsborg 08 og Rosenborg gjort det meget godt, mens også Molde og Brann har gjort det bedre enn forventet. At disse fem lagene også topper tabellen er jo da naturlig. Så kommer fem lag som har gjort det omtrent som forventet, nemlig Strømsgodset, Aalesund, FK Haugesund, Tromsø og Sandefjord. Disse er fordelt litt utover tabellen, men har stor variasjon i rating, fra det femte best rangerte laget til det nest dårligste. Så kommer lagene som har underprestert: Odd, Vålerenga, Sogndal og Kristiansund. Ikke bare har Odd og Vålerenga plukket få poeng, men de hadde også to av de lettere kampoppsettene i starten. At de ikke har klart å utnytte det bedre gjør at de blir hardere straffet i modellen enn f.eks. Aalesund og Sandefjord. Verst nedgang har Viking og Lillestrøm hatt, og begge står med kun 3 poeng. Viking har dog hatt tøffere motstand, og har derfor litt bedre rating og bedre forutsetninger for resten av sesongen.

Med fasit etter fem runder og nye ratinger å bruke, gjør modellen nå følgende beregninger i forventet poeng ved sesongslutt.170426 Forventet poeng etter 5 runder

Rosenborg er fremdeles klar favoritt, all den tid de har mye bedre rating. Deretter spår modellen at det blir uhyre jevnt mellom Sarpsborg 08, Brann, Molde og Stabæk. I bunn ser Kristiansund ut til å få det tøft, mens først og fremst Lillestrøm, Sogndal og Sandefjord kjemper om å overleve. Den tabellen fører til følgende sannsynligheter for medaljer og nedrykk/kvalifisering.

170426 Sannsynlighet medalje etter 5 runder170426 Sannsynlighet nedrykk etter 5 runder

Selv med en skuffende uavgjort i sist runde har Rosenborg fremdeles mer enn 2/3 sannsynlighet til å ta gullet. Ellers er det fremdeles mange muligheter, Aalesund har f.eks. 12% sannsynlighet for å ta medalje, men også 7% sannsynlighet for å rykke ned eller spille kvalifisering. Oversikten på hvert lags sannsynlige sluttplassering er som følger:170426 Sannsynlig tabellposisjon etter 5 runder

Hva så med modellens spådommer før sesongstarten? Har det stemt sånn noenlunde, eller er det store forskjeller? Modellen tippet rett i at Rosenborg kom til å lede med Sarpsborg 08 på andreplass. De har tatt flere poeng en antatt, men tipset har holdt bra. Stabæk er den naturlig nok store overraskelsen og har nesten tatt dobbelt så mange poeng som antatt i starten. Sett ut ifra snittmotstanden hadde Stabæk og Lillestrøm like vanskelig kampoppsett, men Stabæk har rasket sammen 12 poeng mens LSK bare har 3. Ellers er det samsvar mellom rating-endringene og forskjellen på antatte og faktiske poeng, og modellen spådde ganske riktig i at Viking hadde en tøff sesongstart mens Sarpsborg 08 fikk det betydelig lettere.

170426 Spådom 1 til 5

 

Hva så med de neste fem rundene? Da er det jo nye motstandere for alle lagene, og det er verdt å ta en kikk på hvordan kampoppsettet rangeres.

170426 Motstand runde 6 til 10

Stabæk har gjort det bra til nå, men får en tøff test med Haugesund, Vålerenga, Rosenborg, Strømsgodset og Viking i de neste fem kampene. FKH på sin side møter Stabæk, Sogndal, Sandefjord, Odd og Kristiansand, noe som bør være en lettere oppgave. Det gjør at modellen tror på følgende tabell etter 10 runder:

170426 Spådom 6 til 10

Ikke de aller største forskjellene der altså, de gode lagene forventes å ta godt med poeng de neste rundene også. Rosenborg forventes å øke ledelsen, Brann og Molde knapper inn ett poeng på Stabøk, mens Aalesund bruker sin relativt lettere motstand til å smette forbi Tromsø, Vålerenga og Sandefjord. Runde 6 går av stabelen til helgen, og modellen har følgende sannsynlige utfall.

170426 6 runde

Posted in Fotball | Tagged , , , , , , , , , , , , , , , , | 2 Comments

Toppseriemodellen 2017

Toppserien begynner i morgen, og denne sesongen introduseres Toppseriemodellen. Den er basert på samme ELO-prinsippet som har blitt brukt på Eliteserien de siste sesongene, men som i årets utgave av Eliteseriemodellen er det enkelte forandringer. Kort fortalt er det mindre hjemmebanefordel i Toppserien, og det er færre uavgjorte kamper. Årets modell tar utgangspunkt i følgende ELO-tabell:

170416 ELO før sesongstart

Som forventet er LSK Kvinner og Avaldsnes et godt stykke foran de andre, med nyopprykkede Grand Bodø nederst. Dette gjør at med 10 000 simuleringer, så forventes LSK Kvinner i snitt å ta 46,5 poeng, mot Avaldsnes sine 43,8. Altså ca. en seier i forskjell. 170416 Forventet poeng før sesongstart

Dette gjør at modellen tror at slaget om gullet som ventet står mellom LSK Kvinner og Avaldsnes, der gullet går til Lillestrøm ca halvparten av tiden, mens det kommer til Karmøy en tredjedel av tiden. De øvrige lagene stikker av med gullet den siste femtedelen, med Stabæk som den største utfordreren. I bunn forventes det at Klepp, Medkila og Grand Bodø kjemper om å unngå nedrykk, mens de to antatte topplagene virker rimelig trygge.170416 Medalje før sesongstart170416 Nedrykk før sesongstart

Følg med videre her og på Twitter for oppdateringer og forventede utfall per runde. I morgen har både Avaldsnes og LSK Kvinner hjemmebane, og begge er store favoritter.

170416 1 runde

Posted in Fotball, Models | Tagged , , | 1 Comment

Analyse av sesongstart i Eliteserien 2017

I ettermiddag møtes Kristiansund og Molde til lokaloppgjør i den første kampen i Eliteserien 2017. Et lokaloppgjør der hjemmelaget er nyopprykket og bortelaget tippet til å kjempe i toppen, med andre ord en vanskelig start for Kristiansund. Sandefjord, det andre nyopprykkete laget, spiller borte mot Lillestrøm; en relativt sett lettere motstand, men siden det er på bortebane kan også det bli en tøff oppgave.

En av tingene Eliteseriemodellen kan brukes til er å sammenligne hvor vanskelig seriestart de forskjellige lagene har. I denne analysen tar jeg for meg de fem første kampene og ser hvem som i snitt har tøffest motstand med tanke på motstanders ELO. Deretter simuleres kun de første fem kampene av sesongen og jeg ser på hva vi kan forvente av tabellen etter de kampene.

Først til motstanders ELO. De fleste vil nok være enig i at det er lettere å møte Kristiansund, Sandefjord, Stabæk, Tromsø, og Sogndal enn det er å møte Rosenborg, Odd, Strømsgodset, Molde, og Brann. Siden Eliteseriemodellen gir alle lag en rating, kan vi se på hvem som har motstandere med høyest og lavest snitt, for å si noe om hvor vanskelig eller lett seriestarten er. I 2017 er det Viking som har trukket det lengste strået med en snittmotstand på 2028, mens Sarpsborg 08 har en god mulighet til å få en “flying start” med motstandersnitt på 1976.

170401 Motstander ELO første 5

Viking skal møte Vålerenga, Tromsø, Sarpsborg 08, Rosenborg, og Odd. Dette høres unektelig vanskeligere ut enn Sogndal, Aalesund, Viking, Stabæk, og Kristiansund som er Sarpsborg 08s motstandere.

Fire av de fem øverste lagene skal møte Rosenborg i løpet av de første fem rundene (Haugesund er unntaket), noe som naturlig nok drar opp snittet. Odd er her “the odd man out” siden de får mye lettere motstand i runde 2 til 5, og dermed har den femte letteste sesongstarten på tross av at de åpner borte mot Rosenborg.

Videre kan vi se på hva som er forventet poengscore etter de første fem rundene. Fordelen her er at en da også tar hensyn til om man spiller hjemme eller borte. Viking har tre hjemmekamper, mens Aalesund og FK Haugesund bare har to. Det gjør at vi får følgende forventede tabell etter fem kamper:

Lag ELO Snittmotstand Poeng første 5 Forventet poeng
Rosenborg 2118,3 1998,6 9,5 56,4
Sarpsborg 08 2012,3 1976,8 8,0 43,2
Vålerenga 2012,3 1980,4 7,9 42,9
Brann 2030,9 1979,8 7,8 45,3
Strømsgodset 2020,1 1988,1 7,7 43,9
Odd 2034,3 1996,0 7,4 45,5
Molde 2015,7 2009,2 6,9 43,2
Lillestrøm 1984,7 1999,2 6,9 39,4
Aalesund 2025,3 2022,0 6,8 44,5
Viking 2002,1 2028,1 6,5 41,4
Stabæk 1974,4 1999,1 6,5 38,2
Tromsø 1963,3 2000,4 6,4 36,4
Haugesund 2008,7 2012,7 6,4 42,1
Sogndal 1960,1 1996,5 5,9 36,0
Kristiansund 1922,1 2001,7 4,8 31,5
Sandefjord Fotball 1915,4 2011,5 4,8 30,6

Både Sarpsborg 08 og Vålerenga er relativt høyt oppe her i forhold til hvordan de ligger an når man ser sesongen som helhet, så de bør utnytte sesongstarten. En måte å si det på er at de er forventet å ta 18,6% av poengene sine i de første 16,7% av sesongen. FK Haugesund på sin side har en tøff oppgave og det er kun forventet at de tar 15,1% av alle poengene sine i samme perioden. Forøvrig ser FKHs sesong slik ut, og vi kan tydelig se at motstanden blir relativt lettere i runde 6 til 10.

170401 FKH sesong

Odd på sin side har en litt merkelig sesongstart. Kjempevanskelig bortekamp i første runde, så relativt lettere motstand de neste fire kampene, men bare to av de er hjemmekamper. Det gjør at forventes å ta 7,4 poeng i snitt, men har en ganske vid kurve med mange forskjellige mulige poengsummer.170401 Odd 1 til 5

Det skal med andre ord bli spennende å følge med allerede de første fem rundene, og det skal bli interessant å se hvor godt modellens tips treffer. Først ut er altså Kristiansund mot Molde, og sannsynlighetene i den kampen og resten av første runde er som følger:

170401 1 Runde

Posted in Fotball | Tagged , , , , , , , , , , , , , , , , | 1 Comment

Eliteseriemodellen 2017

I helgen starter Eliteserien igjen, og også i år har jeg laget en modell for å prøve å beregne sannsynlige utfall av serien. Jeg har tatt utgangspunkt i samme metodikken som ble brukt i 2015 og 2016, men har gjort et par viktige endringer som jeg mener gjør modellen bedre. Kortversjonen er at sesongpausen behandles annerledes, modellen reagerer raskere på formendring, samt at den ikke beregner fremtidige resultat kun på nåværende form, men også på simulert resultat i kampene frem til det punktet. (Langversjonen kan leses i bunn av artikkelen). I tillegg har jeg som vanlig justert sannsynligheten for uavgjort og hjemmebanefordelen ved å inkludere fjorårssesongen. De nye beregningene gjør at dette er ELO-tabellen før sesongstart:

170328 ELO før seriestart

ELO-rating før sesongstart

Rosenborg troner naturligvis suverent på topp, før det er ni lag som er forholdsvis jevne og over 2000 i rating. Deretter er det de fire nederste lagene som overlevde sist sesong, før de nyopprykkete klubbene kommer et godt stykke bak, hovedsakelig som følge av Starts elendige sesong i fjor. De hadde vært enda lavere ratet og med tilsvarende dårlige utsikter for sesongen dersom den tidligere modellen fremdeles var i bruk, men som jeg påpekte før sesongstart i fjor så fungerte det ekstra dårlig for de nyopprykkete lagene noe Branns sesong også beviste.

Basert på denne tabellen, de nye sannsynlighetene for uavgjort (generelt litt høyere), en noe redusert hjemmebanefordel, samt at hver simulerte kamp påvirker fremtidig simulerte kamper ble alle kampene i sesongen simulert 10 000 ganger. Det gir følgende snittpoeng i løpet av sesongen i følge modellen:

170328 Forventet poeng før seriestart

Denne er naturlig nok ganske lik ELO-tabellen, og vi ser at Rosenborg er klare favoritter til å vinne med omtrent 11 poeng til neste lag i snitt. Deretter er det uhyre jevnt og kun fire poeng skiller Odd på andre og Viking på tiende. Spredd ut over alle simuleringene så er sannsynlighetene for medalje og nedrykk som følger:

170328 Medalje før seriestart

170328 Nedryk før seriestart

Rosenborg tar altså gull i 46% av simuleringene, sølv i 19% og bronse i 11%. Men de rykker ned i 0,2% av tiden og må spille kvalifisering i 0,2% også.  Måten kampene simuleres på har stor innflytelse på disse sannsynlighetene, med den gamle metoden ville Rosenborg med ca. 60% sannsynlighet tatt gullet og mange ville hatt tilnærmet 0% sjanse til gull eller medaljer.

Overraskelsen her er at Aalesund er rangert som laget med fjerde størst sannsynlighet for å vinne og litt over 25% sannsynlighet for medalje, selv om de havnet på niendeplass i fjor. Grunnen til dette er at de hadde en mildt talt imponerende sesongavslutning der de vant 7 av de siste 8 kampene og tok 22 av 24 mulige poeng. Siden de lå på direkte nedrykk da seiersrekken begynte var det kun nok til å få niendeplass til slutt. Derimot var det en jevn sluttabell rundt de, og et byks fra 1928 i rating til 2038 var nok til å sende de opp på fjerdeplass rett bak Brann og Odd.

Modellen gir generelt sett et vidt spekter av utfall og mange mulige scenario, noe som viser seg i oversikten på hvilke sluttplassering hvert lag sannsynligvis får:

170328 Sannsynlig plassering før seriestart

Hvert lags sannsynlighet for å ende på de forskjellige plassene.

Haugesund varierer for eksempel mellom 3% for sisteplass, via 5% for gull, til 8% for det som er mest sannsynlig, nemlig 5. plass. Med andre ord; Rosenborg er store gullfavoritter, de nyopprykkede lagene må kjempe for å overleve, ellers er det veldig åpent.

 

Endringer i modellen:

De siste sesongene har lagene som har rykket ned hatt veldig lav rating. Siden de nyopprykkede lagene “arver” ratingen har dette hatt stor innvirkning på sjansene deres før sesongstart, men også påvirket sesongen som helhet. Fjorårssesongen til Brann er således en veldig god pekepinn på dette, og selv om det var overraskende med sølv hadde de nok større enn 0,1% sjanse. Brann har dog ikke vært unike i å gjøre det bedre enn laget de erstattet, og man begynner med noenlunde blanke ark hver sesong og alle lag er litt likere hverandre. På fagspråket er dette “regression to the mean”, eller at man over tid har en tendens til å nærme seg gjennomsnittet (et godt eksempel er en spiss som scorer jevnt og trutt, deretter har måltørke noen kamper før han scorer hat-trick og så scorer jevnt og trutt igjen.) Derfor blir alle lags rating justert i sesongpausen med 1/3 mot snittet på 2000. (Rosenborg avsluttet sesongen med 2177 i rating som blir justert ned til 2118, mens Sogndal går fra 1940 til 1960.)

I tillegg til dette spiller nå alle kamper like mye inn på endring i ratingen i stedet for at sesongstart har litt større påvirkning, og generelt sett er det justert slik at ratingen er mer sensitiv til formendringer. (For de matematisk anlagte betyr det at K-verdien er justert opp og jevn i hele sesongen.) Med disse to endringene for utregning av ELO-rating så ble ratingen beregnet på nytt basert på resultater fra og med 2009-sesongen. Dette har til dels stort utslag i topp og bunn, og gamle meritter har ikke like mye å si lengre. Til sammenligning er dette ELO-tabellen etter siste serierunde i fjor, med endring i rating i den nye modellen i parentes. (Kristiansund erstatter Bodø/Glimt og Sandefjord erstatter Start):170328 ELO etter forrige sesong gammelt

Dette er endringer som påvirker utregningen av rating, men i tillegg er det gjort en endring på hvordan sesongen simuleres. Tidligere beregnet modellen det slik at alle lag kom til å ha samme rating som på nåværende tidspunkt når kampene spilles. Det vil si at modellen beregnet at Brann fremdeles vil ha 2031 i rating og Tromsø 1963 når de møtes i siste serierunde. Det gjorde at sannsynligheten for formlag og overraskende sesonger ble undervurdert (tenk Brann og Start i fjor, Stabæk i 2015, Tromsø i 2013 osv.) Derfor er det gjort en endring i simuleringen som gjør at ratingen endres etter hver simulerte kamp som påvirker sannsynligheten for påfølgende kamper, og her er K-verdien satt til halvparten av det den er i en faktisk kamp. For eksempel: Kristiansund har 1922 i rating og Molde har 2016. Dersom Kristiansund vinner kampen vil ratingen endres til henholdsvis 1941 og 1997, og dette vil da påvirke sannsynlige resultater i runde 2. Før ville modellen spilt runde 2 som om Kristiansund og Molde fremdeles hadde 1922 og 2016 i rating, mens den nå bruker 1932 og 2006 som rating for runde to i de simuleringene Kristiansund vinner kampen, deretter vil runde to påvirke runde tre og så videre. Dette øker sannsynligheten for at lag av og til får formoppgang eller formnedgang, og dermed gir større varians i sannsynlige utfall, samt øker sannsynligheten for at sjeldne ting skjer. Som f.eks. at Rosenborg kollapser fullstendig og rykker ned, eller har en kanonsesong der de tar 84 poeng (som skjer i 3 av 10 000 simuleringer). Denne type beregning endrer ikke antall poeng hvert lag tar i snitt (største forskjell var 0,3 poeng), men den påvirker sluttplasseringene. Dette går spesielt ut over Rosenborgs sannsynlighet til å ta gull, siden det er ett fett om man vinner på målforskjell eller med 15 poeng. Så om Rosenborg har en bedre enn forventet sesong vil de likevel vinne, men om de har en dårligere enn forventet og/eller et annet lag har mye bedre enn forventet så vil de ikke vinne. Og de har uansett større sjanse for å ta gull enn noe annet lag har for å ta medalje.

Posted in Fotball, Models | Tagged , , , , , , , , , , , , , , , , | 5 Comments

Excel Tips 5: Pivottabell med ukesoppsummering

Pivottabeller er en måte å raskt oppsummere dataene sine på i Excel. Her finnes mange muligheter for analyse, men det kan virke utfordrende å ta i bruk dersom man ikke kjenner til det fra før. Så i ukens tips skal vi se på hvordan vi kan bruke en pivottabell til å gi en ukesoppsummering av treningsloggen vi har brukt i de to siste tipsene.

Etter hvert som vi fyller inn tall i tabellen med treningsloggen så får vi bedre og bedre oversikt på hva som er gjennomført. Da melder det seg fort et par spørsmål; først og fremst “hvor mye trente jeg denne uken?”, men også “hvor mye har jeg trent totalt i slutten på hver uke?”. Det siste spørsmålet kan vi svare på ved å lese av tallet i Totalt-kolonnen på lørdagene som ble markert ved hjelp av betinget formatering i forrige tips. Det første spørsmålet kan svares på ved å legge sammen antall kilometer mellom to lørdager, men dette tar tid og er ikke særlig oversiktlig. Og det er her pivottabeller kommer til sin rett.

loggtabell

Velg en celle i tabellen og velg enten Sett inn → Pivottabell, Tabellverktøy Utforming → Oppsummer med pivottabell, eller bruk en hurtigtast på verktøylinjen for hurtigtilgang dersom du har lagd det. Pass på at området du vil oppsummere har stiplet linje rundt seg og at det står riktig i feltet “Velg en tabell eller et område”. (En av mange gode grunner til å gi navn til tabellene sine). Klikk deretter OK for å sette inn en pivottabell i et nytt ark.

Nå vet Excel hvilke data du ønsker å oppsummere, og du gis blanke ark til å starte med. Og da er spørsmålet “hva nå?” Først litt om Pivottabellfeltet. Øverst er en oversikt over hvilke felt man har å velge mellom, og her kjenner vi igjen overskriftene fra tabellen vår. Nederst er det fire ruter: Filtre, kolonner, rader og verdier. Disse fire er veiledende områder; i filter kan vi legge inn felter vi ønsker å filtrere (noe vi ikke skal i dette tipset), i kolonner og rader kan vi legge inn felt vi ønsker å oppsummere på i enten kolonner eller rader, og i verdier legger vi inn de feltene vi ønsker at skal oppsummeres. Siden vi ønsker å oppsummere per uke, drar jeg enkelt og greit dato ned til Rader.

Excel kjenner igjen at det er datoer som er lagt til og “hjelper oss” ved å oppsummere med måneder og de individuelle datoene gjemt bak (+). I utgangspunktet veldig snilt, men ikke helt det vi hadde tenkt oss. Vi ser også at vi har fått et nytt felt som heter Måneder. Dette trekker jeg bort fra Rader slik at det kun er individuelle datoer igjen, markerer en av datoene i pivottabellen og går til Pivottabellverktøy Analyser → Grupper felt. Siden jeg vil oppsummere uker, så velger jeg bort Måneder og markerer dager i stedet, og endrer Antall dager fra 1 til 7. Nå vil pivottabellen oppsummere syv dager i slengen fra startdatoen til sluttdatoen. Her er det derfor viktig å endre “Starter ved” datoen fra automatisk til den første dagen i den første uken du vil oppsummere. Ofte er det årsdata man oppsummerer, og da blir det gjerne første mandag i året. I mitt tilfelle ønsker jeg å oppsummere fra søndag til og med lørdag, og velger derfor den første søndagen i tabellen min som er 12/2. Deretter trykker jeg på OK, og vi ser at radene forandrer seg automatisk og viser start- og sluttdato per uke nedover. Fantastisk!

grupper-per-uke

Nå har vi fått valgt områdene vi vil oppsummere på, så nå gjelder det å velge hvilke verdier vi skal ha. Jeg vil oppsummere hvor langt jeg har løpt per uke, samt hvor langt jeg totalt sett er kommet ved slutten av uken. Jeg drar derfor både Km og Totalt ned i Verdier i pivottabellfeltet. Her prøver Excel igjen å hjelpe, og viser meg Antall av Km og Summer av Totalt. Og dette er jo IKKE det jeg ønsker! Grunnen til at Km blir oppsummert med Antall er at Excel leter igjennom hele kolonnen og oppdager at det er en blanding av tall og tomme celler, derfor antar Excel at dette er noe som skal telles. Kolonnen Totalt har derimot tall i alle cellene, og den antar derfor at disse tallene skal summeres. Fordelen med pivottabeller er dog at det er lett å gjøre endringer. Jeg velger pilen til høyre for Antall av Km og velger deretter Innstillinger for verdifelt. Her kan jeg velge hvordan jeg vil oppsummere tallene, og velger derfor å lage et sammendrag av verdifeltet etter Summer. I tillegg gir jeg feltet et beskrivende Egendefinert navn “Km per uke”. Nå oppdateres tallene i pivottabellen automatisk og jeg får de presentert som jeg ønsker. Jeg gjør så det samme med Summer av Totalt og endrer til et sammendrag etter Maks og endrer navnet til “Totalt ved ukeslutt”.

Vipps så har jeg fått en rapport som viser meg hver et sammendrag av alle treningsukene! Og etter hvert som jeg legge inn nye tall i treningsloggen kan jeg oppdatere pivottabellen ved å gå til Pivottabellverktøy Analyser → Oppdater, eller eventuelt bruke hurtigtasten Alt+F5.

ferdig-pivot

Posted in Excel | Leave a comment

Excel Tips 4: Betinget formatering basert på dato

I forrige tips så vi på hvordan man kan raskt kan fylle ut en serie med datoer når man skal lage en registreringsliste. Det kan dog være lett å miste tråden i en lang liste, så i dag skal vi se på hvordan vi kan bruke betinget formatering til å gjøre tabellen mer oversiktlig.

Vanlige kalendere har ofte et visuelt design som gjør det lettere å holde oversikten, stort sett ved at datoene er gruppert i uker eller ved at søndager er markert med rød farge. Enkelte kalendere gjør det også lettere å finne dagens dato, enten ved at man kan rive av en bit for dagene som har passert, eller ved en magnet som man kan flytte på. Mange digitale kalendere har også denne funksjonen, men slik er det ikke automatisk i en Excel-tabell med en liste av datoer.

liste-av-datoer

En av fordelene med Excel er at man kan gjøre nesten hva man vil, så lenge man vet hvordan. Som nevnt i forrige tips er dette en treningsdagbok, og det er lørdager jeg har planlagt langturer på. Dermed hadde det vært veldig greit om jeg kunne markert alle lørdagene i tabellen. Heldigvis finnes det en formel for dette. Jeg vet at lørdag er den 6. dagen i uken, og det vet Excel også. Ved å bruke formelen UKEDAG() kan vi få Excel til å se på en gitt dato og si hvilken dag i uken den er, gitt at vi forteller hvilken dag uken starter på (dette kan jo være forskjellig fra land til land).

ukedag

Nå har en altså en metode får å omdanne datoer til ukedager. Jeg er dog ikke interessert i å ha en ny kolonne med masse tall, men vil heller at lørdagene i kolonne A skal ha en egen farge. Det er her betinget formatering kommer inn i bildet. Først markerer jeg datoene fra A2 og ned tabellen, deretter velger jeg Hjem → Betinget formatering → Ny regel. Deretter velger jeg den nederste muligheten der jeg kan bruke en formel til å bestemme hvilke celler som skal redigeres. Betinget formatering er basert på logikk, det vil si om noe er SANN eller USANN, og den formaterer cellene der formelen er SANN. Siden jeg vil formatere lørdagene så vil jeg altså at ukedagen som formateres er 6, og siden cellen som er markert er A2 blir formelen =UKEDAG(a2;2)=6. Deretter trykker jeg på Formater…-knappen og velger hvordan jeg vil at formateringen av lørdagene skal være.

formatere-lordag

Siden jeg har markert hele kolonnen vil formateringen gjelde for alle cellene, og siden jeg ikke har låst cellereferansen A2 så vil den forandre seg etter hvert som den beveger seg nedover. I A3 vil formelen automatisk være =UKEDAG(A3;2)=6, i A4 vil den være =UKEDAG(A4;2)=6 osv. Og hver gang formelen er SANN så bli cellen mørkeblå med hvit skrift.

lordag-markert

Og vipps så har jeg en mer oversiktlig kalender som viser meg hvilke dager jeg skal ha langøkter på. Fordelen med denne metoden er at man kan velge hvilken dag man vil. Har man langåpent om torsdagene og vil markere disse er det bare å forandre tallet fra 6 til 4 for eksempel.

Dette håndterer første del av utfordringen med å skape en mer oversiktlig kalender, men jeg skulle også ønske å ha hele raden med dagens dato markert. På den måten vil jeg hele tiden ha oversikt på hvor langt jeg har kommet (og eventuelt hvor mye tall jeg må legge inn dersom jeg ikke er inne i arket daglig).

Igjen er trikset betinget formatering, og jeg markerer denne gangen hele tabellen fra A2 (Hurtigtast-tips: Marker A2, hold inne Ctrl og Shift, trykk høyrepil og deretter nedpil). Jeg velger igjen Hjem → Betinget formatering → Ny regel → Bruk en formel… Metoden jeg bruker er rett og slett å sjekke om datoen i A2 er IDAG(), og siden det skal gjelde for hele raden må jeg huske å låse kolonnereferansen ved å legge inn $ før A. (NB: autokorrekt i Excel har en tendens til å rette IDAG til i dag, så pass på å eventuelt fjerne det ekstra mellomrommet.)  formatere-i-dag

Formelen sjekker rett og slett om datoen i kolonne A stemmer med datoen på PCen, og når det er SANN så formaterer den slik en ønsker. I dette tilfellet med grønn bakgrunn og uthevet skrift. Nå har jeg en tabell der jeg lett kan se alle lørdagene samt hvilken dag det er i dag.

kalender

Resultatet er en mye mer oversiktlig kalender jeg kan bruke til å holde oversikt på treningen.

NB: Forskjellige kombinasjoner av logiske formler, IDAG() og betinget formatering kan gjøre lister mye mer oversiktlig, for eksempel dersom man har en liste over arbeidsoppgaver med deadliner og ønsker at at arbeidsoppgaven skal utheves dersom det er mindre enn 3 dager til deadline og den ikke er krysset av som utført.

Posted in Excel | Tagged , | 1 Comment

Excel Tips 3: Seriefyll dato og løpende sum i tabell

Av og til skal man lage en rask oversikt i Excel der man legger inn mange datoer på rad, enten det er for en måned, et helt år, eller frem mot en begivenhet. Å skrive inn alle datoene tar tid, men det finnes raskere metoder. Den mange av oss kjenner til er å skrive inn den første datoen, deretter sette musepekeren på fyllhåndtaket i nederste høyre hjørne på cellen og dra nedover til vi har alle datoene. Dette kan dog ta mye tid og det er lett å dra for langt, spesielt dersom man skal fylle inn mange datoer. Da er løsningen med å fylle i serie et godt alternativ. I stedet for å bruke venstre museknapp på fyllhåndtaket bruker man i stedet høyre, drar ned en celle eller to og deretter tilbake til utgangspunktet, og får opp en meny der man kan velge serie. (Alternativt velger man Hjem → Fyll → Serie fra menyen).

hoyreklikk-fyllhandtak

Deretter får man opp en meny der man kan velge hvordan man ønsker at serien skal fylles ut. Vi ønsker å fylle den i kolonne, det er en datoserie, vi ønsker alle datoene så intervallet er 1 (om man vil ha hver mandag f.eks. kan man velge 7 her), og stoppverdien er så langt man ønsker å fylle til. I dette eksempelet er det en treningsdagbok frem mot Stockholm Marathon som lages, så stoppverdien blir 3/6/17 som er datoen for løpet.

fyll-serie

Når man så klikker OK så fylles alle datoene ut automatisk. Raskt og enkelt.

Som nevnt er dette en treningsdagbok, og da er det greit å legge inn to kolonner til, en for antall kilometer per dag og en for totalt antall. Siden dette da blir en tabell så bruker jeg Excel sin innebygde tabellfunskjon ved å trykke Ctrl+L og får opp forslag om hvor tabellen er. Siden dette stemmer i mitt tilfelle velger jeg OK, og har nå en ferdig formatert tabell. Antall kilometer legges inn i kolonne B, men jeg trenger en formel for løpende sum i kolonne C. Siden det vil være summen av det som var løpt dagen før pluss det man har løpt den dagen skulle man tro at formelen var cellen ovenfor pluss cellen til venstre. Dette gir dog en #VERDI!-feil dersom man prøver å legge det inn i C2.feilmelding

Grunnen til dette er at det er tekst i C1, og + kan kun håndtere tall. Løsningen på dette er å bruke SUMMER()-formelen, siden den ignorerer tekst og kan legge sammen forskjellige områder. Man separerer områdene med semikolon ; og da fungerer formelen som den skal i hele kolonnen slik at vi kan velge å skrive over alle cellene i tabellkolonnen.

summer

Da vil totale kilometer oppdatere seg automatisk etter hvert som man legger inn nye treningsdata.

Til slutt en liten video som viser prosessen fra begynnelse til slutt.

 

Posted in Excel | 2 Comments