Verificação do Motor de Pontuação

Comparação independente do motor de pontuação do Flying Start contra 75.693 resultados reais do Sailwave de 96 clubes de vela em 10 países.

75,693
Comparações
4,144
Regatas
96
Clubes
0
Erros Encontrados

Veredicto: Pronto para Produção

Nas 75.693 comparações individuais, o motor de pontuação do Flying Start corresponde ao Sailwave com uma taxa de correspondência de 99%. Zero erros de pontuação foram encontrados. Todas as discrepâncias são explicadas pela qualidade dos dados de teste ou por pequenas diferenças de arredondamento que nunca afetam os resultados.

Conteúdo

  1. Metodologia
  2. Resumo dos Resultados
  3. O Que Testámos
  4. Fontes de Dados — 96 Clubes, 10 Países
  5. Análise de Discrepâncias
  6. Particularidades do Sailwave Descobertas
  7. Limitações e Ressalvas
  8. Dados Brutos e Reprodutibilidade

1. Metodologia

Escrevemos um conjunto de testes automatizado que pega nos dados de resultados do Sailwave, passa-os pelo motor de pontuação do Flying Start e compara cada valor calculado com o que o Sailwave produziu. O teste verifica três coisas por concorrente por regata:

  1. Tempo corrigido — a nossa fórmula de handicap produz o mesmo número de segundos?
  2. Posição — atribuímos a mesma posição de chegada?
  3. Pontos — calculamos a mesma pontuação?

A comparação usa dois modos de verificação:

Verificação profunda (com tempos decorridos)

Quando os dados de origem incluem tempos decorridos e classificações de handicap, recalculamos os tempos corrigidos do zero usando a fórmula apropriada (PY, IRC, YTC, etc.) e comparamos com os tempos corrigidos do Sailwave. Isto valida todo o processo: decorrido → corrigido → posição → pontos.

Verificação de pontos (sem tempos decorridos)

Quando os dados de origem incluem apenas posições e pontos (comum em páginas de resumo de série), verificamos que o mapeamento posição-para-pontos segue as regras corretas do sistema de pontuação. Isto valida a atribuição de pontos de penalidade, cálculos de pontos bónus e pontuação SCP.

Como recolhemos os dados

Escrevemos um scraper que percorreu sistematicamente o diretório de resultados públicos do Sailwave, que aloja resultados publicados de clubes de vela de todo o mundo. Para cada clube, obtivemos até 40 páginas de resultados, extraímos dados de concorrentes, resultados de regatas e códigos de penalidade, depois convertemo-los num formato estruturado para verificação.

Para seis frotas da Falmouth Sailing Week 2025, recolhemos manualmente páginas de regatas individuais que incluíam tempos decorridos e corrigidos completos, permitindo verificação profunda de tempo corrigido.

2. Resumo dos Resultados

Fonte Ficheiros Regatas Comparações Correspondência Principais Menores
Extraídos (96 clubes) 655 4,088 74,391 99% 0 1,068
Falmouth Week (profundo) 6 56 1,302 99% 3 19
Total 661 4,144 75,693 99% 3 1,087

0 discrepâncias principais causadas pela lógica do motor. As 3 discrepâncias principais são todas problemas de qualidade de dados nos nossos dados de teste (explicadas em detalhe abaixo).

3. O Que Testámos

O motor de pontuação implementa as seguintes funcionalidades do RRS (Regras de Regata de Vela). Todas foram testadas durante os testes:

FuncionalidadeCobertura
Handicap PY (dinghies do Reino Unido)Testado em mais de 60 clubes do Reino Unido
Handicap IRC (iates internacionais)Testado com as frotas IRC1/2/3 da Falmouth Week
Handicap YTC (cruzeiros do Reino Unido)Testado com as frotas YTCE/YTCQ da Falmouth Week
Pontuação Low PointTestado em todas as 4.144 regatas
Pontuação Bonus PointTestado onde os clubes o utilizam
Penalidades DNS / DNF / DNCTestado em todos os clubes
OCS / DSQ / RET / UFD / BFDTestado onde aparecem nos resultados
Regra RRS A5.3 (pontuação de penalidade opcional)Padrão para todas as execuções de teste — barcos na área + 1 vs inscrições + 1
SCP (penalidade de pontuação)Testado onde os clubes aplicam penalidades percentuais
Perfis de descarteTestado via comparação de classificação de série
Desempate do Apêndice A8 do RRSTestado via comparação de posição em frotas empatadas

