How to Price Garden Maintenance: Visit Rates and Seasonal Extras With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Price Garden Maintenance: Visit Rates and Seasonal Extras With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Price Garden Maintenance: Visit Rates and Seasonal Extras With AI.

Price regular garden maintenance from the real cost of a visit: on-site time at your hourly rate, plus a trip charge for driving, loading and set-up. Quote hourly for a first visit or an overgrown garden, move to a fixed visit rate once you know its time, and offer a monthly plan only when seasonal extras are priced in.

Hourly pricing only pays if the clock includes the drive. A gardener who bills 45 minutes for a 45-minute garden has often worked closer to 70 once travel and loading are counted, and the shortfall is invisible because every invoice looks right. A six-garden route below shows the gap, then builds visit rates, seasonal extras and a monthly plan from it.

Follow me on Instagram@sagnikteaches

Every figure is invented for illustration, including the $48 target for each working hour. Replace them with yours.

Connect on LinkedInSagnik Bhattacharya

Hourly, fixed visit or monthly plan: who carries which risk

The three methods are three ways of recovering the same cost, so the choice is about who holds the uncertainty. Hourly leaves the time risk with the customer. A fixed visit rate leaves it with you. A monthly plan adds the calendar: you carry the weather and the seasons, and the customer pays the same in quiet months as in busy ones.

Subscribe on YouTube@sagnikteaches
MethodFitsRisk to youRisk to the customer
HourlyFirst visits, overgrown or unknown gardens, one-off clear-upsThe customer disputes the hoursCannot predict the bill
Fixed visit rateEstablished regular gardensThe garden grows faster than plannedPays the same for a quick visit
Monthly planRegulars who want one predictable paymentWeather, winter months, early cancellationPays the same in quiet months

My default is to start every new customer hourly, with a note that the visit rate will be set after three visits. By then you have three measured visits, not a guess. After one full season, offer the plan to customers who have stayed. The order matters: the plan is only as good as the visit rate under it, and the visit rate is only as good as the minutes behind it.

The Complete Excel Course with AI Integration thumbnail

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 now

The first visits: hourly pricing with a deadline

A new customer's garden is a measurement problem. Quote the first three visits by the hour, say so in writing, and give the date on which you will fix a visit rate. Suppose the first three visits to a new garden took 70, 62 and 58 minutes on site: an average of 63 minutes, which sits between the 60 and 90 minute tiers on the rate card below. Use the 60-minute tier at $65, unless the first visit was clearly inflated by catching up.

After the third visit, this is the message I would send:

Hi [first name], thanks for having me over the last three weeks. The visits took 70, 62 and 58 minutes, so I'd like to move you to a fixed price of $65 for each fortnightly visit from next week. That covers mowing, edging, weeding the beds and taking the bed waste away. Hedges and leaf clearance are quoted separately. If you would rather stay on hourly billing, that is fine too.

Overgrown gardens are the exception. A garden that has not been cut since spring is a one-off job, not a first visit. Price the catch-up by the hour (say 4.5 hours at $48, which is $216), add the $17 trip charge and a disposal fee for the green waste ($60 here), and call it $293. Then start the regular rhythm. If you fold the catch-up into the regular rate, the customer either pays for it every fortnight for the rest of the year or refuses the rate, and you lose a customer who was a good fit once the garden was under control.

What a 45-minute visit really costs when you count the drive

Take a gardener whose costs work out at $48 for every hour worked, driving and set-up included: $86,400 a year (pay target $58,000, van $12,400, equipment $9,600, insurance $2,400, phone, software and accounting $2,400, marketing $1,600) over 1,800 working hours. The tutorial on how landscapers stop underpricing works out the same kind of figure as a cost per crew hour. Now look at one Tuesday: six gardens, with the minutes taken from the job app.

StopOn site (min)Drive into the stop (min)
14518
2608
34014
49011
55022
6359
Total32082

Add 20 minutes driving home and 25 minutes loading, fuelling and setting up, and the day is 447 minutes, or 7.45 hours. If you bill only the 320 on-site minutes at $48 an hour, the day earns $256, which is $34.36 for every hour you worked: 72% of your target. The on-site rate that would earn $48 an hour across the whole day is $67.05, but a customer who sees "$67 an hour" will balk. A trip charge is easier to explain. Spread the driving into the stops, the drive home and the set-up evenly: (82 + 20 + 25) / 6 = 21.17 minutes a visit, which at $0.80 a minute is $16.93, call it $17. Each visit is then its on-site time at $48 an hour plus that charge.

Here is one day's route as CSV: stop, minutes_on_site, minutes_driving_to_stop.
Add 20 minutes driving home and 25 minutes loading, fuel and set-up.
My target is $48 for every hour I work, driving and set-up included.
1) Give total working time, and what I earn per working hour if I bill $48 for on-site time only.
2) Give the on-site hourly rate I would need to earn $48 per working hour.
3) Work out a flat trip charge per visit that spreads the drive home and the set-up evenly
with the drive into each stop, and price each stop as on-site time at $48 an hour plus that charge.
4) Show what each stop earns per working hour at those prices.
Show every formula and do not round until the end.

