Onafhankelijke vergelijking van de scoring engine van Flying Start met 75.693 echte Sailwave-resultaten van 96 zeilclubs in 10 landen.
Over 75.693 afzonderlijke vergelijkingen stemt de Flying Start scoring engine overeen met Sailwave met een overeenkomstpercentage van 99%. Er zijn geen scoringbugs gevonden. Alle afwijkingen worden verklaard door de kwaliteit van de testdata of kleine afrondingsverschillen die nooit van invloed zijn op de resultaten.
We hebben een geautomatiseerd testframework geschreven dat Sailwave-resultatendata neemt, dit door de scoring engine van Flying Start verwerkt en elke berekende waarde vergelijkt met wat Sailwave heeft geproduceerd. De test controleert drie dingen per deelnemer per race:
De vergelijking gebruikt twee verificatiemodi:
Wanneer de brondata verstreken tijden en handicapbeoordelingen bevat, herberekenen we gecorrigeerde tijden van nul af aan met de juiste formule (PY, IRC, YTC, enz.) en vergelijken we deze met de gecorrigeerde tijden van Sailwave. Dit valideert de volledige pijplijn: verstreken → gecorrigeerd → positie → punten.
Wanneer de brondata alleen posities en punten bevat (gebruikelijk op seriessamenvattingspagina's), verifiëren we dat de positie-naar-punten-toewijzing de juiste scoringsregels volgt. Dit valideert de toewijzing van strafpunten, bonuspuntberekeningen en SCP-scoring.
We hebben een scraper geschreven die systematisch de Sailwave openbare resultatenlijst heeft doorzocht, die gepubliceerde resultaten van zeilclubs wereldwijd host. Voor elke club hebben we tot 40 resultatenpagina's opgehaald, deelnemersdata, raceresultaten en strafcodes geëxtraheerd en deze omgezet in een gestructureerd formaat voor verificatie.
Voor zes vloten van Falmouth Sailing Week 2025 hebben we handmatig afzonderlijke racepagina's gescraped die volledige verstreken en gecorrigeerde tijden bevatten, wat diepe gecorrigeerde-tijdverificatie mogelijk maakte.
| Bron | Bestanden | Races | Vergelijkingen | Overeenkomst | Groot | Klein |
|---|---|---|---|---|---|---|
| Gescraped (96 clubs) | 655 | 4,088 | 74,391 | 99% | 0 | 1,068 |
| Falmouth Week (diep) | 6 | 56 | 1,302 | 99% | 3 | 19 |
| Totaal | 661 | 4,144 | 75,693 | 99% | 3 | 1,087 |
0 grote afwijkingen veroorzaakt door enginelogica. De 3 grote afwijkingen zijn alle datakwaliteitsproblemen in onze testdata (hieronder in detail uitgelegd).
De scoring engine implementeert de volgende RRS-functies (Racing Rules of Sailing). Alle zijn tijdens het testen beproefd:
| Functie | Dekking |
|---|---|
| PY-handicap (Britse dinghy's) | Getest bij 60+ Britse clubs |
| IRC-handicap (internationale jachten) | Getest met Falmouth Week IRC1/2/3-vloten |
| YTC-handicap (Britse cruisers) | Getest met Falmouth Week YTCE/YTCQ-vloten |
| Low Point-scoring | Getest in alle 4.144 races |
| Bonus Point-scoring | Getest waar clubs het gebruiken |
| DNS / DNF / DNC-straffen | Getest bij alle clubs |
| OCS / DSQ / RET / UFD / BFD | Getest waar ze in resultaten verschijnen |
| RRS Regel A5.3 (optionele strafscoring) | Standaard voor alle testrondes — boten bij deelnemers + 1 vs inschrijvingen + 1 |
| SCP (scoringsstraf) | Getest waar clubs percentagestraffen toepassen |
| Schrapprofielen | Getest via seriesklassementvergelijking |
| RRS Bijlage A8 gelijke stand-regels | Getest via positievergelijking in vloten met gelijke stand |
We hebben bewust getest over een breed geografisch en organisatorisch bereik. Clubracen in het Solent heeft andere kenmerken dan woensdagavondracen op een Welsh stuwmeer of een Australisch O'pen Skiff-kampioenschap. De scoring engine moet ze allemaal aankunnen.
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, en vele klassenverenigingen (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 en staatskampioenschappen).
Zuid-Afrika (Bloemfontein YC), Zweden (KSSS), Hongarije (resultaten via hunresults), Portugal, VS (KHYC — King Harbor YC), Canada (Whitby YC).
Zes vloten van de Bay-baan — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner en Firebird — met volledige verstreken en gecorrigeerde tijden gescraped van afzonderlijke racepagina's gehost op sailwave.com/results/FSW.
Van de 75.693 vergelijkingen kwamen 1.090 niet exact overeen. Hier is elke categorie afwijking, wat de oorzaak was en of het van belang is.
Alle drie zijn datakwaliteitsproblemen in onze testdata, geen scoringenginebugs.
Afwijking: Punten — Sailwave zegt 11, Flying Start zegt 8.
Grondoorzaak: De woensdagse Champagne Race had 3 gastboten (Autarky, Infinity, Passion) die niet in de reguliere serie zaten. Onze gescrapede XML bevatte ze niet, dus de vlootgrootte was 10 in plaats van 13. Percy eindigde 8e van 10 in onze data vs 11e van 13 in Sailwave.
Oordeel: Beide scoring engines zijn correct. Het verschil zit in de invoerdata, niet in de berekening.
Afwijking: Punten — Sailwave zegt 12, Flying Start zegt 9.
Grondoorzaak: Zelfde als hierboven. Gastboten verhoogden de vlootgrootte in Sailwave-data.
Afwijking: Gecorrigeerde tijd — Sailwave zegt 1:10:13, Flying Start zegt 1:08:32.
Grondoorzaak: Tahini zeilde op woensdag met een andere YTC-beoordeling (1054) dan de rest van de serie (1080). Onze XML gebruikte 1080 voor alle races. De gecorrigeerde tijdformule is elapsed × 1000 ÷ rating, dus andere beoordeling = andere gecorrigeerde tijd.
Oordeel: Beide formules zijn correct. Het verschil zit in de handicapdata, niet in de berekening.
Alle 1.087 kleine afwijkingen vallen in twee categorieën:
Verschillen van 1–3 seconden tussen Sailwave en Flying Start, veroorzaakt door tussentijdse afronding in de berekenersketen van Sailwave. Bijvoorbeeld: IRC gecorrigeerde tijd = verstreken × TCC. Als verstreken = 3.428 s en TCC = 1,072:
3428 × 1.072 = 3674.816 → 3675sImpact: Geen. Een verschil van 1–3 seconden in gecorrigeerde tijd verandert nooit een eindpositie — boten zijn doorgaans minuten van elkaar verwijderd.
Verschillen van 0,1–0,3 punten waarbij de bonuspuntfractionele scores of SCP-percentageberekeningen van Sailwave licht afwijken. Bijvoorbeeld: de 3e plaats in bonuspuntscoring moet precies 5,7 zijn, maar sommige Sailwave-versies lijken intern een iets andere zwevende-kommaprecisie te gebruiken.
Impact: Verwaarloosbaar. Deze fractionele verschillen veranderen nooit de klassementen omdat ze kleiner zijn dan het verschil tussen twee eindposities.
Tijdens het testen vonden we één gebied waar het gedrag van Sailwave inconsistent is bij clubs. We beweren niet dat dit een bug is — het kan een opzettelijke configuratieoptie zijn — maar het is de moeite waard om te documenteren voor wedstrijdleiders die migreren van Sailwave.
Sailwave gebruikt TLE als strafcode voor boten die niet binnen de tijdslimiet finishen. Deze code verschijnt niet in de Racing Rules of Sailing (RRS). Het RRS-equivalent zou DNF (Did Not Finish) zijn.
We ontdekten dat Sailwave TLE inconsistent behandelt bij verschillende clubs:
starters + 1 (zelfde als DNF)last finisher's position + 1Flying Start behandelt TLE als equivalent aan DNF (starters + 1), wat overeenkomt met het meest voorkomende Sailwave-gedrag en aansluit bij het RRS-principe dat een boot die start maar niet finisht starters + 1 punten ontvangt.
Deze inconsistentie verklaart een deel van onze kleine afwijkingen. Als je club TLE gebruikt met specifieke scoringsregels, neem dan contact met ons op en we zorgen ervoor dat Flying Start overeenkomt met jouw praktijk.
Ondanks het testen van 4.144 races hebben we geen gevallen gevonden waarbij Sailwave onjuiste resultaten produceert per RRS-regels. Alle afwijkingen zijn verklaarbaar door afronding, datakwaliteit of de hierboven beschreven TLE-ambiguïteit. Sailwave is al 20+ jaar de industriestandaard met goede reden — het klopt de wiskunde.
We merken ook op dat de meerderheid van onze vergelijkingen (74.391 van 75.693) alleen-punten-vergelijkingen zijn van seriessamenvattingspagina's. De diepe gecorrigeerde-tijdverificatie dekt 1.302 vergelijkingen van Falmouth Week. We verwelkomen toegang tot meer evenementen met gepubliceerde verstreken en gecorrigeerde tijden om deze verificatie te versterken.
Het testframework, gescrapede data en volledige resultaten zijn gepubliceerd in een speciaal open-source repository:
| Pad | Beschrijving |
|---|---|
| scripts/soak-test.ts | CLI-testrunner — parseert XML, voert verificatie uit, produceert rapport |
| scripts/scrape-sailwave.ts | Webscraper voor Sailwave HTML-resultatenpagina's |
| verifier/sailwaveVerifier.ts | De vergelijkingsengine — herberekent gecorrigeerde tijden, posities, punten |
| scoring-engine/ | De scoring engine zelf — raceScorer, seriesScorer, handicapCalculator, tieBreaker |
| data/sources.json | Volledig logboek van alle 1.266 gescrapede bron-URL's |
| data/soak-results.json | Volledige testresultaten met overeenkomstpercentages per bestand en afwijkingsdetails |
| REPORT.md | Gedetailleerd bevindingsrapport |
De scraper respecteert eerder gescrapede URL's (bijgehouden in sources.json) en haalt alleen nieuwe pagina's op. De volledige testsuit wordt in minder dan 60 seconden uitgevoerd op de gescrapede data.
Alle Sailwave-resultatendata is afkomstig van openbaar gepubliceerde resultaten op sailwave.com/results. Sailwave is een handelsmerk van Jon Mayall. Flying Start is niet gelieerd aan Sailwave.