Formlines
← Till bloggen

Formlines 2.0: varför vi byggde om hela motorn

Från ELO-inspirerad rating till ett historiskt nätverkslager med direct, d2, d3 och confidence byggd på faktisk träffbild.

10 april 2026 Djupdykning Teknik Formlines

Det här är inte en vanlig uppdatering.

Formlines 2.0 kom ur en större fråga: vad är det egentligen vi försöker förstå när vi modellerar ett lopp?

Den tidigare versionen fångade något verkligt. Den såg relationer mellan hästar i samma fält och kunde ofta plocka fram styrka som inte syntes fullt ut i traditionella formrader. Men ju längre vi arbetade med modellen, desto tydligare blev det att den fortfarande såg för grunt på relationerna.

Vissa hästar bar med sig styrka genom ett helt fält utan att det syntes i en enkel direktjämförelse. Vissa lopp innehöll tydlig, bärande signal. Andra såg ordnade ut på ytan men var i praktiken för tunna för att rangera med verklig säkerhet.

Det blev tydligt att det här inte gick att lösa med kosmetik, fler kolumner eller ännu en viktad blend. Motorn behövde byggas om.

Formlines uppstod inte i ett vakuum

En viktig förlaga var vårt tidigare experiment med ELO-inspirerad ratinglogik.

Det var ett första seriöst försök att komma bort från platta resultatmått och i stället värdera en prestation relativt motståndets nivå. Grundidén är enkel: en hästs prestation ska inte bara läsas som en rå placering, utan i relation till vilka den mötte och vad som rimligen kunde förväntas av fältet. Den intuitionen ligger nära hur Elo används i schack och andra konkurrenssystem, där rating justeras utifrån förväntat kontra observerat utfall.

I den MDPI-publicerade studien om galopphästar användes Elo för att rekonstruera ranking i lopp och uppdatera varje hästs rating utifrån skillnaden mellan observerad och förväntad placering. Forskarna valde ett k-värde på 15 eftersom det gav bäst vinnarprediktion i deras test, med 34,1 procent korrekta vinnare.

Det var ett viktigt steg för oss. ELO lärde oss att tänka mer relativt, mer motståndsmedvetet och mindre naivt kring vad en prestation faktiskt betyder.

Men ELO har också en naturlig begränsning: i grunden försöker det ge individen ett bättre styrketal. Formlines 2.0 tar nästa steg. I stället för att bara fråga hur stark en enskild häst är i ratingtermer försöker Formlines förstå hur styrkan är inbäddad i själva nätverket av relationer i fältet.

Illustration av skillnaden mellan gradcentralitet och nätverksinflytande
Från lokal kopplingsgrad till nätverksinflytande. En nod kan se stark ut utifrån antal relationer, men betydelsen förändras när man väger in var i nätverket relationerna sitter.

Från opponent-aware rating till nätverksanalys

Det är här nätverksanalys blir en relevant inspirationskälla.

Idéer som EigenCentrality och PageRank försöker inte bara förstå en nods direkta länkar, utan också hur viktig omgivningen är. En nod kan ha många relationer men ändå ha begränsat verkligt inflytande om den främst är kopplad till perifera delar av nätverket. Det var också den typen av logik som Google en gång gjorde bred genom att ranka webbsidor via länkar mellan sidor.

Det här är inte samma sak som Googles PageRank. Men intuitionen är besläktad. I båda fallen räcker det inte att titta på direkta kopplingar. Man vill förstå hur betydelse, eller i vårt fall styrka, fortplantar sig genom ett helt nätverk.

Det var där Formlines började förändras från en relationell modell till ett verkligt nätverkslager.

Det gamla lagret: värdefullt, men grunt

Den tidigare Formlines-linjen byggde på en idé som fortfarande är stark: att det finns inbördes styrkeförhållanden mellan hästar i samma lopp som vanliga formrader ofta missar.

Det är fortfarande sant. Alla lopp förklaras inte bäst av rå fart, streckprocent eller senaste raden. Ofta finns det underliggande relationer i fältet som säger mer än standardstatistiken gör. En häst kan ha mött starkare motstånd än det ser ut som. En placering kan väga mer än raden antyder. Ett lopp kan bära struktur som traditionella mått inte riktigt fångar.

