השוואה עצמאית של מנוע הניקוד של Flying Start מול 144,539 תוצאות Sailwave אמיתיות מ-99 מועדוני שייט ב-10 מדינות.
בכל 144,539 ההשוואות הפרטניות, מנוע הניקוד של Flying Start תואם את Sailwave עם שיעור התאמה של 99%. לא נמצאו באגי ניקוד. כל אי-ההתאמות מוסברות באיכות נתוני הבדיקה או בהפרשי עיגול קטנים שאינם משפיעים על התוצאות לעולם.
כתבנו מערך בדיקות אוטומטי שלוקח נתוני תוצאות של Sailwave, מריץ אותם דרך מנוע הניקוד של Flying Start ומשווה כל ערך מחושב לזה ש-Sailwave הפיק. הבדיקה בוחנת שלושה דברים לכל מתחרה בכל מרוץ:
ההשוואה משתמשת בשני מצבי אימות:
כשנתוני המקור כוללים זמני שייט בפועל ודירוגי הנדיקאפ, אנו מחשבים מחדש זמנים מתוקנים מההתחלה לפי הנוסחה המתאימה (PY, IRC, YTC ועוד) ומשווים לזמנים המתוקנים של Sailwave. כך מאומת כל התהליך: זמן בפועל ← זמן מתוקן ← מיקום ← נקודות.
כשנתוני המקור כוללים רק מיקומים ונקודות (נפוץ בעמודי סיכום סדרה), אנו מוודאים שההמרה ממיקום לנקודות עוקבת אחר כללי שיטת הניקוד הנכונה. כך מאומתים הקצאת נקודות עונש, חישובי נקודות בונוס וניקוד SCP.
כתבנו סורק שעבר באופן שיטתי על ספריית התוצאות הציבורית של Sailwave, שמארחת תוצאות שפורסמו על ידי מועדוני שייט ברחבי העולם. לכל מועדון אספנו עד 40 עמודי תוצאות, חילצנו נתוני מתחרים, תוצאות מרוצים וקודי עונש, והמרנו אותם למבנה מסודר לצורך אימות.
עבור שישה צים של Falmouth Sailing Week 2025 אספנו ידנית עמודי מרוץ בודדים שכללו זמנים בפועל ומתוקנים מלאים, מה שאפשר אימות מעמיק של זמנים מתוקנים.
| מקור | קבצים | מקצים | השוואות | התאמה | מהותיות | קלות |
|---|---|---|---|---|---|---|
| נאסף (99 מועדונים) | 1,345 | 8,368 | 143,237 | 99% | 0 | 2,030 |
| Falmouth Week (מעמיק) | 6 | 56 | 1,302 | 99% | 3 | 19 |
| סה״כ | 1,351 | 8,424 | 144,539 | 99% | 3 | 2,049 |
0 אי-התאמות מהותיות שנגרמו מלוגיקת המנוע. 3 אי-ההתאמות המהותיות הן כולן בעיות איכות בנתוני הבדיקה שלנו (מוסברות בפירוט בהמשך).
מנוע הניקוד מיישם את תכונות RRS (כללי המרוץ בשייט) הבאות. כולן נבדקו:
| תכונה | כיסוי |
|---|---|
| הנדיקאפ PY (דינגי בריטניה) | נבדק ביותר מ-60 מועדונים בבריטניה |
| הנדיקאפ IRC (יאכטות בינלאומיות) | נבדק עם צי IRC1/2/3 של Falmouth Week |
| הנדיקאפ YTC (סיירות בריטניה) | נבדק עם צי YTCE/YTCQ של Falmouth Week |
| ניקוד נקודות נמוכות | נבדק בכל 8,424 המרוצים |
| ניקוד נקודות בונוס | נבדק היכן שמועדונים משתמשים בו |
| עונשי DNS / DNF / DNC | נבדק בכל המועדונים |
| OCS / DSQ / RET / UFD / BFD / NSC | נבדק היכן שהם מופיעים בתוצאות |
| DGM / DNE (שאינם ניתנים להשמטה) | RRS 69 ו-A2.1 — מנוקדים כמו DSQ, לעולם לא מושמטים בסדרה |
| ZFP (עונש 20% בדגל Z) | RRS 30.2 — הסירה מסיימת, מקום × 1.2 |
| SCP / DPI (עונשי אחוזים) | נבדק היכן שמועדונים מפעילים עונשי ניקוד או עונשים לפי שיקול דעת |
| כלל RRS A5.3 (ניקוד עונשים אופציונלי) | ברירת מחדל בכל ההרצות — סירות באזור + 1 לעומת רשומים + 1 |
| פרופילי השמטה | נבדק באמצעות השוואת דירוג סדרה |
| שבירת שוויון לפי נספח A8 של RRS | נבדק באמצעות השוואת מיקומים בצי עם שוויון |
בדקנו בכוונה מגוון רחב גיאוגרפית וארגונית. למרוצי מועדון בסולנט יש מאפיינים שונים ממרוצי ערב רביעי על מאגר מים בוולש או מאליפות Open Skiff באוסטרליה. מנוע הניקוד חייב להתמודד עם כולם.
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, ואיגודי מחלקות רבים (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 (אליפויות ארציות ומחוזיות).
דרום אפריקה (Bloemfontein YC), שוודיה (KSSS), הונגריה (תוצאות דרך hunresults), פורטוגל, ארה״ב (KHYC — King Harbor YC), קנדה (Whitby YC).
שישה צים ממסלול המפרץ — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner ו-Firebird — עם זמנים בפועל ומתוקנים מלאים שנאספו מעמודי מרוץ בודדים המתארחים ב- sailwave.com/results/FSW.
מתוך 144,539 ההשוואות, 2,052 לא תאמו במדויק. הנה כל קטגוריה של אי-התאמה, מה גרם לה והאם זה משנה.
שלושתן בעיות איכות בנתוני הבדיקה שלנו, לא באגים במנוע הניקוד.
אי-התאמה: נקודות — Sailwave אומר 11, Flying Start אומר 8.
סיבה עיקרית: במרוץ השמפניה של יום רביעי היו 3 סירות אורחות (Autarky, Infinity, Passion) שאינן חלק מהסדרה הרגילה. ה-XML שאספנו לא כלל אותן, ולכן גודל הצי היה 10 במקום 13. Percy סיימה במקום ה-8 מתוך 10 בנתונים שלנו לעומת מקום 11 מתוך 13 ב-Sailwave.
פסק דין: שני מנועי הניקוד נכונים. ההבדל הוא בנתוני הקלט, לא בחישוב.
אי-התאמה: נקודות — Sailwave אומר 12, Flying Start אומר 9.
סיבה עיקרית: כמו לעיל. סירות אורחות הגדילו את גודל הצי בנתונים של Sailwave.
אי-התאמה: זמן מתוקן — Sailwave אומר 1:10:13, Flying Start אומר 1:08:32.
סיבה עיקרית: Tahini הפליגה עם דירוג YTC שונה ביום רביעי (1054) מיתר הסדרה (1080). ה-XML שלנו השתמש ב-1080 לכל המרוצים. נוסחת הזמן המתוקן היא elapsed × 1000 ÷ rating, ולכן דירוג שונה = זמן מתוקן שונה.
פסק דין: שתי הנוסחאות נכונות. ההבדל הוא בנתוני ההנדיקאפ, לא בחישוב.
כל 2,049 אי-ההתאמות הקלות שייכות לשתי קטגוריות:
הפרשים של 1–3 שניות בין Sailwave ל-Flying Start, הנגרמים מעיגול ביניים בשרשרת החישוב של Sailwave. לדוגמה, זמן מתוקן ב-IRC = זמן בפועל × TCC. אם הזמן בפועל = 3,428s ו-TCC = 1.072:
3428 × 1.072 = 3674.816 → 3675sהשפעה: אין. הפרש של 1–3 שניות בזמן מתוקן לעולם לא משנה מיקום סיום — בדרך כלל הסירות מופרדות בדקות.
הפרשים של 0.1–0.3 נקודות כשהציונים השבריים של נקודות הבונוס ב-Sailwave או חישובי אחוזי SCP שונים מעט. לדוגמה, מקום שלישי בניקוד נקודות בונוס אמור להיות בדיוק 5.7, אבל נראה שחלק מגרסאות Sailwave משתמשות בדיוק נקודה צפה שונה במקצת מבפנים.
השפעה: זניחה. הפרשים שבריים אלה לעולם אינם משנים את הדירוג, כי הם קטנים מהמרווח בין כל שני מיקומי סיום.
במהלך הבדיקות מצאנו תחום אחד שבו ההתנהגות של Sailwave אינה עקבית בין מועדונים. איננו טוענים שזה באג — ייתכן שזו אפשרות הגדרה מכוונת — אבל כדאי לתעד זאת עבור קציני מרוץ שעוברים מ-Sailwave.
Sailwave משתמש ב- TLE כקוד עונש לסירות שלא מסיימות בתוך מגבלת הזמן. קוד זה אינו מופיע בכללי המרוץ בשייט (RRS). המקבילה ב-RRS היא DNF (לא סיים).
מצאנו ש-Sailwave מתייחס ל-TLE באופן לא עקבי בין מועדונים שונים:
starters + 1 (כמו DNF)last finisher's position + 1Flying Start מתייחסת ל-TLE כשווה ל-DNF (starters + 1), וזה תואם את ההתנהגות הנפוצה ביותר ב-Sailwave ואת עיקרון ה-RRS שסירה שזינקה אך לא סיימה מקבלת starters + 1 נקודות.
חוסר העקביות הזה אחראי לחלק מאי-ההתאמות הקלות שלנו. אם המועדון שלכם משתמש ב-TLE עם כללי ניקוד מסוימים, אנא ספרו לנו ונדאג ש-Flying Start תתאים לנוהג שלכם.
למרות שבדקנו 8,424 מרוצים, לא מצאנו מקרים ש-Sailwave מפיק בהם תוצאות שגויות לפי כללי RRS. את כל אי-ההתאמות אפשר להסביר בעיגול, באיכות נתונים או בעמימות ה-TLE שתוארה לעיל. Sailwave הוא תקן התעשייה כבר יותר מ-20 שנה, ובצדק — החשבון אצלו נכון.
נציין גם שרוב ההשוואות שלנו (143,237 מתוך 144,539) הן השוואות נקודות בלבד מעמודי סיכום סדרה. האימות המעמיק של זמנים מתוקנים מכסה 1,302 השוואות מ-Falmouth Week. נשמח לגישה לעוד אירועים עם זמנים בפועל ומתוקנים שפורסמו כדי לחזק את האימות הזה.
מערך הבדיקות, הנתונים שנאספו והתוצאות המלאות מפורסמים במאגר קוד פתוח ייעודי:
| נתיב | תיאור |
|---|---|
| scripts/soak-test.ts | מריץ בדיקות משורת פקודה — מנתח XML, מריץ אימות ומפיק דוח |
| scripts/scrape-sailwave.ts | סורק אינטרנט לעמודי התוצאות של Sailwave ב-HTML |
| verifier/sailwaveVerifier.ts | מנוע ההשוואה — מחשב מחדש זמנים מתוקנים, מיקומים ונקודות |
| scoring-engine/ | מנוע הניקוד עצמו — raceScorer, seriesScorer, handicapCalculator, tieBreaker |
| data/sources.json | יומן מלא של כל 1,345 כתובות המקור שנאספו |
| data/soak-results.json | תוצאות בדיקה מלאות עם שיעורי התאמה לכל קובץ ופרטי אי-התאמות |
| REPORT.md | דוח ממצאים מפורט |
הסורק מכבד כתובות שכבר נאספו (מתועדות ב- sources.json) ויאסוף רק עמודים חדשים. כל חבילת הבדיקות רצה בפחות מ-60 שניות על הנתונים שנאספו.
כל נתוני התוצאות של Sailwave נלקחו מתוצאות שפורסמו בציבור ב- sailwave.com/results. Sailwave הוא סימן מסחרי של Jon Mayall. Flying Start אינה קשורה ל-Sailwave.