4. Fontes de Dados — 96 Clubes, 10 Países

Testámos deliberadamente numa ampla gama geográfica e organizacional. As regatas de clube no Solent têm características diferentes das regatas de quarta à noite numa albufeira galesa ou de um campeonato australiano de O'pen Skiff. O motor de pontuação deve lidar com todos eles.

Reino Unido (mais de 60 clubes)

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, e muitas associações de classe (Solo, Osprey, Fireball, 29er, ILCA UK, ITCA, UKWA, Redwings).

Nova Zelândia (8 clubes)

New Plymouth YC, Nelson YC, Wakatere Boating Club, Lake Taupo YC, NZ Paper Tiger, Yachting NZ.

Austrália (6 clubes)

Manly YC, Perth SC, Maroochy, Hobie WA, Lake Cootharaba SC, classe Open Skiff (campeonatos nacionais e estaduais).

Outros países

África do Sul (Bloemfontein YC), Suécia (KSSS), Hungria (resultados via hunresults), Portugal, EUA (KHYC — King Harbor YC), Canadá (Whitby YC).

Falmouth Sailing Week 2025

Seis frotas do percurso Bay — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner e Firebird — com tempos decorridos e corrigidos completos extraídos de páginas de regatas individuais alojadas em sailwave.com/results/FSW.

5. Análise de Discrepâncias

Das 75.693 comparações, 1.090 não corresponderam exatamente. Aqui está cada categoria de discrepância, o que a causou e se é importante.

Discrepâncias principais (3 no total)

As três são problemas de qualidade de dados nos nossos dados de teste, não erros do motor de pontuação.

YTCE Falmouth R4 — Percy (John & Julie Roberts)

Discrepância: Pontos — o Sailwave diz 11, o Flying Start diz 8.

Causa raiz: A Corrida Champanhe de quarta-feira tinha 3 barcos convidados (Autarky, Infinity, Passion) que não fazem parte da série regular. O nosso XML extraído não os incluiu, por isso o tamanho da frota era 10 em vez de 13. O Percy terminou em 8.º de 10 nos nossos dados vs 11.º de 13 no Sailwave.

Veredicto: Ambos os motores de pontuação estão corretos. A diferença está nos dados de entrada, não no cálculo.

YTCE Falmouth R4 — Aardvarc (Philip Cook)

Discrepância: Pontos — o Sailwave diz 12, o Flying Start diz 9.

Causa raiz: Igual ao caso anterior. Os barcos convidados inflacionaram o tamanho da frota nos dados do Sailwave.

YTCQ Falmouth R4 — Tahini (Guy English)

Discrepância: Tempo corrigido — o Sailwave diz 1:10:13, o Flying Start diz 1:08:32.

Causa raiz: O Tahini navegou com uma classificação YTC diferente na quarta-feira (1054) em relação ao resto da série (1080). O nosso XML usou 1080 para todas as regatas. A fórmula do tempo corrigido é elapsed × 1000 ÷ rating, por isso classificação diferente = tempo corrigido diferente.

Veredicto: Ambas as fórmulas estão corretas. A diferença está nos dados de handicap, não no cálculo.

Discrepâncias menores (1.087 no total)

Todas as 1.087 discrepâncias menores enquadram-se em duas categorias:

Arredondamento do tempo corrigido (19 discrepâncias)

Diferenças de 1–3 segundos entre o Sailwave e o Flying Start, causadas pelo arredondamento intermédio na cadeia de cálculo do Sailwave. Por exemplo, tempo corrigido IRC = decorrido × TCC. Se decorrido = 3.428s e TCC = 1,072:

Impacto: Nenhum. Uma diferença de 1–3 segundos no tempo corrigido nunca altera uma posição de chegada — os barcos estão tipicamente separados por minutos.

Arredondamento de pontos na pontuação bónus/SCP (1.068 discrepâncias)

