Snow Removal Estimate Came In Too Low?

Updated July 28, 2026 · ~12 min read · Ilura Technology

Snow Removal Estimate Came In Too Low: Fixing a Bad Season

Short answer: A snow removal estimate came in too low for one of three reasons: the trigger depth was never written down, salt was folded into the push price instead of billed by the application, or the lot ran out of room to stack snow around the fourth event. Which model you signed decides what you can do now. Per-event and hourly work correct themselves as volume arrives. A seasonal fixed contract does not, and volume is exactly what is hurting.

It is February, the seasonal number you signed in September has already covered eleven pushes, and the salt invoices alone have passed what you priced the property at. Snow is the only trade where the estimate is a bet on weather, settled by a number nobody controls. The billing side of the same season is worked through in when should a snow removal contractor invoice.

Which model did you sign, and who is holding the weather risk?

Read the top of the contract before anything else, because the model decides everything that follows.

ModelWho carries a heavy winterWhat a thin price does to you
Per event, per pushThe customerEach push earns less than it should, but a busy winter still pays; the damage is capped at one storm
Seasonal fixedYouEvery storm past your assumption is free work, with no ceiling on it
HourlyThe customerHard to lose money on the plowing itself; you lose on unbilled standby and travel
Seasonal with an event capSharedYou carry a normal winter, and per-push billing restarts past the cap
Per event with salt billed separatelyThe customerThe structure that survives an ice year instead of a snow year

On per-event and hourly work, a thin price fixes itself the day volume arrives, and the correction is a rate change at renewal. On a seasonal fixed contract the arithmetic runs the other way: the twelfth push costs the same as the first and earns nothing, so a hard winter turns a small pricing error into the whole year’s profit.

Was the trigger depth ever written down?

The trigger is the accumulation at which you are obligated to roll, and it sets how many times you work for the same money.

Two inches is a common residential trigger. Commercial lots often run one inch, and zero-tolerance contracts on medical and retail properties mean bare pavement at all times, which is a standby and de-icing contract with plowing attached rather than a plowing contract. Bidding a seasonal figure against a memory of “we get maybe ten storms a year” while the contract says one inch is the fastest way to lose a winter, since the count of one-inch days can be roughly double the count of two-inch days.

Then there is what happens inside a single storm. A fourteen-hour event dropping an inch an hour is not one visit. You open the lot for the morning shift, come back midday, and clear it again before close, and that is either three billable pushes or three free ones depending on a sentence you either wrote or did not.

Count instead of guessing. Pull the daily snowfall record for the nearest station from NOAA’s Climate Data Online and count the days over your trigger for each of the last ten winters. Price against the worst two of those years, not the average of all ten, because an average winter describes no actual winter you will ever plow.

Did you price salt as a line, or bury it in the push?

Salt is the input that stays unpredictable even after you know the snowfall total, and it is where seasonal contracts bleed.

An ice event with no measurable accumulation triggers no plow and burns a full application. A thaw-refreeze cycle can burn three applications in a week without a single plowable inch falling. And material demand rises steeply as pavement temperature drops: common guidance for lots and walks lands somewhere around 1 to 3 lb of granular rock salt per 1,000 sq ft per application at moderate pavement temperatures, and the required rate climbs sharply into the teens. Below roughly 15 to 20°F sodium chloride stops doing useful work at all, and the job switches to a calcium or magnesium chloride blend costing considerably more per ton. Treat those figures as a starting point and calibrate your own spreader, because the rate that matters is the one your equipment delivers on your pavement.

Supply is the second half of it. In a heavy regional winter, bulk salt gets allocated and the September quote is not the February price. A seasonal contract with salt included hands you both risks at once: unknown consumption at an unknown cost. So the line to write on every future contract is salt billed per application at a stated rate, or per ton spread, with the material named and a clause covering cost movement. Never included.

Where does the snow go after the fourth storm?

The first three events go to the corners of the lot. By the fourth, the piles are taking stalls, blocking the sight line at the exit, and creeping into the fire lane, and the job quietly changes trades.

Relocating snow is loader work: a machine stacking piles higher and tighter, or a loader plus triaxle trucks running to a permitted dump site, billed by the machine hour and by the load. None of that is plowing. Meltwater running off a pile across a traffic lane refreezes overnight and comes back as another de-icing application, which is a second cost again.