The table the assistant returns (illustrative):

StopOn siteDrive inPriceEarns per working hourPrice that would earn $48
145 min18 min$52.93$45.05$56.40
260 min8 min$64.93$51.60$60.40
340 min14 min$48.93$47.74$49.20
490 min11 min$88.93$49.18$86.80
550 min22 min$56.93$42.97$63.60
635 min9 min$44.93$52.35$41.20

There is a check that tells you whether the answer is right: the six prices must add up to $357.60, and $357.60 over 7.45 hours is exactly $48. If the assistant forgot the drive home or the set-up, the day will come out short of 7.45 hours and the numbers will not reconcile. Notice what the table also shows. The average trip charge gets the day right, but stop 5, 22 minutes from the previous garden, earns only $42.97 an hour and is $6.67 short, while stop 6 earns $52.35. Far-flung stops should carry a bigger charge. That is a decision about one customer, not a formula, and the rest of the route tells you which one.

Visit rates by minutes on site, and how frequency changes them

Garden size is a poor stand-in for time. A small garden with a long hedge and a slope can take longer than a large flat lawn, so the rate card should be written in minutes from your own log, then turned into prices with the same formula: minutes at $0.80 plus the $16.93 trip charge. For the usual tiers:

On-site timeVisit price
30 minutes$41
45 minutes$53
60 minutes$65
90 minutes$89

The $41 at the top is your minimum visit price: nothing goes out for less, however small the garden. Frequency changes the minutes, because grass and borders keep growing between visits. In this example's log, a medium garden took 45 minutes on a weekly visit, 55 on a fortnightly visit and 80 on a monthly one. Pricing each at the same formula gives a different bill for each rhythm:

RhythmMinutes on sitePrice per visitVisits a monthCost to the customer a month
Weekly45$52.934.33$229.38
Fortnightly55$60.932.17$132.02
Monthly80$80.931$80.93

Halving the number of visits does not halve the bill: going from weekly to fortnightly cuts it by 42%, not 50%, because each visit is longer and still carries a trip charge. A customer who asks for fortnightly "to save half" needs to hear that, and a rate card that shows all three rhythms side by side answers the question before it is asked.

Seasonal extras: price hedges and leaf clearance as separate lines

Extras are where plans go wrong, because a mower-and-edger visit does not cover a two-metre hedge or an autumn of leaves, and the time they take is nothing like the regular visit. Keep a short list of extras with time and a disposal fee. When an extra is done during a regular visit, it carries no trip charge, because the drive is already paid for. A separate trip for it adds $17.

ExtraHoursDisposal feePrice
Hedge trim, per 10 m, up to 1 m high0.75 (0.50 trimming, 0.25 clippings)$18$54
Hedge trim, per 10 m, 1 to 2 m high1.15 (0.90 and 0.25)$18$73
Hedge trim, per 10 m, over 2 m (ladder or platform)1.85 (1.60 and 0.25)$18$107
Leaf clearance, light cover0.75$12$48
Leaf clearance, medium cover1.50$24$96
Leaf clearance, heavy cover2.50$36$156
Spring clear-up, one-off3.00$30$174

Each price is hours x $48 plus the disposal fee. The times are from the example gardener's log, and the disposal fees are placeholders: green waste goes to a tip or composting site that charges, and an assistant cannot know what yours charges this month, so phone the site and write the figure and the date next to it. The hedge heights are bands because height changes the method as well as the time: over about two metres you are on a ladder or platform, which is slower and may need different insurance cover, so check with your insurer before you advertise it.

Quote hedges per 10 m of hedge face, and ask the customer for a rough length and height. A 15 m hedge between 1 and 2 m high is 1.5 units: 1.5 x $73.20 = $109.80, which the plan below rounds to $110.

The usual mistake is a hedge nobody measured. A customer says "a short hedge", the quote assumes 10 m at about 1.5 m, and the job turns out to be 28 m at 2.2 m with a ladder. That is 2.8 units at $107 instead of one unit at $73, a gap of about $226. Put the measured length and height on the quote, and add a line that settles the argument in advance: "Hedge lengths beyond the stated figure are charged per extra 10 m at the same rate."

A monthly plan that smooths the year

A plan is the year's visits and extras added up and divided into equal payments. For the medium garden, the gardener's log says: 13 fortnightly visits from April to September, six monthly visits from October to March, two hedge trims on a 15 m hedge, three medium leaf clearances and one spring clear-up.

LineQuantityPriceTotal
Fortnightly visits (55 minutes)13$61$793
Monthly visits (80 minutes)6$81$486
Hedge trim, 15 m at 1 to 2 m2$110$220
Leaf clearance, medium cover3$96$288
Spring clear-up1$174$174
Pay-as-you-go total$1,961
Plan price with a 5% discount for committing$1,862.95

