Uavhengig sammenligning av Flying Starts poengberegningsmotor mot 75 693 virkelige Sailwave-resultater fra 96 seilklubber i 10 land.
På tvers av 75 693 individuelle sammenligninger matcher Flying Start-poengberegningsmotoren Sailwave med 99% treffrate. Null poengberegningsfeil ble funnet. Alle avvik forklares av enten testdatakvalitet eller mindre avrundingsforskjeller som aldri påvirker resultater.
Vi skrev et automatisert testverktøy som tar Sailwave-resultatdata, kjører det gjennom Flying Starts poengberegningsmotor og sammenligner alle beregnede verdier mot hva Sailwave produserte. Testen sjekker tre ting per deltaker per løp:
Sammenligningen bruker to verifiseringsmodi:
Når kildedataene inkluderer løpstider og handicap-ratinger, omberegner vi korrigerte tider fra bunnen av ved hjelp av passende formel (PY, IRC, YTC osv.) og sammenligner mot Sailwaves korrigerte tider. Dette validerer hele pipelinen: løpt → korrigert → posisjon → poeng.
Når kildedataene bare inkluderer posisjoner og poeng (vanlig på seriesammendragssider), verifiserer vi at posisjons-til-poeng-kartleggingen følger de riktige poengberegningssystemreglene. Dette validerer tildeling av straffepoeng, bonuspoengberegninger og SCP-poengberegning.
Vi skrev en skraper som systematisk gjennomsøkte Sailwaves offentlige resultatmappe, som er vert for publiserte resultater fra seilklubber over hele verden. For hver klubb hentet vi opptil 40 resultatsider, ekstraherte deltakerdata, løpsresultater og straffekoder, og konverterte dem deretter til et strukturert format for verifisering.
For seks Falmouth Sailing Week 2025-flåter skrapte vi manuelt individuelle løpssider som inkluderte fulle løps- og korrigerte tider, noe som muliggjorde dyp verifisering av korrigert tid.
| Kilde | Filer | Raser | Sammenligninger | Treff | Alvorlig | Mindre |
|---|---|---|---|---|---|---|
| Skrapet (96 klubber) | 655 | 4,088 | 74,391 | 99% | 0 | 1,068 |
| Falmouth Week (dyp) | 6 | 56 | 1,302 | 99% | 3 | 19 |
| Totalt | 661 | 4,144 | 75,693 | 99% | 3 | 1,087 |
0 alvorlige avvik forårsaket av motorlogikk. De 3 alvorlige avvikene er alle datakvalitetsproblemer i testdataene våre (forklart i detalj nedenfor).
Poengberegningsmotoren implementerer følgende RRS (Racing Rules of Sailing)-funksjoner. Alle ble brukt under testing:
| Funksjon | Dekning |
|---|---|
| PY-handicap (UK-joller) | Testet på tvers av 60+ UK-klubber |
| IRC-handicap (internasjonale jakter) | Testet med Falmouth Week IRC1/2/3-flåter |
| YTC-handicap (UK-cruisere) | Testet med Falmouth Week YTCE/YTCQ-flåter |
| Lav-poeng-beregning | Testet i alle 4 144 løp |
| Bonuspoeng-beregning | Testet der klubber bruker det |
| DNS / DNF / DNC-straffer | Testet på tvers av alle klubber |
| OCS / DSQ / RET / UFD / BFD | Testet der de vises i resultater |
| RRS Regel A5.3 (valgfri straffepoengberegning) | Standard for alle testkjøringer — båter i område + 1 vs påmeldinger + 1 |
| SCP (poengstraff) | Testet der klubber bruker prosentstraff |
| Strykeresultatprofiler | Testet via sammenligning av seriestillinger |
| RRS vedlegg A8-omseiling | Testet via posisjonssammenligning i flåter med uavgjort |
Vi testet bevisst på tvers av et bredt geografisk og organisatorisk spekter. Klubbracing i Solent har andre egenskaper enn onsdagskveldracing på et walisisk reservoar eller et australsk O'pen Skiff-mesterskap. Poengberegningsmotoren må håndtere alle.
Hayling Island SC, Parkstone YC, Poole YC, Warsash SC, Torbay SC, Cardiff Bay YC, Delph SC, Mengeham Rythe SC, Burghfield SC, Oxford SC, Chichester YC, Brancaster Staithe SC, Bexhill SC, Salcombe YC, Paignton SC, Brixham YC, Medway YC, Bartley SC, Northampton SC, Largo Bay SC, RCYC, Ranelagh SC, Twickenham YC, Cambridge YC, Ogston SC, Rutland SC, Bala SC, Maylandsea Bay SC, Royal Lymington YC, Flushing SC, Chase SC, Chipstead SC, Rock SC, BCYC, YDSC, og mange klasseforeninger (Solo, Osprey, Fireball, 29er, ILCA UK, ITCA, UKWA, Redwings).
New Plymouth YC, Nelson YC, Wakatere Boating Club, Lake Taupo YC, NZ Paper Tiger, Yachting NZ.
Manly YC, Perth SC, Maroochy, Hobie WA, Lake Cootharaba SC, Open Skiff-klasse (nasjonale og statlige mesterskap).
Sør-Afrika (Bloemfontein YC), Sverige (KSSS), Ungarn (resultater via hunresults), Portugal, USA (KHYC — King Harbor YC), Canada (Whitby YC).
Seks flåter fra Bay-banen — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner og Firebird — med fulle løps- og korrigerte tider skrapet fra individuelle løpssider på sailwave.com/results/FSW.
Av 75 693 sammenligninger matchet 1 090 ikke nøyaktig. Her er alle kategorier av avvik, hva som forårsaket det og om det er viktig.
Alle tre er datakvalitetsproblemer i testdataene våre, ikke feil i poengberegningsmotoren.
Avvik: Poeng — Sailwave sier 11, Flying Start sier 8.
Rotårsak: Onsdags-Champagneløpet hadde 3 gjestbåter (Autarky, Infinity, Passion) som ikke var i den vanlige serien. Vår skrapede XML inkluderte dem ikke, så flåtestørrelsen var 10 i stedet for 13. Percy fullførte 8. av 10 i våre data versus 11. av 13 i Sailwaves.
Konklusjon: Begge poengberegningsmotorene er korrekte. Forskjellen er i inndataene, ikke beregningen.
Avvik: Poeng — Sailwave sier 12, Flying Start sier 9.
Rotårsak: Samme som ovenfor. Gjestbåter blåste opp flåtestørrelsen i Sailwaves data.
Avvik: Korrigert tid — Sailwave sier 1:10:13, Flying Start sier 1:08:32.
Rotårsak: Tahini seilte med en annen YTC-rating på onsdag (1054) enn resten av serien (1080). Vår XML brukte 1080 for alle løp. Formelen for korrigert tid er elapsed × 1000 ÷ rating, så ulik rating = ulik korrigert tid.
Konklusjon: Begge formlene er korrekte. Forskjellen er i handicap-dataene, ikke beregningen.
Alle 1 087 mindre avvik faller inn i to kategorier:
Forskjeller på 1–3 sekunder mellom Sailwave og Flying Start, forårsaket av mellomliggende avrunding i Sailwaves beregningskjede. For eksempel IRC korrigert tid = løpt × TCC. Hvis løpt = 3 428 s og TCC = 1,072:
3428 × 1.072 = 3674.816 → 3675sPåvirkning: Ingen. En 1–3 sekunders forskjell i korrigert tid endrer aldri en avslutningsposisjon — båter er vanligvis atskilt med minutter.
Forskjeller på 0,1–0,3 poeng der Sailwaves bonuspoeng-brøkscorer eller SCP-prosentberegninger avviker litt. For eksempel bør 3. plass i bonuspoeng-beregning være nøyaktig 5,7, men noen Sailwave-versjoner ser ut til å bruke litt annerledes flytende komma-presisjon internt.
Påvirkning: Ubetydelig. Disse brøkforskjellene endrer aldri stillinger fordi de er mindre enn gapet mellom to avslutningsposisjoner.
Under testing fant vi ett område der Sailwaves atferd er inkonsistent på tvers av klubber. Vi hevder ikke at dette er en feil — det kan være en bevisst konfigurasjonsalternativ — men det er verdt å dokumentere for løpsledere som migrerer fra Sailwave.
Sailwave bruker TLE som straffekode for båter som ikke fullfører innen tidsgrensen. Denne koden vises ikke i Racing Rules of Sailing (RRS). RRS-ekvivalenten vil være DNF (Did Not Finish).
Vi fant at Sailwave behandler TLE inkonsistent på tvers av ulike klubber:
starters + 1 (samme som DNF)last finisher's position + 1Flying Start behandler TLE som ekvivalent med DNF (starters + 1), som samsvarer med den vanligste Sailwave-atferden og er i tråd med RRS-prinsippet om at en båt som starter men ikke fullfører mottar starters + 1 poeng.
Denne inkonsistensen forklarer en del av de mindre avvikene våre. Hvis klubben din bruker TLE med spesifikke poengberegningsregler, vennligst gi oss beskjed og vi vil sikre at Flying Start samsvarer med praksisen din.
Til tross for testing av 4 144 løp fant vi ingen tilfeller der Sailwave produserer feil resultater per RRS-regler. Alle avvik kan forklares ved avrunding, datakvalitet eller TLE-tvetydigheten beskrevet ovenfor. Sailwave har vært industristandarden i 20+ år av god grunn — det gjør matematikken riktig.
Vi merker også at flertallet av sammenligningene våre (74 391 av 75 693) er kun poeng-sammenligninger fra seriesammendragssider. Den dype verifiseringen av korrigert tid dekker 1 302 sammenligninger fra Falmouth Week. Vi vil gjerne ha tilgang til flere arrangementer med publiserte løps- og korrigerte tider for å styrke denne verifiseringen.
Testverktøyet, skrapede data og fullstendige resultater er publisert i et dedikert åpen kilde-repository:
| Sti | Beskrivelse |
|---|---|
| scripts/soak-test.ts | CLI-testkjører — parser XML, kjører verifisering, produserer rapport |
| scripts/scrape-sailwave.ts | Nett-skraper for Sailwave HTML-resultatsider |
| verifier/sailwaveVerifier.ts | Sammenligningsmotor — omberegner korrigerte tider, posisjoner, poeng |
| scoring-engine/ | Selve poengberegningsmotoren — raceScorer, seriesScorer, handicapCalculator, tieBreaker |
| data/sources.json | Komplett logg over alle 1 266 skrapede kilde-URL-er |
| data/soak-results.json | Fullstendige testresultater med treffrate per fil og avviksdetaljer |
| REPORT.md | Detaljert funnrapport |
Skraperen respekterer tidligere skrapede URL-er (sporet i sources.json) og vil bare hente nye sider. Hele testpakken kjøres på under 60 sekunder på de skrapede dataene.
Alle Sailwave-resultatdata ble hentet fra offentlig publiserte resultater på sailwave.com/results. Sailwave er et varemerke til Jon Mayall. Flying Start er ikke tilknyttet Sailwave.