VORTEX
Accuracy
← Back to App
Live Scoreboard

How Accurate is VORTEX?

We publish our tornado projection numbers straight from the database. Every NWS tornado warning carries position, bearing, and speed — we compare our projected next-step against where the storm actually went. Here are the six numbers that matter, live from the last 90 days.

Loading latest numbers
Fetching accuracy data
📏 How we measure it

The setup

Every NWS tornado warning carries an eventMotionDescription field with the storm's position, bearing, and speed at issue time. On every one-minute alert-engine cycle we record that observation. When a warning is updated (usually every 5–15 minutes as the storm moves), we record the new observation too.

With two observations of the same tornado we can project: take the earlier one, dead-reckon forward using its reported bearing and speed for exactly the time gap between the two reports, and ask how far is that projection from the actual next observation?

That distance is delta_miles. Every number on this page rolls up from those pair-level distances.

The six numbers

  • Typical miss (P50, 0–15 min) — half of our short-lead projections land within this radius of the actual position.
  • Persistence skill — does our projection beat just leaving the dot at the previous position? Win rate plus median miles saved. If the win rate drops below 50% the projection is actively hurting in that bucket and we'd be better off doing nothing.
  • Honest limits (P95, 15–30 min) — at longer lead times, atmospheric chaos compounds. This is the worst-5% miss distance for projections 15–30 minutes out.
  • Catastrophic miss rate — fraction of projections that miss by more than 10 miles. Usually storms that changed direction sharply.
  • 14-day trend — short-window P50 of the last two weeks vs the two weeks before that. One bad storm can swing this; read it as a hint, not a verdict.
  • Sample size — pair count across the window. Numbers below N=30 are flagged as low-sample and rendered faintly. They're included for transparency, not for marketing.

What we don't claim

These numbers cover our dead-reckoning projection accuracy, not tornado warning lead time or NWS forecast quality — those are the NWS's numbers, not ours. If the storm re-issues with a new motion fix, we look wrong even when our math is right, because the new fix is our new ground truth. That's a real source of error that's included in these numbers, not filtered out.

Projections beyond 30 minutes degrade fast. We expose them in the admin dashboard but don't put them on this page, because publishing a P95 that's 25 miles wide at 60 min lead is not useful for safety planning.

Why publish this?

Nobody else in the severe-weather app space publishes projection accuracy openly. We think you deserve to know what you're paying for. If a bad storm season pushes these numbers the wrong way, we'll write about it rather than hide it.

Questions? Methodology suggestions? Email [email protected].

Technical caveat: Pairs are clipped to lead_minutes ∈ (0, 180] to drop dead-tornado artifacts where the NWS warning was reissued long after the storm dissipated. All percentiles are linear-interpolation (Postgres PERCENTILE_CONT).