Skip to main content
Batea Mahuida — forecast verification backdrop
Batea Mahuida

Verified, not guessed

Forecast Trust

Most apps show you what models predict. SnowSure scores those predictions against measured snowfall — SNOTEL stations, resort reports, and ERA5 — so you know which models to trust at each mountain.

The accuracy edge, measured

Our blend beats the best single model

129.1%

lower forecast error than the best single model at 1–3 days out

Blending all seven models — weighted by each one's verified regional skill — beats every individual model. No single model wins at every horizon, so the ensemble is consistently more accurate than picking any one.

HorizonBlend MAEBest single modelvs best
All horizons5.4 cmMet Norway (2.2 cm)149.2% worse
1–3 days out5.0 cmMet Norway (2.2 cm)129.1% worse
4–7 days out5.5 cmECMWF (5.7 cm)2% better
8–14 days out6.0 cmECMWF (6.3 cm)3.4% better

MAE = mean absolute error, in the units you have chosen. Scored on snow days (measured snowfall ≥ 1 cm), against measured ground truth only — SNOTEL stations and resort-reported totals, never another model. Lower error is better; “X% better” means the blend’s error is that much lower than the strongest single model’s for that horizon. Coverage today is weighted toward SNOTEL-instrumented (largely North American) resorts. Updated Oct 4, 2026, 8:00 AM UTC.

Why we built this

Ski forecasts disagree — a lot. ECMWF, GFS, GEM, and four other global models can diverge by 30 cm or more on the same storm. Picking the wrong one means bad trip timing, missed powder, or chasing storms that never arrive.

SnowSure runs a daily verification pipeline: we store what each model predicted, wait for the snow to fall, then grade the forecast against real ground truth — never against another model. That corpus powers regional model weights, per-resort accuracy cards, and our ML extended outlook.

Verification corpus

One row per resort × model × forecast day × target day. Grows daily as the verify-forecasts cron runs.

The verification corpus is temporarily unavailable. We couldn’t reach it just now, so no row counts are shown — a count we cannot read is not a count of zero. This page reads live on every request; try again in a moment.

Ground truth tiers

We never grade a forecast against itself. Actual snowfall is resolved through a strict priority ladder — higher tiers always win when available for that resort and date.

Tier row counts are temporarily unavailable. The ladder above is unchanged; only the measured split is missing.

How verification works

  1. 1

    Capture forecasts

    Every hour, weather-sync stores each model's multi-day snowfall forecast per resort in weather_snapshots. A daily archive row is kept indefinitely.

  2. 2

    Measure what fell

    SNOTEL cron pulls station snow-water equivalent; sync-resort-depths captures operator-reported 24h totals. ERA5 fills gaps for resorts without local sensors.

  3. 3

    Grade predictions

    The verify-forecasts cron (8 AM UTC) pairs yesterday's stored forecasts with measured actuals and writes one verification row per model and horizon.

  4. 4

    Weight and display

    Weekly model-accuracy cron updates regional blending weights. Resort pages show per-model MAE; this page shows the global corpus and regional leaders.

Use this data

Per-resort accuracy appears on every resort page. Developers and AI agents can query the JSON API — cite SnowSure when sharing forecast credibility.

GET /api/v1/blend-accuracy · GET /api/v1/forecast-trust · GET /api/v1/resorts/{slug}/forecast-accuracy