Twelve equal payments come to $155.25 a month, and ten payments from March to December come to $186.30. Twelve is kinder to your cash flow, because the van and insurance bills keep arriving in winter, when each garden gets one visit a month. Ten is easier to sell, because customers like a break from paying in the quietest months. I would offer ten and keep twelve for customers who ask. Either way, say on the plan what it covers: "visits roughly fortnightly in the growing season and monthly from October to March, two hedge trims, three leaf clearances and one spring clear-up". If the plan is vague, the customer will count the visits, find fewer than they expected in a wet June, and feel short-changed.

The discount is a choice, not a law. Five per cent buys you a year of committed revenue and fewer pricing conversations; if that is not worth $98 to you, skip it. The contract wording for cancellation, skipped visits and weather is in the tutorial on garden maintenance contract clauses.

Run last season's customers through the formula

Once the formula is in place, run it backwards over last season. Export each customer's visits with the on-site minutes and the drive minutes from the job app or calendar, plus what you charged. Ask the assistant for each customer's earnings per working hour, using the same trip allocation as above, and the five lowest. This is the prompt:

Here is last season as CSV: customer_id, visit_date, minutes_on_site, minutes_driving_in, charged.
Allocate 20 minutes of driving home and 25 minutes of set-up per day evenly across that day's stops.
For each customer, give total charged divided by total working hours, including their allocated share.
List the five customers with the lowest result, with the average minutes on site and drive minutes for each.
My target is $48 per working hour. Do not suggest what to do with them.

A reply might flag these three (illustrative):

CustomerAverage minutes on siteAverage drive inCharged per visitEarns per working hourPrice that would earn $48
173524$34$30.68$53.20
233019$33$35.04$45.20
316026$50$32.09$74.80

The first correction is to the assistant's reading of the result. Low earnings per hour is a finding, not an instruction. Customers 17 and 23 are on a quick-tidy tier priced before the trip charge existed, so moving them to the rate card ($45 and $41) helps, but customer 17 is 24 minutes from the previous stop and still falls short. Customer 31 would need a 50% rise to reach $74.80, which few customers accept in one go, so the better move may be a different day, next to other gardens. If none of that is possible, the honest answer is to decline the renewal. The tutorial on scoring route profitability for lawn customers goes deeper on that decision, and the one on price increase letters has the wording for the customers you keep.

Season length, winter costs and borrowed prices: three checks

  1. A 52-week mowing season. Grass does not grow on a calendar of weekly visits. Ask how many visits the assistant assumed for the year. The plan above has 19 regular visits, and an answer built on 52 will give you a monthly figure far from anything a customer would pay.
  2. Winter treated as free. The van, the equipment and the insurance cost the same in January. The $48 an hour already carries them because it divides a full year of costs by a full year of working hours. If an assistant divides yearly costs by visit hours only, the rate comes out too low, and it will not tell you it did that unless you ask it to show the division.
  3. Internet prices as the target. Ask what gardeners charge for hedge trimming and you get a blend of every business's costs, including ones with no van and ones with three crews. Use that, if at all, as a sense-check after you have your own number.

How to tell the visit rates are working

After a month on the new rate card, run the route prompt again on the latest four weeks. Three tests tell you whether it is working. First, each day's earnings per working hour should be within 5% of $48, which is $45.60 to $50.40. Second, no stop should sit below $40 an hour; any that does is a candidate for the same treatment as customer 17 above. Third, average minutes on site per garden should not have crept up by more than 10%. If it has, either the visits are too far apart for the grass, or the work is slower than the log you priced from. Write the date of each check next to the figures, so that when a customer asks why the price moved you can show what changed.

Garden maintenance pricing questions

How do I price a garden I have not seen?

Ask for photos of the front and back, a rough lawn size, hedge lengths and heights, and how you get a mower through. Quote the first visit by the hour with a range, then set the visit rate after three visits. An assistant can turn your notes into the question list, but it cannot measure a garden from photos.

Do I charge extra for taking green waste away?

Yes, when you take it away. Disposal costs a tip fee or a trip to a composting site, so build a fee into hedge trims and leaf clearance, as in the extras table. For regular visits, clippings that stay on the lawn cost nothing; charge only when a customer asks you to remove them.

What happens when the weather cancels a visit?

Write it into the plan: visits that rain cancels are moved to the next dry day, not refunded, because the plan sells a season of visits and not a particular date. Put the rule in the contract so a wet month does not turn into a dispute over what was paid for.

Further reads

Sources: no outside data. Every rate, time, fee and price in the examples is invented for illustration, including the $48 target for each working hour.

Want your route priced from real visit times?

On a 1:1 call we can look at how you log visits today, work out which timings to start capturing, and set up the sheet and AI check that keep your visit rates honest.

Book a 1:1 call with me