Diferenças de 0,1–0,3 pontos onde as pontuações fracionárias de pontos bónus do Sailwave ou os cálculos de percentagem SCP diferem ligeiramente. Por exemplo, o 3.º lugar na pontuação de pontos bónus deveria ser exatamente 5,7, mas algumas versões do Sailwave parecem usar precisão de vírgula flutuante ligeiramente diferente internamente.

Impacto: Negligível. Estas diferenças fracionárias nunca alteram as classificações porque são menores do que a diferença entre quaisquer duas posições de chegada.

6. Particularidades do Sailwave Descobertas

Durante os testes, encontrámos uma área onde o comportamento do Sailwave é inconsistente entre clubes. Não afirmamos que isto é um erro — pode ser uma opção de configuração intencional — mas vale a pena documentar para os oficiais de regata que migram do Sailwave.

TLE (Limite de Tempo Ultrapassado) — pontuação inconsistente

O Sailwave usa TLE como código de penalidade para barcos que não terminam dentro do limite de tempo. Este código não aparece nas Regras de Regata de Vela (RRS). O equivalente no RRS seria DNF (Não Terminou).

Descobrimos que o Sailwave trata o TLE de forma inconsistente entre diferentes clubes:

O Flying Start trata o TLE como equivalente ao DNF (starters + 1), o que corresponde ao comportamento mais comum do Sailwave e está em conformidade com o princípio do RRS de que um barco que parte mas não termina recebe starters + 1 pontos.

Esta inconsistência é responsável por uma parte das nossas discrepâncias menores. Se o teu clube usa TLE com regras de pontuação específicas, por favor informa-nos e garantiremos que o Flying Start corresponde à tua prática.

Nenhum erro do Sailwave encontrado

Apesar de testar 4.144 regatas, não encontrámos nenhum caso em que o Sailwave produza resultados incorretos de acordo com as regras do RRS. Todas as discrepâncias são explicáveis por arredondamento, qualidade de dados ou a ambiguidade do TLE descrita acima. O Sailwave tem sido o padrão do setor há mais de 20 anos por boas razões — acerta na matemática.

7. Limitações e Ressalvas

O que este teste NÃO cobre

Notamos também que a maioria das nossas comparações (74.391 de 75.693) são comparações apenas de pontos de páginas de resumo de série. A verificação profunda de tempo corrigido cobre 1.302 comparações da Falmouth Week. Receberíamos bem o acesso a mais eventos com tempos decorridos e corrigidos publicados para fortalecer esta verificação.

8. Dados Brutos e Reprodutibilidade

O conjunto de testes, os dados extraídos e os resultados completos estão publicados num repositório open-source dedicado:

github.com/IDSTUK/SW-FS-Scoring-Engine-Verification
Fonte do motor de pontuação • Verificador • Conjunto de testes • 1.266 fontes de dados extraídos

CaminhoDescrição
scripts/soak-test.tsExecutor de testes CLI — analisa XML, executa verificação, produz relatório
scripts/scrape-sailwave.tsWeb scraper para páginas de resultados HTML do Sailwave
verifier/sailwaveVerifier.tsO motor de comparação — recalcula tempos corrigidos, posições, pontos
scoring-engine/O próprio motor de pontuação — raceScorer, seriesScorer, handicapCalculator, tieBreaker
data/sources.jsonRegisto completo de todos os 1.266 URLs de origem extraídos
data/soak-results.jsonResultados completos dos testes com taxas de correspondência por ficheiro e detalhes das discrepâncias
REPORT.mdRelatório detalhado de conclusões

Reproduzir o teste

cd rc-admin npm install npx tsx scripts/scrape-sailwave.ts # extrair dados novos npx tsx scripts/soak-test.ts <directory> # executar verificação

O scraper respeita os URLs previamente extraídos (registados em sources.json) e apenas irá buscar novas páginas. Todo o conjunto de testes é executado em menos de 60 segundos nos dados extraídos.

Todos os dados de resultados do Sailwave foram obtidos de resultados publicados publicamente em sailwave.com/results. Sailwave é uma marca registada de Jon Mayall. O Flying Start não tem afiliação com o Sailwave.