Skip to main content
Cerro Bayo — forecast verification backdrop
Cerro Bayo

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 Jun 27, 2026, 5:58 AM UTC

The accuracy edge, measured

Our blend beats the best single model

7.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.29 cmJMA (5.52 cm)−4.3%
1–3 days out4.89 cmJMA (5.26 cm)−7.1%
4–7 days out5.55 cmJMA (5.67 cm)−2.1%
8–14 days out5.47 cmECMWF (5.68 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 Jun 25, 2026, 11:35 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,303,901

All horizons, all models

Resorts tracked

450

Mountains with coordinates

Weather models

7

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

Date range

2024-01-01 → 2026-06-26

Historical backfill + live archive

Historical backfill

4,159,212 rows

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

Live daily archive

2,144,689 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
480,633 rows · 25%

961 active stations matched to resorts · daily NRCS ingestion

T2Resort-reported 24h snowfall
264 rows · 0%

Scraped from official resort snow reports where available

T5ERA5 / Open-Meteo retrospective
1,445,326 rows · 75%

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
JapanJMA0 cm100
AlpsMétéo-France0 cm100
SierraJMA0 cm100
ScandinaviaGEM0 cm100
PyreneesECMWF0 cm100
East CoastJMA0 cm100
RockiesMétéo-France0 cm100
CascadesGFS0.1 cm99.7
Southern AlpsMétéo-France0.2 cm99.1
AndesGFS1.4 cm93.5

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