Uafhængig sammenligning af Flying Starts pointberegningsmotoren mod 75.693 virkelige Sailwave-resultater fra 96 sejlklubber på tværs af 10 lande.
På tværs af 75.693 individuelle sammenligninger matcher Flying Starts pointberegningsmotoren Sailwave med en 99% overensstemmelsesrate. Nul pointberegningsfejl blev fundet. Alle uoverensstemmelser forklares enten af testdatakvalitet eller mindre afrundingsforskelle, der aldrig påvirker resultater.
Vi skrev en automatiseret testramme, der tager Sailwave-resultatdata, kører det gennem Flying Starts pointberegningsmotoren og sammenligner hver beregnet værdi mod, hvad Sailwave producerede. Testen kontrollerer tre ting pr. konkurrent pr. løb:
Sammenligningen bruger to verifikationstilstande:
Når kildedata inkluderer forløbne tider og handicapratings, genberegner vi korrigerede tider fra bunden ved hjælp af den passende formel (PY, IRC, YTC, osv.) og sammenligner mod Sailwaves korrigerede tider. Dette validerer hele pipelinen: forløbet → korrigeret → placering → point.
Når kildedata kun inkluderer placeringer og point (almindeligt på serieoversummaringssider), verificerer vi, at placering-til-point-mappingen følger de korrekte pointsystemregler. Dette validerer tildeling af strafpoint, bonuspoint-beregninger og SCP-scoring.
Vi skrev en scraper, der systematisk gennemsøgte Sailwaves offentlige resultatmappe, der hoster publicerede resultater fra sejlklubber verden over. For hver klub hentede vi op til 40 resultatsider, udtrak konkurrentdata, løbsresultater og strafkoder og konverterede dem til et struktureret format til verifikation.
For seks Falmouth Sailing Week 2025-flåder manuelt skrapede vi individuelle løbssider, der inkluderede fulde forløbne og korrigerede tider, hvilket muliggjorde dyb korrigeret tids-verifikation.
| Kilde | Filer | Løb | Sammenligninger | Match | Store | Mindre |
|---|---|---|---|---|---|---|
| Skrabet (96 klubber) | 655 | 4,088 | 74,391 | 99% | 0 | 1,068 |
| Falmouth Week (dyb) | 6 | 56 | 1,302 | 99% | 3 | 19 |
| I alt | 661 | 4,144 | 75,693 | 99% | 3 | 1,087 |
0 store uoverensstemmelser forårsaget af motorlogik. De 3 store uoverensstemmelser er alle datakvalitetsproblemer i vores testdata (forklaret i detaljer nedenfor).
Pointberegningsmotoren implementerer følgende RRS (Racing Rules of Sailing)-funktioner. Alle blev afprøvet under test:
| Funktion | Dækning |
|---|---|
| PY-handicap (UK-joller) | Testet på tværs af 60+ UK-klubber |
| IRC-handicap (internationale yachter) | Testet med Falmouth Week IRC1/2/3-flåder |
| YTC-handicap (UK-krydstogtsbåde) | Testet med Falmouth Week YTCE/YTCQ-flåder |
| Lavpunkt-pointgivning | Testet i alle 4.144 løb |
| Bonuspoint-pointgivning | Testet hvor klubber bruger det |
| DNS / DNF / DNC-straffe | Testet på tværs af alle klubber |
| OCS / DSQ / RET / UFD / BFD | Testet hvor de optræder i resultater |
| RRS Regel A5.3 (valgfri strafpoint-scoring) | Standard for alle testkørsler — både ved område + 1 vs. tilmeldte + 1 |
| SCP (pointstraf) | Testet hvor klubber anvender procentvise straffe |
| Strygesystemer | Testet via sammenligning af serierangeringer |
| RRS Tillæg A8 omfartsbedømmelse | Testet via planeringssammenligning i ligestillede flåder |
Vi testede bevidst på tværs af et bredt geografisk og organisatorisk spektrum. Klubkapsejlads i Solent har forskellige karakteristika sammenlignet med onsdagsaftens kapsejlads på en walisisk reservoir eller et australsk O'pen Skiff-mesterskab. Pointberegningsmotoren skal håndtere dem 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 klasseforbund (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 (nationale og statslige mesterskaber).
Sydafrika (Bloemfontein YC), Sverige (KSSS), Ungarn (resultater via hunresults), Portugal, USA (KHYC — King Harbor YC), Canada (Whitby YC).
Seks flåder fra Bay-banen — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner og Firebird — med fulde forløbne og korrigerede tider skrabet fra individuelle løbssider hostet på sailwave.com/results/FSW.
Af de 75.693 sammenligninger matchede 1.090 ikke præcist. Her er alle kategorier af uoverensstemmelser, hvad der forårsagede dem, og om det har betydning.
Alle tre er datakvalitetsproblemer i vores testdata, ikke fejl i pointberegningsmotoren.
Uoverensstemmelse: Point — Sailwave siger 11, Flying Start siger 8.
Grundårsag: Wednesday Champagne Race havde 3 gæstebåde (Autarky, Infinity, Passion), der ikke var i den ordinære serie. Vores skrabede XML inkluderede dem ikke, så flådestørrelsen var 10 i stedet for 13. Percy afsluttede som 8. af 10 i vores data mod 11. af 13 i Sailwaves.
Dom: Begge pointberegningsmotorer er korrekte. Forskellen ligger i inputdataene, ikke beregningen.
Uoverensstemmelse: Point — Sailwave siger 12, Flying Start siger 9.
Grundårsag: Samme som ovenfor. Gæstebåde oppustede flådestørrelsen i Sailwaves data.
Uoverensstemmelse: Korrigeret tid — Sailwave siger 1:10:13, Flying Start siger 1:08:32.
Grundårsag: Tahini sejlede med en anden YTC-rating onsdag (1054) end resten af serien (1080). Vores XML brugte 1080 for alle løb. Den korrigerede tidsformel er elapsed × 1000 ÷ rating, så forskellig rating = forskellig korrigeret tid.
Dom: Begge formler er korrekte. Forskellen ligger i handicapdataene, ikke beregningen.
Alle 1.087 mindre uoverensstemmelser falder i to kategorier:
Forskelle på 1–3 sekunder mellem Sailwave og Flying Start, forårsaget af mellemliggende afrunding i Sailwaves beregningskæde. For eksempel IRC korrigeret tid = forløbet × TCC. Hvis forløbet = 3.428s og TCC = 1,072:
3428 × 1.072 = 3674.816 → 3675sIndvirkning: Ingen. En 1–3 sekunders forskel i korrigeret tid ændrer aldrig en målgangsplacering — både er typisk adskilt af minutter.
Forskelle på 0,1–0,3 point, hvor Sailwaves bonuspoint brøkscorer eller SCP-procentberegninger afviger lidt. For eksempel bør 3. plads i bonuspoint-scoring være præcis 5,7, men nogle Sailwave-versioner ser ud til at bruge lidt anderledes flydende komma-præcision internt.
Indvirkning: Ubetydelig. Disse brøkforskelle ændrer aldrig rangeringer, fordi de er mindre end afstanden mellem to målgangsplaceringer.
Under test fandt vi ét område, hvor Sailwaves adfærd er inkonsistent på tværs af klubber. Vi hævder ikke, at dette er en fejl — det kan være en bevidst konfigurationsindstilling — men det er værd at dokumentere for løbsledere, der migrerer fra Sailwave.
Sailwave bruger TLE som en strafkode for både, der ikke afslutter inden for tidsgrænsen. Denne kode optræder ikke i Racing Rules of Sailing (RRS). RRS-ækvivalenten ville være DNF (Did Not Finish).
Vi fandt, at Sailwave behandler TLE inkonsistent på tværs af forskellige klubber:
starters + 1 (samme som DNF)last finisher's position + 1Flying Start behandler TLE som ækvivalent til DNF (starters + 1), hvilket matcher den mest almindelige Sailwave-adfærd og stemmer overens med RRS-princippet om, at en båd, der starter men ikke afslutter, modtager starters + 1 point.
Denne inkonsistens tegner sig for en del af vores mindre uoverensstemmelser. Hvis din klub bruger TLE med specifikke pointregler, bedes du kontakte os og vi vil sikre, at Flying Start matcher din praksis.
Trods test af 4.144 løb fandt vi ingen tilfælde, hvor Sailwave producerer forkerte resultater i henhold til RRS-regler. Alle uoverensstemmelser kan forklares med afrunding, datakvalitet eller TLE-tvetydigheden beskrevet ovenfor. Sailwave har været branchestandarden i 20+ år af en god grund — det får matematikken rigtigt.
Vi bemærker også, at størstedelen af vores sammenligninger (74.391 af 75.693) er kun-point sammenligninger fra serieoversummaringssider. Den dybe korrigerede tids-verifikation dækker 1.302 sammenligninger fra Falmouth Week. Vi ville byde adgang til flere stævner med publicerede forløbne og korrigerede tider velkommen for at styrke denne verifikation.
Testrammerne, skrabede data og fulde resultater er publiceret i et dedikeret open-source-lager:
| Sti | Beskrivelse |
|---|---|
| scripts/soak-test.ts | CLI-testkører — analyserer XML, kører verifikation, producerer rapport |
| scripts/scrape-sailwave.ts | Web-scraper til Sailwave HTML-resultatsider |
| verifier/sailwaveVerifier.ts | Sammenligningsmotoren — genberegner korrigerede tider, placeringer, point |
| scoring-engine/ | Selve pointberegningsmotoren — raceScorer, seriesScorer, handicapCalculator, tieBreaker |
| data/sources.json | Komplet log over alle 1.266 skrabede kilde-URL'er |
| data/soak-results.json | Fulde testresultater med match-rates pr. fil og detaljer om uoverensstemmelser |
| REPORT.md | Detaljeret rapport over fund |
Scraperen respekterer tidligere skrabede URL'er (sporet i sources.json) og vil kun hente nye sider. Hele testpakken kører på under 60 sekunder på de skrabede data.
Alle Sailwave-resultatdata kom fra offentligt publicerede resultater på sailwave.com/results. Sailwave er et varemærke tilhørende Jon Mayall. Flying Start er ikke tilknyttet Sailwave.