How to Price a Seasonal Snow Plowing Contract With NOAA Data
How to price a seasonal snow plowing contract from your station's NOAA snow day normals, with per push math, a break-even table and contract terms.
The MakeHay team · · 11 min read

Here is how to price a seasonal snow plowing contract: from the weather record, not from last winter. NOAA's 1991 to 2020 normals give most airport stations an average count of days with 1 inch or more of snow and days with 3 inches or more; those become expected pushes, pushes times a costed per-push price make the season fee, and a cap on pushes protects the margin.
Seasonal vs per push snow removal: who carries the weather risk
A seasonal fee moves the weather risk onto you; per push leaves it with the customer; per inch (a price stepped by measured depth) and per event (one price per storm, whatever the trips) sit between. A customer on a fixed budget is the seasonal buyer. A contractor who cannot carry a 30-push winter at a 15-push price sells per push, or seasonal with a cap.
Find your town's real snow day count
Use NOAA's 1991 to 2020 climate normal for days with snowfall at or above a threshold, an average over 30 winters, not one bad winter.
The two numbers to write down
In NCEI's readme, AVGNDS means average number of days and the GEnnnTI suffix is a threshold in tenths of an inch, so ANN-SNOW-AVGNDS-GE010TI is days with 1 inch or more and GE030TI days with 3 inches or more.
| Station | Days with 1 inch or more | Days with 3 inches or more |
|---|---|---|
| Chicago O'Hare, IL | 11.4 | 3.9 |
| Minneapolis St. Paul, MN | 14.6 | 5.0 |
| Buffalo, NY | 25.6 | 9.1 |
Pulling them from the NCEI search tool
- Step 1: Open NCEI's normals search and look up the nearest airport station.
- Step 2: Download its CSV, or open it in the by-station directory (O'Hare is USW00094846.csv).
- Step 3: Read ANN-SNOW-AVGNDS-GE010TI and GE030TI: 11.4 and 3.9 days a year at O'Hare.
- Step 4: Check the comp_flag beside each: S means 24 or more years of data; R and P mean 10 or more, E as few as 2.
If the nearest station is short on data
Denver International's file has no snow normals, and Hartford Bradley's 12.5 days with 1 inch or more carries a P flag for 23 years; use the next airport in the same climate.
How many pushes in a snow season?
At a 1-inch trigger, expected pushes equal the 1-inch days plus the 3-inch days: every day with 1 inch or more is a push, and the formula counts a second trip for every day with 3 inches or more. O'Hare: 11.4 + 3.9 = 15.3, so 15. The normals count days with snowfall, not storms, so a storm that drops 2 inches Monday night and 4 more Tuesday is two 1-inch days and one 3-inch day, three pushes.
What one push costs you
A push costs minutes on site plus drive time at your loaded hourly cost; the per-acre post covers big lots.
Minutes per push from blade width and speed by depth
BOSS Snowplow's productivity guide puts plowing speed at 10 to 14 mph in 1 to 2 inches of snow, 8 to 12 mph in 2 to 4 inches, 5 to 10 mph in 4 to 6 inches, 3 to 7 mph in 6 to 10 inches and 1 to 5 mph over 10; an angled 98-inch blade clears about 85 inches, call it 7 ft; a turn adds 15 to 30 seconds; stacking takes 5 to 15 minutes per lot; it suggests a 20 to 25 percent buffer and a 60 to 80 percent efficiency factor. Blade minutes = sq ft ÷ (blade ft × mph × 88) ÷ efficiency, since 1 mph is 88 ft a minute; then add turns, stacking and the buffer.
Labor, fuel, salt and insurance per trip
Labor: the US Bureau of Labor Statistics 2025 median wage for landscaping and groundskeeping workers is $18.82 per hour (O*NET). Fuel: the US Energy Information Administration's weekly update put on-highway diesel at $6.199 per gallon for the week of October 5, 2026. Salt is its own line and rule, costed in the salt post. Insurance and the truck: divide the winter's share by expected plowing hours.
How to price a seasonal snow plowing contract: the formula
Season price = expected pushes × per-push price + a reserve, under a cap. The per-push price is cost divided by one minus your margin; the reserve is extra pushes absorbed before the cap, at cost.
How to price a seasonal snow removal contract with a bad-winter reserve
The example uses O'Hare's normals, the BOSS speeds, the BLS median wage and the EIA diesel price; its own inputs are a 40 percent margin, a $40 per hour truck rate, 2 gallons of diesel per plowing hour, 10 minutes of drive between stops, 70 percent efficiency, a 25 percent buffer, a 220 by 198 ft acre plowed the long way, a 3-push reserve, a 6-inch overage threshold and a 15 percent per-inch overage rounded from the deep-storm time ratio.
Worked example: A 60 by 20 ft driveway and a 1-acre lot, per push and seasonal, on Chicago O'Hare normals
- Expected pushes: 11.4 + 3.9 = 15.3, so 15.
- Hourly cost = $18.82 labor + 2 gallons × $6.199 fuel + $40 truck = $71.22 per hour.
- Lot blade minutes = sq ft ÷ (blade ft × mph × 88) ÷ efficiency = 43,560 ÷ (7 × 10 × 88) ÷ 0.7 = 10.1 minutes at 10 mph in 2 inches.
- Lot turns: 198 ÷ 7 = 29 passes and 28 turns × 30 seconds = 14 minutes.
- Lot on site: (10.1 + 14 turns + 5 stacking) × 1.25 buffer = 36 minutes, matching the per-acre post.
- Lot cost per push: (36 + 10 drive) ÷ 60 × $71.22 = $54.60.
- Driveway on site: 20 ft ÷ 7 ft is 3 passes with a turn at each end, so (6 turns × 0.5 + 5 stacking) × 1.25 = 10 minutes; blade time on 1,200 sq ft, 0.3 minute, rounds away.
- Driveway cost per push: (10 + 10 drive) ÷ 60 × $71.22 = $23.74.
- Per-push price = cost ÷ 0.6 (a 40 percent margin): $91 lot, $40 driveway.
- Seasonal base = 15 × price: $1,365 lot, $600 driveway.
- Reserve = 3 pushes at cost: $164 lot, $71 driveway.
- Seasonal price = base + reserve: $1,529 lot, $671 driveway, covering 18 pushes.
- Per-inch overage above 6 inches: at 5 mph the lot takes (20.2 blade + 14 turns + 15 stacking) × 1.25 = 62 minutes on site, 72 with drive against 46, so a 10-inch storm costs about 1.6 light pushes, 60 percent more for 4 extra inches, or 15 percent of the per-push price per inch: $14 lot, $6 driveway.
- Customer's break-even against per push: $1,529 ÷ $91 = 16.8 pushes.
Result: $91 per push or $1,529 a season for the 1-acre lot; $40 per push or $671 for the 60 by 20 ft driveway, each capped at 18 pushes.
| Pushes in the winter | Per push, lot | Seasonal, lot | Per push, driveway | Seasonal, driveway |
|---|---|---|---|---|
| 10 | $910 | $1,529 | $400 | $671 |
| 17 | $1,547 | $1,529 | $680 | $671 |
| 22 | $2,002 | $1,893 | $880 | $831 |

In MakeHay, the snow removal starter list prices "Seasonal contract, per month" and "Plowing, per push" as Each lines and "Hauling and stacking" as Flat price, so both models sit on one quote from the price book under Settings › Services.
Caps, per-inch overages and the clause that saves a seasonal contract
The clause that saves a seasonal contract is the cap: the fee covers a stated number of pushes (18 in the example), and pushes past it bill at the per-push price. Add a per-inch overage, since a deep storm at 3 to 7 mph takes about 1.7 times as long on site as a light one (62 against 36 minutes above); a 2013 Missouri DOT bid (tabulation 169, a US state bid) priced plowing with melting agents by depth: $600 per occasion for half an inch to 5 inches, $1,800 at 9 inches and up. Also state season dates, where the trigger is measured, and salting and hauling as separate lines.
Snow plowing trigger depth and the separate salting rule
Write the plow trigger as a depth you can price from the normals (NOAA counts days at 1, 2 and 3 inches) and salting as its own rule on conditions, not depth. SIMA's article Triggered defines a trigger as "a specific measurement of snow accumulation that must be reached before services are initiated", argues against depth thresholds for salting and says a contract should salt when surfaces are icy or freezing conditions are forecast; the salt post prices the salt line.
In MakeHay, every scheduled visit carries the National Weather Service forecast for the job site's own coordinates about a week ahead (weather-aware calendar, US addresses only), and the suggested "Snow event" rule in setup is max rain 50 percent and max temp 34°F (snow plowing software).

Deposits, stage invoices and the no-snow winter
Bill a seasonal contract as a deposit plus monthly stage invoices, so a no-snow winter is already paid. At O'Hare the normal first 1-inch snowfall is December 7 and the last March 20 (NWS Chicago), so December through March is four stages: the example lot's $1,529 as a $329 deposit and $400 on the first of January, February and March.
In MakeHay, a quote can require a deposit as a percent or a dollar amount; with Stripe connected the customer pays it by card as they approve (Approve & pay). January and February are stage invoices you send; March is the final invoice from the quote, its lines lowered by what the stages covered, since they are not taken off for you (bill a job in stages); there is no automatic monthly charge.
For per-push customers, a repeating job (Set up repeat) adds visits 60 days ahead (set up recurring service); each visit is marked Done or Skip, Bill after each visit makes one invoice per visit, and autopay charges the saved card or bank account on Done & charge.
Snow removal contract clauses that decide lawsuits
Two states limit hold-harmless and indemnity clauses in plow contracts. Illinois' 815 ILCS 675/10 voids a snow and ice contract provision requiring either side to indemnify, hold harmless or defend the other for the other's own acts or omissions, in contracts entered into on or after August 25, 2016, except those for public roads and public bodies, utilities and insurance. Colorado's Senate Bill 62 of 2018 (bill page), effective August 8, 2018, voids the same six clauses (codified section), but only where the contract or a written instruction prohibits the contractor from mitigating a specific snow, ice or mixed precipitation risk, with exceptions for public roads, utilities, airport deicing and insurance.
Massachusetts has a similar bill pending, voiding indemnity and hold-harmless clauses both ways (H.2100, reported favorably and referred to House Ways and Means on September 4, 2025). Other states have passed or proposed similar laws; read your own state's text.
Good to know: This is general information, not legal advice. Statutes and rules change; read the current text and ask your state licensing board or a lawyer before you rely on it.
FAQ
Is a seasonal snow contract worth it for the customer?
Yes, when the winter runs at or above the station's normal and the fee is capped: in the example the $1,529 fee equals 16.8 pushes at $91, so the customer gains from the 17th push and never pays past the 18-push cap plus overages.
How many inches of snow before plowing?
Pick the trigger the customer's hours need; a lot that must be clear at 5 a.m. needs a lower one than one that opens at 9. Then price from the matching NOAA count: O'Hare has 11.4 days a year at 1 inch or more, 6.6 at 2 inches and 3.9 at 3 inches, so a 2-inch trigger starts the push count from 6.6 days, not 11.4.
What happens if it snows 40 times?
With a cap, pushes past the covered count bill at the per-push price: 40 pushes on the example lot bill $1,529 for the first 18 and $91 for each of the other 22. Without a cap, 40 pushes cost you 40 × $54.60 = $2,184 against a $1,529 fee.
Sources
- Readme: By-Variable and By-Station Normals Files, 1991 to 2020 (NOAA NCEI) · Defines ANN-SNOW-AVGNDS-GE001TI as the annual average number of days with snowfall greater than or equal to 0.1 inch, AVGNDS as the average number of days meeting the criteria, and the GEnnnuu suffix as a threshold whose units TI are tenths of an inch, so GE010TI is 1.0 inch and GE030TI is 3.0 inches; completeness flag S means 24 or more years of data, R and P 10 or more, E 2 or more for all months. (accessed October 12, 2026)
- US Climate Normals 1991 to 2020, annual and seasonal by-station files (NOAA NCEI) · Per-station CSVs read October 12, 2026. Chicago O'Hare (USW00094846): 38.4 inches of snow a year, 11.4 days with 1 inch or more, 6.6 with 2 inches or more, 3.9 with 3 inches or more, the day counts flag S with 28 years (the snow total 25). Minneapolis St. Paul 51.2 inches, 14.6 and 5.0 days; Buffalo 95.4 inches, 25.6 and 9.1 days; Hartford Bradley 12.5 days at 1 inch or more with flag P and 23 years; Denver International's file carries no snow columns. (accessed October 12, 2026)
- Chicago Snow Climatology (NWS Chicago) · For Chicago O'Hare on 1991 to 2020 normals: first snowfall of 1 inch or more December 7, last March 20; first measurable snowfall of 0.1 inch November 18, last April 2. (accessed October 12, 2026)
- How to Calculate Snowplow Productivity Per Hour in 7 Steps (BOSS Snowplow) · Plowing speed by depth: 10 to 14 mph in 1 to 2 inches, 8 to 12 mph in 2 to 4 inches, 5 to 10 mph in 4 to 6 inches, 3 to 7 mph in 6 to 10 inches, 1 to 5 mph over 10 inches; a V-plow blade 98 inches wide when straight clears about 85 inches at a 30-degree angle; 15 to 30 seconds per turn; 5 to 15 minutes per lot for stacking; a 20 to 25 percent time buffer; a 60 to 80 percent efficiency factor; productivity in acres per hour = effective width × speed × 5,280 ÷ 43,560 × efficiency; 1 to 2 acres per hour per truck on mixed lots. Published July 29, 2026, updated September 29, 2026. (accessed October 12, 2026)
- National Wages: Landscaping and Groundskeeping Workers (O*NET OnLine, from BLS OEWS) · 2025 Bureau of Labor Statistics hourly wages for the occupation: 10th percentile $14.98, 25th $17.40, median $18.82, 75th $22.52, 90th $27.28. (accessed October 12, 2026)
- Gasoline and Diesel Fuel Update (US Energy Information Administration) · US average retail prices for the week of October 5, 2026: regular gasoline $4.354 per gallon, on-highway diesel $6.199 per gallon. (accessed October 12, 2026)
- Tabulation of Responses for Snow and Ice Removal for Office Locations, tabulation 169 (Missouri DOT, St. Louis District) · Posted November 21, 2013. Two bidders priced plowing with melting agents per occasion in depth bands; for the Traffic Management Center lot: half an inch to 5 inches $2,200 and $600, 5 to 8 inches $4,400 and $1,200, 9 inches and up $6,500 and $1,800; hourly rate for special plowing trips $150 per hour and $100 per hour; loader with operator $150 and $100 per hour; loader and dump truck with operators $240 and $200 per hour. (accessed October 12, 2026)
- Triggered: Why accumulation thresholds should be removed from snow management contracts (SIMA Snow and Ice Resource Center) · Defines a trigger as a set accumulation that must be reached before service starts; gives salting only after 1 inch has accumulated as the clause to avoid and recommends salting when surfaces are icy or freezing conditions are forecast. (accessed October 12, 2026)
- 815 ILCS 675/10, Certain indemnity agreements void (Illinois General Assembly) · A provision in a snow removal and ice control services contract is against public policy and void if it requires either the service provider or the service receiver to indemnify, hold harmless or defend the other for damages from that other party's own acts or omissions; effective August 25, 2016. Section 15 of the same Act applies it to contracts entered into on or after that date and exempts contracts on public roads or with public bodies, contracts with a public utility, and insurance policies, surety bonds and workers' compensation. (accessed October 12, 2026)
- Snow Removal Service Liability Limitation, Senate Bill 62 of 2018 (Colorado General Assembly) · Became law: signed May 30, 2018, session law chapter 328, effective August 8, 2018; creates the Snow Removal Service Liability Limitation Act, which, where the service provider is prohibited by express contract terms or in writing from mitigating a specific snow, ice or mixed precipitation risk, voids provisions that require one party to indemnify the other, hold the other harmless, or defend the other in a liability lawsuit; subsection 4 of the codified section exempts contracts for snow removal or ice control on public roads or with public bodies, contracts with a public utility, deicing or ice control at public airports, and insurance policies, surety bonds and workers' compensation. (accessed October 12, 2026)