How the Snow Day Predictor works
The percentage you see is produced by a small, transparent logistic model run entirely in your browser on a live weather forecast. There's no hidden AI and no official feed — just published math you can inspect below (and in the source). It is a probabilistic estimate, not an announcement.
The data
- Weather: the hourly forecast from Open-Meteo — snowfall, temperature, apparent temperature (wind chill), freezing rain, wind, and snow depth. No API key; fetched client-side.
- Locations: city coordinates from GeoNames, licensed CC BY 4.0.
The window
Schools decide based on the overnight-into-morning conditions, so the model scores roughly 10 p.m. to 7 a.m. local time, with extra weight on the 2–6 a.m. commute window. Total storm snowfall that arrives midday doesn't cancel school the way three inches at 5 a.m. does.
The features
Each feature contributes to a score z, starting from a base of -3.6 (a low base rate). The snow-day probability is 100 × sigmoid(z).
| Feature | Weight | What it captures |
|---|---|---|
| Overnight snowfall | +0.55 per inch | Total forecast snowfall in the window. The biggest single driver. |
| Ice | +1.4 if present | Freezing rain or sleet in the window. Closes schools more reliably than snow. |
| Commute timing | +1.2 max | Share of the snow falling 2–6 a.m., right at the bus/commute window. |
| Below freezing | +0.25 per 10°F | How far the coldest temperature drops below 32°F. |
| Wind | +0.3 per 10 mph over 20 | Peak wind — blowing/drifting snow and visibility. |
| Existing snowpack | +0.4 if present | Snow already on the ground at the start of the window. |
| Extreme cold | +1 if wind chill < −20°F | Dangerous wind chill that closes schools on its own. |
Region & district adjustments
A fixed snowfall threshold would be wrong almost everywhere, so the score shifts by climate region and by the kind of district you pick.
| Region | Adjustment |
|---|---|
| Deep South / Gulf | +1 |
| Upland South / Mid-Atlantic | +0.5 |
| Pacific lowland | +0.3 |
| Lower Midwest / Plains | -0.2 |
| Mountain West | -0.4 |
| Upper Midwest | -0.6 |
| Northeast / New England | -0.8 |
| Alaska | -0.8 |
| District type | Adjustment |
|---|---|
| Public (default) | 0 |
| Rural (long bus routes) | +0.4 |
| Urban (walkable / plowed first) | -0.2 |
| Catholic / no buses | -0.6 |
Snow day vs. 2-hour delay
The 2-hour-delay number is the marginal probability of a delay that isn't a full
closure: sigmoid(z + 1.1) − sigmoid(z). That's why it
peaks for borderline storms and falls toward zero in both calm and extreme weather — exactly
when districts either run normally or just close. On weekends and holidays both numbers are
forced to zero.
How it's calibrated
The coefficients are tuned (and locked by an automated test suite) so that:
- a dry weekday in a neutral region reads about 2–5%;
- 8″ of overnight snow plus ice on a New England weekday reads 90%+;
- any snowfall on a weekend reads ~0%.
Honest limitations
These weights are heuristic — chosen to match real-world intuition, not trained on a labeled dataset of historical closures (a planned improvement). The estimate is only as good as the forecast it runs on, and it can't know a specific district's habits, budget, or how many days it has already missed. Two towns five miles apart often make opposite calls.
SnowDay Predictor is not affiliated with any school district and is not an official source. Treat the number as a fun, well-informed second opinion, and always confirm closures and delays with your school or district directly.