Skip to main content
Corralco — forecast verification backdrop
Corralco

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.

Updated Aug 21, 2026, 2:31 PM UTC

The accuracy edge, measured

Our blend beats the best single model

8.9%

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.38 cmJMA (5.69 cm)−5.5%
1–3 days out4.89 cmJMA (5.37 cm)−8.9%
4–7 days out5.51 cmJMA (5.78 cm)−4.7%
8–14 days out6.51 cmECMWF (6.76 cm)−3.8%

MAE = mean absolute error in centimeters. Scored on snow days (measured snowfall ≥ 1 cm), against measured ground truth only — SNOTEL stations and resort-reported totals, never another model. Lower is better; a negative “vs best” means the blend has lower error than the strongest single model for that horizon. Coverage today is weighted toward SNOTEL-instrumented (largely North American) resorts. Updated Jul 28, 2026, 5:40 PM 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.

Verified forecast rows

6,997,870

All horizons, all models

Resorts tracked

556

Mountains with coordinates

Weather models

7

ECMWF, GFS, GEM, JMA, ICON, Météo-France, Met Norway

Date range

2024-01-01 → 2026-08-21

Historical backfill + live archive

Historical backfill

0 rows

Open-Meteo Previous Runs vs ERA5 actuals, 2024-01-01 → pre-archive gap

Live daily archive

3,581,260 rows

From 2026-02-21 — stored forecasts vs measured outcomes each morning

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.

T1SNOTEL station readings
507,169 rows · 26%

961 active stations matched to resorts · daily NRCS ingestion

T2Resort-reported 24h snowfall
4,816 rows · 0%

Relayed from official resort snow reports where available

T5ERA5 / Open-Meteo retrospective
1,471,215 rows · 74%

Used only when no SNOTEL or resort report exists for that mountain and date

Best model by region

Recalculated weekly from verified mean absolute error (MAE). Skill score is 100 − (MAE × 5), capped 0–100 — higher is better. Each resort page shows a 90-day breakdown for that specific mountain.

RegionTop modelDay-1 MAESkill score
RockiesMétéo-France3.7 cm81.2
CascadesICON4.3 cm77
AlpsMétéo-France5.6 cm71.3
SierraMétéo-France6.5 cm67.7
AndesMétéo-France10.4 cm48.5
Southern AlpsMétéo-France13.6 cm33.2

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