Every new landscape contractor asks the same question their first season: how much should I charge for lawn mowing? They post in Facebook groups, they Google it, they ask the older guys at the shop. Everyone gives them a different number.
The reason no one can give you a real answer is because the right number for YOUR business depends on your real cost per visit: your crew rate, your overhead, your drive time, your equipment cycle. A $50 weekly mow that's profitable for one contractor is a money loser for the contractor across town with a bigger truck note.
This article walks through the actual math. Two worked examples (residential weekly mow, small commercial biweekly) so you can see what a real number looks like. The goal is to leave you with a formula you can apply to any job you bid.
The wrong way: per-1000-sqft rate sheets
You've seen the chart. "Charge $45-65 for under 5,000 sqft, $65-85 for 5,000-10,000, $85-110 for over 10,000." Every landscape forum has its own version. They're all wrong as a starting point.
Why: a chart can't know how far away the property is from your shop, what your real labor burden is, or what your equipment cycle looks like. Two 8,000-sqft lawns can be 2x different in real cost because one is 8 minutes from your shop and the other is 32. The chart ignores that.
Rate sheets are useful as a sanity check after you've done the real math. If your real cost-up number lands inside the chart range, you're in the ballpark. If you're wildly outside it, either your assumptions are wrong or the chart doesn't describe your market. Both are worth knowing.
The right way: real cost + target margin
Here's the formula:
Real cost per visit = labor (with burden) + drive time + equipment recovery + fuel + share of monthly overhead
Quote price = Real cost ÷ (1 - target margin %)
Five inputs on the cost side. One target on the margin side. Both are knowable. Both are stable across your book (you don't recalculate labor burden for every job; you set it once and reuse it).
Setting your numbers once
Before you can price a specific job, you need four numbers that apply across all your jobs:
- Effective crew rate: gross hourly wage plus burden (18-22% for most US contractors). Example: $22/hr × 1.20 = $26.40/hr.
- Equipment recovery per visit: annual depreciation ÷ annual visit count. Example: $5,000/yr depreciation across 1,600 mow visits = $3.13/visit.
- Overhead allocation per visit: monthly overhead ÷ monthly visit count. Example: $5,000/mo ÷ 200 visits/mo = $25/visit.
- Target margin: what you want to clear on top of cost. 35-45% gross margin is healthy for maintenance services.
These four take an afternoon to figure out once. Then every quote you bid uses them. Put them in your quoting sheet once and apply them on every subsequent quote.
Worked example 1: residential weekly mow
Standard suburban property. 6,000 sqft of grass. Trim, edge, blow. You're bidding a weekly mow for the season.
Job inputs:
- Property: 6,000 sqft
- Crew: 2 people
- On-property time: 35 minutes (mowing + trimming + edging + blowing)
- One-way drive: 12 minutes
- Difficulty: standard suburban
Cost math:
- On-property labor: 2 people × 0.583 hours × $26.40/hr = $30.78
- Drive time labor: 2 people × 0.4 hours (12 min × 2 directions) × $26.40 = $21.12
- Equipment recovery: $3.13
- Fuel (truck + equipment): $3.50
- Overhead allocation: $25.00
- Total cost: $83.53
Pricing:
- 40% target margin: $83.53 ÷ 0.60 = $139.22
- 35% target margin: $83.53 ÷ 0.65 = $128.51
- Rate-sheet price (the wrong way): probably $55-75
See what happened? The rate-sheet number is roughly half of what real cost says the price needs to be. Most weekly mow accounts in this size range are being silently subsidized by the contractor running them. If you're currently quoting $65 for a 6,000 sqft weekly mow with a 12-minute drive, your effective margin is probably negative.
Reality check: at $130 a visit you'll lose some clients who balk. That's fine. The accounts you keep at $130 are profitable accounts. The accounts you lose were unprofitable accounts. Letting unprofitable customers walk is one of the highest-leverage decisions a contractor can make.
Worked example 2: small commercial biweekly
A 15,000-sqft commercial lot. Biweekly cut. The property is on a route 8 minutes from another commercial account so drive time is cheap. Crew of 2, 45-min job.
Cost math:
- On-property labor: 2 × 0.75 hr × $26.40 = $39.60
- Drive time: 2 × 0.267 hr (8 min × 2 dir) × $26.40 = $14.10
- Equipment recovery: $3.13
- Fuel: $4.50
- Overhead allocation: $25.00
- Total cost: $86.33
Pricing:
- 40% target margin: $86.33 ÷ 0.60 = $143.88
- Customer-facing price: round to $145
- Seasonal value at 15 biweekly visits: $145 × 15 = $2,175 per year per account
Biweekly commercial is often a better margin business than weekly residential when the route is dense. Same per-visit overhead and equipment recovery, faster jobs, less customer overhead (no chit-chat, no late-payment chasing).
What about the "competition is charging $50" argument?
Contractors often see a competitor advertising $50 weekly mows and worry their $130 price is wrong. The competitor isn't wrong; they're just running on different margins, or they don't know what their real cost is.
Three honest possibilities for the $50 competitor:
- They have radically lower overhead: solo operator out of their garage, no truck note, no insurance, etc. Real for some shops.
- Their route density is way higher than yours, so drive time per visit is near zero.
- They're unprofitable and don't know it. They'll either raise prices, fold, or burn out. Common.
Quoting from cost-up tells you your floor. Below that, the work isn't worth doing. The competitor's number is data, not a directive. If their advertised price would lose you money, the right call is to lose that bid and win the next one.
Per-visit vs per-season pricing
Most residential mow contracts are quoted per-visit. Most commercial is quoted either per-visit-on-a-schedule or as a flat annual contract (12 monthly payments covering the full season).
Flat annual is a cash-flow win for the contractor (steady monthly revenue, winter months covered) and a budget win for the customer (predictable line item). The math is identical: figure out per-visit cost, multiply by visit count, add target margin, divide by 12 for the monthly figure.
Example: 30 weekly mow visits × $130/visit = $3,900 annual revenue. Divided by 12 = $325/month. Same total customer pays, but you get paid in February when you're not mowing.
What actually changes the answer to "how much should I charge"
Real levers on your number:
- Route density. A 3-job route in one neighborhood has near-zero drive cost per visit. A 3-job route across town has $10-15 of drive cost per visit. Optimize routes hard.
- Crew efficiency. A crew that does the 6,000-sqft job in 35 minutes vs 50 minutes is 30% cheaper on labor. Train, buy the right equipment, expect speed.
- Overhead control. Spreading $5,000/mo overhead across 200 visits is $25/visit. Across 300 visits it's $16.67. More volume on the same overhead changes the math.
- Insurance + labor burden. Workers comp class codes and state-by-state SUTA rates make a real difference. Talk to your insurance broker about whether you're in the right class.
The 5-minute version
Build the math above into one spreadsheet, once. You enter property sqft, crew size, drive time, frequency, and toggles for trimming + edging + hauling. It outputs per-visit cost, per-visit margin in dollars and percent, and seasonal value at your selected frequency.
If the first three quotes you run don't change how you bid, you're a better natural pricer than me, and you should be teaching this. For the rest of us, having the math run in the background is the difference between a profitable book and a book that looks profitable on paper.
Related reading: 5 hidden costs killing your landscape contractor margin goes deeper on each of the five cost inputs above. And the how to price landscape jobs playbook covers the same math for fert, snow, mulch, and install services.