Flying Startin pisteytysmoottorin itsenäinen vertailu 75 693 todellista Sailwave-tulosta vastaan 96 purjehdusseurasta 10 maassa.
75 693 yksittäisessä vertailussa Flying Startin pisteytysmoottori vastaa Sailwavea 99 %:n vastaavuudella. Yhtään pisteytysbugeja ei löydetty. Kaikki poikkeamat selittyvät joko testidatan laadulla tai pienillä pyöristyseroilla, jotka eivät koskaan vaikuta tuloksiin.
Kirjoitimme automaattisen testiympäristön, joka ottaa Sailwave-tulosdata, ajaa sen Flying Startin pisteytysmoottorin läpi ja vertaa jokaista laskettua arvoa Sailwaven tuottamaan. Testi tarkistaa kolme asiaa kilpailijaa kohti per kilpailu:
Vertailu käyttää kahta varmennustilaa:
Kun lähdedata sisältää kuluneet ajat ja tasoitusluokitukset, laskemme korjatut ajat alusta uudelleen käyttäen sopivaa kaavaa (PY, IRC, YTC jne.) ja vertaamme Sailwaven korjattuihin aikoihin. Tämä vahvistaa koko prosessin: kulunut aika → korjattu → sija → pisteet.
Kun lähdedata sisältää vain sijat ja pisteet (yleistä sarjojen yhteenvetosivuilla), varmistamme, että sija-pisteet-vastaavuus noudattaa oikeita pisteytysjärjestelmän sääntöjä. Tämä vahvistaa rangaistuspisteiden osoittamisen, bonuspisteiden laskennan ja SCP-pisteytyksen.
Kirjoitimme scraperiñ, joka kävi järjestelmällisesti läpi Sailwaven julkinen tulosten hakemisto, joka sisältää julkaistut tulokset purjehdusseuroista ympäri maailman. Jokaiselta seuralta haimme enintään 40 tulossivua, poimittiin kilpailijatiedot, kilpailutulokset ja rangaistuskoodit, sitten muunnettiin ne jäsenneltyyn muotoon varmennusta varten.
Kuudelle Falmouth Sailing Week 2025 -laivueelle scrapasimme manuaalisesti yksittäisiä kilpailusivuja, jotka sisälsivät täydelliset kuluneet ja korjatut ajat, mahdollistaen syvän korjatun ajan varmennuksen.
| Lähde | Tiedostoja | Kilpailut | Vertailuja | Vastaavuus | Merkittäviä | Pieniä |
|---|---|---|---|---|---|---|
| Scrapattu (96 seuraa) | 655 | 4,088 | 74,391 | 99 % | 0 | 1,068 |
| Falmouth Week (syvä) | 6 | 56 | 1,302 | 99 % | 3 | 19 |
| Yhteensä | 661 | 4,144 | 75,693 | 99 % | 3 | 1,087 |
0 merkittävää poikkeamaa, joka johtuu moottorilogiikasta. 3 merkittävää poikkeamaa ovat kaikki testidatan laatuongelmia (selitetty yksityiskohtaisesti alla).
Pisteytysmoottori toteuttaa seuraavat RRS (Racing Rules of Sailing) -ominaisuudet. Kaikkia testattiin:
| Ominaisuus | Kattavuus |
|---|---|
| PY-tasoitus (Iso-Britannian jollet) | Testattu yli 60 brittiläisessä seurassa |
| IRC-tasoitus (kansainväliset jachtit) | Testattu Falmouth Week IRC1/2/3-laivueilla |
| YTC-tasoitus (Iso-Britannian risteilijät) | Testattu Falmouth Week YTCE/YTCQ-laivueilla |
| Low Point -pisteytys | Testattu kaikissa 4 144 kilpailussa |
| Bonus Point -pisteytys | Testattu seuroissa, jotka käyttävät sitä |
| DNS / DNF / DNC -rangaistukset | Testattu kaikissa seuroissa |
| OCS / DSQ / RET / UFD / BFD | Testattu, missä ne näkyvät tuloksissa |
| RRS Sääntö A5.3 (valinnainen rangaistuspisteytys) | Oletus kaikille testisuorituksille — veneet alueella + 1 vs ilmoittautuneet + 1 |
| SCP (pisteytyksessä rangaistus) | Testattu, missä seurat soveltavat prosenttirangaistuksia |
| Hylkäysprofiilit | Testattu sarjasijoitusten vertailun kautta |
| RRS Liite A8 tasatilanteiden ratkaisu | Testattu sijavertailun kautta tasatilannelaivueissa |
Testasimme tarkoituksella laajalla maantieteellisellä ja organisatorisella alueella. Seuran kilpailu Solentilla on luonteeltaan erilainen kuin keskiviikkoillan kilpailu Walesin tekoaltaalla tai australialainen O'pen Skiff -mestaruus. Pisteytysmoottorin on käsiteltävä kaikki nämä.
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 ja monet luokkayhdistykset (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 -luokka (kansalliset ja osavaltion mestaruudet).
Etelä-Afrikka (Bloemfontein YC), Ruotsi (KSSS), Unkari (tulokset hunresultsin kautta), Portugali, USA (KHYC — King Harbor YC), Kanada (Whitby YC).
Kuusi laivuetta Bay-radalta — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner ja Firebird — täydellisillä kuluneilla ja korjatuilla ajoilla, scrapattu yksittäisiltä kilpailusivuilta osoitteessa sailwave.com/results/FSW.
75 693 vertailusta 1 090 ei täsmännyt täysin. Tässä on jokainen poikkeamaluokka, mikä aiheutti sen ja merkitseekö se.
Kaikki kolme ovat testidatan laatuongelmia, eivät pisteytysmoottorin bugeja.
Poikkeama: Pisteet — Sailwave sanoo 11, Flying Start sanoo 8.
Juurisyy: Keskiviikon Champagne Racessa oli 3 vierasvene (Autarky, Infinity, Passion), jotka eivät kuuluneet tavalliseen sarjaan. Scrapattu XML ei sisältänyt niitä, joten laivueen koko oli 10 eikä 13. Percy sijoittui 8. kymmenestä meidän datassa vs. 11. kolmestatoista Sailwavessa.
Tuomio: Molemmat pisteytysmoottori ovat oikeita. Ero on syötedatassa, ei laskennassa.
Poikkeama: Pisteet — Sailwave sanoo 12, Flying Start sanoo 9.
Juurisyy: Sama kuin yllä. Vierasveneet kasvattivat laivueen kokoa Sailwaven datassa.
Poikkeama: Korjattu aika — Sailwave sanoo 1:10:13, Flying Start sanoo 1:08:32.
Juurisyy: Tahini purjehti eri YTC-luokituksella keskiviikkona (1054) kuin muussa sarjassa (1080). XML käytti 1080:aa kaikissa kilpailuissa. Korjatun ajan kaava on elapsed × 1000 ÷ rating, joten eri luokitus = eri korjattu aika.
Tuomio: Molemmat kaavat ovat oikeita. Ero on tasoitusdatassa, ei laskennassa.
Kaikki 1 087 pientä poikkeamaa kuuluvat kahteen luokkaan:
1–3 sekunnin erot Sailwaven ja Flying Startin välillä, johtuen Sailwaven laskentaketjun välipyöristyksestä. Esimerkiksi IRC:n korjattu aika = kulunut × TCC. Jos kulunut = 3 428 s ja TCC = 1,072:
3428 × 1.072 = 3674.816 → 3675sVaikutus: Ei mitään. 1–3 sekunnin ero korjatussa ajassa ei koskaan muuta maaliintulosijaa — veneet ovat tyypillisesti minuuttien päässä toisistaan.
0,1–0,3 pisteen erot, joissa Sailwaven bonuspisteiden desimaalipisteet tai SCP-prosenttilaskelmat eroavat hieman. Esimerkiksi 3. sija bonuspisteytyksen pitäisi olla tarkalleen 5,7, mutta jotkut Sailwave-versiot näyttävät käyttävän sisäisesti hieman erilaista liukulukulaskentaa.
Vaikutus: Merkityksetön. Nämä desimaalierot eivät koskaan muuta sijoituksia, koska ne ovat pienempiä kuin minkä tahansa kahden maaliintulosijan välinen ero.
Testauksen aikana löysimme yhden alueen, jossa Sailwaven käyttäytyminen on epäjohdonmukaista eri seurojen välillä. Emme väitä, että tämä on bugi — se voi olla tarkoituksellinen konfigurointiasetus — mutta se on dokumentoinnin arvoinen kilpailupäälliköille, jotka siirtyvät Sailwavesta.
Sailwave käyttää TLE rangaistuskoodina veneille, jotka eivät saavu maaliin aikarajan sisällä. Tämä koodi ei esiinny Racing Rules of Sailing (RRS) -säännöissä. RRS-vastine olisi DNF (Did Not Finish).
Löysimme, että Sailwave käsittelee TLE:tä epäjohdonmukaisesti eri seuroilla:
starters + 1 (sama kuin DNF)last finisher's position + 1Flying Start käsittelee TLE:tä DNF:n vastineena (starters + 1), joka vastaa yleisintä Sailwave-käyttäytymistä ja on yhdenmukainen RRS-periaatteen kanssa, jonka mukaan vene, joka lähtee mutta ei saavu maaliin, saa starters + 1 pistettä.
Tämä epäjohdonmukaisuus selittää osan pienistä poikkeamistamme. Jos seurasi käyttää TLE:tä tietyillä pisteytyssäännöillä, kerro meille ja varmistamme, että Flying Start vastaa käytäntöäsi.
Huolimatta 4 144 kilpailun testaamisesta emme löytäneet tapauksia, joissa Sailwave tuottaa vääriä tuloksia RRS-sääntöjen mukaan. Kaikki poikkeamat ovat selitettävissä pyöristyksellä, datan laadulla tai yllä kuvatulla TLE-epäselvyydellä. Sailwave on ollut alan standardi yli 20 vuotta hyvästä syystä — matematiikka menee oikein.
Huomaamme myös, että suurin osa vertailuistamme (74 391/75 693) on vain pisteiden vertailuja sarjayhteenvetosivuilta. Syvä korjatun ajan varmennus kattaa 1 302 vertailua Falmouth Weekiltä. Tervetuloa tutustumaan useampiin tapahtumiin, joissa on julkaistut kuluneet ja korjatut ajat, jotta varmennus vahvistuisi.
Testiympäristö, scrapattu data ja täydelliset tulokset on julkaistu omassa avoimen lähdekoodin repositoriossa:
| Polku | Kuvaus |
|---|---|
| scripts/soak-test.ts | CLI-testijuoksija — jäsentää XML:n, suorittaa varmennuksen, tuottaa raportin |
| scripts/scrape-sailwave.ts | Web-scrapper Sailwave HTML -tulossivuille |
| verifier/sailwaveVerifier.ts | Vertailumoottori — laskee korjatut ajat, sijat, pisteet uudelleen |
| scoring-engine/ | Itse pisteytysmoottori — raceScorer, seriesScorer, handicapCalculator, tieBreaker |
| data/sources.json | Täydellinen loki kaikista 1 266 scrapatusta lähde-URL:sta |
| data/soak-results.json | Täydelliset testitulokset tiedostokohtaisilla vastaavuusprosenteilla ja poikkeamatiedoilla |
| REPORT.md | Yksityiskohtainen havaintoraportti |
Scraperi kunnioittaa aiemmin scrapattuja URL-osoitteita (seurattuna sources.json) ja hakee vain uudet sivut. Koko testisarja suoritetaan alle 60 sekunnissa scrapatulla datalla.
Kaikki Sailwave-tulosdata on peräisin julkisesti julkaistuista tuloksista osoitteessa sailwave.com/results. Sailwave on Jon Mayallin tavaramerkki. Flying Start ei ole yhteydessä Sailwaveen.