Men den gamla modellen hade tre tydliga svagheter:

  1. den lutade främst på direkta relationer
  2. den uttryckte osäkerhet för svagt i tunna lopp
  3. den saknade ett tillräckligt bra historiskt, prediktivt testupplägg

Det sista var avgörande. En modell kan beskriva gårdagen på ett sätt som ser intelligent ut utan att faktiskt ge robust signal framåt. För att ta nästa steg behövde vi skilja mellan något som ser bra ut in sample och något som faktiskt håller i historiskt korrekt testning.

Det krävde en ny arkitektur.

Nätverk i stället för isolerade jämförelser

Kärnan i FL4 började med en enkel princip: om häst A har visat styrka mot B, och B i sin tur har visat styrka mot C, då finns det information där som inte bör kastas bort bara för att A och C inte mötts direkt.

Därifrån växte nätverkstänket fram.

I den nya modellen blir varje häst en nod i ett riktat nätverk, och varje historisk styrkerelation blir en länk. När den strukturen väl finns går det att börja analysera loppet i flera lager i stället för ett.

Vi arbetar nu med tre huvudsakliga signallager:

Det här är inte bara ett mer avancerat sätt att räkna. Det förändrar vad modellen faktiskt kan se. Det är stor skillnad mellan en häst som ser stark ut i en tunn direktrelation och en häst som ligger centralt i ett sammanhängande dominansnät med flera stödjande vägar genom fältet.

Illustration av hur direct, d2 och d3 fortplantar sig genom nätverket
Direct fångar den omedelbara relationen. d2 och d3 försöker fånga hur styrka kan fortsätta genom nätverket i flera steg, i stället för att stanna vid första länken.

Varför vi inte bara kunde blanda ihop allt

Det första instinktiva steget var att bygga en sammanvägd modell där direct, d2 och d3 blandades ihop till ett enda scorelager.

För direct plus d2 fungerade det relativt väl. När d3 kom in förändrades bilden. Plötsligt blev vissa utslag för stora. För många indirekta vägar skapade för mycket massa. Hästar i täta nätverk kunde få oproportionerligt starka scores, inte för att signalen nödvändigtvis var bättre utan för att topologin i nätverket gjorde summeringen explosiv.

Det här var en viktig lärdom. Problemet var inte att d3 var svagt. Problemet var att d3 var för kraftfullt för att behandlas naivt.

Det behövde normaliseras, testas separat och användas med mer disciplin än som ännu en komponent i en enkel blend. Det blev en av de tydligaste vändpunkterna i hela bygget.

Den första riktiga signalen: d3 var starkare än väntat

När vi väl hade en target-safe, historiskt korrekt testkedja på plats började modellen ge riktiga svar.

Över ett 30-dagarsfönster såg utfallet ut så här:

Det här var ett viktigt ögonblick. Inte bara för att d3 såg bra ut, utan för att det såg ut att vara den starkaste FL4-signalen i den del av universum där den faktiskt hade täckning.

Det bekräftade något vi anat under utvecklingen: att det finns verkligt värde i att låta signalen gå djupare genom nätverket, så länge modellen samtidigt kontrollerar hur mycket vikt som får byggas upp.

Diagram över direct, d2, d3 och legacy i target-safe testning
Den första historiskt korrekta testkedjan gjorde en sak tydlig: d3 var inte bara intressant i teorin, utan den starkaste Formlines-signalen i den del av universum där den hade täckning.

Confidence blev inte en detalj, utan en central del av modellen

När en modell börjar arbeta djupare i ett nätverk räcker det inte längre att säga vem som rankas etta. Den måste också kunna säga hur mycket substans det faktiskt finns bakom den ettan.

Därför blev confidence-lagret centralt i Formlines 2.0. Vi byggde det i två nivåer.

Strukturell confidence

Det här är modellens interna läsning av loppets signalstyrka: hur mycket direkt signal som faktiskt finns, hur tät och sammanhängande relationsbilden är, om d2 och d3 har verklig täckning och hur tydligt toppläget är.

Empirisk context-confidence

Det andra lagret bygger inte på struktur utan på faktisk träffbild i historisk backtest. Där såg vi tydliga skillnader mellan olika loppmiljöer.

