Why snow costs America a fortune every year

Snow is peaceful and calm when it falls, but it leads to billions of dollars in cascading costs.

In the winter of 1979, a powerful Chicago political dynasty began to collapse. 

Michael A. Bilandic, a cog in Richard J. Daley’s political machine, lost the mayoral election in a stunning upset. But there was a simple reason for the defeat: Bilandic didn’t clear the snow quickly enough. 

After a forecast for a couple inches, a blizzard hit Chicago that January. Buses and trains didn’t run for days, residents couldn’t find anywhere to park their cars, and plows took forever to reach neighborhoods — unless you were lucky enough to live on the same block as Bilandic.  

The lesson? Don’t take snow lightly.

Beyond closures and clogged roads, it can come with steep financial costs. According to a study from the Federal Highway Administration, the nation’s tab for snow and ice removal can be upwards of $4B per year.

Zachary Crockett / The Hustle

Every year, cities and states must decide how to budget for random winter weather events. When they aren’t sufficiently prepared, the costs accumulate.

Where do those billions of dollars go? And how do cities plan for unpredictable weather events? 

Salt, snow plows, and brine

Rick Nelson is a coordinator for the Snow and Ice Pooled Fund Cooperative Program, a group that researches the best strategies for winter weather maintenance.

He describes equipment, materials, and staffing as “the trinity” of snow cleanup. 

Enjoying this article?

Get the Hustle’s 5-minute weekday roundup that keeps you hip to happenings in tech, business, and internet… things.

Among the most important pieces of equipment are snow plows, which cost cities and states ~$200k each. States have their own fleets and often contract with companies to use more plows as needed. 

Zachary Crockett / The Hustle

For materials, government agencies typically purchase salt and sand and mix their own salt brine, which ends up costing them ~$0.10/gallon or less.

At scale, those costs add up: The Utah Department of Transportation used 2.1m gallons of brine and 202k tons of salt in a recent winter — a total cost of ~$4.3m.

Spending a couple million is far cheaper than the alternative.

According to a 2014 study by IHS Global Insight, states can lose anywhere from $70m to $700m a day in lost wages, retail sales, and tax revenues when they’re shut down by winter weather. 

Zachary Crockett / The Hustle

Economists estimated the Texas winter freeze of 2021 cost anywhere from $150B to $300B, although much of that was attributed to widespread power shortages that could have been avoided with comparably minimal investment.

The human toll can be worse:

  • As many as 700 people may have died during the Texas winter storm.
  • When a bomb cyclone struck the US last month, dozens died in Buffalo, New York, as emergency responders struggled to traverse roads.

Given the potentially catastrophic consequences, stocking up on plows, salt brine, and labor would seem like a no-brainer. But not for every city. 

The complications of planning for winter

Cities and states use average weather patterns to estimate necessary expenditures for a given year. But the costs of snow — like the weather — are often unpredictable. 

“A budget is a guess,” says Luke Reiner, director of the Wyoming Department of Transportation, which budgeted ~$30m for treating snow and ice this winter and expects to spend as much on labor, materials, and equipment. 

When cities and states see a milder winter than average, they have sunk costs, including money owed on equipment, materials that may expire, and labor. They may also utilize a similar number of resources for one blizzard as they would for several average snow storms. 

In 2007, New York City spent ~$45m on ~15 inches of snow, roughly the same amount it spent on ~40 inches of snow in 2005, the latter amount being closer to its annual snowfall average.

Zachary Crockett / The Hustle

Above-average snowfall entails greater hits to the budget: 

  • Overtime pay and extra fuel for plow drivers
  • Overtime for law enforcement officials 
  • Extra de-icing materials, which have become more expensive and harder to attain in the middle of winter because of salt shortages in recent years
  • Payments for contracted workers and equipment 

The Wyoming Department of Transportation went ~$10m over budget in the winter of 2019-20. Boston, which saw ~110 inches of snow in 2014-15, spent $40m — more than 2x its $18m budget.

Maryland saw ~67% more winter storm events than usual in 2014-15 and spent $108m.

Zachary Crockett / The Hustle

