Home › Snow contract calculator

Seasonal vs per-push snow contract calculator

Price a seasonal contract off your per-push rate and a real average winter — then see who comes out ahead when the weather doesn’t cooperate. Free, nothing saved, no sign-in.

Per-push economics
$
$
The winters — from 3–5 years of history, not this year’s forecast
The number you’re solving for
%
mo

The one number that decides it

Set the two profits equal and the algebra collapses to something you can do in your head:

Crossover events = seasonal price ÷ per-push price
Below that many plowable events the seasonal contract paid you more. Above it, per-push would have.

The striking part is what isn’t in that formula: your cost per push cancels out completely. It changes how much you make under either model, but not which one wins. That’s worth knowing before a negotiation, because it means the crossover is a fact about the two prices alone.

Cap the events, or the contract is an unlimited liability

An uncapped seasonal price is a bet with no ceiling: in a brutal winter you keep plowing for a number that stopped covering costs weeks ago. The contracts guide puts it plainly — cap the events (“up to 15; additional events billed per push”) and the worst case becomes break-even instead of a loss. Set a cap above and the calculator shows what it’s worth to you in the heavy winter.

The test of a seasonal price: it should clear your costs in an average winter, make good money in a light one, and merely break even in a brutal one. If a bad winter loses money, the cap was too high or the price too low.

Price off history, not the forecast

Seasonal pricing is an averaging bet, so the average has to be real: pull your plowable-event count for the last three to five winters in that area. One remembered blizzard or one green Christmas will skew a single-year number badly in whichever direction hurts most.

Why a mixed book is healthy

Seasonal contracts give you a revenue floor and predictable cash flow — you get paid in a green winter. Per-push accounts are pure upside when it snows hard. Running both means neither kind of winter can wreck the season, which is a different goal from winning every individual contract.

Run the winter from one place

SnowPilot Pro tracks properties, plow routes, per-push and seasonal contracts, salting logs and invoicing — $10/month flat. The winter side of LawnPilot Pro.

Start free trial

Frequently asked questions

Is a seasonal or per-push snow contract better?

It depends entirely on how much it snows, and the crossover is arithmetic you can do in advance: divide the seasonal price by your per-push price. Below that many plowable events the seasonal contract paid you more; above it, per-push would have. Your cost per push cancels out of that comparison completely. A seasonal contract means you carry the weather risk, which is why it should be priced above the naive average, and capped.

How do you price a seasonal snow contract?

Take your average number of plowable events over the last three to five winters, multiply by your per-push price for that property, and add a premium for carrying the weather risk. Then cap the events — for example up to 15, with anything beyond billed per push — which turns an unlimited liability into a bounded one. Bill in even monthly instalments so cash flow does not depend on when it snows.

What is an event cap on a snow contract?

A ceiling on how many pushes the flat seasonal price covers, with anything above it billed at the per-push rate. Without a cap, a brutal winter is an unlimited liability: you keep plowing for a price that stopped covering costs weeks ago. With one, the seasonal contract tracks per-push pricing above the cap, so the worst case becomes break-even rather than a loss.

How should a seasonal contract perform in a bad winter?

The test is that it should clear your costs in an average winter, make good money in a light one, and merely break even in a brutal one. If a heavy winter loses money, the cap was set too high or the price too low. Pricing on this year's forecast rather than three to five winters of history is the usual way operators get this wrong.