Price every model from crew cost per hour plus the standby costs that run all season, divided by one minus your margin. Per-push pricing with depth tiers and a monthly minimum is safest for a small crew, because every event pays. Sell seasonal contracts only with a trigger depth and an event cap; charge hourly where site time is unpredictable.
That answer comes from running three winters through all three models, not from a rule of thumb. Aspire's June 2026 guide gives $30 to $100 as a typical residential per-push range and $30 to $600 or more for commercial sites, and SmartService's August 2026 guide describes seasonal contracts, where the contractor carries the weather risk, and hybrids with event caps. Neither shows what happens to a small crew's margin when the winter doubles, and that is the figure that decides which model is safe.
What a small crew carries before and during winter
The crew in this illustration is one truck with a blade, a driver and a helper with a walk-behind blower. They clear ten small commercial lots on one route: shop forecourts and office car parks that take about an hour each with the blade and blower. Costs fall into four kinds, and the winter comparison only works if each kind appears in it.
| Cost | When it lands | Illustration | How to find yours |
|---|---|---|---|
| Standby: insurance share, truck finance, pre-season servicing and cutting edges, software, admin | One-off before the season, or in monthly instalments | $3,000 a season, $300 a site | Add the yearly costs that continue when it does not snow |
| Truck running: fuel, wear, repairs | Each hour worked | $24.00 an hour | Last winter's fuel and repair bills divided by hours on the blade |
| Driver | Each hour worked | $31.20 an hour ($24 plus 30% burden) | Wage plus payroll costs |
| Helper | Each hour worked | $26.00 an hour ($20 plus 30% burden) | Wage plus payroll costs |
| Salt or de-icer | Each application | $9 a site, billed at $15 | Bulk price divided by applications per load |
| Hidden: breakdown downtime, night-shift premiums, damage repairs, claim excesses, unpaid invoices, haul-off | Unpredictable | Not in the sheet; see the section on hidden costs | Last winter's incident log |
The three hourly lines add up to $81.20 for every crew hour. The standby line is the one that disappears from simple per-event arithmetic, because it does not depend on snow at all. If a spreadsheet, or a person, prices only the hours, a light winter looks profitable when it is not.
Three winters, three pricing models
Snow does not arrive on average, so test a light winter, a typical one and a heavy one. Events are grouped by depth (2 inches is about 5 cm and 8 inches about 20 cm), because a big storm takes the crew longer. The time per site includes a 10-minute share of the drive, and the costs use the crew rate above.
| Winter | Events of 2 to 4 in | Events of 4 to 8 in | Events of 8 in or more | Total events | Salt applications | Crew hours | Total cost per site |
|---|---|---|---|---|---|---|---|
| Light | 6 | 3 | 0 | 9 | 3 | 11.7 | $1,277 |
| Typical | 8 | 5 | 2 | 15 | 6 | 21.5 | $2,100 |
| Heavy | 10 | 9 | 5 | 24 | 10 | 36.6 | $3,362 |
A visit takes 70, 94 and 130 minutes for the three depths, which costs $94.73, $127.21 and $175.93 in crew time. The total cost per site adds the salt and the $300 of standby cost. Now the three models, each priced from those costs at a 25% margin.
- Per push, with depth tiers. $155 for 2 to 4 inches, $195 for 4 to 8 and $260 for 8 or more, plus $15 for each salt application. Each tier is the visit cost plus $20 of standby (the $300 spread over a typical winter's 15 events), divided by 0.75, then rounded.
- Hourly. $125 an hour portal to portal, billed to the minute with a one-hour minimum, plus $15 a salt application. The rate is the crew cost plus standby per hour, divided by 0.75 and rounded to $125.
- Seasonal. $2,800 a site, which is the typical winter's $2,099.80 divided by 0.75. It includes up to 18 events and 8 salt applications. SmartService notes that seasonal work is usually billed in equal monthly instalments, which also helps the crew's cash flow.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowProfit by model and winter
Run each winter through each model. Profit per site, with the margin on revenue in brackets, and the seasonal model shown twice: with no cap, and with the 18-event cap where extra events are billed at the per-push tier prices.
| Model | Light winter | Typical winter | Heavy winter |
|---|---|---|---|
| Per push, depth tiers | $283 (18.1%) | $725 (25.7%) | $1,393 (29.3%) |
| Hourly | $230 (15.3%) | $678 (24.4%) | $1,363 (28.8%) |
| Seasonal, no cap | $1,523 (54.4%) | $700 (25.0%) | -$562 (-20.1%) |
| Seasonal, capped at 18 events | $1,523 (54.4%) | $700 (25.0%) | $688 (17.0%) |
Each model has a character. Per-push pricing stays profitable in all three winters, because the work and the revenue rise together. Its thin spot is the light winter, where the fixed $300 is spread over few events: a winter of four or fewer events would not cover it, which is what the monthly minimum below is for. Hourly behaves almost the same way. Its weakness is not the crew's margin but the customer's bill: nobody can predict it, and every invoice invites a question about how long the crew was on site, so it needs time records both sides trust.
Seasonal pricing is a bet on the weather. The same $2,800 earns 54.4% in the light winter and loses 20.1% in the heavy one. On a route of ten such sites that is a $15,230 profit in a light winter and a $5,619 loss in a heavy one. With the cap, the heavy winter becomes a $688 profit a site, because events 19 to 24 are billed per push (here two at each tier, $1,220, plus $30 for two extra salt applications). Without it, the contract breaks even at about 21 events on the typical depth mix, and at about 19.6 on the heavy mix, where the visits are bigger. The same route under per-push tiers earns $2,830, $7,252 and $13,931 in the three winters.
Trigger depth is a price, not a detail
The trigger is the snow depth at which the contract obliges you to turn up. SmartService's contract guide uses two inches as its example for per-push work and names no standard, and that is the honest position: the right figure is the one you can serve profitably. Lower it to one inch and a typical winter gains about five light events that were not worth a visit. Treat each as a full 70-minute stop and they cost $473.67 between them.
Under a seasonal fee that cost is yours. The seasonal price would need to rise from $2,800 to $3,431 ($2,099.80 plus $473.67, divided by 0.75), an increase of 22.5%, for the same 25% margin. Under per-push pricing the same five visits are billed at $155 each, which adds $775 of revenue against $473.67 of cost. The trigger therefore pulls the two models in opposite directions, and a customer who asks for a one-inch trigger is asking for a seasonal price about 22% higher.
Write down who measures and how. A line such as "depth is recorded by the contractor on each visit, with a dated photo of a measuring stake" prevents most arguments, and it doubles as the record you will want if a slip-and-fall claim arrives.
Cap clauses and a monthly minimum
A cap turns the seasonal model from a bet into a bounded risk. SmartService names the main hybrids: seasonal contracts with event caps, and per-push contracts with monthly minimums. The first protects you in a heavy winter, the second in a light one. Sample clauses, with the numbers from this illustration (have a lawyer review your own versions, and see the snow removal contract template tutorial for the surrounding terms):
Trigger. "Service starts when 2 inches or more of snow has settled on the paved areas after snowfall has stopped. The contractor records the depth and a dated photo on each visit, and those records apply."
Seasonal cap. "The seasonal fee covers up to 18 visits and 8 salt applications between the season start and end dates. Visits beyond 18 are charged at the per-push rate for the depth recorded, and salt beyond 8 applications at the stated salt rate. A return visit within 12 hours of a completed visit for the same storm counts as part of that visit."
Monthly minimum (per-push contracts). "If invoiced visits in a month total less than $75, the difference is invoiced at the end of that month."
The monthly minimum is worth running through the sheet. In the light winter, suppose the nine events fall across three months and the fourth month has none. The $75 minimum adds $75 of revenue, lifting the per-push profit from $283 to $358 and the margin from 18.1% to 21.9%. It is small, but it lands in the winter that would otherwise be your thinnest. Say plainly in the contract that the cap counts events and not inches, and that the overage price is the per-push price for the depth recorded. Billing overages at the seasonal average per event (about $187) undercharges every overage visit of 4 inches or more, which your per-push tiers price at $195 or $260.
Setting your own seasonal fee and cap in five steps
- List your last three winters. Count events by depth tier from your own visit records. With no records, say so in the quote and price per push until you have some.
- Cost each winter. Hours by tier at the crew rate, plus salt and the standby cost. The sheet does this in one pass.
- Price the typical winter. Take the middle winter's total cost and divide by one minus your margin: $2,099.80 divided by 0.75 is $2,799.73, so $2,800.
- Set the cap above the typical count. The cap of 18 events is 120% of the typical 15, and 8 salt applications is a third above the typical 6. A higher cap sells more weather at a fixed price. A lower one hands more of it back to the customer at per-push prices.
- Test the worst winter with the cap in place. It should still earn a positive margin; here it earns 17.0%. If it does not, lower the cap or raise the fee, and run it again.
The same steps expose a quieter risk, which is a typical winter that is not typical. Three mild winters in a row would pull your middle winter down and your seasonal fee with it, so check the heavy winter even when your own records contain no such year.
Running the three winters through an assistant
An assistant can run all twelve combinations in one go and let you change an input to see what moves. Give it every number, name the cap rule precisely, and ask for formulas. Replace the figures with yours, and use the hourly rate calculator tutorial if you have not yet worked out a crew-hour cost.
I run a small snow removal crew. Build a spreadsheet layout for Excel or Google
Sheets that simulates one winter for ONE site under four pricing models. Use
formulas, name every input cell and list every assumption you make.
Inputs:
- Truck running cost per crew hour: 24
- Driver plus helper cost per crew hour: 57.20
- Standby cost per site per season: 300 (applies in every winter, even with no events)
- Salt cost per application: 9; salt price per application: 15
- Visit minutes by depth tier (2-4 in, 4-8 in, 8 in or more): 70, 94, 130
- Events by tier, and salt applications, for three winters:
Light: 6, 3, 0 and 3 applications
Typical: 8, 5, 2 and 6
Heavy: 10, 9, 5 and 10
- Per-push prices by tier: 155, 195, 260
- Hourly rate: 125, billed for the visit minutes
- Seasonal fee: 2800, including up to 18 events and 8 salt applications. Extra events
are billed at the per-push price for their tier; extra salt at the salt price.
If a winter has more than 18 events, split the extra events evenly across tiers.
For each winter and model show revenue, total cost, profit and margin as profit divided
by revenue. Show the number of events at which the seasonal fee breaks even.
Do not drop any cost line.
Here is how the light-winter column might look in a first reply, next to the correct figures (illustrative):
| Model, light winter | Profit as printed | Correct profit |
|---|---|---|
| Per push, depth tiers | $583 | $283 |
| Hourly | $530 | $230 |
| Seasonal, no cap | $1,823 | $1,523 |
Every printed profit is exactly $300 too high. The sheet costed the events, the hours and the salt, and forgot the standby line because it is not tied to an event. It is an easy slip in a simulation like this, and it flatters every model equally, so the ranking looks right while the margins are wrong. The tell is a gap between your hand figure and the sheet's that is identical in every cell. Check also the capped heavy-winter cell: if it equals the uncapped loss of $562, the sheet applied the cap to the fee but left out the revenue from the overage events.
When the sheet is right, change one input at a time and read the effect. Raise the seasonal fee by 10% and see where the heavy winter crosses zero. Lower the cap to 15 events and see how much of the loss it recovers. Move the trigger to one inch by adding events to each winter. Each change takes seconds, and each answers a question you would otherwise settle with a gut feeling at a customer's front door.
Hidden costs the sheet cannot see, and how to cut them
- Breakdown downtime. A truck that fails during a 6-inch storm leaves ten sites uncleared. At the $195 mid-tier price that is $1,950 of revenue from one event, plus the customers who start ringing other contractors. Put pre-season servicing in the standby line, carry spare cutting edges and hydraulic hoses, and agree a back-up arrangement with another operator before you need it.
- Night and early-morning work. A six-hour night route with a 50% overtime premium on the $57.20 crew labour adds $171.60 to the event's cost, about $17 a site across ten sites. It is small per site and large per winter if you absorb it. State a priority or night surcharge in the contract; the tutorial on gritting contract pricing and night runs shows one way to work it out.
- Damage and claims. A $1,000 insurance excess equals 6.5 pushes at the $155 tier. Photograph each site before the first event, mark kerbs, drain covers and hydrants with stakes, and keep the dated visit photos the trigger clause calls for.
- Unpaid invoices. A site that has not paid for two mid-tier events owes you $390, and costs you the next event too if you keep serving it. Bill per-push work after each storm or weekly, bill seasonal contracts in advance in monthly instalments, and write a stop-work clause. Per-push billing needs a record of each visit, which is what per-push invoicing software is for.
- Salt waste. Calibrate the spreader so one application uses the quantity you priced, apply only when the contract's triggers say so, and buy in bulk before the season. Each over-applied site adds cost that the $15 price did not expect.
- Stacking and haul-off. Moving snow off site is a different job, normally billed by the hour with a loader and trucks. Keep it out of both per-push and seasonal prices and name it as an extra.
The limit no pricing model fixes: crew capacity
Ten sites take 11.7 hours at 2 to 4 inches, 15.7 at 4 to 8 inches and 21.7 at 8 inches or more. A one-truck crew working 12-hour shifts therefore needs two shifts after a big storm, and the last site waits until the next day. If every seasonal customer expects first service, you have promised something you cannot deliver. Promise response times you can keep, such as service within a stated number of hours after snowfall stops, in an order you have set, and plan the sequence in advance. Planning pushes and priority sites with AI covers how to order a route when everything cannot be first.
Matching the pricing model to each kind of site
| Site | Lean towards | Why |
|---|---|---|
| Small commercial lot where you control access | Per push with depth tiers and a monthly minimum | Every event pays, and a light winter has a floor |
| Property manager who needs a fixed budget | Seasonal with event and salt caps, overage at per-push prices | Budget certainty for them, bounded risk for you |
| Large lot needing a loader, stacking or haul-off | Hourly with separate equipment rates | Time cannot be predicted, so bill it and keep records |
| Residential driveways | Per push, billed after each storm | Many small payments, little exposure to a heavy winter |
| New customer with no payment history | Per push for the first season | No obligation you could regret in a heavy winter |
My own rule for how much seasonal work to take on is cautious, and it comes from the sheet. Across ten per-push sites a typical winter earns $7,252. Ten uncapped seasonal sites lose $5,619 in a heavy winter. Cap every seasonal contract, and keep the seasonal share of the route small until you hold two winters of your own records. Then re-run the whole simulation each autumn with last winter's real events, hours, breakdowns and bad debts. That replaces the invented winters with ones your crew actually worked, and the prices you offer to customers will then rest on them.
Questions snow contractors ask about pricing models
What trigger depth should I use?
There is no universal standard. SmartService's contract guide uses two inches as its example for per-push contracts. A lower trigger means more visits, so price it in: in the worked winter below, a one-inch trigger adds about 22% to a seasonal price. Choose a depth you can serve profitably, write it down, and say how it is measured and recorded.
Should I cap a seasonal contract by events or by inches?
Event caps are simpler to count and bill. SmartService's example caps a seasonal contract at up to 30 events, with extra events billed per push, and the worked winter below uses 18. An inch-based cap invites arguments about measuring. Whichever you choose, state the overage price, which should be your per-push price and not the seasonal average per event.
How should I handle salt and ice treatment?
Price it apart from clearing. SmartService notes that salt is billed per application on per-push work and built into seasonal pricing. In a seasonal contract, include an allowance, cap the included applications (the worked winter uses eight), and say how refreeze return visits are counted, since each one costs a trip.
Can AI tell me which model suits my crew?
It can simulate winters faster than you can by hand, but it does not know your breakdowns, your sites or your payment record. Give it your costs and event mix, ask for formulas, and check that fixed costs are in every scenario. Treat its summary as a draft that you verify with one scenario worked on a calculator.
Further reads
- How to Price Excavation Work: Hourly, Per-Load or Fixed, Checked With AI — Hourly versus per-load pricing for plant work, tested the same way.
- Should You Charge for Estimates? A Decision Rule for Small Trades — Decide when a site visit before quoting should be paid for.
- Construction Job Costing With AI: Find Which Jobs Actually Made Money — Find which jobs and sites really made money.
- How to Price Garden Maintenance: Visit Rates and Seasonal Extras With AI — Visit-rate pricing for the same crew's summer work.
- Lawn Care Price Increase Letter: Write and Personalise It With AI — Tell customers about next season's price change.
- Markup vs Margin in Construction: A Pricing Sheet Built With AI — Why 25% on cost and 25% on price differ.
- How to Price Christmas Light Installation: Roofline, Trees and Take-Down — A worked quote with roofline, two trees and take-down as separate priced lines, the cost behind each rate, and an AI check of the sheet.
- Winter Work for Landscapers: Plan Off-Season Services With AI — A winter service menu for landscapers (snow, lights, pruning, planning) and a way to test demand with past customers before buying equipment or hiring.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Aspire's per-push snow removal guide (22 June 2026) and SmartService's snow removal contracts guide (11 August 2026) for the published ranges and contract structures quoted. The crew costs, winters and prices are illustrative.