Put it on the contract as a named exclusion with a rate attached: on-site storage is included until full, after which stacking and off-site hauling are quoted by the hour and by the load. Invoking that in January is then a measurement rather than an announcement.

What did the walks, steps, and standby hours actually cost?

Hand work is the labor sink nobody prices honestly. Entries, landings, exterior stairs, dock aprons, hydrant clearance, and the path to the dumpster are done by a person with a shovel and a backpack spreader at three in the morning, and they get done twice on a long storm. Stairs are per flight, per visit, and slow.

Standby is the other one. Twenty-four hour readiness means drivers who cannot take other work, a phone answered at 2 a.m., fuel burning at idle, cutting edges wearing out, and equipment that has to start in the cold. Those costs exist at zero inches, and a seasonal price built only from expected pushes never recovers them. That is why a light winter on a seasonal contract feels like free money and a heavy one feels like a second mortgage.

Can I raise the price in the middle of winter?

On a signed seasonal contract, generally no, and leaning on it in February is how the property and the referral both go somewhere else. Four moves are actually available. Bill everything the contract already allows as a separate charge, starting with salt and hauling, and bill it the same day rather than at season end. Take genuinely un-priced work back as a scope conversation instead of a price increase: the plowing is covered at the trigger, the lot is full, and here are the loader and hauling rates before the machine moves. Get an addendum signed for anything new. Then fix the renewal, and give notice on whatever date the contract requires, because seasonal agreements usually auto-renew if you say nothing.

The move to avoid is quietly reducing service. Snow is a liability trade with an overnight clock. A property that was salted after every event and suddenly is not becomes a slip-and-fall file, and your own service log is the first document anyone asks for. Scope comes down only in writing, with the customer agreeing to it.

What goes in a mid-season addendum?

Six fields, dated, approved before the work starts rather than after.

FieldWhat to write
Event and timeStorm date, start and end time on site, depth measured at the property
The conditionStated as a measurement: on-site storage full, piles blocking six stalls and the east exit sight line
Work it triggersLoader hours, truck loads, dump site fee, additional de-icing passes
RateMachine hour, per load, per ton spread, and the hand-crew hour
ApprovalA time-stamped text or email, obtained before the loader is unloaded
Contract referenceThe clause that excluded this work, quoted

The approval timing is the whole point. A loader that has already cleared and stacked the lot has no leverage left, and a customer looking at a clean property remembers agreeing to nothing. Two minutes of typing in the cab before the machine comes off the trailer is what makes the invoice collectible, and it is the same file that makes how to get clients to pay a short process instead of a long one.

When is finishing the season at a loss the right call?

Almost always, and snow is more one-sided here than any other trade.

Walking away from a property in January leaves an uncleared lot with your signature on the contract governing it, an insurance question the same night it freezes, and a customer who tells every other property manager in a small market inside a week. Trades where you can hand back a half-finished job do not have a liability clock running every time the temperature drops. So the comparison is not whether the season turns a profit. It is whether finishing costs less than a claim, a lawsuit, and a reputation.

What does not get repeated is the renewal. A seasonal contract priced on an average winter is one you lose a year in three. Offer an event cap, salt billed separately, and hauling excluded. A customer who refuses all three is asking you to sell insurance at a plowing price, and the right answer is to let somebody else write that policy.

How do I rebuild the number for next season?

Build it from your own cost, in this order.

  1. Count events, not inches. Ten winters of station data at your trigger, then price against the worst two.
  2. Time the route. Real minutes per property including drive time, plus a factor for the second and third visit inside long storms.
  3. Load the hour. Wages plus payroll burden, workers comp at snow rates, liability, truck and plow payments, cutting edges, hydraulic repairs, fuel including idle, and the standby hours nobody bills.
  4. Separate fixed from variable. Readiness cost exists at zero inches. Price it into the seasonal base and let per-event revenue cover the variable side.
  5. Quote salt on its own, per application or per ton, with a cost movement clause, and exclude hauling with its hourly and per-load rates attached.
  6. Take profit as a margin, not a markup. A season costing $18,000 to service, marked up 25 percent, bills at $22,500 and leaves you 20 percent. Dividing that same cost by 0.75 bills $24,000 and leaves the 25 percent you intended. Markup multiplies, margin divides, and in a trade where one blizzard can add a third to your cost, that gap is the reserve.