Formlines fungerade bättre i små fält, särskilt ≤ 8, hos äldre hästar, i längre lopp och på icke-svenska banor. Modellen var svagare i stora fält, yngre-häst-lopp, sprint och svenska banor relativt icke-svenska.

Översikt över bättre och svagare loppmiljöer för Formlines
Confidence handlar inte bara om hur mycket signal som finns i ett lopp, utan också om hur modellen historiskt brukar fungera i just den typen av miljö.

Från viktad ranking till beslutslogik

En av de största slutsatserna under arbetet var att allt inte bör reduceras till en och samma rankingformel.

I stället växte en tydligare lagerlogik fram: använd d3 när täckningen är stark nog, fall tillbaka till d2 när d3 är för tunt, använd direktlagret när högre ordningens signaler saknas och avstå helt när loppet inte bär tillräcklig signal.

Det här är viktigt av två skäl. För det första blir modellen mer tolkbar. Det går lättare att förstå varför en signal uppstår, och varför ett lopp ibland inte bör pressas till ett självsäkert svar. För det andra ligger det närmare vad datan faktiskt visar.

Allt pekar inte mot samma lager. Allt bör inte blandas ihop. Olika lopp bär olika djup. När modellen får agera därefter blir den inte bara mer sofistikerad, utan också mer ärlig.

Vad det betyder i produkten

Det här arbetet är inte en intern akademisk övning. Det påverkar direkt hur Formlines kan användas live.

Med den nya motorn får vi bättre förutsättningar för starkare race-level confidence, mer robust rangering, tydligare signal om när ett lopp verkligen är bärande, bättre identifiering av lopp som är för tunna och bättre underlag för visualisering, analys och premiuminnehåll.

Det skapar också en ny plattform för andra produkter ovanpå Formlines: tydligare Formlines-kort i Alpha, bättre Formlines-rader i liveflöden och starkare stöd till Vinnare och andra signalprodukter.

Det här är alltså inte bara en featureuppdatering. Det är infrastruktur.

Visualiseringen måste också förtjäna premiumstatus

En annan viktig insikt var att Formlines-grafiken inte får kännas som ett tekniskt bihang.

Om nätverket ska bli en verklig del av produkten måste bilden snabbt kunna kommunicera tre saker: vilken häst som faktiskt ser starkast ut, om loppet är tätt eller splittrat och skillnaden mellan tydlig direktstyrka och svagare transitivity.

Vi har redan förbättrat renderingen tydligt: större canvas, bättre visuell hierarki i noder och länkar, färre brusiga samband utan signalvärde, starkare edge-vikter och tydligare etiketter på viktiga relationer.

Men den långsiktiga ambitionen är större än så. Formlines-bilden ska inte kännas som en debug-vy. Den ska kännas som en signaturvisualisering för modellen.

Formlines-nätverk i produktform för lopp 3 på Boden
Formlines 2.0 i produktform. Målet är inte att visa lite noder och pilar, utan att göra nätverksstrukturen läsbar nog för att snabbt kommunicera styrka, täthet och osäkerhet i ett lopp.

Vad som återstår

Ombyggnaden har gett en mycket klarare riktning, men arbetet är inte färdigt.

Nästa steg är bland annat att utöka täckningen där d3 fortfarande är tunn, förfina confidence-modellen ytterligare, förbättra live-visualiseringen, definiera hur Formlines ska användas i andra produkter utan att överanvändas och köra fler större, historiskt rena utvärderingar.

Det viktiga är att vi nu vet betydligt mer än när arbetet började. Vi vet att d3 bär verkligt värde. Vi vet att confidence måste byggas av både struktur och faktisk träffbild. Vi vet att vissa loppmiljöer är tydligt bättre för modellen än andra. Och vi vet att Formlines inte längre bara är en alternativ rankingrad.

Det har blivit ett verkligt nätverkslager.

Avslutning

Det mest intressanta med Formlines 2.0 är kanske inte att modellen blivit mer avancerad. Det mest intressanta är att den blivit mer självkritisk.

Den säger inte bara: här är min etta. Den börjar också säga varför den hästen hamnar där, hur djup signalen faktiskt är och när loppet inte förtjänar en självsäker tolkning.

Det är ett bättre sätt att bygga modeller för verkligt travspel. Och det här är bara början.