After severe winters, roads are often rife with cracks and potholes — and not just because of the weather damage. State agencies typically run on a net-zero budget. Extra amounts spent on snow must be taken from somewhere else, usually by delaying summer construction projects and repairs.

The Wyoming Department of Transportation doesn’t hesitate to reallocate money during severe winters, seeing snow removal as a “no-fail mission” that supersedes its other duties, according to Reiner.

The same is true for Minneapolis, which sees ~50 inches per year and budgets $13m annually for snow removal. 

  • The city uses a fleet of dozens of plows and full-time and part-time staff. 
  • Its Public Works Department works around-the-clock shifts during snow emergencies, first clearing primary roads needed for people experiencing emergencies and who need to get to work. 
  • After heavy snowfalls (~12-18 inches), the Public Works Department can return Minneapolis to regular levels of activity within three days.  

“To be a winter city and to have an enjoyable experience, you really need this sort of budget and support,” Margaret Anderson Kelliher, director of the Minneapolis Public Works Department, says. 

The economic calculus is trickier for cities and states in the Sunbelt. 

Atlanta has far less equipment and trains workers who have a variety of roles to clean up snow. The city rarely clears smaller neighborhood roads as temperatures usually rise above freezing after a couple days. 

Zachary Crockett / The Hustle

But every so often a winter storm leaves Atlanta vulnerable. 

The infamous Snowpocalypse of January 2014 stranded thousands of people on Atlanta-area roads after two-plus inches of snow. That storm cost Atlanta $2.8m.

When a severe ice storm hit the city again two weeks later, the city’s reaction was swifter, albeit more expensive, with most of the $10.7m cost going toward contracted workers and companies that assisted the city. 

Zachary Crockett / The Hustle

Since then, Atlanta has reevaluated its protocols for when to announce weather emergencies and attempted to better educate local drivers on the dangers of ice and snow. The city hasn’t made major investments in equipment or materials that might expedite snow removal or lower the cost of cleaning up a severe winter storm. 

“If I told the community we won’t pave any more roads because we’ll stockpile salt and buy more plows, I think there would be a very unhappy community,” Marsha Anderson Bomar, interim commissioner of the Atlanta Department of Transportation, says.

“They want us to prioritize things that matter most of the time and manage the more rare occurrences.” 

Coming this winter: A labor shortage

Even some of the most heavily funded states and cities will be unable to achieve an ideal level of investment in snow cleanup this year: supply chain issues have complicated procurement of salt and de-icing materials, and plow drivers are difficult to hire.

A survey by the American Association of State Highway and Transportation Officials last February indicated 84% of city and state agencies responsible for snow cleanup had higher-than-normal driver vacancies.

  • Many drivers have stopped working and potential drivers have not entered the field because of low wages, especially for the difficult work involved.
  • Many states need drivers in remote areas where few people desire to live. 

The Wyoming Department of Transportation budgets for 450 drivers but was ~67 drivers short as of early December. 

WYDOT has explored offering free housing to drivers who have been priced out of areas like Jackson Hole, and the state bumped up the hourly wage for a driver to $18.14, from $17.31, which Reiner acknowledges is still not enough.

Snow plow drivers are in short supply in some states (Getty Images)

The agency can mitigate its shortage by transferring drivers across the state to areas facing greater impacts from winter storms. But statewide storms will be a problem. 

“If there’s a statewide storm, we have said publicly the response will be slower,” Reiner says. “There’s fewer plow trucks on the road.”

And when there aren’t enough drivers, supplies, or plows, the effects can be far-reaching. Just ask one-time Chicago Mayor Michael A. Bilandic, who knew that his fate was sealed by the blizzard of 1979. 

“In the end, God sent us 100 inches of snow,” Bilandic said years later. “And I happened to lose [an] election because of it.”

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​

RECENT POSTS

Psst

How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="https://thehustle.co/new-thank-you-v2/" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); Array.prototype.forEach.call(wrappingDivs,wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="US"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value="https://thehustle.co/why-snow-costs-america-a-fortune-every-year/"> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/new-thank-you-v2/"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="https://thehustle.co/privacy">Privacy Policy</a>.</p> </div> </div> </div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>