Published per-push and seasonal figures move enormously with region, lot size, trigger depth, and how brutal last winter was in that market. Use them to notice you are off by half, never as your price.

What do I keep so next season’s price holds?

The per-event service log with arrival and departure times, measured depth, and what was plowed versus salted; the photos, because the lot is dark and the customer is asleep; salt tickets with tonnage and price; loader and truck hours; dump site receipts; every addendum approval; and the miles, which in this trade run enormous and run at night.

Keel is built for entering that in the truck at 4 a.m. with gloves on. It is an iOS app that runs entirely on the device: no account, no bank connection, no cloud, no login, and an App Store privacy label reading Data Not Collected, which on a rural route with one bar of signal decides whether the record exists at all. The invoice for a de-icing application or a night of hauling gets built at the property, with your numbering, your logo, your brand color, material and hours on separate lines, and a payment link the customer scans as a QR code. Salt tickets get photographed at the pile and read on device by Apple Intelligence, so the tonnage you paid for stays attached to the property you spread it on. Every push logs as mileage the way an independent contractor mileage log is supposed to work. Freeboard shows cash minus tax reserve minus committed invoices minus buffer, which for a business earning a year’s income in four months is the number that answers whether April is funded. The ledger is append-only and hash-chained, and the year exports as one file or as the Accountant Pack, a CSV plus a one-page summary PDF. Free is $0 with unlimited invoices, receipts, and mileage. Keel Pro is a one-time $249.99 Lifetime purchase, not a subscription.

Frequently asked questions

What should I do if my snow removal estimate was too low?

Find which model you signed first. On per-event or hourly work, bill everything the contract permits separately and correct the rate at renewal. On a seasonal fixed contract, invoice salt and hauling as their own charges, get a written addendum before any loader work, and rebuild the renewal price against your two worst winters rather than an average one.

Can I charge more for snow removal in the middle of a contract?

Not for work the contract already covers. You can bill separately for anything the agreement excluded, most commonly de-icing material, snow stacking, and off-site hauling, and you can add scope by addendum with written approval before the work happens. Raising the base seasonal price mid-winter is generally not enforceable and tends to cost you the property at renewal.

Should salt be included in a seasonal snow contract?

Separating it is safer. Salt consumption stays unpredictable even after the snowfall total is known, because ice events and thaw-refreeze cycles burn material without producing a plowable inch, and required rates climb sharply as pavement temperature falls. Bill per application or per ton spread, name the material, and include a clause covering supply cost movement during the season.

How many snow events should I price a seasonal contract for?

Pull ten winters of daily snowfall for the nearest station and count the days that met your contract trigger, not the days it snowed at all. Price against the worst two seasons in that set. An average winter describes no actual winter you will plow, and a one-inch trigger can produce roughly double the event count of a two-inch trigger.

Who pays to haul snow off a full parking lot?

The customer, if your contract said on-site storage was included only until full and attached machine-hour and per-load rates to what follows. Without that sentence, you are arguing that a lot you agreed to plow has a finite amount of space in it. Get the approval by text before the loader comes off the trailer.

Should I walk away from a snow contract I underpriced?

Very rarely. An uncleared lot with your signature on the contract is a liability exposure every night it freezes, and in a market where property managers all know each other the reputational cost outlasts the season. Finish the winter, bill every separately chargeable item, and either restructure the renewal with an event cap or let the property go.


This article is general information, not professional or tax advice.

Getting paid → Receipts

What do I keep?

Proof of what you spent, in a form that survives.

Contractor Receipt Organizer: A System That Survives the Truck A contractor receipt organizer that works from the truck: code every slip by job at the register, photograph it before the paper fades, and keep what counts. Continue →

When the money is late

Keel tracks what is owed and what has landed.

Every invoice sits in a private, append-only ledger on your phone, so what is outstanding is a fact you can see rather than a spreadsheet you maintain.

On-device · No account · Data Not Collected