Every snow contract is a bet on the weather. The structure you choose decides who wins that bet in a heavy winter, who wins it in a light one, and how ugly your cash flow looks in between.
There is no universally "best" structure — but there is a best structure for each customer type and each risk appetite. This guide walks through all three, with worked numbers you can adapt to your market.
The three structures in one table
| Per-push | Seasonal (flat) | Per-event | |
|---|---|---|---|
| You get paid | Every time you service | Same amount monthly, Oct–Apr | Per storm, regardless of visits within it |
| Weather risk sits with | The customer | You | Shared |
| Cash flow | Lumpy — great in Jan, dead in a brown December | Predictable | Between the two |
| Customer bias | Residential, cost-watchers | Commercial, HOAs, property managers | Commercial who got burned by per-push invoices |
| Biggest failure mode | Light winter = thin revenue | Heavy winter = you plow at a loss | Storm-definition disputes |
Per-push: simple, fair, feast-or-famine
Per-push is the easiest structure to sell because it feels fair: it snows, you plow, they pay. A typical residential driveway in a moderate-snow market runs $40–$90 per push depending on driveway size, access, and how fast you promise to arrive; small commercial lots price per push off lot size and obstacles.
The catch is that your revenue is a direct function of storm count. Fifteen billable events is a good winter; six is a bad one, and your costs — trucks, insurance, standby labor — did not drop by 60% to match.
Per-push works when it is one leg of a portfolio, not the whole book. It also punishes slow invoicing: if you are writing up pushes from paper notes a week later, you are leaking billable events. Whatever you use to run your operation should log the service record the moment the driver finishes — that record is the invoice line.
Seasonal: the customer buys certainty, you sell insurance
A seasonal contract is an insurance product: the customer pays a flat amount (monthly Oct–Apr, or once up front) and you absorb the weather variance. Price it like an insurer would — from expected events, not from hope.
The standard method: take your market’s average billable events per season (use a 5–10 year average, not last year), multiply by your per-push rate, then add a risk premium of 10–30% depending on how volatile your market is. In a market averaging 12 events at $60/push, that is $720 expected + ~20% = ~$860 per season for that driveway.
Two protections belong in every seasonal contract: a cap (e.g., service included up to 20 events or 250 cm of accumulation, then per-push pricing kicks in) and a defined trigger depth (you roll at 5 cm, not at a dusting). Contractors who skip the cap are the ones you read about having a brutal February.
Seasonal money arrives in the fall, when customers are motivated and deposits land before you have burned a litre of fuel. That is why software for this trade should let you send and e-sign contracts in September, not invoice-chase in January.
Per-event: the compromise that needs a sharp definition
Per-event bills one price per storm, however many visits the storm takes. Customers like it because a two-day storm does not produce four invoices; you like it because a season of many small storms still pays per storm.
The entire structure lives or dies on the definition of "event." Write it down: an event begins when accumulation reaches the trigger depth and ends when snowfall stops for a defined window (commonly 6–12 hours). Without that sentence in the contract, a three-wave storm becomes a billing argument.
Price a per-event job at roughly 1.5–2× your per-push rate for the same property, reflecting that multi-visit storms are common in most snow markets.
Mixing structures across your book
The resilient book is a blend: seasonal contracts covering your fixed costs (aim for 50–70% of revenue), per-push and per-event on top as upside. That way a brown winter is survivable and a heavy one is profitable — instead of the reverse.
Run the math per property, not per structure. A steep shared driveway that takes 25 minutes is a money-loser at your standard per-push rate no matter what the contract says. If you want a starting point calibrated to property type, size, and snowfall intensity, our free pricing calculator produces per-push and seasonal ranges with the math shown.
Frequently Asked Questions
What is a fair per-push price for a residential driveway?
In most North American snow markets, $40–$90 per push for a standard two-car driveway, with walkway clearing and ice melt as add-ons. Steep, shared, or long rural driveways price above that band.
How many snow events should I assume when pricing a seasonal contract?
Use your market’s long-term average — your national weather service’s station data (Environment Canada, the US National Weather Service, the Met Office, or your local equivalent) going back 5–10 years — not last season. Pricing off one mild winter is how contractors end up plowing at a loss the next heavy one.
Should seasonal contracts have a cap?
Yes. A per-season event or accumulation cap with per-push overflow pricing protects you from an outlier winter, and reasonable customers accept it when it is explained as the reason your seasonal price is not padded higher.
What paperwork should back up each visit?
Time-stamped arrival and departure, service performed, material applied (with quantity), and photos. This documentation is what wins billing disputes and defends slip-and-fall claims — see our guide to salt logs and liability documentation.
Price your next contract in two minutes
Our free pricing calculator turns property type, size, and snowfall intensity into per-push and seasonal ranges — with the math shown, not hidden.
Open the free calculator