- Condition score (0–100)
- Fraction of hourly readings within the sailing window that fall in the target wind range (2.0–12.0 kn) with consistent direction. The gradient bar maps score to quality colour.
- Probability (p=X%)
- Random Forest model confidence that the sailing window (08:00–16:00) will have ≥25% of hours with good conditions. Days above this threshold are classified as "good".
- Extended forecasts (+1d, +2d)
- Days beyond the direct ML target are scaled by ×0.82 and ×0.64 to reflect increasing uncertainty. Display-only — not included in the accuracy history.
- Data sources
- Observed wind from a local Ecowitt weather station. Wind, gust, cloud cover, and boundary-layer height forecasts from Open-Meteo NWP (no API key required).
- Actual conditions
- After each day's sailing window closes, hourly station readings are evaluated: the fraction of hours with wind in the 2.0–12.0 kn range is stored as the observed outcome. Once recorded, the day card shows "observed" instead of a model probability. Today's card switches to observed once 16:00 passes.
- History chart
- Cyan dashed = model probability at prediction time. Green solid = observed fraction of the sailing window with good wind (filled in after the day passes). The horizontal dashed line marks the 25% good-day threshold. Small coloured bars below each date show hour-by-hour quality within the sailing window: green = wind in range, dark = off-range.
- Accuracy metrics
- Days evaluated: days with both a prediction and a recorded outcome (window has passed). Accuracy: share of those days the model called correctly (good vs not good). Precision: of days predicted good, how many actually were — low precision means false alarms. Recall: of days that were actually good, how many the model caught — low recall means missed opportunities.