Snow season load estimator
Project plow events, salting runs, and seasonal cost exposure for any Canadian market.
Seasonal snow cost is driven by event count, not snowfall totals. The estimator converts a city's snowfall-day count into billable plow events at your contract trigger depth, adds salting runs for freeze-thaw days, and prices both against local labour rates.
Per-event contracts shift risk to the property owner in heavy winters; seasonal flat rates shift it to the contractor. Comparing the projected event count against the flat rate is the fastest way to see which structure you should be bidding.
| City | Snowfall days/yr | Labour index |
|---|---|---|
| Toronto, ON | 38 | 1.15 |
| Montreal, QC | 60 | 1.00 |
| Calgary, AB | 55 | 1.10 |
| Ottawa, ON | 58 | 1.05 |
| Edmonton, AB | 52 | 1.08 |
| Winnipeg, MB | 50 | 0.92 |
| Mississauga, ON | 40 | 1.10 |
| Vancouver, BC | 9 | 1.18 |
| Brampton, ON | 40 | 1.08 |
| Hamilton, ON | 42 | 1.00 |
| Surrey, BC | 10 | 1.12 |
| Quebec City, QC | 72 | 0.95 |
| Halifax, NS | 40 | 0.95 |
| London, ON | 52 | 0.95 |
| Kitchener, ON | 48 | 0.97 |
| Laval, QC | 58 | 0.97 |
| Victoria, BC | 6 | 1.10 |
| Markham, ON | 39 | 1.10 |
| Vaughan, ON | 39 | 1.10 |
| Saskatoon, SK | 48 | 0.90 |
| Gatineau, QC | 60 | 0.93 |
| Longueuil, QC | 58 | 0.95 |
| Regina, SK | 46 | 0.90 |
| Burnaby, BC | 10 | 1.14 |
| Windsor, ON | 38 | 0.93 |
| Oakville, ON | 61 | 1.00 |
| Richmond, BC | 8 | 1.14 |
| Richmond Hill, ON | 79 | 1.00 |
| Burlington, ON | 57 | 1.00 |
| Oshawa, ON | 42 | 0.98 |
| Sherbrooke, QC | 90 | 0.95 |
| Greater Sudbury, ON | 87 | 1.00 |
| Abbotsford, BC | 27 | 1.12 |
| Lévis, QC | 84 | 0.95 |
| Coquitlam, BC | 23 | 1.12 |
| Barrie, ON | 91 | 1.00 |
| Saguenay, QC | 91 | 0.95 |
| Kelowna, BC | 25 | 1.00 |
| Guelph, ON | 78 | 1.00 |
| Trois-Rivières, QC | 82 | 0.95 |