The forecast missed it
On September 27 the models had Muskegon CG Station, Muskegon topping out around 7 kt. We called an afternoon lake breeze at 7:00 AM that morning. It came in at 18 kt, 8° off the direction we called.
When we say no
The morning read says the engine never starts, and it has been right 146 times out of 146. Not one of those afternoons turned on.
Days worth rigging for
Across 85 verified days at Harbor Beach, the raw forecast stayed under 12 kt on 39 days that actually got there. We measure that gap and correct for it.
When we said go
Over the last 90 days we said go on 65 days and it blew on 46 of them. The other half of that number: 131 days turned out rideable and we had called 46 of them the night before. On the 85 we missed, the night-before forecast ran an average 7.6 kt under what the meter went on to read, and 68 of them were June–August days.
The call we did not make
On 650 of those mornings our lake-breeze model had already scored the afternoon, and we measured whether letting it overrule the overnight forecast would help. It would not: across 166 days the forecast called off, the model's strongest call was followed by a rideable afternoon 8% of the time, against 71% for the forecast's own go-calls. So it overrules nothing. What it does measure is the gap: on those days the meter beat the forecast by a median 4.3 kt — real, and still short of most riders' bar.