$1M
Leaks

Find the Money Your Service Business Already Earned and Never Collected

Will Hamilton

ServiceLine Pro · Tampa, Florida

$1M Leaks: Find the Money Your Service Business Already Earned and Never Collected

Copyright © 2026 Will Hamilton and ServiceLine Pro. All rights reserved. No part of this book may be reproduced without written permission, except short quotations in reviews.

First edition, November 2026. Tampa, Florida. servicelinepro.com

The companion workbook runs free at workbook.servicelinepro.com.

Examples in this book are labeled as examples and built on the workbook's default inputs. Client results are client-reported unless a chapter says otherwise. Nothing here is legal, tax or accounting advice.

Contents

Before you start
  1. How to use this book
Part I. Start here
  1. 01Everyone Wants More Money
  2. 02Opportunity Value
  3. 03Why You Can't See It
  4. 04Where Your Real Numbers Live
Part II. Phone
  1. 05Missed Calls
  2. 06Slow Callbacks
  3. 07After-Hours Leads
  4. 08Broken Forms
Part III. Google Maps
  1. 09#1 Map Spot Value
  2. 10Map Coverage Grid
  3. 11Review Gap to #1
  4. 12AI Recommendations
Part IV. Pipeline
  1. 13Past Customers
  2. 14Referrals
  3. 15Door Hangers
  4. 16Unchased Estimates
  5. 17Cost per Closed Job
Part V. Crew
  1. 18Unbilled Crew Hours
  2. 19Drive Time
  3. 20Owner Hours on $20 Work
  4. 21Next-Truck Break-Even
Part VI. Pricing and margin
  1. 22Add-On per Job
  2. 23Customer Lifetime Value
  3. 24Seasonal Dip
  4. 25Maintenance Plans
  5. 26Price Raise Math
  6. 27Low-Margin Job Types
Part VII. Risk and exit
  1. 28Lead Source Concentration
  2. 29Sale Price Multiple
Part VIII. Get started
  1. 30Rank Your Leaks
  2. 31Build It or Hire It
  3. 32Monday Morning
At the back
  1. Leak scoreboard
  2. Notes and sources
  3. About the author

How to use this book

Alex Hormozi wrote $100M Leads to teach business owners how to get more strangers to raise their hand. It’s a great book. I’ve bought copies for people.

I wrote this one for the step before that.

Most of the owners I meet already pay for more leads than they turn into money. The phone rings at 5:40 on a Thursday and nobody picks up. An estimate goes out on Monday and nobody follows up. A customer from three years ago needs a new water heater and calls whoever shows up first on Google, because you never texted them after the first job. Two techs spend Tuesday afternoon driving across town between jobs that could have been on one street.

None of that shows up on your P&L. It’s money you earned the right to collect, and didn’t.

I call each one of those a leak. This book prices them, one at a time, with your own numbers.

How the book is built

Part I shows you the size of the whole gap in three numbers, why you can’t see it from your desk, and where your real numbers live. Parts II through VII each take one area of the business (the phone, Google Maps, your pipeline, your crew, your pricing, and your risk) and break it into leaks. Every leak gets its own chapter. Part VIII ranks what you found and tells you what to do first.

Each leak chapter follows the same order. A story or an example. How the leak works. The math, worked line by line with example numbers. Where to find your own numbers. The fix, with scripts you can copy word for word. What owners say back. Then a short list called “Do this week.”

After every leak chapter there’s a worksheet. It shows the example numbers from the chapter, the result they produce, and a blank line for yours. Fill it in with a pencil. A rough number you trust beats a perfect number you never pull.

Use the live workbook

Every worksheet in this book also runs live at workbook.servicelinepro.com. Type in your numbers and it does the math, draws the chart, and keeps a running scoreboard of your biggest leaks. Each chapter ends with the address of its worksheet.

Three rules for reading

Use your own numbers. The examples in this book (mostly a four-truck pool company with a $450 average job) are there so you can follow the math. They aren’t benchmarks. Your call log, your QuickBooks and your field app will tell you more about your business than any industry average.

Don’t add the leaks together. They overlap. A missed call and a slow callback can be the same lost customer. Chapter 2 gives you the ceiling, and the leaks explain where it went. Chapter 30 shows you how to rank them without double counting.

Fix one thing at a time. Find the biggest leak, plug it, measure it, then move to the next one. Owners who try to fix twelve things in a month fix none of them.

Who wrote this

I’m Will Hamilton. I run ServiceLine Pro, a marketing company in Tampa, Florida, that grows home-service businesses from $1M to $10M. I also own a painting company in Tampa, so every fix in this book runs in my own business before we recommend it to anyone else.

The real stories in this book come from SLP clients and prospects. Some are named because their results are already published. The rest are described by trade and city size. Anything I label as an example is an example.

Turn to Chapter 1.

Part I

Start here

Three numbers, one blind spot, and where your real numbers live.

  1. 01Everyone Wants More Money
  2. 02Opportunity Value
  3. 03Why You Can't See It
  4. 04Where Your Real Numbers Live
Chapter
01

Everyone Wants More Money

Most owners are not as busy as they say, and the gap between busy and full is where the money sits.

A deck and fence contractor in Topeka, Kansas had about $30,000 in income the whole year before he found us. When we started working together he had one or two thousand dollars in his bank account.

That is the published story of Kingdom Builders Co., and the numbers come from the client’s own write-up, so treat them as client-reported. He launched in March 2026. One month after that, he booked more work than he had earned in the entire year before. By July he was on pace for about $2 million and hiring crew.

Look at what stayed the same. He built decks and fences before we met him and he built decks and fences after, in the same city. A deck is a high-ticket job, and in his market few competitors worked the searches that bring those jobs in. The work was waiting. Nobody had done the basics that let customers find him, call him and get an answer.

This book is about that kind of money. It is the money your business has already earned and never collected.

What happened in Topeka

The facts are short, so I will keep them short.

A high-ticket trade with little competition. An owner with almost nothing in the bank. Fundamentals that nobody had done. Then a system that acted fast on every lead and every call, which is the part of the engagement we named speed-to-lead. Then the work came in.

One case study proves little on its own, and Topeka had unusual conditions. I tell it for the sequence. The money was already in the market. The owner had the skill and the demand existed. His business was not set up to capture it.

That is the shape of almost every leak in this book. Somewhere between a stranger deciding they need a deck, a pool cleaner, a plumber or a roof and a dollar landing in your account, something breaks. A call rings out. A form goes to a dead inbox. A profile sits invisible three miles from your shop. An estimate dies in an email. You never see any of it, because none of it shows up on a report.

Busy and full

A lot of owners tell me they are busy enough. My answer is a line I wrote in our company Slack: “Everyone wants more money.”

I have also said this to my team about owners who claim they are swamped: “If they are too busy it is likely that they need ops things. But usually people are not actually as busy as they want to be. They just do not want to spend money, and so they lie to themselves.”

I say “lie” with affection. The owner who says he is busy enough is protecting himself from something specific: money he cannot see coming back, the chaos of another truck, a hire that burned him last time. Each of those has a fix and a price.

Chapter 2 shows how I put a number on it in about a minute, using a pool cleaning company that told us it was busy enough.

Someone always needs something

Here is the second thing I tell my team, and it applies to you as well as to our prospects: “Find out what they need. Someone always needs something. Even if they’re swamped, then it’s ops, or hiring, or software.”

Put that in three buckets.

If the phone does not ring enough, you have a lead problem. Parts II, III and IV of this book are for you.

If the phone rings and the crew cannot keep up, you have a capacity problem. Parts V and VI are for you. Capacity problems are almost always routing, scheduling, hiring or pricing, and each of those has a dollar value.

If the phone rings, the crew is full, and you are still tired and broke, you have a margin problem. You are full at a price that is too low, or full of the wrong jobs. Part VI covers that, and Part VII covers what happens to the business if one of your sources of work dries up.

Each bucket has a bottleneck the owner has stopped looking at.

One company, close to $1.8 million a year

We audited a company that was losing close to $1.8 million a year because of a handful of broken and disorganized basics. I will not name it, and I will not tell you its trade, because it is a private client file.

Nothing exotic caused that number. The leaks were things nobody had checked. Calls that nobody answered. Forms that failed. Buttons that went nowhere. The owner was running a business, and a business runs on the things in front of you. The things behind you, the calls that never came through and the customers who never got a reply, produce no noise.

You can look for that kind of money in your own business this week without hiring anyone. Chapter 3 explains why you cannot see it, and Chapter 4 shows you where the numbers live.

Five questions to answer before you read further

I ask owners these on a first call. They take two minutes, and the answers tell me which part of this book to point them at.

ScriptFive questions for the owner

“What is a typical job worth to you?”

“How many calls came in last month, and how many did you answer live?”

“Where did last month’s work come from?”

“If the phone rang twice as much starting tomorrow, what breaks first?”

“What is the one thing you suspect is broken and have not checked?”

Write your answers down in a sentence each. If you cannot answer one, that is the first finding. The rule for this book is that a number you cannot state is a number you are not managing.

The fourth question matters most. Owners who say the schedule breaks first are telling you the constraint is capacity, and Part V is where they should spend their time before they buy a single lead. Owners who say nothing breaks are telling you the constraint is the phone, the map or the follow-up, and Parts II through IV will pay them first.

The fifth question usually produces the best answer. Most owners already suspect where the leak is. They have a feeling about the voicemail box, or the website form, or the estimates in the truck. The feeling is cheap to test. Chapter 4 shows you how.

What a leak looks like on a Tuesday

Say you run a roofing company. A homeowner sees water on a ceiling at 8:40 on a Tuesday night. She searches, taps the first profile she sees with a good rating, and calls. It rings four times and goes to a voicemail greeting she does not wait through. She taps the next profile.

You never learn she called. Your phone log shows a missed call from a number you do not recognize, and if you check the log at all, you assume it was a wrong number. Your bookkeeping shows nothing. The customer who would have paid you $9,000 for a roof section is now on a competitor’s schedule, and in three years she will recommend him to her sister.

Nothing in your business recorded that event as a loss. It is an example, and it is also the most ordinary thing that happens to a trade company on any given night. Chapters 5 through 8 put a price on it.

Who this book is for

This book is for the owner of a service business doing roughly $1 million to $10 million a year. Pools, HVAC, plumbing, roofing, fence and deck, tree, cleaning and remodeling are the trades I work in most. If you run electrical, landscaping, painting or restoration, the math works the same. I own a painting company in Tampa myself, and the strategies I recommend to clients run in that company first.

You are probably paying for leads, calls, customers and crew hours already. You pay for a phone line, a website, a Google profile, trucks, techs, an office. This book assumes you do not need to buy anything new. It assumes some of what you already bought is leaking.

If you are under $1 million and serious, keep reading. I care more about whether you know your numbers than about your revenue, and you will know yours by the end of Chapter 4.

How the book is built

Every chapter teaches one leak. You get the story or example, the mechanism, the math worked line by line, the place in your own business where each number lives, and the fix. Where I show you a script, you can copy it word for word. Where I show you a formula, you can run it on a calculator or at workbook.servicelinepro.com, which has a live worksheet for each tool chapter.

Here are the parts.

ChecklistEight parts of the book
  • Part I. Start here. Chapters 1 to 4. The gap formula, why you cannot see it, and where your real numbers live.
  • Part II. Phone. Chapters 5 to 8. Leads that reached you and still got away.
  • Part III. Google Maps. Chapters 9 to 12. Searches in your town that land on someone else.
  • Part IV. Pipeline. Chapters 13 to 17. Jobs sitting in your own files, street and inbox.
  • Part V. Crew. Chapters 18 to 21. Hours you pay for that nobody bills.
  • Part VI. Pricing and margin. Chapters 22 to 27. Money left on jobs you already won.
  • Part VII. Risk and exit. Chapters 28 and 29. What the business is worth and what could sink it.
  • Part VIII. Get started. Chapters 30 to 32. Rank your leaks, decide what to build and what to hire, and know what to do Monday morning.

You do not have to read them in order after Chapter 4. Open the book to the leak you suspect. Do the math. Then go back to Chapter 30 and rank what you found.

What I ask of you

Three rules, and I ask you to follow all of them.

Use your own numbers. A statistic about the average plumber tells you about the average plumber. Your call log tells you about you. Wherever I give an example, I label it an example, and you should replace it with your own figures as soon as you can.

Price every leak in dollars per month. A leak with no price tag gets ignored. A leak with a price tag gets ranked, and a ranked leak gets fixed in order.

Never add all the leaks together. They overlap. A missed call and a slow callback can be the same lost customer. When you reach Chapter 30 I will show you how to rank them without counting the same dollar twice.

What I will not promise

I do not know your numbers, so I will not quote you one. The $18,000 a month in Chapter 2 belongs to a made-up four-truck company.

I will say that your business has leaks, because every business I have looked at has them, and that finding the first one costs you an afternoon. Most phone fixes are free. They need an hour and a decision.

I will also tell you where we fit. ServiceLine Pro, in Tampa, Florida, grows service businesses from $1 million toward $10 million. Our Growth Audit prices every layer of a business this way, from the phone to the map to the crew. Some chapters end with a short paragraph on what we run for that leak. The book has to be worth reading if you never call us, so every chapter hands you the whole method to do yourself.

Do this week

  1. Write down the sentence you tell people about how busy you are. Next to it, write what you would do with ten more jobs a month.
  2. Decide which bucket you are in: not enough calls, not enough capacity, or not enough margin. Write one word on a sticky note and put it on your monitor.
  3. Read Chapter 2 and pull your three numbers: average job, ceiling, and last month’s job count.
  4. Ask your office manager one question: “How many calls did we miss last week?” Write down the answer, then check it against the phone log in Chapter 4.
  5. Tell one person on your team that you are going to price every leak in the business over the next 90 days, and ask them to bring you the first thing they suspect is broken.
Chapter
02

Opportunity Value

Three numbers tell you what staying where you are costs every month.

A two-year-old pool cleaning company in a mid-size Tennessee city had a 5.0 rating on Google from 73 reviews. Calls were coming in. The owner told one of my team the business was doing about as much as it wanted to do.

He wrote it up in our Slack: “Seems like they are doing as much as they want for now.”

I asked one question back. “See how many calls the Google profile is getting right now?”

Then I wrote this: “Doing as much as they want? Everyone wants more money.”

I meant it. I sit across from owners of plumbing companies, roofers, fence builders, tree crews and pool companies every week. Plenty of them tell me they don’t want more money. Almost none of them mean it.

I said it in that thread too: “Usually people are not actually as busy as they want to be. They just do not want to spend money, and so they lie to themselves.”

When an owner says “we’re doing as much as we want,” they usually mean they didn’t want to spend money, or they didn’t want more chaos, or they didn’t want to hire. Those are real problems. They are also solvable problems, and none of them is “I have enough.”

So I put a formula in the thread. It takes three numbers and about a minute. It is the first page of this book because every other page depends on it.

Three numbers

Here is the formula.

The mathOpportunity Value
AWhat one job is worth
BThe most jobs you could run in a month
CThe jobs you ran last month
Opportunity ValueA × (B − C)

That’s all of it. A times the difference between B and C.

A is your average job. B is your ceiling, the most work your current crew and trucks could run in a month if the phone rang enough. C is what you did last month.

The space between B and C is capacity you are already paying for. Trucks sitting in the yard. Techs with two jobs on Tuesday instead of five. An office manager who could book thirty more appointments a week and books ten. You bought that capacity. You make the payment on the truck whether it runs or not. Opportunity Value tells you what that idle capacity would earn if you filled it.

A worked example

Say you run a four-truck pool company. Your average job, counting weekly service, repairs and the occasional equipment swap, comes out to $450.

With the crew and trucks you have today, running flat out, you could handle 120 jobs a month.

Last month you ran 80.

The mathFour-truck pool company
Average job (A)$450
Most jobs you could run (B)120
Jobs you ran last month (C)80
Open capacity (B − C)40 jobs
Opportunity Value$18,000 a month

Eighteen thousand dollars a month. Every month.

Multiply by twelve and it’s $216,000 a year. Divide that by 365 and it’s $592 a day, Sundays included. Over five years it passes a million dollars, which is where this book gets its name.

Now look at what that number is. It is revenue you could earn with the trucks you already own, the people already on payroll, and the insurance you already pay. You do not need a new building or a second location for it. You need the phone to ring forty more times a month with people who say yes.

You bought that capacity. You make the payment on the truck whether it runs or not.

Why owners guess B low

When I run this with an owner, the fight is almost always over B.

They give me a number for B that sits a hair above C. “We could maybe do 85.” Then the gap looks small and they relax.

Ask it differently. Don’t ask what they could handle. Ask what the schedule would look like if every tech had a full day. Pull up the best day each tech had last month and count the stops. Count the people, count the days, count the slots.

Then ask the follow-up I always ask: “What would you run with one more truck?” If they can answer that fast, they’ve been thinking about it, which means they already know they’re below the ceiling.

Owners guess B low because a big B makes C look bad. Nobody likes a number that grades them. But a low B is a lie that costs money, because it hides the gap, and a hidden gap never gets fixed.

NoteWhen every slot is booked

Sometimes the owner is right. B equals C. Every slot is booked, the schedule runs three weeks out, and the crew is working Saturdays.

Then the gap moved. It’s in price (you’re full at a rate that’s too low), in hiring (you can’t add a truck because you can’t find a tech), or in operations (you’re full because the routes are a mess and half the day is windshield time). Someone always needs something, and Chapter 1 sorts it into three buckets.

Run the formula anyway. Then turn to Part V and Part VI.

What the gap is made of

Opportunity Value gives you one number. It doesn’t tell you where the money went.

That forty-job gap is made of smaller leaks, and every one of them has its own number:

  • Calls that rang out and went to voicemail (Chapter 5)
  • Calls you got back to two hours later, after the customer booked someone else (Chapter 6)
  • Searches in your own town where you don’t show up on the map (Part III)
  • Customers from three years ago who never heard from you again (Chapter 13)
  • Estimates you sent and never followed up on (Chapter 16)
  • Techs on the clock who aren’t on a job (Chapter 18)

Each chapter in this book takes one of those leaks, gives you the formula for it, shows you where the numbers live in your own business, and hands you the fix.

You won’t plug all of them. Nobody does. The point of pricing every leak is so you can rank them and fix the biggest one first. A $9,000-a-month leak gets your attention before a $600 one, even if the $600 one is more fun to work on.

One more warning, and it matters. The leaks overlap. A missed call and a slow callback can be the same lost customer. If you add every chapter’s number together you’ll get a figure bigger than your Opportunity Value, and it won’t be real. Opportunity Value is the ceiling. The leaks explain it. They don’t stack on top of it.

Where to find your three numbers

You can pull all three in about ten minutes. Use your own numbers. Industry averages tell you about somebody else’s business.

ChecklistPull A, B and C
  • A, average job. Open QuickBooks or your field app (Jobber, Housecall Pro, ServiceTitan). Take total invoiced for the last 90 days and divide by the number of jobs in the same 90 days. Use 90 days so one big job or one slow week doesn’t skew it.
  • B, your ceiling. Count techs or crews. Multiply by working days in a month (usually 21 or 22). Multiply by jobs per tech per day on a full day, using a real full day from your own schedule, not a hope.
  • C, last month. Your field app’s job count for the last full month. Count completed jobs, not booked ones.

If your average job swings wildly because you do both $150 service calls and $12,000 installs, run the formula twice. Once for service, once for installs. Mixing them gives you an average that describes no job you’ve ever done.

How to use it in a sales conversation

My sales team uses this on first calls. The three questions come from a sales training playbook we adopted. They work because they move the conversation off of what we sell and onto what the owner is losing.

When an owner says “we’re doing as much as we want,” don’t argue. Ask the three questions.

ScriptThree questions for an owner who says they’re busy enough

“What’s a typical job worth to you, roughly?”

“If the phone rang as much as you wanted, how many jobs could your guys run in a month with the trucks you’ve got right now?”

“And how many did you run last month?”

Then do the multiplication out loud, in front of them. Let them see you write it down.

“So you’re telling me there’s about $18,000 a month sitting in trucks that are already paid for. That’s two hundred grand a year.”

Then stop talking. They’ll fill the silence, and usually what they say is the real problem. “Well, we can’t find techs.” “The office can’t keep up with the phone.” “We tried Google ads and it was a waste.” Now you know what they need. As I told my team, “Sell what they need. We can help with all of it.”

This works because the number is theirs. You didn’t bring a statistic from a study they’ve never read. You used their average job, their trucks and their last month. People argue with your numbers. They rarely argue with their own.

What owners say back

“That number’s not real. We’d never hit 120.”

Fine. Cut B to 100. The gap is still $9,000 a month and $108,000 a year. The point survives any honest B.

“We’re profitable. We don’t need to grow.”

Profit on 80 jobs with a 120-job cost structure is lower than it should be. Your trucks, insurance and office cost the same whether you run 80 jobs or 120. Every job you add between C and B carries less overhead than the jobs you already run, so your margin gets better as you fill the gap. Part VI goes through the math.

“I don’t want more headaches.”

Then the leak is in operations, and that’s worth money too. A business that runs 80 jobs with headaches can usually run 100 with fewer headaches once the routes, the scheduling and the phone are fixed. The headaches come from the system under the volume, and Parts V and VI fix that system.

“I’ve tried marketing. It doesn’t work.”

Maybe. Or maybe it worked and the calls rang out at 5:30 on a Thursday and nobody called them back. Chapters 5 through 8 will tell you which.

Why this comes before any marketing

Most owners want to buy leads first. More ads, more SEO, more door hangers. I sell some of that, so I understand the instinct.

But if you pour more leads into a business that misses a third of its calls, takes four hours to call back, and never follows up on estimates, you pay to fill a bucket with holes in it. You’ll get some growth. You’ll also pay full price for every lead that drips out the bottom.

Price the gap first. Find the leaks. Plug the cheap ones (most of the phone fixes cost less than a tank of gas). Then buy more leads and watch more of them turn into money.

This is the order we run at ServiceLine Pro. Our Growth Audit prices every layer of a business this way, from the phone to the map to the crew, before we recommend any marketing. The rest of this book gives you the same worksheets so you can do it yourself.

Do this week

  1. Pull your average job from the last 90 days of invoices (A).
  2. Count your crews, working days and full-day job count, and write down your ceiling (B). Then ask yourself what you’d run with one more truck.
  3. Pull last month’s completed job count (C) and multiply it out. Write the monthly number on a sticky note and put it on your monitor.
  4. If B equals C, write down which of the three is the real constraint: price, hiring or operations.
  5. Run your numbers at workbook.servicelinepro.com/#ov.
Chapter
03

Why You Can't See It

Your books record every dollar you earned and none of the dollars you never saw.

Say you run a four-tech HVAC company. Your accountant sends the year-end profit and loss statement. Revenue is up 6%. Payroll is where it should be. The truck payments are on time. You look at it, nod, and tell your spouse the year was fine.

On a Tuesday in July, your phone logged 14 calls between 5 p.m. and 9 p.m. Your office was closed. All 14 went to voicemail. Seven callers left a message and nobody returned them. One of those seven needed a new system, a $9,000 job, and she booked it with the company that picked up.

Where does that $9,000 appear on your profit and loss statement? Nowhere. There is no row for it. No account in QuickBooks is named “jobs that called someone else.” Your books are accurate and complete, and they tell you nothing about it.

That is the whole problem of this chapter. A leak does not show up on the report you read, because the report only records things that happened.

What a profit and loss statement records

A profit and loss statement is a list of transactions. Money came in on these dates from these customers. Money went out on these dates to these vendors. Add them up and you get a number at the bottom.

Everything on the statement happened. An invoice was paid, a tech was paid, a truck was fueled. If it did not move money, it is not there.

That is a good property for tax season. It is a terrible property for finding leaks, because every leak in this book is something that did not happen. The call that was not answered. The estimate that was not followed up. The customer who did not come back. The map position you did not hold. The hour your tech sat in the truck.

You can read your books for ten years and never find a missing call, because a missing call is a hole in the data and the books only hold data.

What is seen and what is not seen

An economist named Frédéric Bastiat saw this in 1850 and wrote it down in an essay titled “What Is Seen and What Is Not Seen.” His example is a broken window. A shopkeeper’s window gets smashed, and a glazier is paid to replace it. Onlookers say the glazier now has work, so the broken window helped the town.

Bastiat’s reply is that you see the glazier getting paid, and you do not see what the shopkeeper would have bought with that money if his window had been fine. The glazier’s income is visible. The shoemaker’s lost sale is not.

Your business has the same shape. You see the jobs you ran, the invoices you sent and the payroll you ran. You do not see the jobs you would have run if the phone had been answered. The first set has paperwork. The second set has no paperwork, so your mind files it under “did not happen” and moves on.

Bastiat’s point is that a good economist, or a good owner, trains himself to ask about the second set on purpose. The unseen costs are as real as the seen ones. They take a deliberate act to see.

What a lost job costs

Decades after Bastiat, the Austrian economist Friedrich von Wieser worked out the idea economists now call opportunity cost, and his 1914 book on social economics set it out at length. The cost of any choice is the best thing you gave up to make it.

Apply that to a tech on the clock. The cost of one hour of idle time is the labor you pay and the job that hour could have run. The cost of one unanswered call is the job it would have become. The cost of one truck sitting in the yard is the work it could have done.

Opportunity cost is the idea behind the formula in Chapter 2. The space between what you could run and what you did run is the cost of the choices that put you at the lower number. Nothing on your statement shows that cost. You have to do the arithmetic yourself, because your accountant is paid to record what was spent, and a lost job is something nobody spent.

Why a loss feels smaller than a bill

There is a second reason owners do not chase unseen money. It comes from how people weigh gains and losses.

In 1979 the psychologists Daniel Kahneman and Amos Tversky published “Prospect Theory: An Analysis of Decision under Risk.” It describes loss aversion, the finding that people feel a loss more strongly than they feel a gain of the same size. Losing $100 stings more than finding $100 pleases.

Here is how that plays out in a trade business. An owner prices a $3,000 monthly marketing bill. It is vivid. It comes out of the account on the first, and it hurts. That same owner has $8,000 a month leaking out of the phone, and it hurts nothing. The $3,000 is a visible loss. The $8,000 is an invisible one, and the mind weighs a loss it can see far more heavily than a loss it cannot.

So the owner cuts the $3,000 line and keeps the $8,000 leak. The trade is easy to make, and the owner believes he is being careful.

I will not put a multiplier on the effect. The pattern is enough. You will underweight any loss you cannot see. The fix is to make the loss visible.

Why “we’re slammed” is a feeling

Owners say “we’re slammed” and mean it. The feeling is real. The fact behind it may be thinner than the feeling.

Say you run a four-tech crew. Each tech is paid for 40 hours a week. Each tech bills 30. The other 10 go to driving between jobs, loading the truck, waiting on a supplier, redoing a callback and standing around while the next job gets scheduled.

Every one of those hours feels like work, because the tech is moving and the owner is stressed. None of them bills.

The mathFour-tech crew, paid hours against billed hours
Techs4
Paid hours per tech per week40
Billable hours per tech per week30
Unbilled hours per tech per week10
Revenue per billable hour$110
Weeks in a month4.33
Unbilled crew hours, per month$19,052

The crew is slammed and a quarter of its paid time earns nothing. Both statements are true at once. Chapter 18 walks through the math and the fix.

The feeling of being slammed comes from stress, interruption and a full phone, and none of those measures billable hours. Only the field app measures billable hours. If you have never looked, you are working off a feeling.

What your books can and cannot tell you

Your books answer some questions well.

ChecklistWhat a profit and loss statement can answer
  • How much revenue came in last month, and from which kinds of work
  • What payroll, materials, fuel and ad spend cost
  • Whether the business made a profit
  • Whether a cost line is growing faster than revenue

They cannot answer these.

ChecklistWhat a profit and loss statement cannot answer
  • How many calls came in and how many were answered
  • How long a web lead waited for a reply
  • How many estimates were sent and how many were followed up
  • How many map searches in your town showed a competitor first
  • How many hours your crew was paid and not billed
  • How many past customers you have not contacted in two years

Each of those answers lives somewhere else. Chapter 4 tells you where. The point for now is that your accountant, who is good at his job, is not the person who will find these leaks, because they are not in his data.

Spending under one percent

One more pattern shows how invisible losses work. Some owners object to the price of marketing while spending very little on it. ServiceLine Pro’s working figure for a healthy service business is somewhere between 7% and 15% of revenue on marketing, with 10% reasonable. That is our position, built from the businesses we work with, and not a published industry standard.

An owner who spends under 1% and says marketing is too expensive is comparing the price to nothing. He sees the invoice. He does not see the revenue gap that the invoice would have closed. The objection sounds careful and is a symptom of the same blind spot.

Find the leaks before you raise the budget. Plug the cheap ones first, and each marketing dollar you spend lands on a business that can catch it. That is the order from Chapter 2.

Make the unseen visible

You cannot see an event that no system recorded. So you build the record. There are three moves, and every chapter after this one repeats them.

  1. Count it. Pull the log, the export or the report. A count turns “I think we miss some calls” into “we missed 60 last month.”
  2. Price it. Multiply the count by your average job and your close rate. A price turns “that seems bad” into “$8,100 a month.”
  3. Put it where you will see it. Write the number on a sticky note. Put it at the top of the Monday meeting. A number you review weekly gets managed. A number in a spreadsheet nobody opens does not.

That third move looks small and carries the most weight. An unseen cost becomes a seen cost when a person looks at it every week.

A ten-minute test on your own business

Pick last month and compare two numbers that your books never put side by side.

The mathCalls against jobs, last month (example)
Calls into the main number150
Calls answered live105
Calls that went to voicemail or rang out45
Jobs completed in the field app80
Calls with no recorded outcome45

Those 150 and 105 are example numbers. Yours come from the phone log in Chapter 4, and the 80 comes from your field app. If the call count is far above the job count, some of the gap is spam, wrong numbers and existing customers asking about a visit. The rest is money. Chapter 5 shows you how to sort real jobs from noise by listening to 20 voicemails.

You will not get a clean answer in ten minutes. You will get a first estimate, and a first estimate is enough to tell you which chapter to read next.

What owners say back

“I’d know if we were missing calls.”

You would know about the calls you saw. The ones that rang out at 6:10 p.m. while the office manager was in the bathroom do not announce themselves. Pull the phone log before you decide.

“My accountant would have flagged it.”

Your accountant flags what is in the books. A missed call is in the phone company’s records and never in the books.

“These are small numbers.”

Price one and see. If the number comes out small, you have saved yourself an hour. If it comes out at $8,000 a month, you have found your biggest raise of the year. Either result is worth ten minutes.

“I don’t want to spend time on this. I want to spend time on customers.”

The customers you are not talking to are in the same data. This is the cheapest way to find them.

Do this week

  1. Open last year’s profit and loss statement and look for a single line that records a lost job, a missed call or an idle hour. Confirm for yourself that none exists.
  2. Write down the three leaks you most suspect, one line each, with a guess at the monthly dollars.
  3. Pick the one you can count fastest. Chapter 4 tells you which report holds the number.
  4. Ask your office manager and your lead tech how many hours a week the crew spends on work customers do not pay for. Write down their answers without arguing.
  5. Put a sticky note on your monitor with the heading “What I cannot see.” List what you cannot answer from your books. Cross items off as you find the data.
Chapter
04

Where Your Real Numbers Live

One number from your own records beats ten statistics about someone else's business.

When we talk to a new owner, we learn quickly whether the call will go anywhere. The owners who do well can state their average job value, their close rate, and where last month’s work came from. They answer without looking anything up. The owners who struggle do not know their own numbers, and the call spends its time on guessing.

I do not hold that against anyone. Nobody teaches an owner where these numbers live. The plumber learned plumbing, and the roofer learned roofing. The numbers sit in six or seven systems that were bought by different people at different times, and none of them talks to the others.

This chapter is a map. You will leave with nine pulls, each one doable in about ten minutes, and a one-page scoreboard that every later chapter fills in. Set a timer and do them in an afternoon.

One rule for every pull

One real number from your business beats ten statistics from the internet.

An industry average says what a typical company does. You are not typical. Your close rate, your callback time and your missed calls are specific to your phone, your office and your market. A chapter in this book may give you a formula and an example, and the example is labeled. Your numbers replace it the moment you have them.

Menus change when software vendors update their products. When a report name below differs on your screen, find the report with the same columns. The columns are what matter.

Pull 1. Profit and Loss by Month in QuickBooks

This gives you revenue by month, which shows the seasonal shape of your year (Chapter 24) and your margin (Chapters 26 and 27).

ChecklistTen-minute pull
  • In QuickBooks Online, open Reports and choose Profit and Loss by Month. If you want the same report with a different layout, open Profit and Loss and set Display columns by to Months.
  • Set the date range to the last 12 full months.
  • Export to Excel or a spreadsheet. Write down total income for each month, total cost of goods sold, and net income.
  • If you track classes (a class per trade, per crew or per location), run Profit and Loss by Class for the same range to see which line of work earns the margin.
  • Run Sales by Product/Service Summary for the last 12 months to see which kinds of jobs bring the dollars.

What it gives you: monthly revenue, your best month and worst month, and revenue by job type. Your average job value comes from the next pull, not this one.

Pull 2. Job reports in your field app

Jobber, Housecall Pro and ServiceTitan all hold one record per job. This is where you find average job value (A in Chapter 2), jobs completed (C), the jobs-per-tech ceiling (B), close rate and billable hours.

ChecklistTen-minute pull
  • Open the reports area and pull a job list or job report for the last 90 days. Export it with these columns where the system offers them: date created, date completed, customer, job total, job type, technician, lead source.
  • Pull the quotes or estimates report for the same 90 days. You want the number sent, the number approved and the dollar value of each.
  • Pull the time or timesheet report for one month. You want hours on a job, hours driving and hours on the clock for each tech.
  • Pull a client list with last job date. You will use it for Chapter 13.

Do the arithmetic in a spreadsheet.

The mathThree numbers from the job export (example)
Revenue invoiced, last 90 days$108,000
Jobs completed, last 90 days240
Average job (A)$450

Divide estimates approved by estimates sent for your close rate. Divide jobs completed last month by the number of working days for your daily pace. Count the stops on your best tech day for the ceiling.

In Jobber, look under Reports for the job, quote and timesheet reports. In Housecall Pro, open Reports for jobs, estimates and employee time. In ServiceTitan, the Reports area holds job, technician and booking reports. If your system will not export a column you need, ask the vendor’s support team how to get that data out.

Pull 3. Carrier call log

If your main number runs through a carrier, a business phone provider or a VoIP service, it keeps a record of every call. This is the first number for Chapter 5 and Chapter 7.

ChecklistTen-minute pull
  • Log into your phone provider’s admin portal. Find call history, call detail or call logs.
  • Set the range to the last 30 days and export to CSV.
  • You want these columns: date and time, direction (inbound or outbound), status (answered, missed, voicemail), duration and caller number.
  • Filter to inbound calls. Count total, answered, missed and voicemail.
  • Sort the missed calls by time of day. Count how many landed before 8 a.m., between noon and 1 p.m., and after 5 p.m.

Owners who swear they answer everything almost always find a gap here. The log does not argue and does not flatter.

If your carrier will not give you a clean export, ask for it by email. Quo, RingCentral and most VoIP providers show call history in the app, and most of them export it to CSV.

Pull 4. Call tracking platform

A carrier log tells you a call came in. Call tracking tells you why it did. If you use dedicated tracking numbers, one per ad, per directory or per website (ServiceLine Pro uses dedicated numbers on Twilio and Quo), each number tags the call with a source.

ChecklistTen-minute pull
  • Open the call tracking dashboard and set the range to 90 days.
  • Export calls by source: Google Business Profile, website, Local Services Ads, Yelp, door hangers, truck wrap, direct.
  • For each source, write down total calls and, if the platform records it, calls over 60 seconds or calls marked as qualified.
  • Mark the source that sent the most calls and the one that sent the fewest.

If you have no call tracking, you cannot answer “where did last month’s work come from.” You can still ask every caller. Put a sticky note by the phone and have the person answering write down how the caller found you, for two weeks. It is slow and it works.

Pull 5. Google Business Profile performance

Your Google Business Profile records how many people called you from your listing, asked for directions and clicked to your website. It also shows the searches that triggered it.

ChecklistTen-minute pull
  • Search your business name on Google while signed in to the account that manages the profile. Open the Performance view.
  • Set the range to the last six months.
  • Write down monthly calls, website clicks and direction requests.
  • Open the list of search terms that showed your profile. Write down the top five.
  • Open the reviews tab. Count reviews received in the last 90 days and divide by 13 for a weekly pace.

You will use these in Chapters 9 through 12. Monthly calls from your profile are the number to compare against the missed-call count from Pull 3. If your profile says 40 calls and your carrier log shows 28 inbound calls from the same period, one of the two is off and you want to know which.

Pull 6. CRM or contact list

If you keep customers in a CRM, a spreadsheet, a field app or a shoebox of invoices, this is the pull for Chapters 13, 14 and 16.

ChecklistTen-minute pull
  • Export every customer with the date of their last job and total spend.
  • Count customers whose last job was more than 12 months ago and fewer than 36 months ago. That is your past-customer list.
  • Count customers who came from a referral, if you track it.
  • Count open estimates older than seven days with no recorded follow-up.

Many owners discover that the CRM is a pile of half-entered names. That is a finding. Write down how many records have a phone number and how many have an email address.

Pull 7. Website form and inbox

Submit your own contact form from a phone, on cell data, and time how long it takes for anyone to respond. Then ask your web provider or open your email to see where form submissions land.

ChecklistTen-minute pull
  • Fill out your own form with a real phone number you control, using the same steps a customer would.
  • Check that you get a confirmation. Note who receives the submission and when.
  • Count form submissions in the last 30 days from the inbox or the website admin.
  • Check the spam folder and the forms plugin log for entries that never arrived.

This feeds Chapters 6 and 8.

Pull 8. Payroll hours

Payroll holds the paid hours for each tech. Compare them to the billable hours in the field app (Pull 2) to find idle time, the subject of Chapter 18.

ChecklistTen-minute pull
  • Open your payroll report (QuickBooks Payroll, Gusto, ADP or whichever you use).
  • Pull hours by employee for the last four full weeks.
  • Divide by four for paid hours per week.
  • Write down the pay rate and total labor cost, with taxes and benefits if you track them.

Pull 9. Schedule and mileage

Your field app’s schedule shows the order of stops. Your mileage log, or the GPS history on the trucks if you have it, shows drive time.

ChecklistTen-minute pull
  • Pull one week of the schedule and count drive time between stops for each tech.
  • If you have GPS on the trucks, export a week of trip logs. If you do not, count miles from the odometer notes or the routes in a map app.
  • Add up the drive hours for the crew. That feeds Chapter 19.

Build the scoreboard

When you have the pulls, copy them to one page. This is the scoreboard.

ChecklistOne-page scoreboard
  • Average job (A). From Pull 2.
  • Jobs you could run in a month (B). From Pull 2, best tech day.
  • Jobs you ran last month (C). From Pull 2.
  • Inbound calls in 30 days, answered, missed, voicemail. From Pull 3.
  • Calls by source. From Pull 4.
  • Profile calls, direction requests and website clicks. From Pull 5.
  • Reviews in the last 90 days. From Pull 5.
  • Customers inactive 12 to 36 months. From Pull 6.
  • Estimates sent, approved, open past seven days. From Pull 2 and Pull 6.
  • Form submissions last 30 days and your own test result. From Pull 7.
  • Paid hours and billed hours per tech. From Pulls 2 and 8.
  • Drive hours per week for the crew. From Pull 9.

Twelve lines. Fill in what you can. Leave blanks where you cannot, and treat the blanks as your first list of fixes. A blank means you do not have the data, and Chapter 3 told you what an unmeasured cost does to you.

Why the leaks overlap

As you fill in the scoreboard, you will notice the same customer appearing in several places. A caller who rings out is a missed call (Chapter 5), a lead that waited too long (Chapter 6) and, if she called at 8 p.m., an after-hours lead (Chapter 7). One person, three leaks.

That is why you do not add the leaks together. Chapter 30 shows you how to rank them without counting the same dollar twice. For now, write each one down by itself, and remember that the Opportunity Value from Chapter 2 is the ceiling. The leaks explain how you got to the gap. They do not stack on top of it.

What to do when the data is bad

Real data is messy. Three problems come up almost every time.

The phone log shows calls from your own staff and from spam. Filter out numbers you recognize and any call under 10 seconds, then say how many calls you removed.

The field app has jobs with no lead source. Pick a rule (put unknown in its own bucket) and keep it the same every month.

The CRM has duplicates. Do not clean the whole thing today. Count a rough percent of duplicates in a sample of 50 records and subtract it from your totals.

You are after a number good enough to rank the leaks. An answer within 10% is good enough to act on.

ScriptMessage to your office manager asking for the exports

“I’m pricing out what’s leaking in the business. By Friday I need five exports: last 30 days of inbound calls from the phone system, last 90 days of jobs and quotes from the field app, last 12 months of customers with last job date, the Google Business Profile performance numbers for six months, and the form submissions from the website for 30 days. Send them as CSV or a screenshot. If you can’t find one, tell me which and I’ll look with you.”

Send that message today. You will not get everything on Friday, and you will learn quickly which system holds up and which one nobody can open.

Do this week

  1. Do Pulls 1 through 3 yourself or sit next to your office manager while they do it. Pull 2 gives you A, B and C for Chapter 2.
  2. Run Pull 5. It takes ten minutes and it needs no one else.
  3. Send the message to your office manager above.
  4. Fill in the scoreboard by Friday, with blanks where you do not have the data, and circle the blanks.
  5. For every blank, write down who owns that system and when you will have the number.
Part II

Phone

Leads that reached you and still got away.

  1. 05Missed Calls
  2. 06Slow Callbacks
  3. 07After-Hours Leads
  4. 08Broken Forms
Chapter
05

Missed Calls

Every missed call is a customer dialing the next name on the list.

A Tampa-area plumbing and electrical company logged 81 calls in one month and sold 69 jobs. I can give you both numbers because the company tracks its calls. Ask most owners how many calls they got last month and you get a shrug and a guess.

Now ask the harder question. How many of those calls rang out?

Almost nobody knows. The phone company knows. The call log knows. The owner does not, because a missed call leaves nothing behind. No invoice, no job ticket, no angry email. The customer dials the next name on the list and you never hear about it.

This chapter prices that leak, shows you where the count lives, and gives you the scripts that plug it, starting with the cheapest ones.

What happens on a missed call

A homeowner with a clogged main line, a dead AC or a green pool does not leave a message and wait. She has a problem and a phone. She taps your number. It rings six times and flips to voicemail. She hangs up and taps the next company on the map.

Some callers leave a message. Plenty do not. The ones who do leave a message are mixed in with wrong numbers, vendors, telemarketers and your mother-in-law. The real jobs sit in that pile, aging, until someone gets to it.

By the time you call back at 4:45, the other company has already answered, quoted and booked. You pay for the ad, the truck wrap and the map listing that made her call. A competitor collects the money.

You do not need a study for this. You need your own call log.

Price the missed calls

Say you run a four-truck pool company and the carrier log shows 60 calls last month that went unanswered or to voicemail. You listen to a sample of voicemails and find that 60 percent were real jobs. The rest were wrong numbers, sales pitches and people asking for an address you already gave them. You close half the real calls you do answer, and your average job is $450.

The mathFour-truck pool company, missed calls
Missed and voicemail calls a month60
Share that were real jobs60%
Real jobs that rang out36
Close rate on real calls50%
Jobs you would have closed18
Average job$450
Lost a month$8,100

Eighteen jobs. $8,100 a month. Multiply by twelve and it is $97,200 a year, from a leak that costs nothing to see.

This is one slice of the Opportunity Value gap from Chapter 2. If your gap was 40 jobs a month, these 18 jobs are close to half of it, and you already paid to generate every one of those calls.

Check the assumptions before you argue with them. The 60 percent real-job share comes from listening to voicemails, and the 50 percent close rate comes from your own books. Both are your numbers. If you think 50 percent is high for cold callers, cut it to 30 and the answer is $4,860 a month. The leak is still there.

Pull your call log

You need four numbers, and you can pull all of them in under an hour. Do it this week.

ChecklistWhere the call counts live
  • Your phone system or carrier. Log into the account that bills your business line (Quo, RingCentral, Grasshopper, Verizon, Spectrum, whatever sends the bill). Find call history or call detail and export the last 30 days. You want date, time, caller number, direction, duration and whether it was answered.
  • Missed plus voicemail. Filter for inbound calls with zero duration or a voicemail flag. Count them. That is the first input on the worksheet.
  • Real jobs. Pick 20 of those calls. Play the voicemails. Count how many were a customer who wanted work. If fewer than 20 left a message, call the numbers back and ask. Divide the real ones by 20.
  • Close rate. In your field app (Jobber, Housecall Pro, ServiceTitan) or QuickBooks, take jobs booked from phone leads and divide by real inbound calls you answered. If you do not track that, use your best estimate and label it a guess.
  • Cross-check against Google. Open your Google Business Profile performance report and look at calls from the profile. Compare that count to the calls your log shows from the same weeks. A big gap means the log is missing a number, because customers are calling a number you did not know was listed.

Do not skip the voicemail listening. It takes about fifteen minutes. It is also the part that changes minds, because you hear the customers who wanted to give you money.

If you have no call log at all because your cell phone is the business line, scroll your recent calls on the phone. Missed calls show in red. Count a typical week and multiply by four. It is rough, and it is still better than not knowing.

Why owners swear they answer everything

I hear it in almost every first conversation. “We answer everything.” Then I ask to see the log and the number is different.

The reasons are boring.

You answer calls when you can, and you remember the ones you answered. You do not remember the five you ignored while you were on a ladder, under a sink, in a customer’s kitchen or at your kid’s game. A missed call produces no memory because nothing happened.

Techs do not answer when they are on a job, and they should not. The office manager stepped out for lunch. Everyone was on another line. The call came in at 12:10, when the whole office eats at the same time.

Add it up and you have a pattern of small holes. Lunch. The first hour of the morning. Anything past 5:00. Saturday. The phone rings in every one of those holes.

Your log will show them by hour. Sort the missed calls by time of day. You will likely see clusters at lunch and at 4:30 to 6:00, which is when most homeowners get home and make the calls they have been putting off all day. Those clusters are where to put your fix.

Fix one: the voicemail greeting

You cannot answer every call live. A good voicemail greeting recovers some of the ones you miss, and a bad one wastes them.

Most greetings fail the same way. “You’ve reached So-and-So Plumbing. We’re not available right now. Please leave a message.” That tells the caller nothing and asks her to wait for you.

Write one that gives the caller a reason to stay and a promise she can believe.

ScriptVoicemail greeting

“Hi, you’ve reached [Company Name]. We’re on a job right now and can’t pick up. Leave your name, your number and what’s going on, and we’ll call you back within [30 minutes] during business hours. If you hang up now, we’ll still text you in a few seconds so you can send us your address and what you need. Talk to you soon.”

Only promise a time you can keep. If you say 30 minutes, someone has to call in 30 minutes. A broken promise on voicemail is worse than no promise. Pick a window your office can hit on a bad day.

Record the greeting in your own voice, in a quiet place, once. Do not use the phone’s robot voice.

Change the greeting when your hours change. A greeting that says “we’re on a job” at 8:30 on a Saturday night tells the caller nobody is coming.

Fix two: the missed-call text-back

This is one of the cheapest fixes in the book. When a call rings out, your system sends a text to the caller within seconds. The caller is still holding the phone and still looking for a company. The text reaches her before she finishes dialing number two.

ScriptMissed-call text-back

“Hi, this is [Company Name]. Sorry we missed your call. We’re on a job, but we got your number and want to help. What do you need and what’s the address? We’ll call you back as soon as we’re free. Reply STOP to opt out.”

Variation for after hours, which Chapter 7 covers in detail:

ScriptMissed-call text-back, after hours

“Hi, this is [Company Name]. We’re closed for the night and will call you first thing at [7:30] tomorrow. If this is an emergency, reply EMERGENCY and we’ll get someone to you. Otherwise tell us what you need and what the address is and we’ll be ready when we call.”

Four rules keep this working.

First, it sends automatically, within seconds. A text that arrives an hour later reads as spam. Tools that do this live inside most business phone systems and CRMs (GoHighLevel, Quo, and the texting add-ons for Jobber and Housecall Pro all have a version). Turn it on, then test it by calling your own line from a different phone and letting it ring out.

Second, register your business number for texting. Carriers in the US filter business texts that are not registered through A2P 10DLC. Your texting provider walks you through it. If you skip it, your text-backs get blocked and you will not know. Ask your provider whether your number is registered, and get the answer in writing.

Third, honor STOP the first time. Keep the opt-out line in the text, and when someone replies STOP, never text that number again.

Fourth, have a person who watches the replies. A text-back that gets an answer at 4:10 and sits unread until tomorrow wastes the whole fix. The reply should land on whoever’s phone is closest to the job board, and your office should clear that inbox every hour.

Fix three: overflow rings to a person

Voicemail and text-back recover part of the leak. The rest of it needs a person on the other end.

Look at how your lines ring today. If a call rings your cell until it times out and then goes to voicemail, you have one point of failure and it is you. Build a ring order.

ChecklistRing order for a small shop
  • Rings 1 to 3: the office phone, or the person assigned to answer this hour.
  • Rings 4 to 6: the second person (owner, office manager or lead tech) on a cell.
  • Rings 7 to 9: an answering service, virtual receptionist or AI receptionist that picks up, asks what the caller needs and books or routes it.
  • Voicemail last, never first.

Your phone system supports this. In a hunt group or ring group, each person is added in order with a timeout. If your carrier does not offer it, move to a business phone service that does. You can set it up in an afternoon.

Assign hours to people. Lunch gets covered by someone who eats at 11:30 or 1:15. The 4:30 to 6:00 window gets a name on a schedule. Write it down and give it to every employee.

For the third tier, you have three options.

A live virtual receptionist is a human company that answers in your name. I run one at Westchase Painting, my own painting company in Tampa. It costs money every month and it works.

An AI receptionist answers on the first ring, asks the same questions every time, and books into your calendar. It does not take lunch. It also needs a script and a test, which Chapter 7 provides.

Your own team works if you have enough people to cover. Count honestly. Most four-truck shops do not.

Pick one. The wrong answer is leaving a gap in the ring order and hoping.

What owners say back

“I can’t answer on a ladder.”

Right. Nobody asks you to. Fix the system, so the ladder is not the reason a call is lost. The text-back and the overflow tier cover you on the ladder.

“Half those voicemails are junk.”

Maybe. That is why the worksheet asks what share were real jobs. If you listened to 20 and only 4 were real, put 20 percent in the box. The answer will still beat zero.

“People who really need me will call back.”

Some do. Anyone with a leak in the ceiling has a short list of companies to try and a short attention span. The ones who call back were the patient ones. The urgent ones booked someone else.

“I don’t want strangers answering my phone.”

Fair. Write the script for them. A receptionist who follows your script, with your greeting and your questions, sounds like part of your team. A voicemail box sounds like nobody is home.

“This is a lot for 18 jobs a month.”

At $450 a job it is $8,100 a month. The voicemail greeting and the text-back cost you an hour and a software setting. The overflow rule costs a conversation with your team. Measure the gap in your own log, and then decide whether it is a lot.

Track it after you fix it

Fixing the leak without a counter means you will never know if it worked. Set up a scoreboard once.

Every Monday, pull four numbers from last week: inbound calls, answered calls, missed calls, and missed calls that got a text-back reply. Divide answered by inbound for your answer rate. Write it on a whiteboard in the office. Next to it write the number of jobs booked from calls.

Aim for answered calls to climb toward 100 percent live or covered. Track text-back replies as a bonus.

Call tracking makes all of this easier. When each source has its own tracked number (your Google profile, your website, your truck wraps, your ads), you see which source the calls came from and how many of them rang out. At ServiceLine Pro we use dedicated tracking numbers, and your main business number stays yours. Without tracking you can still read a carrier log. With it you can say which ad paid for the call a competitor stole.

For the Tampa-area company at the top of this chapter, call tracking is the reason 81 calls and 69 sold jobs are facts and not guesses. That is the standard to hold your own business to.

What ServiceLine Pro runs for this leak

We set up call tracking so you can see every call and where it came from, and AI answering for the calls your team cannot take. You can build the first two fixes in this chapter yourself this week, and you should.

Do this week

  1. Export 30 days of inbound calls from your phone system. Count the missed and voicemail calls, then listen to 20 voicemails and count the real jobs.
  2. Record the greeting from this chapter in your own voice, with a callback time your office can hit.
  3. Turn on a missed-call text-back, confirm your number is registered for business texting, and test it by calling yourself from another phone.
  4. Write a ring order on paper with names and hours, and cover lunch and the 4:30 to 6:00 window first.
  5. Run your numbers at workbook.servicelinepro.com/#ring.
Chapter
06

Slow Callbacks

A web lead cools off every minute you wait. Your own close rates show how fast.

Here is a sentence from our own company handbook, written about the thing that breaks client relationships more than any other: “We generate the lead, it goes to voicemail, and nobody calls back for four hours.”

Say an owner pays for ads. The ads work. A form comes in at 10:15 on a Tuesday while the crew is on site and the office is at lunch. The lead sits in an inbox until 2:30, when somebody calls and gets voicemail. By then the homeowner has talked to two other companies and picked one.

The owner calls us a week later and says the leads are bad.

Some leads are bad. Many are fine and arrived cold. This chapter helps you tell which is which, with your own numbers, and gives you the scripts to fix the second kind.

Why waiting costs money

A web lead is a person who typed her name, her number and her problem into a form a few minutes ago. She was thinking about your company at that moment. She also filled out a form at two other companies, or she plans to.

Every minute after the form, she thinks about something else. A kid needs a ride. Her boss messages. By the time you call, she may not remember your name.

I will not hand you a “response within five minutes makes you X times more likely to win” statistic. Sales courses circulate numbers like that, and I cannot trace them to a source I trust, so I am not printing one. Your CRM already holds the real one. It records when each lead came in and when you first called. If you also record whether the lead booked, you can split your own leads into fast and slow and compare close rates.

That comparison is what the worksheet runs.

Price the slow callbacks

Say you get 80 web and form leads a month from your site and ads. Only 20 percent of them, 16 leads, get a call within five minutes. Your CRM shows that those fast-called leads close at 40 percent. The leads that got called later close at 15 percent. Average job is $450.

The mathSlow callbacks
Web and form leads a month80
Share called back inside 5 minutes20%
Leads called back late64
Close rate when called inside 5 minutes40%
Close rate when called later15%
Gap in close rate25 points
Extra jobs if every lead were fast16
Average job$450
Lost a month$7,200

Sixteen jobs a month. $7,200. That is $86,400 a year.

Look at what you did not need to buy. No new ads, no new website. The 64 late leads already came in. You paid for them. The fix is moving the clock.

This number is the ceiling for what speed is worth to you. You will not reach 100 percent fast calls, and not every late lead would have closed at 40 percent. Still, if you move from 20 percent fast to 70 percent fast, you capture a large share of it.

Pull your callback times

Your callback time is in the CRM, if you use one with a timestamp on first contact. Here is how to get it.

ChecklistWhere the callback numbers live
  • Open your CRM or field app (GoHighLevel, Jobber, Housecall Pro, ServiceTitan or similar). Export last quarter’s new leads from the website, forms and ads. Keep the date and time each lead was created.
  • Add the date and time of the first outbound call or text by a human. Most systems show it in the contact’s activity timeline. If your CRM does not record it, check the phone system’s call detail for outbound calls to that number.
  • Subtract. Sort leads into buckets: under 5 minutes, 5 to 30 minutes, 30 minutes to 4 hours, same day, next day or later, never.
  • Mark which leads became booked jobs. Your field app or QuickBooks shows the sold jobs. Match by phone number.
  • Compute the close rate for each bucket. Use at least 40 leads in your fast and slow groups. A bucket of 8 leads proves nothing.

Expect an ugly result. Look at the “never” bucket, and at the leads that came in Friday afternoon and got their first touch Monday. Check whether anyone owns the inbox.

If your data is too thin to split, run a month of tests. Call every lead within five minutes for a month and log it. Then compare that month’s close rate to the month before.

Do not wait for perfect data. If the fast leads close at more than the slow ones, you have found the leak. The size is a detail you can tighten later.

When speed matters less

Not every lead needs a call in five minutes.

A roofing company we work with runs an ad form that walks the customer through about eight steps. The customer picks a day and time to book at the end. When the team calls, I have heard the result described this way: “when the team calls them, they answer the phone because they went through like eight steps and picked their time and booked it.”

That lead scheduled herself. She expects the call at that time. Speed to answer her first form matters less than whether you call when you said you would.

Compare that to a short form with name, phone and “tell us about your project.” That lead has asked for nothing specific. She expects a quick reply and she is also asking two other companies. This is where minutes matter.

So sort your forms. For each one, ask what promise it makes the visitor. A form that books a time makes the promise “we will call at 3:00.” A form that asks for a quote makes the promise “someone will be right back.” Keep the promise either way.

Yelp leads taught me the same lesson. One plumbing account in our area got 177 form leads against 23 calls, by Yelp’s own count (Chapter 17 has the full numbers). My reaction was this: “Form leads need a same-minute reply.” Form leads arrive in bulk, they cool off quickly, and the company that answers first looks like the most serious one.

Fix one: an automatic text in 10 seconds

You cannot call within 10 seconds. A computer can text within 10 seconds. The goal is to tell the lead you got her message, and to start the conversation before she moves on.

ScriptInstant text to a web lead

“Hi [First Name], this is [Your Name] at [Company Name]. Got your message about [service from form]. I’m calling you in a couple of minutes. If now is a bad time, reply with a time that works and I’ll call then. Reply STOP to opt out.”

Send it from a number a person can text back on. Include a real name, not “the team”. Use her first name from the form, and the service she picked. A text that references what she asked for reads like a person wrote it.

After hours, change the second line. Chapter 7 covers that.

The same rules from Chapter 5 apply. Register your business number for texting with your provider so carriers do not block the message. Keep the opt-out line. Stop texting anyone who replies STOP.

Do not send this text and then leave her waiting. A promise to call in a couple of minutes means you call in a couple of minutes.

Fix two: a call inside five minutes

The auto-text buys you a few minutes. It does not replace the call.

Set an alert that goes to a phone, not an inbox. A new-lead notification should buzz the cell of whoever is on lead duty. Email alone is too slow. Use the push notification from your CRM or a text from the system.

Route the lead to whoever is free. Do not assign leads by territory or by who “owns” the customer when that person is under a sink. If your system supports round robin, set the order and a backup. If the first person does not claim the lead in two minutes, it moves to the next. If nobody claims it in five, it goes to the owner.

Say it out loud in a team meeting. Lead duty is a job with a name on it. Put the names on a schedule, one for each block of the day. If the person on duty is on a call, the next one picks up.

When you call, open with something that puts her at ease and confirms who you are.

ScriptCallback opener

“Hi, is this [First Name]? This is [Your Name] with [Company Name]. You sent us a message a few minutes ago about [service]. I wanted to catch you while it’s fresh. Do you have a minute?”

If she says yes:
“Great. Tell me a little about what’s going on, and then I’ll get you on the schedule. What’s the address?”

If she says it is not a good time:
“No problem. When is a better time today? I’ll call you at [time she names], and I’ll text you right before so you know it’s me.”

Two things to notice. You start by naming the reason for the call, so she does not think it is spam. And you ask for the address early, because the address tells you whether you serve her area. If you do not, say so politely and hand her to a company that does. That is good business too.

Fix three: the follow-up cadence when she does not answer

Many leads will not pick up the first time. They are at work, they have a phone on silent, or an unknown number reads as spam. One call does not mean the lead is dead.

Set a cadence and do not improvise it. Start from this one and adjust it to your trade.

ChecklistContact cadence for a new web lead
  • Minute 0: automatic text (the script above).
  • Minute 2 to 5: first call. If no answer, leave a short voicemail.
  • Same day, about an hour later: second call and a text.
  • Same day, late afternoon or early evening: third call.
  • Next morning: call and text.
  • Day 3: one last text.
  • After that, move her to a long-term follow-up list.
ScriptVoicemail after a missed callback

“Hi [First Name], this is [Your Name] at [Company Name]. You reached out about [service]. I’m texting you my number now. Call or text me any time between [7] and [6] and we’ll get this scheduled. Thanks.”

ScriptText after the first missed call

“Hi [First Name], [Your Name] at [Company Name] again. I tried to reach you about [service]. What’s a good time to talk? You can also reply here with the address and a couple of details and I’ll send you a plan.”

Log every attempt in the CRM. If you cannot see attempts, you cannot manage them, and you cannot tell whether the lead was bad or your follow-up was.

Who owns the inbox

This leak comes down to ownership.

When an owner says “somebody should call that lead,” nobody does. When the owner says “Dana calls every lead between 7 and noon, Marcus takes noon to 5, and I take everything after,” it gets done. Pick the names. Write them down. Tell them what the standard is.

Then measure. Every Friday, pull the list of leads from the week with the minutes to first call. Read the three slowest. Do not scold anybody. Ask what happened. Usually it was a hole in the schedule or a notification that did not fire. Fix the hole.

The reason to look at the slowest three is to find the pattern. If the slow ones are all Fridays after 3:00, you have a Friday problem. If they are all from one form, that form may not alert anyone.

What owners say back

“If I’m a good plumber, they’ll wait for me.”

Some will. Others will not. Check your own numbers. The 25-point gap in the worksheet is something you can measure. Run the same split on your leads and see how close the fast and slow groups sit.

“I can’t be on my phone all day.”

You do not have to be. Give the job to someone whose job it is. That could be an office manager, a part-time dispatcher, or a call center, or a system that texts first and routes the call.

“My leads are junk, so speed won’t help.”

Maybe. Test it. Call 30 leads inside five minutes for a month. If they still do not book, the lead source is the problem, and Chapter 17 prices it. If they book, you have your answer.

“I don’t want to sound pushy.”

A call within five minutes from a person who sounds glad to hear from her is not pushy. A call five hours later sounds like a company that forgot her.

“I already text everybody back.”

How fast? Check the time stamps. Pull the median. Owners who say they text everyone back sometimes find it sits in hours.

What ServiceLine Pro runs for this leak

Speed-to-lead automation is built into every PPC setup we run with our ad partner. It sends the instant text, alerts your team and tracks how long each lead waited. You can build a plainer version in your own CRM with the scripts above.

Do this week

  1. Export last quarter’s web and form leads with creation time and first outbound contact time, and sort them into the five time buckets.
  2. Compute the close rate for fast leads and slow leads. If your groups are too small, start logging first-contact time today.
  3. Turn on an instant text for every new lead, using the script above with her first name and the service she asked for.
  4. Put names and hours on a lead-duty schedule, and send alerts to cell phones, not email.
  5. Run your numbers at workbook.servicelinepro.com/#clock.
Chapter
07

After-Hours Leads

Your phone keeps ringing after you clock out. A competitor answers it.

Say you run a plumbing company in Tampa. At 7:40 on a Wednesday night a homeowner walks into her kitchen and finds the cabinet under the sink soaked. She shuts off the valve, grabs a towel, and picks up her phone.

She does not call you first because she saw your truck once. She searches “plumber near me,” sees three listings on the map, and taps the top one. If it rings out, she taps the second. The second one answers, says “we can have someone there by nine,” and takes her card.

You were at dinner with your family, which is where you should have been. You also lost a job, and you will never learn it existed. The next morning your phone shows one voicemail, left at 7:41. Somebody else’s truck is already in her driveway.

This chapter prices the after-hours leak, tells you where to find it in your own log, and gives you word-for-word instructions you can hand to an answering service, an AI receptionist or your own on-call tech.

What counts as after hours

Most owners hear “after hours” and think of midnight emergencies. The leak is much bigger than that.

After hours covers every time your business phone is not answered by a person who can book. That usually means:

  • Before you open, say before 7:30 or 8:00.
  • After you close, often at 5:00.
  • Lunch, if the office closes.
  • Saturday and Sunday, if the office is dark.
  • Holidays.

Count all of them. A call at 6:15 on a weeknight is an after-hours call. So is the Saturday morning call from a homeowner who has the weekend free and wants to book somebody today. In many trades, weekends and evenings are when homeowners are home, awake and ready to make decisions.

Price the after-hours leak

Start with the leads you get every month from all sources: calls, forms, texts. Say it is 150. Check your log for the share that arrives outside business hours. Say it is 30 percent, which means 45 leads.

Your daytime booking rate is 45 percent. The after-hours booking rate is 15 percent, because most of those leads get a voicemail, a late reply or nothing. The gap is 30 points.

The mathAfter-hours leads
Leads a month150
Share after hours and on weekends30%
After-hours leads45
Booking rate during the day45%
Booking rate after hours15%
Gap in booking rate30 points
Jobs lost13.5
Average job$450
Lost a month$6,075

Thirteen and a half jobs, $6,075 a month, $72,900 a year. Treat the half job as a rounding artifact of the average. Over a quarter it is about 40 jobs.

The math assumes that if you answered after-hours leads as well as you do daytime ones, they would book at the daytime rate. That is generous, because some after-hours leads are a different kind of customer. Test it. Cut the daytime rate to 35 percent for after-hours calls and the gap shrinks from 30 to 20 points, so the loss falls to $4,050 a month. The leak is still four figures.

Sort the log by hour

You already own the evidence. Your call log, your CRM and your form inbox all carry timestamps.

ChecklistPull your after-hours numbers
  • Export 90 days of inbound calls, forms and texts. Ninety days smooths out a slow week.
  • Add a column for the hour and the day of the week. A spreadsheet formula does it in one step (HOUR and WEEKDAY on the timestamp).
  • Mark each lead as inside your hours or outside them. Use your real hours, including whether the office answers at 7:30, at noon and at 4:55.
  • Count the leads outside hours and divide by total leads. That is the second number on the worksheet.
  • Match leads to booked jobs in your field app (Jobber, Housecall Pro, ServiceTitan) or QuickBooks. Compute booking rate for inside hours and outside hours separately. If you cannot match by phone number, use your best estimate and label it.

Nights and weekends often run bigger than owners guess. Pull yours and put the real number in.

If your rates look the same for day and night, check that you counted correctly before you celebrate. One cause is that your after-hours leads are mostly emergency calls and you are already answering them. That is good news, and it would be the only case where this leak is small.

Triage: emergency or routine

A good after-hours plan treats two kinds of caller differently.

An emergency caller has water coming through a ceiling, no heat in January, a gas smell, a tree on a roof or a car in the driveway with the AC out in August. She wants a person to come tonight.

A routine caller wants an estimate, a tune-up, a quote on a fence or a booking next week. She called at 9:00 on a Saturday because she had time. She does not need anyone at her house tonight. She needs someone to ask what she needs and book a time.

The second group is the bigger leak for most trades. They do not require a technician on call. They require someone, or something, to answer and put a job on the calendar.

Write down which of your services count as emergencies. Be specific. Be willing to say, “We do not run emergency calls after 9:00 p.m.” as long as the caller hears that and gets a clear alternative: book first thing tomorrow, or a referral.

Options for answering

You have four ways to cover the night. Each one costs a different mix of money, effort and risk.

Answering service or virtual receptionist. A live person at a call center picks up in your company name, follows your script, takes the details and books or routes the call. I use one at my own painting company (Chapter 5). It costs a monthly fee, and it staffs the hours you cannot.

The quality depends on the script you give them and the training the service provides. Give them your questions, your service area, your prices if you want them quoted, and the line between emergency and routine.

AI receptionist. An AI receptionist answers on the first ring at any hour, asks your questions in the same order every time, and books into your calendar. It handles two calls at once. It does not get sick.

It also needs the same script as a person, plus a test. Call it yourself ten times with ten different problems. Check that it books correctly, does not invent prices, and passes an emergency to a human. Do this before you let customers call it.

A note on recording and disclosure. Florida requires the consent of everyone on a call to record it, and other states differ. If your system records or transcribes calls, say so in the greeting. Ask your attorney about the rules where your customers live.

On-call rotation. Your own techs take turns carrying a phone for emergencies. Pay them for it, a flat stipend for the week plus the normal rate when they run a call. Techs who carry the phone for free resent it, and then they miss calls.

This option only covers emergencies. It does not book the routine caller at 9:00 on Saturday.

Voicemail and text-back. This is the weakest tier. Chapter 5 gives you the scripts. They recover a share of calls, and every lead still waits until morning. Use them as a floor and build up from there.

Most four-truck shops land on a mix. An AI receptionist or answering service covers every hour you are closed. One on-call tech takes true emergencies.

Word-for-word after-hours instructions

Give these to your service, load them into your AI receptionist, or tape them to the wall for your on-call person. Replace the brackets with your details.

ScriptAfter-hours greeting

“Thanks for calling [Company Name]. Our office is closed right now, and I can still help you. I’m [Name / the after-hours assistant]. Can I get your first name?”

ScriptQuestions to ask, in this order

“What’s going on, in a sentence or two?”

“What’s the address where you need service?”

“What’s the best number to reach you?”

“Is this an emergency, like active water damage, no heat or cooling in dangerous weather, a gas smell, or anything unsafe? Or can it wait until tomorrow?”

ScriptIf the caller says it is an emergency

“Thank you. Because it sounds urgent, I’m sending this to our on-call technician right now. [He / she] will call you back within [15] minutes at [number]. If anyone is in danger, hang up and call 911 first. Is there anything I should add so the technician is ready?”

ScriptIf the caller says it can wait

“Got it. I’ll put you on the schedule. We have openings tomorrow at [time] and at [time]. Which works better for you? You’ll get a text confirmation in a minute.”

ScriptIf the caller asks for a price

“Prices depend on the job, and I don’t want to guess. The technician gives you an exact quote after seeing it, and you approve it before any work starts. [Optional: The diagnostic visit is $[amount].] Want me to book that visit?”

ScriptClosing the call

“Thanks, [First Name]. You’re set for [day and time]. You’ll get a text with the details and the technician’s name. If anything changes tonight, call back and press 1.”

Add four rules for whoever answers.

  • Never promise a time the company cannot keep.
  • Never quote a price unless you gave them a price list.
  • Never argue with a caller, and never ask her to call back in the morning.
  • Always send a text and an email summary to the office with name, number, address, problem and the time she wants.

The last rule is the one that protects you. When you walk in at 7:30, the inbox shows what happened overnight, and your first call has everything it needs.

Test your own line

Do this on a Saturday at 9:00 p.m. Put your phone on speaker and call your main number from a different phone.

Time what happens. Does it ring? How many times? What does the greeting say? Can you leave a message? Does a text arrive? Does anyone call back, and when?

Call your tracked numbers too. The number on your truck, the number on your Google profile and the number on your website may route to different places. Write down all three outcomes.

Then repeat the test during lunch on a weekday and at 6:15 p.m. on a Tuesday. Those three calls cost you ten minutes and tell you more than a month of guessing.

What owners say back

“I don’t want my phone ringing at night.”

It will not. The phone rings somewhere else. A person or a system answers and sends you a summary in the morning.

“My customers want to talk to me.”

At 9:00 on a Saturday night they want a technician or a booking. Most of them have not met you yet. They meet you on the first visit.

“An AI will sound dumb.”

Some sound dumb, and some do not. The only way to know is to test the one you are considering. Call it with ten real problems, play the recordings for your office manager, and ask whether she would let it answer. If the answer is no, do not use it.

“We’re a 9 to 5 shop.”

Your customers are not. Check the log. If 30 percent of your leads arrive outside 9 to 5, you are running a business whose phone rings around the clock and answering it 40 hours a week.

“It costs too much.”

Run the math with your own numbers first. At $450 a job and 13.5 lost jobs, you are spending $6,075 a month to leave the phone unattended. Most answering options cost a small fraction of that. If your own numbers say the leak is $800 a month, the answer changes, and the worksheet tells you so.

Cover the mornings too

One last place to check. Your first-thing messages from overnight are leads too, and they cool faster than any others. A person who called at 10:00 p.m. and got a text promising a call at 7:30 will be watching her phone at 7:30.

Call at 7:30, before she starts calling the next name on the map. The after-hours system earns its fee only if somebody finishes the job in the morning. Put a name on the morning list, and time the first callback on Monday through Saturday. Chapter 6 gives you the callback script.

What ServiceLine Pro runs for this leak

We set up an AI receptionist that answers around the clock and books straight into your calendar, using the question list in this chapter. You can run the same plan with a live answering service and a good script.

Do this week

  1. Export 90 days of leads, add the hour and weekday, and calculate your after-hours share and your booking rates inside and outside hours.
  2. Call your own main number at 9:00 on Saturday night and write down exactly what the caller gets.
  3. Decide which problems count as emergencies and which can wait until morning, and write both lists on one page.
  4. Pick an option for covering closed hours, hand over the scripts in this chapter, and run ten test calls before you go live.
  5. Run your numbers at workbook.servicelinepro.com/#night.
Chapter
08

Broken Forms

When did anyone last fill out your own website form to see if it works?

The company in Chapter 1 that was losing close to $1.8 million a year had forms that failed and buttons that went nowhere. Nobody had checked them.

A broken form does not announce itself. A plugin updates on a Tuesday, a contact email gets deleted when an employee leaves, a phone number changes on the truck and not on the site, and leads quietly stop arriving. Sales dip and the owner blames the season.

We audited a towing company in a central Florida city that shows how many ways one site can leak. The page took 17.8 seconds to become usable on a phone. The lead form asked for an email address and nothing else, no phone number. A form like that hands you someone’s inbox and a hope that she opens your reply. People who need a tow do not wait for an email.

It was a prospect, so I will not name it. Your site has its own version. This chapter shows you how to find it in an afternoon, price it, and put a test on the calendar so it stays fixed.

Why forms break without anyone knowing

A phone that stops ringing gets noticed. A form that stops working does not, for three reasons.

First, nothing fails loudly. The visitor fills in her name, clicks Submit, and sees a thank-you page. On your side nothing arrives. The site works from her view, and the lead is gone.

Second, you rarely test. The person who built the site tested it once, the day it launched. After that, updates, new plugins, a redesign, a hosting change or a new spam filter can break it. Nobody runs the test again.

Third, the missing lead does not show up in any report. Chapter 3 covered why: your books record what happened, and they cannot record the lead that never arrived.

Here are the usual causes, in the order I would check them.

ChecklistCommon reasons a form stops delivering
  • The notification email goes to an address nobody reads anymore, such as a former employee or an old domain.
  • The notification lands in spam, because your email provider flagged messages from the site.
  • A spam-blocking tool (captcha or honeypot) rejects real visitors, or a plugin update broke it.
  • A required field rejects real answers, such as a phone box that refuses certain formats or a zip box that only takes five digits.
  • The form asks for an email and not a phone number, so the lead arrives and you cannot call it.
  • The button works on a laptop and fails on one phone browser. Check your analytics for how many of your visitors are on phones.
  • The form posts to your CRM, and the connection broke, so the lead sits in a log instead of your pipeline.
  • The thank-you page does not load, so the visitor thinks it failed and leaves.
  • A tracked phone number was removed from the site, or the number now rings a dead line.
  • The page is so slow that the form is not ready when the visitor tries it.

Any one of these takes a lead from a customer who already decided to contact you. The ads, the map listing or the referral did their work. The form dropped the ball.

Price a broken form

This worksheet prices exposure. It asks how long it has been since anyone tested your forms and numbers, because a break that started the day after your last test has been costing you ever since.

Say it has been 60 days since anyone checked. Your site brings in 1.5 leads a day on average from forms and calls to tracked numbers. You close 40 percent of leads, and your average job is $450.

The mathBroken forms
Days since anyone tested your forms and numbers60
Website leads a day1.5
Leads in that window90
Close rate40%
Jobs a day from website leads0.6
Average job$450
Revenue per day from website leads$270
At risk if it broke the day after the last test$16,200

$270 a day. If the form broke right after the last test, you lost $16,200 by day 60. If nobody knows when it was last tested, the worksheet tells you to put 180 days. At $270 a day, that is $48,600 of exposure.

Be careful with this number. It is a worst case. Most months your forms work fine, and the answer is $0 lost. The point of the worksheet is to show what a failure would cost and to show why the test is worth ten minutes a month. A test that takes ten minutes protects $270 a day.

If you have not tested in a year, you have a choice. Test today, or accept that your site might be sending leads to a dead inbox.

How many visitors that takes

Pull your own numbers before you rely on any average. For a rough check, two public sources put the share of site visitors who contact a local business at about 2.7 percent (Ruler Analytics) and 2.4 percent (MetricHQ). Use 2.5 percent as a ballpark.

At 2.5 percent, 1.5 leads a day means about 60 visitors a day. If your analytics show 60 visitors a day and you get 1.5 leads, your site is converting at roughly the typical rate. If you get 600 visitors and 1.5 leads, something is wrong with the form, the page speed or the offer.

Treat this as a hint. The checklist below is the real test.

Form test checklist

Run this on one morning. Use a real phone and a laptop. Use a fake name that you can spot, such as “Test Form 0412.” Tell your office so nobody calls the number and apologizes.

ChecklistTest every form on your site
  • List every place a visitor can reach you: contact page, quote request, service pages, landing pages for ads, pop-ups, chat widget, click-to-call buttons, the map embed and the footer.
  • Open each one on your phone with Wi-Fi off, so you test it on cellular data. Then open it on a laptop.
  • Fill in the form with a real phone number you control and an email you read. Use realistic answers, including the longest address in your service area.
  • Press Submit once. Note what the page shows. Did a thank-you message appear? Did the page reload? Did it error?
  • Check the inbox that is supposed to receive the notification. Time how long it takes. Check spam too.
  • Check the CRM. Did a new contact appear with the right name, phone, source and message?
  • Check for the instant text or email reply you promised the visitor in Chapter 6. Did it arrive, and how fast?
  • Check who gets alerted. Did the lead-duty person’s phone buzz?
  • Call back as if you were the office. How long did it take from submit to first call?
  • Click every phone number on the site from your phone. Does it dial your business, and does it dial the right line?
  • Call each tracked number from a different phone. Does it ring where it should, and does the call show in your call log with the right source?
  • Test the form again with a missing phone, a missing email and a weird character in the name, such as an apostrophe. Real customers do all three.
  • Load each page on cellular data and time it. If a page takes more than a few seconds before the form works, flag it.

Write down the result for each form in a simple sheet. Date, form name, pass or fail, notes and who fixed it. Keep the sheet. When a problem comes back, you can see when it started.

Fix the form itself

For most forms, three changes handle most of the damage.

Ask for the phone number. A name, a phone number and a short description of the problem are enough. Each extra field you add cuts the number of people who finish. An email-only form, like the towing company’s, gives you a lead you cannot dial.

Route the notification to two people. Send it to the owner and a shared office inbox, so one person leaving or one address failing does not kill the flow. Confirm both addresses by sending a test.

Send the lead to the CRM and text it to a phone. A notification that lives only in email is easy to miss. A phone buzz tells a person to act now.

If your site is slow, fix that too, because a form that loads in 18 seconds on a phone loses people before they type. Ask your web person for the load time on a mobile connection and for a plan to cut it. Have them name the cause.

Consider the style of form too. The roofing company from Chapter 6 runs an eight-step form that ends with the customer picking her own time, and she answers when the team calls. A longer form can produce a better lead when it ends in a booked time. Test both and compare booked jobs, not form counts.

Set up an alert for silence

You can test by hand each month. Better, you can set up a system that warns you when leads stop.

The simplest alarm is a daily or weekly count. Pick a number below your usual volume. If your site brings 1.5 leads a day, a day with zero leads is normal, and three days in a row with zero is worth a look. Set your CRM or a spreadsheet to send an email when zero leads arrive in 48 hours.

Add a second alarm on the phone side. If your tracked website number gets no calls for 72 hours, look.

You can also use a monitoring service that submits a test form on a schedule and check that it arrives. If you do not want another tool, put a repeating calendar reminder on the first Monday of each month with the checklist above. Name a person who owns it.

If you run paid ads, check more often. One Alaska cleaning company found us on its own and got over 150 leads from ads in roughly its first forty days. That is about four a day. At that pace, a form that breaks on a Friday and gets fixed Tuesday costs a week of paid clicks, and you pay for every click.

Call script for your own mystery shopper

Once a quarter, have a friend or a family member submit a form with a story and see how your team handles it. Give the shopper a script.

ScriptMystery shopper instructions

“Fill out the contact form on [website]. Use the name [fake name] and this number: [your friend’s cell]. In the message box write: ‘I need an estimate for [service] at [address]. Can someone call me this week?’ Then do nothing. Write down the time you submitted. Write down when you get a text or a call, who it was from, what they said, and how they sounded. Do not mention that this is a test. If nobody has contacted you in 24 hours, text me.”

Check the results against your promise. If your form says “we respond within an hour,” look at the time stamp. Speed and follow-up are the same leak as Chapter 6, and you are testing both at once.

What owners say back

“My web guy tested it when he built the site.”

Good. When was that, and what has changed since? A hosting change, a new plugin or a new email setup can break it. The question to ask is the date of the last test.

“I would know if leads stopped.”

You would know if the phone stopped. A form fails with no sound. Look at the lead count in your CRM by week for the last six months. Check for a gap you could not explain.

“We get most of our business by phone.”

Then the phone number is a form too. Click-to-call buttons, tracked numbers and the number on your Google profile all need a test. Run the checklist on those.

“We have too many forms to test.”

Count them. Most sites have four to eight real entry points. At two minutes each, that is under twenty minutes a month.

“I do not want to fill out fake leads and confuse my team.”

Tell the team first. Use the same fake name every time. Add a tag in your CRM called Test, and delete or archive the contact after the test.

What ServiceLine Pro runs for this leak

Every Performance Website we build gets a monthly lead check, a test of the forms and tracked numbers with an alert when leads stop. Our Growth Audit also tests forms, speed-to-lead and call handling live. You can run the same test yourself with the checklist above.

Do this week

  1. List every form, button and tracked phone number on your site, with where each one sends its leads.
  2. Run the form test checklist on a phone and a laptop, and write down the result for each one.
  3. Add a second recipient to every form notification, and confirm the form asks for a phone number.
  4. Put a repeating reminder on your calendar for the first Monday of every month with a name next to it.
  5. Run your numbers at workbook.servicelinepro.com/#form.
Part III

Google Maps

Searches in your town that land on someone else.

  1. 09#1 Map Spot Value
  2. 10Map Coverage Grid
  3. 11Review Gap to #1
  4. 12AI Recommendations
Chapter
09

#1 Map Spot Value

Whoever holds the top map spot in your town collects this every month.

An audit for a small-market HVAC company came back with a scary number. Recoverable revenue from the Google map, somewhere between $28,000 and $264,000 a month.

Somebody had fed the model search volume for the whole country. The company sells to one city. When we ran it again with only the searches people made inside that city, the answer changed to $660 to $1,500 a month.

I like the second number better, even though it is smaller. You can plan around $1,500 a month. Nobody can plan around a range that spans $236,000. If a marketing company ever shows you a map opportunity that looks like a lottery ticket, ask which searches it counted and where those people were standing when they typed them.

This chapter prices the top map spot for your town and your services, using searches made by people who can hire you.

What the top spot collects

Open Google on your phone and type your best service plus your town. Say “pool cleaning” and the name of your city. Three businesses show up on a map with phone buttons before any website. That block is the map pack.

Whoever sits first in that block gets the largest share of the people who search. Some of those people call. Some of the callers book. Each booking has a ticket price. Multiply the chain and you have the dollar value of the spot for that one search, every month.

It is the same chain as every other chapter in this book: searches become calls, calls become jobs, jobs become money. The only new number is the share of searchers who pick the top result.

The workbook sets that share at 25 percent. That is an estimate, and I say so on the sheet. Your own call tracking measures the real number once it runs for a few months. If you want a published figure to test against, First Page Sage’s 2026 numbers put the click-through rate for position one in the local pack at 17.6 percent. Run both. The honest answer sits between them.

A worked example

Say you run a four-truck pool company. Last month 880 people searched “pool cleaning” plus your town. Your average job is $450. Of the people who reach the top result, 30 percent call. You close half the calls you answer.

The mathTop map spot for one search
Searches a month880
Share who pick the #1 spot (25%)220
Share of those who call (30%)66 calls
Share of calls that book (50%)33 jobs
Average job$450
Value of the #1 spot$14,850 a month

That is $178,200 a year, from one search phrase in one town. It is 396 jobs a year.

Now rerun it with the published 17.6 percent in place of my 25.

The mathSame search, conservative share
Searches a month880
Share who pick the #1 spot (17.6%)154.9
Calls (30%)46.5
Jobs (50%)23.2
Average job$450
Value of the #1 spot$10,454 a month

Still more than $125,000 a year. When an owner tells me the opportunity is not that big, I run the low case first, because it is hard to argue with.

I like the second number better, even though it is smaller.

Why third place is still worth owning

Nobody wins a map spot by announcing it. You win one spot out of three, and most owners who chase the map start at nowhere and finish at fifth.

The same First Page Sage data says dropping from position one to position three in the local pack costs about 2.5 percentage points of click-through. The same drop in regular organic results costs 29.6 points. The pack is flat. The top three are close to equal, and the cliff is the edge of the block.

Take the same 880 searches and give yourself 15.1 percent, which is 17.6 less 2.5.

The mathPosition three, same search
Searches a month880
Share who pick your listing (15.1%)132.9
Calls (30%)39.9
Jobs (50%)19.9
Average job$450
Value of a top-three spot$8,969 a month

I treat that as the real goal. At ServiceLine Pro we rewrite “rank number one” as “get in the pack.” The same First Page Sage report puts the local pack at 44 to 48 percent of clicks on searches with local intent, so a business outside the block misses close to half the clicks.

The number-one trophy feels better. A top-three spot pays most of the same bills.

Then there is the other half of what the map does. As I told a Tampa-area plumbing and electrical company on a call, “the Maps is where close to volume is.” That company counted calls from its map listing at close to 50 in August, against about 18 three months earlier., tracked to the map.

Where to find each number

Five numbers do the work. Pull each from your own records.

ChecklistPull the five inputs
  • Monthly searches. Open your Google Business Profile, tap Performance, and read the search terms that showed your listing, month by month. That shows searches that already found you. For terms that never found you, use Google Keyword Planner, and enter your own city so the volume counts the people who can hire you. Check the setting. A national count is the $264,000 mistake from the top of this chapter. ServiceLine Pro pulls real counts for every service and town, free, if you send us the list.
  • Share who pick the top spot. Start with 25 percent as the high case and 17.6 percent as the low case. Your call tracking replaces both after a couple of months.
  • Share who call. In Performance, read how many people tapped Call against how many views the listing got. If you have no call tracking yet, 30 percent is a placeholder. Chapter 5 shows how to set tracking up.
  • Close rate on calls. Take the calls your phone system logged last month. Count how many became a booked job. Divide jobs by answered calls. Chapter 4 shows where that log lives.
  • Average job. Total invoiced over the last 90 days divided by the jobs in the same 90 days, from QuickBooks or your field app.

If your search count comes from a tool that shows ranges, use the middle and write the range on your sticky note.

Count every service you sell

The workbook note says “that’s one keyword.” Your town has a map result for every service you sell, and the money sits in the total.

Say your pool company sells three things. The numbers below are an example, so swap in your own.

Search Searches a month Average job Close rate Value of #1 spot
Pool cleaning in your town 880 $450 50% $14,850
Pool repair in your town 320 $380 50% $4,560
Pool resurfacing in your town 90 $6,000 20% $8,100
Total $27,510

The resurfacing row uses a 20 percent close rate because a $6,000 job closes less often than a $450 visit. The workbook sheet uses one close rate, so run big tickets separately. Mixing a $6,000 job into a $450 average describes no job you have ever sold.

The total, $27,510 a month, is the value of holding the top spot across all three services. It also feeds the next chapter. The grid in Chapter 10 asks how much of this total your listing reaches.

A towing company in a central Florida city shows how this can go. It showed up in none of six local searches, had 10.3 times fewer reviews than the pack leader, and loaded its mobile site in 17.8 seconds. Every one of those is a separate leak. For a tow company I would fix the map first, because towing customers search on their phones, in a hurry, and call the first name that answers.

Check what you collect today

The value of the top spot is the prize. You also want to know what you collect now, so you can see how far you sit from it.

Open Performance on your profile and read the calls for the last full month. Say it shows 18 calls from the listing. In the 880-search example, a top-three spot is worth about 40 calls from that one search alone. Your listing collects less than half of what a top-three spot would.

Do this for each service. A company that sits in the pack for cleaning and nowhere for repair finds the gap that way, one service at a time. The service where you collect least against the prize is the first one to work on. Put it at the top of your sticky note.

Then look at the three names in the pack for that search. They are not smarter than you. Look at their review counts (Chapter 11), their photos, how many services they list, and how fast they answer questions on the profile. Some of what separates them from you you can copy in a week.

Write down the name of the company holding the first spot, and the date. In ninety days, search again. The date makes the progress, or the lack of it, visible to you.

Why you only get a slice

The sheet gives the value of the top spot. You will not capture all of it, and there are two reasons.

First, three businesses share the pack. If you hold second place you get the second-place share. Second, the number assumes the searchers sit in a place where your listing can appear. Chapter 10 covers that second problem, and it is usually the bigger one.

Think of the figure as the size of the prize. It tells you whether the map is worth a project this quarter or a footnote. For a company with a $450 average job in a town where 880 people a month search, the answer is a project.

What owners say back

“We get all our work from referrals.”

Good, and nobody sells you referral work. But people who got your name from a neighbor will still search for you before they call. Check the Performance tab. If your own name shows up in searches and the number is high, your referral customers are looking you up. If strangers in your town search for “pool repair” and see three competitors, they are choosing someone else, and no referral conversation will bring them back.

“My website ranks on page one.”

Page one of regular results and the map pack are different lists. The map block sits above the website results on a phone. As I said in the Tampa-area plumbing and electrical call, a strong site does not help in a neighborhood where the map profile does not show.

“I tried SEO and nothing happened.”

Check where you stand first. The map moves in 30 to 60 days when the work is right. The top-three target at ServiceLine Pro is 90 days, and it is a target, not a promise. Anyone who guarantees you a rank is lying or does not understand how Google works. Ask whoever did the work for your call count before and after.

“880 searches sounds low.”

It is the workbook’s example. A town with 40,000 people produces fewer searches than a metro of two million. That is why the small-market HVAC audit came out at $660 to $1,500. Use your own count. A small number with a real source beats a big number from a tool that counted the wrong city.

What ServiceLine Pro runs for this leak

ServiceLine Pro runs Local SEO for this leak, with a target of the top three in the Map Pack within 90 days. The plan includes Google Business Profile management and weekly reports in calls and booked jobs. You own the profile and the website either way, and after the first 90 days you stay month to month.

Do this week

  1. Open the Performance tab on your Google Business Profile and write down last month’s search terms and counts for each service you sell.
  2. For the biggest service, run the math twice, once at 25 percent and once at 17.6 percent, with your own average job and your own close rate.
  3. Repeat for every service on your price list. Add the totals and write the monthly figure on a sticky note.
  4. Search your best service plus your town on your phone. Write down the three names in the pack and how many reviews each has. You need them for Chapters 10 and 11.
  5. Run your numbers at workbook.servicelinepro.com/#rent.
Chapter
10

Map Coverage Grid

Drop 49 pins across your town and count how many can find you.

I put a map up on a call with the owner of a Tampa-area plumbing and electrical company. It was a grid of colored dots, each dot a spot in his service area, each color a rank. Green meant top three. Red meant nowhere.

He was ranking number one in a circle around his office. Then the green stopped.

I told him what I saw: “within two and a half miles south and north and east and west, you’re ranking number one. You’re doing really, really well, but it stops.”

That circle covered about 25 square miles. Past it, in the next neighborhood, his rank dropped to around spot 10.

His listing was working. In August it logged close to 50 calls from the map, against about 18 three months earlier. The grid showed him the other half of the picture, which was every address where the phone did not ring because his name never appeared.

This chapter shows you how to draw that picture for your own town and put a dollar number on the red.

Why a rank is not one number

When you search “plumber near me” on your phone, Google does not give everyone the same list. It builds the list around where you are standing. A shop two miles from the searcher beats a better shop twelve miles away.

That means your map rank depends on the spot. Standing at your own shop, you may rank first. Standing at a house across town, you rank eighth, and a competitor who is closer ranks first. Both statements are true.

An owner who checks his own rank on his own phone sees one dot. A grid scan checks it from dozens of spots and shows all of them.

A scan works this way. Software places a pin at each point on a square of your town and searches your phrase as if a phone sat at that point. At each pin it records where your business appears. Then it colors the pin. Green if you are in the top three, yellow or orange for the middle, red for past that or not found at all.

The workbook uses 49 pins in a 7 by 7 square. Our Flow scans run denser, 169 points in a 13 by 13 square, with the points 0.9 miles apart. More pins mean finer detail. The math works the same either way.

What a real grid looks like

A pool cleaning company in a mid-size Tennessee city, the same one from Chapter 2, has a 5.0 rating from 73 reviews. We scanned it on three phrases. All of the following came from Flow scans with 169 points each.

On the plain phrase “pool cleaning,” the company ranked in the top three at 0 of 169 points. Top ten at 4 of 169. Found anywhere in the top twenty at 59 of 169.

On “pool cleaning” plus the city name, it did better. Top three at 3 of 169 points. Top ten at 93 of 169. Top twenty at 117.

On “pool repair” plus the city name, top three at 0 of 169, top ten at 3, top twenty at 105.

Competitors on the city phrase held the top three at 142 points, 132 points and 95 points. One company owned the pack across most of the map.

Look at what that means for the owner. A great rating gets you no points on the grid by itself. Three green points out of 169 is less than 2 percent of the map. The owner has a perfect rating and almost never shows up where his customers search.

One caution comes from the notes of our own scans. A red point is not always a rank past 20. Sometimes the scan viewport leaves a point blank, so a red dot can mean “not seen” rather than “far down the list.” Read the counts for top three, top ten and top twenty together and do not panic over a single red corner.

Price the red squares

The formula is short. Count how many of your grid points show you in the top three. Divide by the total points. That share of the grid is how much of the map value you capture. The rest is the red.

You need the monthly value of all the map searches in your area. That is the total from Chapter 9, where you added up the top spot for every service you sell. The workbook default is $30,000 a month.

Say 9 of 49 pins show your business in the top three.

The mathMap coverage, 49-pin grid
Points where you rank top three9
Total points49
Your share of the grid18.4%
Monthly value of all map searches$30,000
Value you capture (9 ÷ 49 × $30,000)$5,510
Value in the red squares$24,490 a month

That is $293,878 a year in neighborhoods that cannot find you.

Every green pin is worth the same in this sheet. Divide $30,000 by 49 and one pin is worth about $612 a month. Move from 9 pins to 25 and the math changes like this.

The mathSame grid, 25 green pins
Points where you rank top three25
Your share of the grid51.0%
Value you capture$15,306
Value in the red squares$14,694
Added a month vs 9 pins$9,796

Sixteen more green pins add about $9,800 a month, or $117,500 a year, with the same crew and the same trucks. If you follow Chapter 2, that is part of the forty-job gap you already pay for.

The workbook counts every pin equally. A real town does not. A pin over a cornfield is worth nothing, and a pin over a neighborhood of 3,000 houses is worth a lot. Drop pins you would never drive to from your count, and give extra attention to the ones over dense areas. The sheet is a first pass, and it is precise enough to rank this leak against the others.

A great rating gets you no points on the grid by itself.

How to run a scan

You have two ways to get a grid, and both are free. One takes minutes. The other takes an evening.

The fast way is the workbook at workbook.servicelinepro.com, where we run a geo-grid scan for your phrase and town at no cost. You get the colored map and the count.

The slow way is by hand. Pick nine spots across your service area, one near the middle and eight spread around it at the compass points. Ask a friend, a customer or a tech who lives near each spot to open Google Maps on their phone with location turned on, search your phrase and send a screenshot. Mark each spot green if you appear in the top three. A nine-point version tells you the shape: strong near the shop, weak out toward the edge.

Whichever way you do it, run the scan on your main money phrase first. Then repeat it for your second service. The grid for pool cleaning and the grid for pool repair often look different because each pack has different competitors.

ChecklistRead a grid
  • Count green points and divide by the total. That is your share.
  • Find the pin closest to your shop. If it is not green, fix the profile before you work on distance.
  • Look at the shape. A green circle around the shop with red beyond means proximity is holding you in. A scatter of green and red means competitors are strong in patches.
  • Note which neighborhoods you already serve that show red. Those are the first ones to fix.
  • Save the image and the date. You will compare it in 30 and 90 days.

Why the green stops

Proximity is the biggest reason. Google favors the business closest to the searcher, and your pin sits where your address is. A competitor 6 miles from you owns the neighborhood next to theirs, and you cannot move the pin.

That is why the address matters. A real address with a real pin gives you somewhere for the green to start. Some owners hide the address and run the profile as a service-area business, thinking it widens their reach. It does the reverse. As I told a client, “If you switch to a service area business, you don’t show up.” The whole map goes red because the pin that anchors your rank is gone. Do not set your profile up that way.

If your shop is your house, pick the address of the place where your trucks load out and your business operates. If you have a yard or a rented bay, use that. The pin has to sit where you do.

After proximity, the reasons are reviews, and the content on your site that mentions each area. The next chapter covers reviews. Here is the quick version of the area work.

Build out from the pin

Do not try to turn the whole grid green at once. Work in rings.

First, make the ring around the shop solid green. If any pin inside two miles is yellow or red, the profile has a problem to fix. Check that the primary category matches your main service, that every service you sell is listed, that the hours and phone are right, and that photos from real jobs are on the profile.

Second, pick the nearest red neighborhood where you already work. Pull the jobs you did there from your field app. If you have done 15 jobs in a neighborhood with a red grid, you have 15 customers who could write a review that names where they live. Ask them. Chapter 11 has the text to send.

Third, publish a page on your site for that area that shows real jobs: the street or neighborhood, the work you did, a photo, a short note from the customer if they will give one. A page that lists a town name and nothing else does not help you.

Fourth, wait and rescan. Map movement takes 30 to 60 days when the work is right. The top-three target at ServiceLine Pro is 90 days. Nobody can guarantee a rank, so I hold it as a target. Run the second scan at day 30 and the third at day 90, on the same phrase, so you compare like for like.

Some owners need a second location to cover a far part of the region. That takes a staffed physical address in the new area and its own profile. It is a later project, after the first ring is green.

What owners say back

“I only want jobs near me anyway.”

Then your green circle should be solid. Check it. If the pins within two miles of your shop are not all green, you are losing the jobs you do want. Set the monthly value in the sheet to the searches inside your real service area and the answer is still a number you can see.

“I’m number one when I search.”

You are number one from where you sit. The searcher on the other side of town is somewhere else. The Tampa-area plumber ranked first within two and a half miles of his office and around tenth in the next neighborhood.

“My competitor is closer to those neighborhoods.”

Sometimes. The fix is reviews that come from those neighborhoods, a page about that area with real jobs on it, and a profile that is complete. You cannot move the pin, but proximity is one factor among several.

“I tried a geo-grid tool and the dots were all red.”

Check the viewport note above, and check your address setting. If the profile hides the address, the grid goes red for exactly that reason.

What ServiceLine Pro runs for this leak

ServiceLine Pro runs geo-grid scans and Google Business Profile work for this leak. We scan your phrases from your service area, show you the grid, and work the rings outward from your pin. You own the profile, and the reports come to you every Monday in calls and booked jobs.

Do this week

  1. Add up the top-spot value of every service from Chapter 9. That total is your monthly map value.
  2. Run a grid for your main phrase, free through the workbook, or by hand with nine spots and nine screenshots.
  3. Count the green points and divide by the total. Multiply the red share by the monthly value and write the number on a sticky note.
  4. Pull the list of jobs you did last quarter in your reddest neighborhood from your field app. That is the list you will text in Chapter 11.
  5. Run your numbers at workbook.servicelinepro.com/#grid.
Chapter
11

Review Gap to #1

The #1 company in your town is still collecting reviews. Here is the pace that passes them.

A Tampa-area plumbing and electrical company showed me its review pace on a call. Two reviews one week. Four or five the next.

The owner paid his technicians $25 for every review they collected. Pay did not fix the pace. The technicians already carried NFC tap cards and still did not ask. Most of the reviews that did arrive came from text and email requests.

I told him to watch the weekly pace. “It’s about the number of reviews you’re consistently getting every week. So the velocity.”

A company with 300 reviews looks small next to one with 2,000. I said it plainly: “just because you have 300 and somebody else has 2,000, it doesn’t mean that you can’t compete with them.”

I had checked that with a contact at Google. A company with fewer reviews can sit in the same pack as a company with many more if its recent reviews keep coming in. The pace tells Google and the shopper that you are alive and doing work this month.

This chapter shows how to measure your pace, your competitor’s pace and the gap between them, and what pace passes them.

Two numbers that move a ranking and a sale

A review count does two jobs. It helps your listing rank, and it persuades the person who sees your listing. Both jobs depend on how recent and how steady the reviews are.

A shopper compares three names in the pack. A company with 310 reviews and a newest review from last Tuesday looks alive. A company with 310 reviews and a newest review from March looks like a company that stopped.

Count two things for yourself and one competitor: total reviews, and reviews per month over the last 90 days. The total tells you how far behind you are. The pace tells you whether you are catching up or falling further back.

Most owners watch the total because it is on the screen. The pace is the number that changes the outcome.

What the gap looks like on paper

The workbook uses these example numbers. You have 64 reviews. The company in the top spot has 310. You collect 3 reviews a month. They collect 12.

The mathReview gap to the top spot
Their reviews310
Your reviews64
Gap today246 reviews

You gain 3 a month and they gain 12. They pull away by 9 reviews every month.

The mathIf nothing changes
Their pace a month12
Your pace a month3
Their lead grows each month by9
Gap in 12 months (246 + 9 × 12)354
Months to catch them at your pacenever

At today’s pace the gap is 246 now and 354 a year from now. You never catch them. Keep adding 3 a month for three years and the gap grows to 570.

Now set a deadline. Say you want to pass them in 12 months. Each month you must cover your share of the gap and also match what they add.

The mathPace needed to pass them in 12 months
Gap today246
Months12
Gap to close each month (246 ÷ 12)20.5
Their pace a month12
Your pace needed (20.5 + 12)32.5, call it 33 a month

Thirty-three a month is about 7.6 a week. That sits inside the 4 to 10 a week range I give owners as a healthy pace. It looks high against your current 3 a month, because 3 a month is a company that does not ask.

A shorter deadline means a higher pace, and a longer one lowers it. Run the formula at three deadlines.

Months to catch them Reviews a month you need A week
6 53 12
12 33 7.6
24 23 5.3

The pace for 24 months is 22.25, which rounds to 23. Even the slow plan is more than seven times your current pace.

Matching their 12 a month holds the gap at 246 forever.

You do not have to pass them to win

The sheet answers the question of passing the leader. You may not need to.

What gets you into the top three is a pace close to your competitors’ and a profile that looks active. Matching their 12 a month holds the gap at 246 forever. Anything above 12 begins to close it. The first job is to stop the gap from growing, and that needs 12 a month, four times your current pace.

Check the top three names in the pack for one phrase. Count each one’s reviews in the last 90 days and divide by three. The slowest of the three sets your minimum pace. The fastest sets the pace that moves you up.

A towing company in a central Florida city shows the other side. Its audit found 10.3 times fewer reviews than the pack leader. At that gap, matching pace is not enough for years. The owner has to ask every customer, every day, and a few of the reviews have to come from the neighborhoods where the map is weak (Chapter 10).

Where to find your numbers

Both counts take about ten minutes.

ChecklistPull the five inputs
  • Your total reviews: search your business name on Google, or open your Google Business Profile and tap Reviews.
  • Your monthly pace: in Reviews, sort by Newest, count the reviews posted in the last 90 days, and divide by 3.
  • The leader’s total: search your main service plus your town, find the first business in the map pack, and read the count under its name.
  • The leader’s monthly pace: tap into their reviews, sort by Newest, count the last 90 days, divide by 3. Reviews show dates like “2 weeks ago,” so count carefully near the edge.
  • Your deadline: pick a number of months. Twelve is a good default.

Do the leader’s count for all three names in the pack. Put them in a short table with their totals and monthly pace. It takes five minutes and tells you how much each competitor is trying.

How to get the pace

A pace of 33 a month comes from asking every customer at the moment they are happiest, in a way that takes seconds to answer.

The moment is the end of the job. The tech finishes, the customer looks at the result, the invoice closes. Right then a text goes out with the tech’s name in it and a link that opens the Google review screen.

I do not recommend rewards for customers. No gift cards, no free drinks, no cash. Ask every customer, the same day, by text. Ask the ones you think are unhappy as well. Someone who is unhappy and gets a text from the owner often tells you what to fix.

ScriptText the minute the invoice closes

Hi [first name], this is [tech name] from [company]. Thanks for having us out today. If the work looked good to you, would you leave us a quick review? It takes about a minute and it helps the next neighbor find us. [link]

Reply here if anything was off and I will fix it today.

The link comes from your Google Business Profile. On the profile screen you will find an option to get more reviews that gives you a short share link. Put that link in your field app’s text template.

Two rules. Send it from the tech’s name or the owner’s name, not from a system address. And send the text, not an email, because a text opens in seconds with the customer’s phone still in their hand.

ScriptWhat the tech says at the door

“We send a quick text with a review link when I leave. If the job looks right to you, a review helps a small crew like ours more than you would think. If anything is off, tell me now and I’ll fix it before I go.”

The tech’s line matters less than the text. The Tampa-area company at the top of this chapter proved it: the tap cards and the $25 bonus barely moved the count, and the texts brought in most of what arrived.

Make one person own it

Reviews fail when everyone is responsible for them. The Tampa company’s owner settled on a single rule: one office person owns reviews and the target is set at 50 percent of calls. In an 80-call month, that is 40 reviews.

That person does four jobs.

ChecklistReviews owner, weekly
  • Check that last week’s jobs all got the text.
  • Reply to every new review within a day, good or bad.
  • Count the week’s new reviews and post the number on the wall.
  • Add one name from each red neighborhood on the grid to a “ask twice” list.

The reply job matters more than owners think. Our audit of the pool company in Chapter 2 found that the owner had replied to 72 of 73 reviews, which sounds careful, but the median wait was about 104 days. A reply four months late tells shoppers that nobody reads the profile. Replying inside a day tells them the opposite for free.

That company also earned 19 reviews in the last year. That is about 1.6 a month. Run the sheet with 64 reviews and 3 a month and you see the same shape: a great rating and not enough movement.

Ask from the neighborhoods you want

Your reviews tell shoppers and Google where you work. I ask hardest in the reddest grid areas, because a review there describes a real job on a street where the map says you barely exist.

Pull the jobs you did in your weakest neighborhood last quarter from your field app. If the list has 15 names, text each one the same day with a short personal note.

ScriptText to a past customer in a red neighborhood

Hi [first name], it’s [owner name] at [company]. We [did the job] at your place in [month] and I am hoping to get a few more neighbors in [neighborhood] to find us. If you have a minute, a Google review of that visit would help a lot. [link] Thank you.

Do not coach what they write. Do not hand them text to paste. Reviews that read alike look fake to shoppers, and a review in a customer’s own words about a real job is what moves a decision.

I have noticed ChatGPT citing Yelp more and more, so keep an eye on your Yelp reviews with the same method. Chapter 12 covers why.

What owners say back

“My competitor bought their reviews.”

Maybe. You cannot prove it and arguing wastes the week. Your pace is the one number you control.

“Customers don’t leave reviews.”

Customers leave reviews when you ask at the right moment and make it a tap. Three a month is what a company gets when it never asks. The company at 12 a month is asking.

“I would have to hire someone.”

You have to give one existing person a weekly job. Thirty minutes a week for a text list and replies is the load. The Tampa company assigned one office person.

“Bad reviews will come.”

They will, and you will reply inside a day. A shopper reading a 4.7 with a calm reply to a 2-star review trusts you more than a 5.0 with no replies.

“Google deletes reviews.”

Sometimes. Keep asking. A pace of 33 survives a few deletions, and a pace of 3 does not.

What ServiceLine Pro runs for this leak

ServiceLine Pro runs a review system as part of Local SEO. It sends the request text when the job closes, tracks your pace against the top three in your pack, and gives the reviews owner a weekly count. You can build the same thing with a text template in your field app and one person who owns it.

Do this week

  1. Pull your total reviews and your pace for the last 90 days. Do the same for the top three names in your pack.
  2. Run the sheet at 6, 12 and 24 months and write down the pace for each deadline in reviews a week.
  3. Put the review text in your field app so it goes out the minute an invoice closes. Name one person who owns the weekly count.
  4. Text every customer from your reddest grid neighborhood from last quarter.
  5. Run your numbers at workbook.servicelinepro.com/#reviews.
Chapter
12

AI Recommendations

Ask ChatGPT who to hire in your town and count how often it names you.

Open a new chat in ChatGPT, signed out if you can, so it knows nothing about you. Type the question a homeowner would type. “Who is the best pool cleaning company in [your town]?”

Read the answer. Count how many companies it names. Look for yours.

We do this at ServiceLine Pro for every client and every audit. We ask the AI systems ourselves, with no context and no bias, for the best remodeler or the best pool builder in the client’s area, and we write down who comes back. That is the whole test. Anyone can run it in ten minutes with no tools and no budget.

Say you rank well on the map, have 200 reviews and a good site. The AI might still name three competitors and never mention you. Or it might name you first. You will not know until you ask.

I cannot tell you what you will find, and I will not hand you a percentage for how many homeowners ask AI before they hire. Nobody can measure that the way a ranking report measures a map spot. What I can tell you is that we see leads from ChatGPT, the number is rising, and almost nobody in a home-service trade is working on it yet.

This chapter gives you the test, the scorecard and what to do with the answer.

Why this belongs next to the map

For years the question was “do I show up in the map pack?” Homeowners now ask a second question in a different place, and the answer comes as a short list of names in a paragraph.

Our position is that being on that short list is the new version of being in the Map Pack, and almost nobody is optimizing for it. That is a position, with no measurement behind it. Treat it as a cheap thing to check. The check costs nothing, and ignoring it leaves a competitor holding a list you never looked at.

Think of it as a second map. Count how many names your own test returns. Whoever is in the paragraph gets the call.

Run the AI test by hand

Run the test yourself first. Here is the method we use.

ChecklistRun the AI test
  • Open a fresh session with no history and no logged-in memory. A private browser window works.
  • Ask ten questions, one at a time, each in its own new chat so earlier answers do not color later ones.
  • Write the questions in a customer’s words, with the typos and the plain phrasing.
  • For each answer, record every business named, in order, and whether yours is one of them.
  • Run the same ten questions in more than one tool: ChatGPT, Google (the AI answer at the top of search), Gemini, Perplexity and Copilot.
  • Repeat on a different day. Answers change from one run to the next, so one answer is a single sample.

Ask ten different ways. The workbook note lists the angles: best, cheapest, near me, emergency and reviews. Here are ten for a pool company, which you should swap for your own trade and town.

ScriptTen questions to ask
  1. Best pool cleaning company in [your town]
  2. Who cleans pools near me in [your town]
  3. Cheapest weekly pool service in [your town]
  4. Who should I call for a green pool in [your town]
  5. Emergency pool repair in [your town]
  6. Pool cleaning company with good reviews in [your town]
  7. How much does weekly pool service cost in [your town]
  8. Who fixes pool pumps in [your town]
  9. Reliable pool company in [your town] that shows up on time
  10. Recommend a pool service in [neighboring town] that also serves [your town]

Do not coach the tool. Do not type your company name. The point is to see what a stranger would see.

Score your answers

Tally the ten answers into three numbers: the questions you asked, the answers that named you, and the answers that named your top competitor.

Say you asked ten questions. You were named once. The competitor with the most reviews in your town was named six times.

The mathAI scorecard, ten questions
Questions you asked10
Answers that named you1
Answers that named your top competitor6
Your share of answers (1 ÷ 10)10%
Their share (6 ÷ 10)60%
How much more often AI names them6.0 to 1

That ratio is the score. Six to one means for every homeowner who gets your name, six get theirs. If you were named three times and they were named five, you are at 1.7 to 1 and close. If you were named zero times, the sheet shows their count as the ratio, and you start from zero.

These numbers are an example. The test gives you a ratio, and the ratio is a place to start. It does not prove how many jobs you lose.

Those jobs do show up in your own data, if you collect it. Add one line to your intake form and your phone script: “How did you hear about us?” with ChatGPT or AI search as an option. Count the answers over 90 days.

The mathExample: jobs from AI in 90 days
Jobs where the customer named an AI tool6
Average job$450
Revenue traced to AI in 90 days$2,700

That is an example. Your count may be zero or a lot higher. A number from your own intake form is worth more than any statistic I could print, which is why I will not print one.

Almost nobody in a home-service trade is working on it yet.

What the AI reads

An AI tool that answers “who is the best” needs sources. It reads the web: your website, your Google Business Profile, directories, review sites, news and other pages that mention you. It names the companies it finds most consistently and most clearly described across those pages.

I have noticed ChatGPT referencing Yelp all the time when I ask it local questions. That is one observation, with no count behind it. It tells me to check which sites an AI quotes in my own test, and then make sure my business looks the same and looks good on each of them.

Look at the answers from your test. Many tools show their sources. Write down every site they cite. Those sites are the work list.

Get named in the sources

The fix is to get named in the sources the AI tools read. It comes down to three jobs.

First, make your own site easy to read. The page for each service should say plainly what you do, where you do it, how much it costs or what drives the price, and how to reach you. A page that says “quality service for all your needs” gives the AI nothing to cite. A page that says “weekly pool cleaning in [town], from $X a month, includes chemicals, skimming and filter checks” does.

Add structured data to the site so the machines can read the business name, address, phone, hours and services without guessing. At ServiceLine Pro we structure the site so AI can crawl, parse and cite it.

Second, make your name and details identical everywhere. The business name, address and phone number should read the same on your site, your Google profile, Yelp, Facebook, Apple Maps and the directories for your trade. If one lists “Smith Pool Co.” and another “Smith Pools LLC,” the AI has two companies to choose from, and neither looks as sure as the competitor with one name.

Third, collect the reviews and mentions that exist in places an AI can read. Google reviews (Chapter 11) matter. So do Yelp reviews, a Facebook page with real posts, local news mentions, chamber of commerce listings and trade association pages. If you do a job that deserves a local mention, such as a church pool, a school, or a donation of service, ask for a link back to your site.

ChecklistSource checklist
  • Each service has its own page, with the town named and a plain description
  • Business name, address and phone match on every listing
  • Yelp profile is claimed, complete and replied to
  • Google profile has every service listed and recent photos
  • Schema on the site lists the business, address, phone, hours and services
  • Reviews are coming in every week on at least two platforms
  • Your intake form asks how the customer found you, with an AI option

Read what it says about you

When the AI does name you, read the sentence around your name. It tells you what the tools think you are.

Check four things. Does it list the right services? Does it place you in the right town? Does it quote a phone number, a price or an hour that is wrong? Does it describe you in the same words as your competitor, or does it say something particular, such as “known for same-day pool repair”?

A wrong detail points to the source. If the AI says you are closed on Saturdays and you are open, some listing says Saturday is closed. Find the listing that says it and fix that page. If the AI describes you in generic words, your own pages use generic words. Rewrite the page to say what you do that the next company does not, with numbers where you have them: years in business, jobs a month, the response window you keep.

When the AI does not name you, ask a follow-up in the same chat. “What do you know about [your company]?” Read the reply. Either it has nothing, which tells you the sources are thin, or it has old or mixed-up facts, which tells you the listings disagree.

ScriptQuestion for new customers

“Before you called, did you search for us or ask anyone? Google, a friend, ChatGPT, Facebook, a truck you saw?”

Write the answer in your CRM in one field. After 90 days, sort the field and count.

The customer’s own words beat the test. If three people in a quarter say they asked an AI tool, you know the channel is live in your town, and you know which questions to ask first.

How often to repeat the test

Run the full ten questions once a month on the same day. Keep the answers in a sheet with the date. After 90 days you will have three samples.

Watch for two things. One is whether your name moves from absent to named. The other is whether a competitor moves up. Do not react to one run. An AI answer can vary from the day before, so judge the three-month direction.

Do not promise yourself a result. Nobody can promise you a place on an AI list. Our line on ranking is the same here as on the map. Anyone who guarantees a position is lying or does not understand how it works.

What owners say back

“Nobody asks ChatGPT for a plumber.”

Maybe your customers do not, and the test costs ten minutes to find out. The intake question answers it with your data. If nobody ever says it in 90 days, you learned something.

“I can’t control what a robot says.”

You control the pages it reads. A clear site, consistent listings and fresh reviews are things a business can do.

“My website is old and I’m not rebuilding it.”

You do not have to rebuild it. Add a page for each service and fix the listings first.

“I tried it and it named my competitor.”

Good. Now you know which competitor and which sources it used. Write them down.

“Is this the same as SEO?”

It overlaps. A strong profile, good reviews and a clear site help both. The extra work is structure and consistency, and it pays off wherever the machines read your pages.

What ServiceLine Pro runs for this leak

ServiceLine Pro runs AI SEO, also called GEO, as an add-on to an active Local SEO campaign. We structure the site, fix the listings and test the AI tools by hand the way this chapter describes. We report leads from AI sources when the customer names them, and we say plainly that the results cannot be measured like a ranking report.

Do this week

  1. Write ten questions for your trade and town, using the list in this chapter.
  2. Run them in ChatGPT, Google, Gemini and Perplexity in fresh sessions. Record every company named, in order.
  3. Count answers that name you and answers that name your top competitor. Divide to get your ratio.
  4. Add “How did you hear about us?” with an AI option to your intake form and your phone script.
  5. Run your numbers at workbook.servicelinepro.com/#ai.
Part IV

Pipeline

Jobs sitting in your own files, street and inbox.

  1. 13Past Customers
  2. 14Referrals
  3. 15Door Hangers
  4. 16Unchased Estimates
  5. 17Cost per Closed Job
Chapter
13

Past Customers

Your cheapest new job is an old customer who forgot your name.

Say you run a four-truck pool company. You opened the doors eight years ago. Open QuickBooks, click Sales, then Customers, and the list says 1,200 names.

Count how many of those people heard from you in the last twelve months. For most owners the honest answer is the ones on a weekly route, plus whoever called with a problem. The other 900 had a pool, hired you, paid you, and then heard nothing. Some moved. Some hired the next company that knocked on the door. Most of them are sitting in the same house, with the same pool, wondering vaguely who they used last time.

You paid to get every one of those names. You paid in ad spend, in a sales call, in a first-visit discount, in a tech’s hour. That acquisition cost is long gone, and the name is still sitting in a spreadsheet earning nothing.

This is the cheapest lead you will ever work. The customer knows your trucks. The address is already in your system. The first job went fine or you would have heard about it. You do not need a landing page, a bid on a keyword or a Google ranking. You need a text message that reads like a person wrote it.

How a list of old customers turns into money

A past customer converts at a higher rate than a stranger because most of the sales work is already done. They know what you do, they know you showed up, and they know what you charge. The only open question is timing, and timing is the one thing a text message can change.

Every service business has a natural reason to talk to old customers twice a year. Pool companies have opening and closing. HVAC companies have the first hot week and the first cold one. Plumbers have water heater age and winterizing. Roofers have storm season. Cleaning companies have spring and the holidays. Tree crews have hurricane prep. Fence and deck builders have the spring window before everyone else’s calendar fills.

If you have a reason, you have a campaign. The reason is what keeps the message from reading like spam. “Pool season opens in three weeks and we have Tuesdays open” is a useful fact. “Check out our services!” is noise.

Work the math

The worksheet uses four numbers. Here are its defaults.

The mathFour-truck pool company, one text campaign
Past customers in your files1,200
Share that book from one send5%
Jobs booked per campaign60
Average job$450
Revenue per campaign$27,000

Run it twice a year and the annual number doubles.

The mathTwo campaigns a year
Revenue per campaign$27,000
Campaigns a year2
Per year$54,000
Monthly average$4,500

The 5% is a default, and I would not treat it as a promise. It is a placeholder for you to replace with your own result. Start with your first send and count what comes back. If your first campaign books 2% instead of 5%, the number changes but the logic holds.

The mathSame list at 2%
Past customers1,200
Booked at 2%24 jobs
Average job$450
Revenue per campaign$10,800

Even at 2%, one afternoon of work produces a five-figure campaign. The cost of the send is a few cents per text and an hour of your time to clean the list. If your first send books one job, keep going. That send told you something about your list. Fix the list, fix the offer, send again.

Pull the list

You need names, mobile numbers, emails, the last job date, the type of job and the total spent. Every field app and QuickBooks can give you that.

ChecklistWhere to export your customer list
  • QuickBooks Online. Sales, then Customers. Use the export icon above the list. You get names, emails, phones and balances. QuickBooks does not know job type, so pair it with your field app’s export if you can.
  • Jobber. Open Clients and find the export option. Pull the full client list and a separate jobs report with dates and totals.
  • Housecall Pro. Open the Customers tab and use the export or download option. Add a job history report for dates and amounts.
  • ServiceTitan. Run a customer report from the Reports area and add the job history and the last service date.
  • Paper, phone contacts and old spreadsheets. Type them in. A shoebox of invoices from 2019 is still a list.

If you run more than one system, merge the files into one sheet and remove duplicates by phone number. Two entries for the same house is how a customer gets two texts in one day, and nobody forgives that.

Clean the list in thirty minutes

You do not need a perfect list. You need a list you can send without embarrassing yourself.

  1. Delete rows with no mobile number. You can reach those people later by email, but the text list is the first send.
  2. Delete anyone who asked you to stop, anyone you fired, anyone who disputed an invoice, and anyone with an unpaid balance. A reactivation text to a customer who owes you $600 starts the wrong conversation.
  3. Delete commercial accounts you manage on contract. They get a phone call from you, not a text blast.
  4. Mark anyone who already has a job on the books. They do not need an offer.
  5. Sort by last job date, newest first. Send in waves, newest to oldest.

Before the first send, get permission right. Texting a customer who hired you and gave you their number for the job is common practice, but the rules on marketing texts differ by state and by how the customer gave their number. Put an opt-out line in every message (“Reply STOP and I’ll take you off”), honor it the same day, and send between 9 a.m. and 7 p.m. in the customer’s time zone. If you have any doubt, ask whoever handles your compliance or your CRM provider for their sending rules. A good CRM adds the opt-out and blocks anyone who stopped.

Split the list by what each person bought

One message to 1,200 people reads like a flyer. Three or four messages to the right groups read like a neighbor. Segment by the job:

  • Weekly or monthly service customers who canceled. They need to hear that you are still around. Offer a restart.
  • One-time repair customers. They need an inspection or a tune-up reason.
  • Install or equipment customers. They need warranty, maintenance and a first-year check. They also know people who will buy next.
  • Estimate-only customers who never booked. These are the warmest names on the list and Chapter 16 covers them in full.

If you only have time for one split, do repeat customers and everyone else.

Text script for past customers

Texts work because people read them. Write the message in your own voice, and send it from a real person’s name and a number the customer can text back to. Keep it to three lines. The first line says who you are. The second line gives a reason. The third line asks a question that takes one word to answer.

ScriptFirst text, seasonal reason

Hi [First name], it’s [Your name] at [Company]. We cleaned your pool back in [Year].

Pool season opens in a few weeks and I have Tuesdays and Thursdays open for weekly service. Want me to put you on the route?

Reply STOP and I’ll take you off this list.

ScriptFirst text, repair or equipment customers

Hi [First name], it’s [Your name] at [Company]. We did the [pump / heater / water heater] at your place in [Month Year].

It’s due for a check before [hot weather / cold weather / storm season]. Want me to send a tech by this week? Takes about 30 minutes.

Reply STOP to opt out.

ScriptFirst text, customers who left your weekly service

Hi [First name], [Your name] at [Company]. We used to take care of your pool and I wanted to check in.

I have two open spots on the Wednesday route this month. If you’re still looking for someone, I’ll take you back at the rate you had before.

Reply STOP to opt out.

Send the first text on a Tuesday or Wednesday late in the morning. Avoid Monday morning (everyone is catching up) and Friday afternoon (everyone is gone).

Follow up when they do not answer

Most people who intend to reply do not reply right away. Send a second text three to five days later. Most owners never do.

ScriptSecond text, five days later

Hi [First name], following up on my note about [pool season / the tune-up]. I still have [two] spots open this week. Should I hold one for you?

After two texts, send the email. Email catches the people who do not read texts from numbers they do not recognize, and it lets you say more.

ScriptEmail to past customers

Subject: Your pool, [First name]

Hi [First name],

It’s [Your name] from [Company]. We worked on your [pool / system / roof] in [Year], and I wanted to reach out before [season] gets busy.

Here is what I have open right now:

  • [Offer 1: weekly service restart, one free chemical check]
  • [Offer 2: spring tune-up at $X]
  • [Offer 3: free 15-minute inspection]

Reply to this email or text me at [number] and I will get you on the calendar. If you’ve moved or someone else takes care of this now, no problem. Tell me and I’ll take you off the list.

[Your name]
[Company] | [Phone]

Do not discount for the sake of discounting. A reason to book now works better than a coupon. Open Tuesdays, a spring slot that fills by April, a free inspection with the first service. If you want an offer, give one that costs you little and means something to the customer.

Call your best fifty by hand

Rank your customers by total spent. The top fifty get a phone call from you or your office manager, not a text. These are the people who have spent the most with you and probably know your name. A call from the owner takes five minutes each and turns into jobs at a higher rate than anything else in this chapter.

ScriptPhone call to a past top customer

“Hi [First name], this is [Your name] from [Company]. This is a quick thank-you call. I was going through my customer list, saw your name, and wanted to say thank you for the work you gave us back in [Year]. How is the [pool / system / roof] holding up?”

(Let them talk. They will tell you what is wrong.)

“Good to hear. We’re booking [spring tune-ups / fall checks] this month and I wanted to put your name at the top of the list. Do you want a day this week or next?”

If you get voicemail, leave a short one.

ScriptVoicemail

“Hi [First name], [Your name] at [Company]. Quick call to say thanks for your business and to ask if you need anything from us before [season]. My number is [number]. Talk soon.”

Handle the replies

Replies come in fast for the first day or two and keep arriving after that. Someone has to own them. A reply that sits for two days is a lead you paid to create and then dropped. Chapter 6 shows what a slow callback costs, and it applies here the same way.

Three types of replies will show up:

  • Yes. Book it in the same message exchange. Send two time options, not an open question. “Tuesday at 9 or Thursday at 2?”
  • Questions. Answer in one message and end with a time slot.
  • Stop or angry. Remove the number the same day, reply with “Done, sorry for the bother,” and do not argue.

Tag each reply in your CRM or spreadsheet: booked, not now, moved, stopped. The “not now” group is the next campaign’s first wave. The “moved” group tells you where your best customers went and whether you serve that area.

What owners say back

“I don’t want to bug people.”

A text with a reason, from a company they hired, with an opt-out line, is a service. Customers who are not interested ignore it. Customers who forgot to call you are glad to have it.

“My list is old and full of dead numbers.”

Send anyway. A text to a dead number costs about a cent. The campaign will tell you the real size of your active list, and that number is worth knowing.

“I tried it once and nobody replied.”

Check the message. Did it carry a reason? Did it come from a person? Did it go out on a Friday at 4 p.m.? Did you send one text and quit? Run the second text and the email before you call it a failure.

“I’m already booked solid.”

Then send to customers with a higher average ticket first, or offer the slot to your weekly-service restarts, which pay every month. Chapter 2 is about this exact conversation. A full schedule is a good time to price the open capacity you do not have yet.

“I do not have time to build this.”

The first send takes an afternoon. After that you have a list, three messages and a tag system. The second campaign takes an hour.

Make it a calendar item

The money in this chapter comes from running it twice a year, not once. Put two dates on your calendar now:

  • Pre-season: four to six weeks before your busy window.
  • Post-season: a few weeks after your busiest stretch, aimed at maintenance, closing, warranty checks or next-year booking.

Each time, clean the list, segment it, send the first text, send the second text five days later, send the email, call the top fifty. Log the number of jobs booked and the dollars. After two campaigns you will know your own response rate and can plug it into the worksheet in place of the 5% default.

What ServiceLine Pro runs for this leak

ServiceLine Pro builds past-customer campaigns as part of our reviews, referrals and repeat work: the list cleanup, the segments, the text and email sequences and the reply tracking. If you want to run it yourself, everything in this chapter will do the job with a spreadsheet and a phone.

Do this week

  1. Export your customer list from QuickBooks or your field app and count the names. Write that number at the top of a blank sheet.
  2. Clean the list: remove no-number rows, opt-outs, open balances and anyone with a job already booked.
  3. Pick your reason (the next season, an open route, a tune-up) and write the first text from the scripts above in your own words.
  4. Send the first wave to your 100 newest customers. Count replies and booked jobs after five days, then send the second text.
  5. Run your numbers at workbook.servicelinepro.com/#grave.
Chapter
14

Referrals

Happy customers would send you their neighbors. Almost nobody asks them.

Say your tech finishes a $450 job on a Thursday afternoon. The homeowner walks out, looks at the work, and says, “That looks great. Thank you so much.”

The tech says, “No problem, have a good one,” and drives to the next stop.

That moment was the best sales opportunity of the week. The customer had told you, out loud, that you did a good job. Their guard was down. They were standing in their own driveway, with a neighbor two houses over who has the same problem. Your tech said goodbye and left, and the customer went inside and never thought about you again until the next invoice.

Referrals feel like luck to most owners. A customer happens to mention you at a barbecue, and a call comes in. Owners treat it as weather. It is a process, and you run it by asking at one specific moment, in one specific way, every time.

This chapter gives you the moment, the words, the reward, the tracking and the math.

Why asking works

Customers who like your work already want to help. They do not know how. Nobody told them what to say, who to say it to, or what happens next. Most of them would be glad to hand a neighbor your number if you made it easy and made it feel normal.

Owners avoid asking for three reasons. They think it sounds needy. They worry about putting the customer on the spot. They assume the best customers refer without being asked. All three are wrong, and the worksheet shows what the mistake costs.

A referral lead also arrives with something an ad click never has. Someone the buyer trusts has already vouched for you. The neighbor calls and asks for you by name.

Work the math

The worksheet uses four numbers.

The mathFour-truck pool company, referrals a month
Customers served a month60
Share who refer when asked20%
People who send a referral12
Share of referrals that book50%
Referred jobs a month6
The mathWhat six jobs a month are worth
Referred jobs a month6
Average job$450
Revenue a month$2,700
Revenue a year$32,400

Those are placeholders. Your twenty percent might be five percent. It might be forty. You find out by asking every customer for 30 days and counting.

Now put the cost against it. Say you reward both sides with $50 off the next service.

The mathCost of a $50-for-both reward
Referred jobs a month6
Reward per side$50
Reward per closed job, both sides$100
Reward cost a month$600

Six jobs for $600 in credits is $100 per closed job, with the buyer already warm. Chapter 17 compares that to your other lead sources. Run the same math on each one. The credit also only gets spent on a future job, so it brings the referring customer back through the door.

Changing one number moves the total quickly. If you raise the share who refer from 20% to 30% with a better ask, six jobs becomes nine and the year goes from $32,400 to $48,600. If you serve 100 customers a month instead of 60, the same asks produce ten jobs.

Pull your own numbers

You may already get referrals and not know how many. Find out.

ChecklistWhere to look for your referral count
  • Call log. Ask your office to add “Who sent you?” to every new-customer call from this week forward.
  • Field app. Jobber, Housecall Pro and ServiceTitan all let you tag a customer’s lead source. Add a source called “Referral” and a note field for the referrer’s name.
  • QuickBooks. If you invoice with a Class or Location field, create a Class called Referral and use it on those jobs.
  • Last 90 days. Scroll through new customers and ask each tech, “Who did you hear about from a customer?” Techs remember more than your system recorded.

Without the tag you cannot reward anyone and cannot measure the program. Tagging is the first step.

Ask at the moment of the compliment

The best time to ask is when the customer is happy and standing next to you. Ask at the end of a job that went well. Do not ask after a complaint, a delay or a callback.

Train every tech and every office person on the same sentence. A tech who gets thanked says the line below.

ScriptTech at job close

“Glad it came out the way you wanted. We grow mostly because of neighbors telling neighbors. If you know anyone on the street who needs [pool service / their system checked / their roof looked at], give them this card. You both get $50 off your next service.”

(Hand over the card. Do not leave it on a counter.)

Keep it short. A long speech makes the customer uncomfortable. The card does the remembering for them.

If the customer is busy and the tech cannot ask, the office takes over the next day.

Text script, the day after

A text the next day catches the people who said “sure” in the driveway and then forgot.

ScriptReferral text, sent the day after the job

Hi [First name], it’s [Your name] at [Company]. Thanks again for letting us work on your [pool / system / roof] yesterday.

If a neighbor or friend needs the same thing, send them to [short link or phone number]. When they book, you both get $50 off your next service. Have them say you sent them.

Use a short link that lands on a page with your name, your number and a place for the friend to type the referrer’s name. Your website builder or CRM can make one in a few minutes. If you have no page yet, a text with your phone number and the line “have them say [First name] sent them” works.

Send the text once. A second reminder two weeks later is fine for customers who spent more than your average job.

Referral card

A printed card keeps the idea alive on the refrigerator. Make it a business-card-size piece of stock with two sections.

ChecklistWhat goes on the referral card
  • Your company name, phone number and web address, large.
  • A line that says “Give this to a neighbor. You both get $50 off.” (Change the amount to fit your margin.)
  • A blank line labeled “Referred by” that the new customer fills in or says on the phone.
  • Your tracked phone number if you use call tracking, so you can count the cards that turn into calls.
  • An expiration date, 90 days out, so the offer feels live.

Print 500 and keep a stack in every truck. Techs hand out two or three a day if you train them to. Price a box of 500 cards and compare it with one referred job at your average ticket.

Pay the reward when the job closes

Honor the reward the same week the job finishes. A reward that arrives in six weeks teaches the customer that you do not pay attention.

Offer something that costs you less than it feels like it is worth to them. Four common forms:

  1. A credit toward the next service for both people, as in the script above.
  2. A free add-on at the next visit (a filter check, a gutter flush, a safety inspection).
  3. A gift card for the referrer after the new customer’s job is complete.
  4. A donation to a local cause in the referrer’s name, for customers who would turn down a discount.

Do not tie a referral reward to a Google review. Reviews should come from an honest ask at job close, and customers should post them with no payment attached. The two programs sit side by side. Run each one on its own.

Handle the new lead like it is gold

A referred lead is the easiest sale you will make this month and also the easiest one to lose. The call comes in. The caller has your name in their head. If the phone rings out, they call the next company on the list. Chapters 5 and 6 cover this.

Train the office on three rules:

  1. Answer the call, or call back within minutes.
  2. Ask, “Who sent you?” and use the name in the conversation.
  3. Mention the referrer’s discount on the call so the new customer knows the deal.
ScriptOffice answers a referral call

“Thanks for calling [Company], this is [Name]. How can I help?”

(Caller says they got your number from a friend.)

“Great, who was it that sent you? I’ll make sure they get their credit. And I’ll take care of yours as well. What’s going on at your place?”

Send the referrer a quick text after the new job is booked.

ScriptThank-you text to the referrer

Hi [First name], [Your name] at [Company]. [Neighbor’s first name] booked with us because of you. Your $50 credit is on your account. Thank you.

That text costs nothing, and it tells the referrer you noticed. People refer again when they feel noticed.

Build the habit into your jobs

A referral program with no routine dies in three weeks. Give it a place in your daily work.

  • Print the line on the invoice or the job-complete email: “Know someone who needs us? You both get $50 off.”
  • Put a card in every truck, every invoice envelope and every closeout packet.
  • Add a weekly check in your Monday meeting. Count cards handed out, referrals received and rewards paid.
  • Pay your techs a small bonus for each referral that turns into a job. Twenty-five dollars per closed referral changes behavior fast. Keep the rules clear so no one fakes referrals.

Track four numbers every week for 30 days: jobs completed, asks made, referrals received, referrals booked. After a month you have your real share who refer and your real share that book. Replace the worksheet defaults with those.

What owners say back

“My customers do not want to be bothered.”

Some customers dislike being asked. The ones who like your work are glad to have a card to hand out. If a customer says no, thank them and move on.

“I get plenty of referrals already.”

Good. Count them. Then count how many customers you served in the same period. If twelve referrals came from 300 jobs, your share is four percent, and you have room to double it.

“I’m not going to give discounts.”

Then reward with something else, such as a free add-on, a gift card or a donation. The reward does not need to be cash. It needs to be a clear thank-you that arrives on time.

“My techs will not do it.”

Make it part of the job-close checklist. If the tech hands over the card at the end of every job and checks the box on the field app, the habit forms. Review it weekly. Reward the tech who hands out the most cards.

“I run a commercial business. Residential referrals do not apply.”

Commercial referrals exist too. Ask your property managers, facility managers and general contractors. The reward may be a priority schedule or a quarterly thank-you lunch.

What ServiceLine Pro runs for this leak

We set up referral automation in the CRM: the next-day text, the reminder, the referral link, the tracking and the reward notice. If you run it by hand, the scripts and cards in this chapter do the same job.

Do this week

  1. Add a lead source called “Referral” in your field app or CRM, and add “Who sent you?” to the office’s new-customer script.
  2. Write your reward ($50 for both sides is the worksheet default) and order 500 referral cards.
  3. Train every tech on the job-close sentence and have each one say it out loud to you once.
  4. Send the next-day referral text for every job completed this week.
  5. Run your numbers at workbook.servicelinepro.com/#neighbor.
Chapter
15

Door Hangers

Every job parks your truck in front of ten neighbors. Hang your number on their doors.

Say you run a four-truck pool company, and your crews finish about 80 jobs a month. Each job puts a truck with your name on the door in front of a house for an hour or two. The neighbors see it. A few of them look out the window. One of them has a pump that has been making a noise since March.

That neighbor does not call you. They do not know what you charge, whether you are busy, or whether you do their kind of work. Your tech finishes, loads the truck and drives to the next stop. The street goes back to normal.

You paid to be on that street. You paid for the truck, the fuel, the tech’s hour and the customer who hired you. The neighbors on both sides watched all of it for free. All you have to do is hand them a number.

A door hanger is a small piece of printed card that hangs on a front doorknob. It is old, cheap local marketing, and it works because of where it lands. The people you are talking to live within a hundred feet of a job you did well. Nobody else in your trade is that close to them.

Why this lead is cheap

Most marketing pays to find strangers. This one starts from the one fact you already own, which is the address of every job you run. The street is pre-qualified. A house that sits near a pool you serviced likely has a pool. A house three doors from the roof you replaced is likely the same age, with the same shingles.

The cost is also tiny. Printing runs pennies per hanger, the hanging takes five minutes at the end of a job, and the tech is already on site.

Work the math

The worksheet uses five numbers.

The mathFour-truck pool company, door hangers a month
Jobs a month80
Doors hung per job10
Doors a month800
Share of doors that call1%
Calls a month8
The mathFrom calls to dollars
Calls a month8
Close rate50%
Jobs a month4
Average job$450
Revenue a month$1,800

That is $21,600 a year from streets you already parked on.

Now the cost. Say printing runs 15 cents a hanger (an example; get a quote from a local printer). Eight hundred hangers cost $120 a month. Add five minutes of tech time per job, which is about 400 minutes a month, or less than seven hours across your crews. Even if you value that time at $30 an hour, the labor is about $200. The monthly cost lands near $320 against $1,800 in revenue.

The mathCost against return, example printing cost
Printing, 800 hangers at $0.15$120
Tech time, about 7 hours at $30$200
Cost a month$320
Revenue less cost$1,480 a month

The 1% response is a placeholder. Real results range widely, and the only number that matters is yours. If you hang 800 and get 3 calls, you have learned the true share, and the worksheet tells you what to change. If you get 20, add more doors.

The mathSame plan at half the response
Doors a month800
Share that call (0.5%)4 calls
Close rate50%
Jobs a month2
Revenue a month$900

At half the default, $900 in revenue still clears the $320 cost almost three times. The risk is low enough to test for 60 days.

Give the hanger its own phone number

A door hanger with your main number tells you nothing. You cannot know whether a call came from the hanger, from a truck decal, from Google or from a friend. The worksheet note says give the hanger its own tracked number, and that is the rule.

A tracked number is a separate phone number that rings to your office. Services such as Quo, Twilio, CallRail and your CRM’s phone feature can issue one for a few dollars a month. Put it only on the hanger. Every call to that number is a hanger call.

If you do not want a second number, add a second tracking line: “Mention code PORCH when you call.” The code works if the office asks every caller. A number works whether anyone remembers to ask.

Use the same number on all hangers so you can compare months. If you want to test two designs, give each its own number.

Write the hanger

You get maybe four seconds before a homeowner pulls the hanger off the door and drops it in the trash. Front side: who, what, a reason, a number. Back side: a stronger reason and a way to act.

ScriptFront of the hanger

[Company name and logo]

We finished a job at your neighbor’s on [street name].

[Your trade] done right. Free estimate for neighbors.

Call or text [tracked number]

ScriptBack of the hanger

[Neighbor offer: $50 off any service for homes on this street, good for 30 days]

What we do:
- [Service 1]
- [Service 2]
- [Service 3]

Licensed and insured. Family owned in [City] since [Year].

[Tracked number] | [Website] | [License number]

Add your face. A photo of the owner or the crew on the back builds trust faster than a logo.

Keep the offer short and the deadline real. “Good for 30 days” gets calls this month. “Special offer” with no date gets set on a counter.

You can write the street name and the neighbor’s first name by hand before you hang it, with permission. “We finished at Carol’s house at 412” lands harder than any printed line, because the neighbor knows Carol. Ask the customer at job close whether you can mention their name.

Hang ten doors, the same way every time

The worksheet default is ten doors per job. Pick the pattern once and teach it to every tech.

ChecklistTen-door pattern
  • The two homes on each side of the job (four doors).
  • The three homes directly across the street (three doors).
  • The next home down on each side, counting past the first two (two doors).
  • One more at the corner or the next cross street (one door).

On a street with fewer houses, hang what exists and add doors from the next block. On acreage or in a rural area, widen the pattern: every house you can see from the driveway, up to a half mile.

Train the tech on a short routine:

  1. Take ten hangers from the truck before the job starts. A tech who waits until the end skips it when the schedule runs late.
  2. Knock lightly or ring, in case someone answers. If the neighbor opens the door, give the pitch below.
  3. Hang the hanger on the door handle, facing out, where the neighbor sees it when they leave.
  4. Never put a hanger in a mailbox. Postal rules reserve the mailbox for mail, and a fine is not worth it.
  5. Skip any house with a “no soliciting” sign and any gated community that bans hangers. Check HOA rules before you start in a new neighborhood.
  6. Take a photo of the hung block on the field app so the office knows the job is done.
ScriptTech to a neighbor who opens the door

“Hi, I’m [Name] with [Company]. We’re finishing up at [Carol’s] house and I wanted to leave our number in case you ever need [pool service / a plumber / a roof check]. We’re doing free estimates for the street this month.”

Keep it to two sentences. The neighbor who has a problem will ask a question. The neighbor who does not will say thanks and close the door.

Add a yard sign

The worksheet fix pairs the hanger with a yard sign. Ask the customer at job close for permission to put a small sign in the yard for a week, with your company name and the tracked number. Pick it up on the next visit. Check your city and HOA rules first, since many ban signs.

A sign works on the people who drive by and never see a hanger. A hanger works on the people who walk to the mailbox. Together they cover both.

Time the hang to the job type

Some trades have a natural urgency. Use it.

  • Roofing. After a storm, hang within a few days of the first jobs in a neighborhood. The neighbors have the same hail or wind damage. Lead with a free inspection.
  • Pool service. Hang in the spring, when pools come back to life, and again in the fall for closing and winterizing.
  • HVAC. Hang in the first hot week or the first cold week, when everyone checks their system.
  • Plumbing. Hang after a jobs-heavy week with a message about water heaters and shutoff valves.
  • Fence and deck. Hang in late winter before the spring rush.
  • Tree service. Hang before hurricane or storm season with a free tree check.
  • Cleaning. Hang near first-time customers, with a first-clean discount.

Match the hanger text to the season. A hanger that says “Hurricane season starts June 1” gets more attention than a hanger that sounds the same in every month.

Follow up the calls

A call from a hanger is a cold-ish lead with a warm reason. The caller knows you worked on their street. The office answers with that in mind.

ScriptOffice answers a hanger call

“Thanks for calling [Company], this is [Name]. Are you calling about the hanger we left on your door?”

(Yes.)

“Great. We finished a job a few doors down from you. What’s going on at your place? I can get a tech out for a free estimate [tomorrow at 10 or Thursday at 2].”

Log the caller as a hanger lead, with the street. If the caller does not book, add them to the follow-up sequence in Chapter 16 and to your past-customer list in Chapter 13 once they have a job on file.

Track and compare

Keep a one-page tally from the first month. Each Monday, write four numbers: hangers hung last week, calls on the tracked number, estimates scheduled, jobs closed. After eight weeks you will know your own response rate and close rate.

Then test one change at a time:

  1. Change the offer ($50 off against a free inspection).
  2. Change the hang pattern (ten doors against twenty).
  3. Change the message (neighbor angle against seasonal angle).

Give each version a different tracked number if you can. Run each for a month before you decide.

What owners say back

“Door hangers feel old-fashioned.”

Old and effective sit together fine. The hanger gets the customer’s attention at their own front door, and a Facebook ad has to compete with a thousand other posts on a phone.

“My techs will not do it.”

Build it into the job. Ten hangers in the truck before the job starts, a photo before leaving, a small bonus per hanger job. Pay the tech $10 per hanger-sourced job and watch the participation rate move.

“I do not want to annoy neighbors.”

A friendly hanger from a company that worked on their street this week reads like a note from the neighborhood. Keep the language polite, skip the no-soliciting houses, and leave the mailboxes alone.

“One percent seems optimistic.”

It may be. Start with 200 hangers and watch what happens. If you get one call, the test cost you $30 and a few minutes. If you get three, the program pays.

“I am already getting plenty of calls.”

Then use the hangers on the work you want more of. Pick the neighborhoods with the highest average ticket and hang there first.

What ServiceLine Pro runs for this leak

We set up the hanger with its own tracked number, and its calls report in the same calls-and-booked-jobs format as your Google profile. If you build your own, the copy, pattern and tally in this chapter are enough to begin.

Do this week

  1. Write the front and back copy for your hanger using the scripts above, and ask a local printer for a quote on 1,000.
  2. Set up a tracked phone number that rings to your office and is used only on the hanger.
  3. Teach every tech the ten-door pattern and the two-sentence pitch, and load ten hangers in each truck before the next job.
  4. Start a tally sheet with four columns: hangers hung, calls, estimates, jobs closed. Fill it in every Monday.
  5. Run your numbers at workbook.servicelinepro.com/#doors.
Chapter
16

Unchased Estimates

You drove out, measured and quoted. Then the quote died in their inbox.

Say you run a pool company that sells resurfacing, equipment replacements and larger installs. Your average estimate comes to $6,500. Last Tuesday your estimator spent two hours at a house in the suburbs. He measured the pool, checked the equipment pad, took photos, talked through options with the homeowner, and sent a clean PDF that night.

The homeowner said, “Looks good, let me talk to my wife and get back to you.”

That was nine days ago. Nobody has called. The estimator is busy with new walk-throughs. The office assumes the customer will call when ready. The PDF sits in an inbox between a pharmacy receipt and a school newsletter.

You already paid for this lead. You paid for the ad or the referral, the first call, the drive, the two hours on site and the proposal. The customer said yes to the visit. The only thing missing is a second conversation.

Open your estimates list and count how many quotes you sent last month. Then count how many got a follow-up message after the first one. The gap between those two numbers is this chapter.

Why quotes die

Many customers never decline an estimate. They stall. A quote for $6,500 is a decision the homeowner makes with a spouse, a budget, a calendar and two other quotes. Life interrupts. The estimate slides down the to-do list until it disappears.

The company that follows up in a friendly, steady way gets the call when the customer finally sits down to decide. The company that sent a PDF and waited is the third name on the list. The homeowner does not remember why they liked you. They remember that someone else called back.

Follow-up is where much of the selling happens in a high-ticket trade. The estimate is the proposal. The follow-up answers questions, handles objections, and gets the date on the calendar.

Work the math

The worksheet uses five numbers.

The mathPool company, estimates a month
Estimates sent a month20
Share that never get a second follow-up60%
Estimates nobody chased12
The mathValue of chasing those 12
Close rate with follow-up40%
Close rate without15%
Difference25 points
Unchased estimates12
Extra closes a month3
The mathDollar value
Extra closes a month3
Average estimate$6,500
Revenue a month$19,500
Revenue a year$234,000

Three more closed jobs a month, from estimates you already wrote. No new ad spend and no new lead. The close rates are placeholders. Your 40% and 15% may be different, and you can find them: pull a list of estimates sent in the last 90 days, mark which ones got three or more touches and which got none or one, and count the wins in each group.

If the gap is ten points instead of twenty-five, the year still lands near $93,600.

The mathSame plan with a 10 point gain
Unchased estimates12
Close rate gain10 points
Extra closes1.2
Average estimate$6,500
Revenue a month$7,800

Now compare the cost. The follow-up sequence below takes a few minutes per estimate. A text is free. A call is two minutes. An email is a template. Price your office hour and divide it by the estimates you chase, then set that against what you pay for one new lead.

Pull your open estimates

You need to know what is out there right now.

ChecklistWhere to find open estimates
  • Jobber. Open Quotes and filter by status. Look for Awaiting Response and Draft.
  • Housecall Pro. Open Estimates and filter by status (sent, open, not approved).
  • ServiceTitan. Open the Estimates view or the Sales report and filter by open or unsold.
  • QuickBooks. Open Sales, then All Sales, and filter by Estimates with status Pending.
  • Paper or email. Search your sent folder for the PDF subject line. Add each one to a sheet with the customer name, phone, date sent, amount and last contact.

Sort by date sent. The estimates from the last 30 days are the live ones. The ones from 31 to 90 days ago are a reactivation list for the sequence below, written a bit differently. Anything older than 90 days belongs in the Chapter 13 list.

Add up the dollar value. Write the total at the top. That is the pile of money you are deciding whether to chase.

Five-touch follow-up sequence

The worksheet note gives the schedule: day 1, 3, 7, 14, 30. Text, call, text, email, call. Each touch has a different job.

Touch Day Channel Purpose
1 1 Text Confirm they got it, offer to answer questions
2 3 Call Talk through the options by voice
3 7 Text Offer a start date or a small reason to decide
4 14 Email Send proof and answer the common objection
5 30 Call Ask for a yes or no, then close the file

Day 1 is the day the estimate goes out. Keep a calendar reminder or let your CRM run the schedule.

Touch 1, day 1, text

ScriptDay 1 text

Hi [First name], it’s [Your name] at [Company]. I sent your estimate for the [resurfacing / equipment / install] to your email. Did it come through? Happy to walk through anything on it. Which time works for a quick call?

Send it within an hour of sending the PDF. This text also shows you whether the customer sees your email. If they say “I don’t see it,” you have saved the job from spam.

Touch 2, day 3, call

A call carries more than text. Plan for voicemail and a second attempt.

ScriptDay 3 call

“Hi [First name], this is [Your name] with [Company]. I’m calling to see if you had a chance to look at the estimate for the [project]. I wanted to see if you have any questions about the scope or the price. I have about ten minutes now, or I can call you back whenever is good.”

(Listen. Ask what they like and what they are weighing.)

“What would you need to see from me to feel good about moving forward?”

ScriptDay 3 voicemail

“Hi [First name], [Your name] at [Company]. Calling about the estimate for your [project]. My number is [number]. I’d like to answer any questions before you decide. Talk soon.”

Touch 3, day 7, text

By day 7, the customer has either talked to a competitor or let the project slip. Give them a reason to act.

ScriptDay 7 text

Hi [First name], [Your name] at [Company]. I’m putting together the schedule for [next month] and I have [two] openings for [the type of project]. If you want one, I can hold it for you through Friday with no deposit. Does that help?

Only offer a hold you can honor. If your schedule is full, offer the next open date instead. A made-up deadline destroys trust when the customer calls back and sees an open calendar.

Touch 4, day 14, email

The email carries proof and answers the question that blocks most decisions. Pick the objection your customers raise most, which is often price, timing or trust.

ScriptDay 14 email

Subject: Your [project] estimate, [First name]

Hi [First name],

It’s [Your name] from [Company]. I wanted to check in on the estimate for your [project] and share a few things that might help you decide.

  1. Here are three photos of a similar [project] we finished in [neighborhood]: [link]
  2. Here is what [Customer first name] wrote after we finished their job: “[Real review excerpt]”
  3. Our estimate includes [warranty, permits, cleanup, whatever sets you apart]. Some quotes leave those out and add them later.

If the price is the question, tell me. We have [payment plan / financing option] that can bring the monthly payment to [amount]. If the timing is the question, I can pencil in a start date and you can confirm later.

Reply to this email or text me at [number].

[Your name]

Use a real review excerpt and a real photo. Do not invent either.

Touch 5, day 30, call

The last call asks for a clear answer. A yes books the job. A no frees you to stop chasing. A “not now” gives you a date.

ScriptDay 30 call

“Hi [First name], [Your name] with [Company]. I’m closing out my open estimates for the month and wanted to ask you directly. Are you moving forward with the [project], going another direction, or still thinking it over?”

(If yes: “Great, let me get you on the calendar. Does [date] work?”)

(If another direction: “I appreciate you letting me know. If anything changes, my number is [number]. Do you mind sharing what made the difference? It helps me improve.”)

(If still thinking: “No problem. When should I check back?” Write the date down and set the reminder.)

If you cannot reach them, send a closing text.

ScriptClosing text if no answer

Hi [First name], [Your name] at [Company]. I’m closing out your estimate for the [project] this week. If you want to move forward, reply and I’ll set it up. If not, no hard feelings, and I’ll be here if you need us later.

A polite closing message gets answers from people who stayed silent through the first four touches.

Answer the objections that kill estimates

Prepare a one-line answer for each of the objections your customers raise. Put the answers in a shared doc so the whole office uses them.

ScriptPrice is higher than another quote

“I understand. Can you share what the other quote includes? Sometimes the scope is different, like permits, cleanup or warranty. If the scope is the same, tell me where we’re apart, and I’ll see what I can do.”

ScriptI need to talk to my spouse

“Of course. Would it help if I sent a short summary you can share, or got on a call with both of you? Whatever makes the conversation easier.”

ScriptI’m not ready yet

“No problem. What would need to change for it to feel like the right time? I’ll note it and check back on [date].”

ScriptI’m going to wait until [season]

“That’s fair. The risk is that the schedule fills by then. Do you want me to pencil in a date now, with no obligation, so you keep a spot?”

Never argue. Ask a question, listen, and offer the next small step.

Set up the system once

A sequence only works if it runs every time. Choose one of these approaches.

  • CRM automation. Most field apps and CRMs run a quote follow-up sequence on their own. Load the five touches, set the delays, and add a task for the calls.
  • Spreadsheet and reminders. Make one row per estimate with five date columns. Review every morning.
  • A person. Give one office person the job. Their Monday task: open every estimate, check the last touch date, and send the next message.

The point is ownership. If everyone is responsible for follow-up, no one is.

Put a rule in your estimator’s checklist: no estimate leaves the building without a follow-up date in the system. Ask the customer at the visit, “When would you like to make a decision?” Write down the answer. Call on that date.

Track the numbers weekly. Estimates sent, estimates with all five touches, estimates won, estimates lost with a reason. In 60 days you will have your own close rate with follow-up and without it, and you can replace the worksheet’s 40% and 15%.

What owners say back

“I do not want to be pushy.”

A polite check-in is a service to the customer. They asked you to quote the project. They want a decision date, a clear price and an easy way to say yes. Silence helps nobody.

“Good customers call me back when they are ready.”

Some do. Many stall for reasons that have nothing to do with you. The ones who would have hired you but forgot are the leak.

“My estimator is too busy.”

Then the office takes it over. The estimator sends the quote and tags the file. The office runs the five touches.

“We sell on price, so follow-up will not matter.”

Follow-up catches the customer who is still comparing. If they lean toward the lowest price, you will find out on the day 3 call and can adjust the scope.

“I do not want to chase a no.”

Day 30 closes the loop. A clear no is better than a pile of quotes that may or may not be alive.

What ServiceLine Pro runs for this leak

We set up estimate follow-up in your CRM: the five touches, the timing, the tasks for the calls, and the report on which estimates are open. If you build it in your own field app, use the scripts above.

Do this week

  1. List every open estimate from the last 90 days with the customer, amount and date sent. Add up the total.
  2. Run touches 2 through 5 for each estimate in the last 30 days that has not heard from you since the first send.
  3. Load the five-touch sequence into your CRM or a spreadsheet so the next estimate starts it on day 1.
  4. Give one person ownership of follow-up and a Monday review.
  5. Run your numbers at workbook.servicelinepro.com/#estimates.
Chapter
17

Cost per Closed Job

A cheap lead can turn into an expensive job. Run the math all the way to the closed job.

I sat in a meeting with a Tampa-area plumbing and electrical company and went through lead sources one by one. When we reached Yelp, I told the owner what I had learned from a Yelp contact: “If you run a Yelp campaign, 100%, you’re going to get lots of leads. I don’t know how good the leads are, how many of those are going to be big money.”

The numbers I had were real. A Tampa-area plumber had spent $4,400 and received 23 calls and 177 form leads. Another account, south of Tampa, spent $5,000 for 77 leads. One account in plumbing, electrical and HVAC spent $30,000 and cleared more than 600 leads. Those were Yelp’s figures, and we did not measure them ourselves.

Count them and the cost per lead looks great. The $4,400 account paid $22 a lead if you add the calls and the forms. Then I asked the question that decides whether any of it matters: “can we convert them?” And I added a rule about the form leads: they need a same-minute reply.

Yelp could report the leads. It could not report how many of those 200 turned into a closed job, or what the closed jobs cost. Cost per lead is a number a vendor can print on a page. Cost per closed job is a number only you can know.

That number decides which marketing stays and which goes.

Why cost per lead misleads

A lead is a contact. A closed job is money. Between the two sit missed calls, slow callbacks, tire-kickers, wrong areas, wrong services, price shoppers and customers who said yes to three companies and picked one.

Lead vendors quote cost per lead because it is the smallest number they can honestly state. A vendor who sells a form fill for $22 has done their job when the form is filled. Whether it closes depends on you, and it is also a function of the lead’s quality. A $22 lead that never answers the phone costs more than a $75 lead that books.

The worksheet note says it in one line: lead vendors quote cost per lead. Ask them for cost per job.

Work the math

The worksheet compares two channels. Channel A is a lead site. Channel B is Google Maps.

The mathChannel A, lead site
Spend a month$2,000
Leads50
Cost per lead$40
Share that close10%
Closed jobs5
Cost per closed job$400
The mathChannel B, Google Maps
Spend a month$3,000
Leads40
Cost per lead$75
Share that close36%
Closed jobs14.4
Cost per closed job$208

Read the first line of each block. Channel A looks cheaper at $40 a lead against $75. Channel B costs almost double per lead.

Read the last line. Channel B costs $208 for a closed job. Channel A costs $400. The expensive lead is the cheap job. Channel B costs about half as much per job.

The closed-job shares of 10% and 36% are the worksheet placeholders. Your own numbers decide the verdict. The lesson is the order of operations: spend, then leads, then closed jobs, then divide.

Here is the second step that finishes the thought. A closed job has to leave money after you do the work.

The mathDoes the job pay for its own lead?
Average job$450
Gross margin on the job (example)40%
Gross profit per job$180
Channel A cost per closed job$400
Loss per job on Channel A$220

That gross margin is a labeled example. Use your own, from your QuickBooks profit and loss by job type. If your cost per closed job is higher than your gross profit on the first job, the channel loses money on every new customer unless that customer comes back. Chapter 23 prices what a customer is worth over years. A weekly pool customer or a maintenance-plan customer can pay back a $208 acquisition cost many times. A one-time $450 repair cannot pay back a $400 one.

Pull the four numbers for each channel

You need spend, leads, closed jobs and revenue for every place leads come from. Take the last 90 days so one slow week does not skew the answer.

ChecklistWhere to find each number
  • Spend. Ad invoices, the lead site’s billing page, your agency invoice, the printer’s bill for door hangers, the cost of referral credits, a share of your CRM and call-tracking bills. Count everything you paid to get the phone to ring.
  • Leads. Call-tracking logs by number, form submissions by source, the lead site’s own report, and your office’s tally. Count each person once.
  • Closed jobs. Your field app. Open Jobs, filter by lead source, and count jobs with a completed or scheduled status. If your app has no source field, add one now (Jobber, Housecall Pro and ServiceTitan all have a lead source or marketing source option).
  • Revenue. The same filtered job list, total invoiced. QuickBooks can confirm it with a sales report by customer.

The hardest column is lead source. Every call and form needs a tag at the moment it arrives, and the cheapest way to get one is to ask.

ScriptOffice asks the source on every new call

“Thanks for calling [Company]. Before I get your address, how did you hear about us? Google, a referral, a lead site, a sign, a door hanger, something else?”

Pair that answer with a tracked phone number for each channel. Callers misremember and say “Google” for everything. A tracked number does not misremember. Our position at ServiceLine Pro is that a campaign we cannot measure is one we cannot defend.

Build the table

Put every channel in one table. This is a template with example numbers, using results from other chapters in this book.

Channel Spend a month Leads Closed jobs Cost per lead Cost per closed job
Lead site $2,000 50 5 $40 $400
Google Maps $3,000 40 14.4 $75 $208
Door hangers (Ch 15) $320 8 4 $40 $80
Referral credits (Ch 14) $600 12 6 $50 $100
Past-customer texts (Ch 13) your hours your sends your bookings

Add a column for revenue and one for revenue per marketing dollar. A channel that produces $3.50 of revenue for every dollar spent beats one that produces $1.10, even when its lead count is smaller.

Look at where the lowest cost per closed job sits in this example. It sits in the channels that start from people who already know you, which are neighbors and referrals. I have no study that says your table will look the same. Build it and read it.

Decide with the table

Once the table is full, make three decisions.

  1. Cut. A channel with a cost per closed job above your gross profit per first job, and no recurring revenue behind it, is losing money. Cut it or renegotiate it.
  2. Fix. A channel with a cheap lead and a poor close rate usually has a handling problem. Check callbacks (Chapter 6), after-hours calls (Chapter 7) and forms (Chapter 8). Fix those before you cut the channel.
  3. Grow. A channel with a low cost per closed job and room to scale gets more budget, in steps. Raise it by a quarter, hold for 30 days, and watch whether cost per closed job holds.

Raise spend in steps because a channel that works at one budget can behave differently at double. Step up and watch the number before you step again.

Close rate is your half of the number

Cost per closed job has two halves. The channel controls the lead. You control what happens after the lead arrives.

A Lakeland plumber’s Google Local Services account shows the point (Chapter 28 has the full story). In July it produced 106 phone leads on $15,000 of spend, about $142 a lead. The message leads on that account were weak, and the phone leads were the ones the company could close.

Divide $15,000 by 106 and you get cost per lead. Divide it by closed jobs and you get the number that tells you whether July was a good month.

Close rate comes from the work in Part II of this book and the follow-up in Chapter 16. If your close rate on a channel is 10% and your competitor’s is 36%, they can pay more than three times as much per lead and still spend less per job.

What to say to a lead vendor

You can set the terms before you spend. Send this to any lead site, ad agency or directory before you sign.

ScriptEmail to a lead vendor

Hi [Name],

Before we start, I need three things in writing.

  1. Reports that show cost per lead and, once I send you my closed jobs, cost per closed job by month.
  2. A way to flag leads that were wrong-area, duplicate, spam or fake, and a credit for each one.
  3. The right to cancel at any time with no penalty after the first 90 days.

I will track every lead to a closed job in my field app. If the cost per closed job is above [your number], I will pause the spend. Can you agree to these terms?

[Your name]
[Company]

A vendor who agrees is confident in the product. A vendor who pushes back on all three has told you what you need to know.

You can use the same questions for any marketing company, including ours. Month to month after a 90-day start, you own the website and the Google profile, and the report arrives in calls and booked jobs.

Run the review once a month

Put one hour on the calendar on the first Monday of each month.

  1. Update the spend column from last month’s invoices.
  2. Count leads by source from call tracking and your forms.
  3. Count closed jobs by source from the field app.
  4. Recalculate cost per lead and cost per closed job.
  5. Mark each channel cut, fix or grow, and write down the next action.

After three months, the table shows direction. A channel whose cost per closed job drifts up for three months is getting worse, whatever the vendor says. A channel that falls is getting better.

What owners say back

“I don’t have the data to do this.”

Start with what you have. Ask your office to log the source on every call from today. In 30 days you will have a rough table. In 90 you will have a good one.

“The vendor sends me a report every month.”

Read what it counts. If it reports impressions, clicks or leads, you have the top of the funnel. You need the bottom.

“My best customers come from word of mouth anyway.”

Then price word of mouth and compare. Chapter 14 shows how to turn it into a channel with a number.

“Some leads take months to close.”

Then use a longer window for that channel. For a roof or a remodel, look at leads from four to six months ago and count how many closed since. Cost per closed job is a lagging number, and it is still the one that counts.

“I need more calls.”

More calls from a channel that costs $400 a job and loses $220 on each is a faster way to lose money.

What ServiceLine Pro runs for this leak

We put a tracked number on each channel, tie every call to the closed job, and report to clients in calls and booked jobs. You can build the same table in a spreadsheet with the steps above.

Do this week

  1. List every place leads come from and what you spent on each in the last 90 days.
  2. Count leads and closed jobs for each channel. If a number is missing, add a lead-source field to your field app today.
  3. Divide spend by closed jobs for each channel and sort from lowest to highest.
  4. Mark each channel cut, fix or grow. Send the vendor email to the one you want to question first.
  5. Run your numbers at workbook.servicelinepro.com/#price.
Part V

Crew

Hours you pay for that nobody bills.

  1. 18Unbilled Crew Hours
  2. 19Drive Time
  3. 20Owner Hours on $20 Work
  4. 21Next-Truck Break-Even
Chapter
18

Unbilled Crew Hours

You pay for 40 hours. Customers pay for 30. Who pays for the other 10?

Say you run a four-tech plumbing company. It is Friday at 2:40 in the afternoon and you walk past the dispatch board. Two trucks sit in the yard. One tech is in the break room looking at his phone. The fourth truck is parked outside a supply house, and you cannot tell from the board whether he is buying a part or eating a sandwich.

You tell your spouse that night the company is slammed. You mean it. The phone has been busy all week, you have three estimates to write, and you have not eaten lunch at a table since Tuesday.

Both things are true. The company is busy and the crew is idle, and they are the same company. This chapter is about how that happens and what it costs, because it is one of the largest costs an owner never sees. It does not appear on the P&L. Payroll shows up as one number. The jobs show up as another. The hours between them are nobody’s line.

Paid hours, billable hours, unbilled hours

A tech on your payroll has three kinds of hours.

Paid hours are what you pay for. A full-time tech is paid for 40 a week, and you pay them whether the truck is rolling or not.

Billable hours are the hours a customer pays for. The tech is at the house, working on the job, and the invoice has a labor line that covers that time. Drive time is not in this number. Waiting on a part is not in it. The 20 minutes spent writing up the ticket is not in it.

Unbilled hours are the difference. Paid minus billable. This is time you bought and never sold.

The ratio between billable and paid is utilization. A tech billing 30 of 40 hours runs at 75 percent. That sounds fine. Most owners hear 75 percent and think of a grade of C-plus and move on. Here is what the C-plus costs.

What 10 unbilled hours cost

Take the workbook’s example. You run four techs. Each is paid for 40 hours a week and bills 30. Your revenue per billable hour is $110. That figure is your labor revenue divided by your billable hours, and it is the number your invoices already give you.

The mathFour-tech plumbing company
Techs (n)4
Paid hours per tech per week (p)40
Billable hours per tech per week (b)30
Revenue per billable hour (r)$110
Unbilled hours per tech per week (p − b)10
Unbilled hours, whole crew, per week40
Revenue those hours would earn a week$4,400
Weeks in a month4.33
Unbilled revenue$19,052 a month

Nineteen thousand dollars a month. $228,624 a year. For a four-person crew that “has plenty of work.”

The formula is n × (p − b) × r × 4.33. Everything in it comes from numbers you already have. Nobody had to guess a market rate or an industry average.

Look at one more number from that table. Every single billable hour per tech per week is worth $1,905 a month to this company (4 techs × $110 × 4.33). If the crew moves from 30 billable hours to 33, the company gains three hours per tech, which is $5,716 a month, and nobody was hired and no truck was bought. That is the size of the prize for a small improvement. A tech at 33 hours is at 82.5 percent. The crew still has 7 unbilled hours each, which is plenty of room for lunch, parts runs, paperwork and the occasional bad day.

A tech at 33 billable hours is still unbilled 7 hours a week. You are not asking anyone to run flat out.

What the number means

Be careful with what $19,052 means. It is the revenue those hours would earn if every one of them were booked and billed at your normal rate. You will not recover all of it. Nobody does. Some unbilled time is legitimate: lunch, safety meetings, loading the truck, a customer who is not home.

Think of it as the size of the field you are playing on. If you recover a quarter of it, that is $4,763 a month, or $57,156 a year. Compare that to what a fix costs. A scheduling change costs nothing. A waitlist costs an afternoon.

There is also a cost side that the workbook does not count. You paid those wages. Say your loaded cost is $32 an hour per tech (wage plus payroll tax, workers comp and the share of benefits). Ten unbilled hours × 4 techs × $32 × 4.33 is $5,542 a month in wages for hours with nothing sold against them. That is the minimum you lose, and it is the number to use if someone tells you the revenue figure is a fantasy. The wage is real money that left your account.

Where the numbers live

You need four figures: techs, paid hours, billable hours and revenue per billable hour. About 20 minutes of work if you have a field app.

ChecklistPull your four numbers
  • Techs (n). Count the people who go out on a truck and bill labor. Leave out the owner, the office and the helper who never bills their own time. If you have apprentices who bill at a lower rate, run them as a second group.
  • Paid hours (p). Payroll. In QuickBooks, run the Payroll Summary or the Time Activities by Employee Detail report for the last four full weeks. Divide each tech’s paid hours by four. Salaried techs count at the hours they work, with no 40-hour default.
  • Billable hours (b). Your field app. Jobber, Housecall Pro and ServiceTitan each record when a tech starts and finishes a job. Look for a timesheet export, a job duration report or a technician productivity report (the name varies by app and plan). Add up job time for the same four weeks and divide by four. If your app records only appointment windows, use the actual start and finish stamps, not the window.
  • Revenue per billable hour (r). Take labor revenue for the same four weeks (not materials) and divide by total billable hours. If you bill flat rate, this works out to a single number anyway. If you split by job type, use the blend.

If you do not have a field app, use a paper timesheet for two weeks. Have each tech write start and finish at every job. It is irritating and it takes ten seconds per stop. You will learn more from two weeks of paper than from a year of guessing.

One honesty check before you move on. If your billable hours come out above 36 per tech per week on a 40-hour schedule, look at the data again. Either the app counts drive time as job time, or your techs work more than 40 paid hours and the overtime is not in the paid number. Both errors hide the leak.

Where the 10 hours go

A utilization number tells you how big the leak is. It does not tell you where to plug it. Sit with the field app timestamps for one tech for one week and sort every gap into a bucket.

ChecklistBuckets for unbilled time
  • Drive time between jobs. Usually the largest bucket. It gets its own chapter (Chapter 19) because the fix is different.
  • Holes in the schedule. A 9:00 appointment cancels, the next one is at 11:30, and the tech has no way to fill the slot. The cause is booking, and the tech cannot fix it.
  • Parts runs and supply house waits. The tech did not carry the part. Every hour at the counter is an unbilled hour.
  • Callbacks and warranty work. Real work that nobody can invoice. Track it separately so you know whether a quality problem is eating hours.
  • Paperwork and ticket close-out. Done at the end of the job or the end of the day. Ten minutes per stop adds up fast.
  • Start-of-day and end-of-day. Loading the truck, morning meetings, cleaning up. Some is necessary. A lot of it is habit.
  • Waiting on the customer or the office. The tech arrives and the customer is not home, or the tech needs a price approved and the office is on the phone.

Rank the buckets by hours. Fix the biggest one first. In many shops, drive and schedule holes are the two biggest buckets.

Fixing the hours

Three levers move utilization. They run in this order.

Fill the calendar

If the board has holes because nobody called, the cause is the phone, and Part II of this book covers it. The calls that rang out (Chapter 5), the callbacks that took two hours (Chapter 6) and the estimates nobody followed up on (Chapter 16) all show up here as an empty slot on a Tuesday afternoon. A company with 40 unbilled crew hours a week and 60 missed calls a month has the same leak showing up in two places.

Run Chapter 2 next to this one. Opportunity Value tells you how many jobs of capacity are open. This chapter tells you what those open jobs cost you in crew hours you already pay.

Fill cancellations from a list

Keep a waitlist. Every customer who said “do you have anything sooner?” goes on it with a phone number and a note on what they need. When a slot opens, text the list in order, and fill it within an hour.

ScriptCancellation fill text

“Hi, this is [name] at [company]. We had a cancellation tomorrow at 10:30 and you asked about getting in sooner. Want it? Reply YES and we will confirm.”

One reply wins and the rest get a polite “we filled it, we will keep you first for the next opening.” This takes a dispatcher about three minutes. A single filled 90-minute slot at $110 an hour is $165.

Stack the day

Dispatch for density. Book the first job of the day close to the shop, the last close to the tech’s home if you let them take the truck home, and put the jobs in between in a line rather than a scatter. Book with the next open slot, not the next requested time, whenever the customer does not care. When a customer says “any time Thursday works,” give them the slot that makes the day tighter. Most customers who say that mean it.

ScriptDispatcher line for flexible customers

“I can get a tech out Thursday between 8 and 10, or Thursday afternoon. Which would you like?”

Offer two choices that both fit your route. A customer who is given a choice of two picks one. A customer who is asked “when works for you?” picks a time that breaks your day.

Cut paid hours the right way

The last lever is the one owners reach for first, and it should come last. If you have a Friday afternoon with no work, sending a tech home early at no pay is a fast way to lose a tech. Offer instead a flexible schedule: four 10-hour days, a split crew where half the techs start at 7 and half at 10, or an on-call rotation where the on-call tech is paid a differential for evenings and weekends. Each of these changes the paid hours to match the work. Make the offer to the crew in a team meeting and ask for their input. A crew that helped build the schedule keeps it.

What owners say back

“We’re slammed. My techs never stop.”

Maybe so. Then your billable hours should be 34 or 36, and the formula says the leak is small. Pull the timestamps and see. Owners who say “slammed” often find a number between 26 and 32, because the day feels full when the tech is moving. Moving and billing are different things. (Chapter 3 goes into why the P&L never tells you.)

“I can’t send a tech home. They need 40 hours.”

Right. You do not have to send anyone home. You have to fill the 40 hours with billable work. That is the goal of every fix above.

“Some of that time is drive and I can’t fix drive.”

You can fix more of it than you think, and Chapter 19 does the math. Drive is also part of the unbilled total, so do not add this chapter’s number to that one. They overlap.

“Customers are not home half the time.”

Then confirm by text the day before and again on the morning of the appointment. A no-show costs you a slot. A confirmation text costs you nothing.

“A tech with 80 percent utilization is a tech who is rushing.”

Running flat out would be 100 percent. The target here is 82.5 on a 40-hour week, which leaves seven unbilled hours. Rushing comes from a schedule built with no gaps and no travel time between jobs, and a good dispatcher builds in both.

A worked week

Say your best tech runs 34 billable hours and your slowest runs 24. Same trucks, same city, same pay. The crew averages 30, so the workbook says $19,052, and the tech at 34 is already doing what the crew should do.

Do not coach the slow tech first. Look at the board. Find out what the 34-hour tech’s schedule looks like. Is he assigned to the best zone? Does the dispatcher call him first for add-ons? Does he carry more parts on the truck? Copy the pattern before you change the person. Frequently the slow tech is the one who gets the leftover jobs, the far zone, the callbacks and the cancellations, and the number measures the dispatch.

Then compare weeks. If the slow tech’s utilization is 24 in a month with 12 days of rain and 34 in a dry month, the weather is the leak and you need indoor work in the mix (Chapter 24 covers seasonal dips).

What ServiceLine Pro runs for this leak

When the board has holes, the answer is more booked work. At ServiceLine Pro we size lead flow to fill the calendar you already pay for, and we set up scheduling automations so a cancellation turns into a text to your waitlist without a dispatcher touching it. You can build the waitlist yourself this week with a spreadsheet and a phone.

Do this week

  1. Pull paid hours from payroll and billable hours from your field app for the last four full weeks, per tech.
  2. Calculate each tech’s utilization (billable divided by paid) and write it on a sticky note next to the tech’s name. Find the spread between your best and your worst.
  3. Sort one tech’s week into the seven buckets above and circle the biggest one.
  4. Start a waitlist, and send the cancellation fill text the next time a slot opens.
  5. Run your numbers at workbook.servicelinepro.com/#seat.
Chapter
19

Drive Time

Your techs get paid to drive, and nobody pays you for it.

Say you run a four-truck pool company in a metro area with a lot of freeway. Monday morning your first tech starts in the southeast corner of the county. His second stop is 14 miles north. His third is back south, because that customer called in on Friday and the dispatcher took the first open slot. By 2:00 he has driven 52 miles and finished four pools.

Nobody did anything wrong. Every customer got a time that suited them, and the schedule looked full on the screen. The schedule had a map underneath it, and nobody looked at the map.

You pay that tech for the drive. You pay for the fuel. You pay for the tires, the oil changes and the truck note, which is measured in miles whether you track it or not. The customer does not pay for any of it. Drive time is often the biggest block of paid hours a service company never invoices, and the fix starts with a map.

Why drive time hides

A tech’s day on a timesheet is one number. The tech clocked in at 7:00 and out at 3:30. Eight and a half hours, minus lunch. Where those hours went is invisible unless you open a different report.

Owners also tend to accept drive as the cost of the trade. Plumbers drive. Pool guys drive. Roofers drive to the job and drive back to the yard for material. It feels fixed, like weather. Part of it is fixed. A lot of it is a scheduling choice dressed up as a fact of life.

The way to see the difference is to compare two weeks that should be the same. Take your best week, the one where your techs seemed to get more done with the same hours, and your average week. Pull the drive hours for both. The gap between them is a rough measure of what better routes would give you every week.

Worked math

The workbook asks for five numbers and one comparison.

The mathFour-truck pool company
Techs (n)4
Drive hours per tech per day, today (d)2.5
Drive hours per tech per day with tight zones (g)1.25
Workdays a month (w)22
Revenue per billable hour (r)$110
Drive hours saved per tech per day (d − g)1.25
Hours back a month, whole crew110
Revenue those hours would earn$12,100 a month

The formula is n × (d − g) × w × r. Four techs, 1.25 hours a day each, 22 days: 110 hours. At $110 an hour, that is $12,100 a month, or $145,200 a year.

Two numbers in the middle need an honest check.

The first is d. Two and a half hours of driving in an eight-hour day is 31 percent. That is plausible for a company that covers a metro area with no zones. It is not plausible for a company that works one neighborhood. Use your own number. If your techs drive one hour a day, d is 1.0, and your savings are smaller. The formula does not care what you hope.

The second is g, the drive time with tight zones. Use something you have already achieved. Your best week is a good benchmark because it proves your crew can do it. Do not use a target pulled from a book. The workbook example uses a g that is half of d (1.25 against 2.5). If your best week is closer to d, use it anyway. A smaller number is still worth chasing, and it keeps you honest.

One more caveat. The $110 an hour is revenue, and the hours you win back only earn that revenue if you fill them with booked work. A tech who drives 1.25 hours less and then sits in the yard has not made you any money. Chapter 18 deals with the sitting. This chapter deals with the driving. Because drive time is part of the unbilled hours that Chapter 18 counts, do not add the two chapters together. They measure overlapping hours from two sides.

A tech who drives 1.25 hours less and then sits in the yard has not made you any money.

Where the numbers live

ChecklistPull your drive numbers
  • Techs (n) and workdays (w). Payroll and the calendar. Twenty-two is a typical month with weekends off. Use your own.
  • Drive hours per tech per day (d). Your field app if it has GPS. Most of the big ones record location or job-to-job travel time. Look for a mileage or travel time report, or export job start and finish times and subtract the finish of one job from the start of the next. If you have no GPS, ride along for one full day with each of two techs and write down the time on the road. You will get an honest number faster than you expect.
  • Drive hours with tight zones (g). Your best week in the last quarter. Pull the same report for that week. Or use the best tech’s average if your crew drives very different amounts.
  • Revenue per billable hour (r). Labor revenue divided by billable hours from the field app, the same number as Chapter 18.

If you track fuel, add one more line for your own interest: the cost per mile of your trucks (fuel, maintenance and the note) times the miles you cut. That money is real and it is not in the workbook number, so it makes the answer larger. Take the figure from your own receipts.

Seeing your map

Before you change a single route, look at where your work is. This takes about 20 minutes and no software you do not already have.

Export the last 12 months of completed jobs from your field app, with the customer address on each row. Open Google My Maps, create a new map and import the spreadsheet with the address column as the location. You will see a cloud of pins.

Look for three things. The first is clusters, neighborhoods where you have many customers close together. The second is outliers, single pins miles from anything else, each of which cost you a long drive for one job. The third is empty areas that sit between clusters, where your trucks drive through without stopping.

That map is your business. Most owners have never looked at it, and the first look usually teaches something. Outliers tend to be old customers from before the company picked a shape, or referrals from a friend. Clusters tend to sit where you started or where a builder or property manager sends you work.

Zone the schedule

The cheapest fix is a rule. Cut the territory into zones, assign each zone a day or a tech, and book the customer into their zone’s day.

Say you split the county into four zones: north, south, east, west. Tuesday is the north day, and the dispatcher books north customers on Tuesday first. A new customer in the north who needs a Thursday visit gets offered Tuesday. A customer who insists on Thursday goes on a short wait or a trip fee.

ScriptDispatcher script for zone days

“We service your neighborhood on Tuesdays and Fridays. I have a 10:00 on Tuesday. Does that work?”

If they say no: “I can do Friday at 1:00. Which is better for you?”

If they push for a day outside the zone: “I can do Thursday, and since that is outside our usual run in your area there would be a $[amount] trip fee. Or I can get you in Friday at no charge. Which do you want?”

A trip fee is an honest price for a bad route. Many customers choose the zone day once they hear it. The ones who pay the fee compensate you for the drive.

Assign techs to zones as well. A tech who works the north zone every Tuesday learns every street, every gate code and every dog. That saves minutes per stop and builds the relationship that leads to referrals.

Order the day

Inside a zone, order the day from the far end to the home end, or in a loop. Most field apps have a route optimization tool. Use it. Then check the result against a map, because the tools sometimes send a tech across a river or past a school at 3:00 pm. A 30-second glance at the route saves 20 minutes of traffic.

Cap the radius

Decide the farthest address you will take without a surcharge. Measure it in drive minutes from your shop or your densest cluster, not miles. Pick the line from your own map. Put the number in writing and tell the dispatcher. When the call comes from 40 minutes out, the dispatcher has a rule and the owner does not have to decide.

Win the map where your trucks already are

Zoning controls the jobs you have. The second fix controls the jobs you will get.

If your Google Maps ranking is strongest near your office and weak elsewhere, your calls will come from near your office. That is a feature. Calls near your densest routes are cheap to serve. Calls from the edge of your territory cost an hour of drive for each one.

The Tampa-area plumbing and electrical company in Chapter 10 ranked number one within about two and a half miles of its office and around spot 10 past that. That is fine for route density, since the trucks live in that circle. It matters because the owner who wants to grow has to decide whether to push the circle outward or fill it. Fill it first. Filling a dense circle makes the crew’s day tighter, and a tighter day produces more billable hours with the same pay.

The method to apply is in Chapter 10. The point for this chapter is the order. Rank where the trucks are, then widen.

This is also why ServiceLine Pro insists on a real address and a real pin on the map. A profile that hides the address makes the grid go red around your own shop, and the trucks leave the yard into a neighborhood where nobody can find you.

Price the drive when you cannot cut it

Some drive cannot be zoned away. A roofer drives to the job and drives home. A tree crew carries the chipper behind the truck. For these companies the move is price.

Put drive time into the price by distance band. Inside 15 minutes, no charge. Fifteen to 30 minutes, add a flat amount. Over 30 minutes, add more or decline. Write the bands on a card for the estimator and the dispatcher. Customers accept a printed rule more easily than a negotiated one. Chapter 26 covers how to raise prices without losing the jobs you want.

What owners say back

“My customers are spread out. That is what I built.”

That is a fact about where your customers are, and the map will tell you how spread out. Count the pins. If most of them sit in a few clusters, the outliers drag your average. Serve the outliers on a fixed day and a fixed price.

“I’ll lose customers if I tell them what day I come.”

You will lose some. The ones you lose are the ones who cost you the most to serve. Check how many of your customers are outliers before you decide it hurts.

“Routing software will fix this.”

Software sorts the stops you give it. It does not decide which stops to take. A good route through bad bookings is still a bad day. Zone the booking, then optimize the route.

“My techs like the variety.”

Ask them. If your techs earn a bonus on billable hours, a short drive and a full day pays them too.

What ServiceLine Pro runs for this leak

We build Local SEO aimed at route density. That means ranking the map for the neighborhoods your trucks already cover, with a 90-day target for the Map Pack, so new calls land inside your tightest circles. You can do the first half yourself this week with an export and a free map.

Do this week

  1. Export 12 months of completed jobs with addresses and plot them in Google My Maps. Mark your clusters and your outliers.
  2. Pull drive hours per tech per day for your best week and your average week from your field app, or ride along for a day with two techs.
  3. Draw four zones on the map, assign each a day, and give the dispatcher the zone script.
  4. Write your distance bands and the trip fee on one card for the dispatcher and the estimator.
  5. Run your numbers at workbook.servicelinepro.com/#wind.
Chapter
20

Owner Hours on $20 Work

You are the most expensive person in the company, and you spend 25 hours a week on $20 work.

Say you run a $3 million roofing company. It is 6:40 on a Wednesday evening and you are at your kitchen table with a laptop. You are sending invoices from the week, matching three supplier receipts to jobs, and answering a customer who wants to know when the dumpster comes. Your phone has a missed call from a homeowner who wanted an estimate.

You will call that homeowner back tomorrow morning. By then he will have talked to two other roofers.

You are good at roofing. You started the company because you were good at it. Somewhere in the last five years you turned into the person who answers the phone, files the paperwork, orders the shingles, schedules the crews and chases the payments. You also close the big estimates, since nobody else can. That one task, the one only you do, is the task that makes the company money. It gets whatever hours are left over after everything else.

This chapter puts a price on that arrangement.

Your hour is worth more than you think

Every hour you spend has a market price, and the market has two prices for your time.

The first is what it costs to hire someone to do the task. Answering phones, entering invoices, ordering materials, building a schedule and sending review requests are all work a capable office hire does well. The going wage for that work in your market is some number near $20 an hour. Use your own. Call two staffing agencies or look at what local office jobs advertise.

The second is what your hour earns when you spend it selling or estimating. If you run eight estimates a week and close three of them at an average of $4,800, you close $14,400 a week. Divide by the hours you spend on those estimates, including drive and writeup, and you have the revenue per hour of selling. The workbook starts that figure at $200. Yours may be higher or lower. Pull your own.

The difference between the two prices is the loss. Every hour you spend on a $20 task is an hour that was available for a $200 task, and the task you gave up pays $180 more.

Worked math

The mathOwner on $20 work
Hours a week on work you could hire out (h)25
What an hour of yours earns selling or estimating (o)$200
Cost to hire it out (c)$20 an hour
Net gain per hour you reclaim (o − c)$180
Weekly gain$4,500
Weeks in a month4.33
Owner time on the wrong work$19,485 a month

The formula is h × (o − c) × 4.33. Twenty-five hours at $180 is $4,500 a week, and over a month that is $19,485. For a year, $233,820.

Look at the two sides. To hire out those 25 hours would cost you $2,165 a month (25 × $20 × 4.33). The hours would earn $21,650 a month if you spent them on estimates (25 × $200 × 4.33). You would spend $2,165 to earn $21,650. Few purchases in your business have that ratio.

That frees 108 hours a month.

The $19,485 is a ceiling. It assumes you can put every reclaimed hour in front of a qualified buyer. That brings us to the objection that matters most, and the chapter will answer it directly below. For now, keep the number in view. It is what your current arrangement costs when the market for your time is open.

Spending $2,165 a month to earn $21,650 is a ratio few owners would turn down, and you are turning it down.

Track one week on paper

Your memory of your week will not match your week. A piece of paper will.

Print a sheet with the days of the week across the top and the hours from 6:00 am to 9:00 pm down the side, in half-hour rows. Carry it for one full week. Every half hour, or whenever you switch tasks, write what you did in a few words. “Invoices.” “Called the supplier.” “Estimate at the Hendersons.” “Answered the phone.” Do not clean it up that night. Write as you go.

On Saturday, take a highlighter and circle every task that a $20-an-hour hire could do. Total those half-hours. That is h.

ChecklistTasks owners commonly find on the circled list
  • Answering the phone and booking appointments
  • Entering invoices and matching receipts
  • Chasing unpaid invoices
  • Ordering materials and arranging delivery
  • Building the weekly schedule
  • Sending review requests and texting past customers
  • Answering “where’s my crew?” calls
  • Posting on the company’s social pages
  • Filing permits and licensing renewals
  • Running errands to the supply house

Your total may land near 25 or near 10. Use the number you measure. If h is 10, the monthly gain is $7,794 and still pays for a part-time hire.

Check the other side of the ledger too. Write down every estimate you ran that week, how long it took from leaving the shop to getting back, and what you closed. That gives you your own o. It also tells you something else: how many estimates you personally run. If you run four estimates a week and there are five open hours in the day, reclaiming hours does not help until you have more estimates to run. Keep reading.

Where the numbers live

ChecklistPull your three numbers
  • Hours on hire-out work (h). The paper week above. Two weeks is better if your schedule swings.
  • What an hour of yours earns (o). Your CRM, your field app or your estimate log. Take the revenue you closed from estimates you personally ran in the last 90 days. Divide by the hours you spent on those estimates, including drive and writeup. If you do not track estimate hours, count the estimates and multiply by a realistic block, say two hours each.
  • Cost to hire it out (c). What a local office hire costs per hour. Add your payroll taxes and workers comp, which your payroll provider can quote you. If you hire a virtual receptionist or an answering service, use the monthly fee divided by the hours of work it takes off your plate.

Objection: hours earn only if there is something to sell

Here is the honest limit of this worksheet. The $200 an hour is real only if you have an estimate to run. If you free 25 hours and there are no leads to run, you have 25 free hours and nothing in them.

So the question is whether you have demand. Check three things.

First, how many estimates are you not running today? Look at your calls. If you missed 60 calls last month (Chapter 5), those are 60 homeowners who might have been estimates. Look at the callbacks that came back after the customer booked someone else (Chapter 6). Look at the estimates you ran and never followed up on (Chapter 16). Together they are your untouched pile, and the hours you reclaim go into that pile first.

Second, are you the bottleneck on estimating? If a lead waits three days for your visit, you are the constraint, and a hire of any kind that frees your time pays quickly. If the lead gets seen the same day, you are not the constraint yet.

Third, is there a second estimator? Some owners reclaim hours by training a sales lead. At Westchase Painting, which I own and run in Tampa, the sales lead is paid a commission on net profit: the job price, minus the subcontractor invoice, minus materials. That pay plan makes him care about the same number I do.

If you have a real pile of leads waiting and you are the bottleneck, the worksheet is correct and you should hire now. If you have no pile, build one first. Part II of this book fixes the phone, Part IV fixes the pipeline, and then the hours you free have somewhere to go.

Make the first hire the person who answers the phone

The workbook note says it directly: make your first hire the person who answers the phone.

Here is why. The phone is the first place your $200 hour gets lost. Every missed call is an estimate you did not run. The phone also interrupts more of your day than most tasks on the circled list, since it rings when you are on a roof. A receptionist or a customer service rep covers all of it: the first call, the booking, the reminders, the “where’s my crew” calls and the review requests. The other tasks on your list can wait a quarter. The phone cannot.

You have three ways to fill the role, and they differ in cost and control.

An employee gives you the most control and the most management time. A part-time office hire at 20 hours a week is a way to start.

A virtual receptionist is a person at a call center who answers in your company’s name. Westchase Painting runs one. It costs less than an employee and covers evenings and weekends, but the person knows your business less well.

Software and automations can handle the routine calls, the texting and the reminders. They work best as a layer on top of a person, and they cover the hours when no one is at the desk (Chapter 7 goes into after-hours).

Job description for a first CSR

ScriptJob post for a customer service rep

“[Company] is a [trade] company in [city]. We need someone to answer our phones, book appointments and keep our schedule clean. You will talk to homeowners who are stressed about a problem in their house, and your job is to make them feel taken care of and get a technician on the calendar. You will also send confirmations, follow up on estimates, and ask happy customers for reviews. Hours are [days and hours]. Pay is $[range] an hour. No trade experience needed. You need a clear phone voice, accurate typing and good judgment under pressure.”

Write a one-page script for the first 30 seconds of a call, a list of the five questions to ask every caller, and a rule for when to hand a call to you. Do not ask the new hire to improvise. A script is how a new person sounds experienced in week one.

Handing off a task

Owners fail at delegation in a predictable way. They hand off the task and keep the problem. Three habits prevent that.

Write it down. A task you describe out loud takes five minutes to explain and a month to correct. A one-page checklist takes 20 minutes to write and works every time.

Hand off the whole task. “Order the materials” means ordering, tracking the delivery and calling the supplier when it is late. If you keep the late call, you keep the interruption.

Check at the end, not the middle. Set a day each week to look at results: invoices sent, calls booked, reviews requested. A weekly look takes ten minutes. Checking over the shoulder takes the hours back.

ScriptHandoff line for the first week

“For the next two weeks I will check your work every day at 4:00. After that I will check it on Fridays. If something goes wrong, I want to know the same day. I will not be upset. I want to fix the checklist.”

What owners say back

“Nobody does it as well as I do.”

A new hire will not match you in the first month. Your standard needs a checklist and a first-week review. Most of the tasks on the circled list do not require your judgment. They require your attention, which is the thing you are short on.

“I can’t afford another salary.”

Run the math from the worksheet. A part-time hire at 20 hours a week costs about $1,732 a month at $20 an hour (20 × $20 × 4.33), before taxes. If those hours bring back one extra closed job, you are ahead. If they do not, you will see that in 60 days and can adjust.

“My wife does the books.”

Good, as long as she does the books. If she also answers the phone at dinner and schedules crews on Sunday, count those hours as h.

“I enjoy the day-to-day.”

Some of it you will keep. The estimates, the key customers and the pricing decisions are the parts of the job that need you. List what you want to keep, and delegate the rest. The circled list is the second half.

What ServiceLine Pro runs for this leak

The tasks on the circled list that software handles well are the first ones we automate: answering and texting, reminders, review requests and follow-up. We set up AI tools and automations so your first hire starts with a lighter load. You can write the checklist and post the job description this week for free.

Do this week

  1. Print a half-hour grid and track every task for five working days. Circle each one a $20-an-hour hire could do and total the hours (h).
  2. Pull the revenue you closed from your own estimates in the last 90 days and divide by your estimate hours to get your hourly number (o).
  3. Count your open pile: missed calls, slow callbacks and unchased estimates from the last 30 days. Confirm there is work waiting for the hours you free.
  4. Post the CSR job description, or call a virtual receptionist service and ask for a trial.
  5. Run your numbers at workbook.servicelinepro.com/#owner.
Chapter
21

Next-Truck Break-Even

Know the exact number of jobs that pays for the next truck, then go get them.

I once sat on a call with a Tampa-area plumbing and electrical company that wanted to add another plumber. We worked out what it would take to keep that person busy. The company needed about 40 more calls a month. In its market, a lead ran $150 to $200. Forty calls at the low end of that range is $6,000 a month in extra ad budget.

Organic search would not close that gap fast, and I said so on the call: “Organic is not going to increase enough in the next 30 days to add another person. So we have to look at some paid ads option.”

Hiring a plumber sounds like a payroll decision. It is also a lead decision, and the lead half is the expensive half. Most owners price the wages and leave the leads for later.

This chapter gives you the exact number of jobs a month it takes to pay for the next tech and truck, and it gives you the order to buy things in.

What a truck costs every month

When you hire a tech and buy or lease a truck, a lot of costs start on day one and none of them ask whether the tech has a job. You pay the wages. You pay payroll taxes and workers comp. You pay the insurance on the truck and on the person. You pay the truck note or lease. You pay fuel, tools, uniforms, phone and software seats.

Add them up per month. That is the all-in cost of the seat. The workbook starts it at $9,000 a month, and that is a plausible number for a loaded tech and a financed truck in many trades. Use yours.

On the other side is what each job earns toward paying that bill. It is gross profit before the tech, meaning the job price minus materials and any other direct cost that is not the tech. If the labor and the truck are what you are paying for, then labor and the truck cannot also be subtracted from the job. The workbook starts at $250 per job.

Worked math

The mathNext-truck break-even
Monthly cost of a tech and truck, all in (c)$9,000
Gross profit per job before that tech (p)$250
Jobs one tech can run a month (k)70
Break-even jobs (c ÷ p)36
Break-even utilization (36 ÷ 70)51.4%
Profit with the truck full (70 × $250 − $9,000)$8,500 a month
Jobs a month that pay for the next truck36 jobs

The formula is c divided by p, rounded up. $9,000 ÷ $250 is exactly 36. The truck breaks even at 36 jobs a month. It is profitable at 37. At its capacity of 70 jobs it makes $8,500 a month, and it has 34 jobs of headroom between break-even and full.

That is the whole decision in four numbers. A truck that has to run at 51 percent to pay for itself is a good truck to add, if you can get the jobs. A truck that has to run at 90 percent is a bad idea in almost any month.

Notice what the number measures. Thirty-six jobs does not appear on the P&L. It appears the day after you hire, when you watch the first month.

Add the cost of landing the job

The workbook’s $250 is gross profit before the tech. If you buy leads to get these jobs, the lead cost comes out of that $250.

Say it costs $60 in marketing to land each of the extra jobs. Gross profit per job becomes $190. Break-even moves to $9,000 ÷ $190, which is 47.4, so 48 jobs. That is 68.6 percent of the truck’s capacity of 70 jobs.

The mathBreak-even with marketing cost
Monthly cost of a tech and truck$9,000
Gross profit per job before that tech$250
Marketing cost to land one job (example)$60
Gross profit after marketing$190
Jobs a month that pay for the next truck48 jobs

Twelve more jobs a month come from counting what it costs to get the work. The check matters most for owners who plan to add the truck and pay for the jobs with ads. You can find your own cost per closed job in Chapter 17.

First-quarter cash for a new truck

A new tech does not walk onto day one at full speed. The truck needs to be stocked, the tech needs to learn your routes and your standards, and the jobs need to be on the board. Plan for a ramp.

Say this is your first three months. These numbers are an example, not a forecast.

The mathExample ramp for one new truck
Month 1: 20 jobs × $250 − $9,000−$4,000
Month 2: 36 jobs × $250 − $9,000$0
Month 3: 50 jobs × $250 − $9,000+$3,500
Cash out before the truck pays back$4,000

You are down $4,000 by the end of month 1 and back to even in month 2. The cash you need to survive the ramp is about the size of a month’s cost, less whatever profit the early jobs bring. Keep that cash in the account before you hire. If you cannot fund a $4,000 hole, you cannot fund a second month of a slower start either.

Track the truck as its own line. In QuickBooks, set up a class for it. Wages, truck note, insurance, fuel and jobs all go under that class. After month 3 you see its profit and loss without any arguing.

Buy leads before trucks

The workbook note says it in four words, and it is the most important sentence in this chapter. Buy leads before trucks.

Many owners run it in reverse. They hire, then try to fill the truck. The payroll starts, the stress starts, and they buy leads in a hurry from whatever source says it can deliver them fast. That is how a company ends up with a 51-percent truck, a 38-percent truck and a worried owner.

The order that works is this.

  1. Line up the demand. Run the lead source for 30 to 60 days and watch the phone.
  2. Count what is already sitting in your files. Past customers (Chapter 13), unchased estimates (Chapter 16) and missed calls (Chapter 5) are jobs you have already paid for.
  3. Watch the existing crew. If your techs are billing 30 of 40 hours (Chapter 18), the next truck is already on the road, empty. Fill it first.
  4. When the backlog holds 30 days of break-even work, hire.

That last line is the trigger. Use it.

ChecklistHire trigger
  • Booked jobs for the next 30 days cover break-even for the new tech, plus the work your current crew already has.
  • Your current techs bill at least 80 percent of their paid hours.
  • Cash covers the ramp (the example above is $4,000 plus a cushion).
  • The lead source has produced at least 60 days of steady volume at a known cost per lead.

If the answer to any of the four is no, you have found the next job. Fix that item and check again next month.

Overtime, subs and a second shift before a truck

A new truck is a fixed cost. Other ways to add capacity cost less when work is uncertain. Check them before you sign the lease.

Overtime for the current crew costs more per hour and nothing in the months you do not need it. A sub or a 1099 tech works only when you have work. A second shift or a Saturday half-day gives you capacity on a truck you already own. These cost more per job than a full-time tech running at 90 percent. They cost far less than a full-time tech running at 40.

Use them to build the demand history you need to justify the permanent hire. When overtime runs every week for two months, hire.

Where the numbers live

ChecklistPull your three numbers
  • Monthly cost of a tech and truck (c). Payroll for a tech at the level you would hire, plus payroll taxes and workers comp (ask your payroll provider for the rate), plus the truck note or lease, insurance, fuel, tools and software seats. QuickBooks makes this easier if you class your existing trucks. Take the average of your two newest trucks.
  • Gross profit per job before that tech (p). Invoice total for a typical job minus materials and subcontractor cost. Take the last 90 days of jobs from your field app and average. Leave out labor, because the tech is the cost you are testing.
  • Jobs one tech can run a month (k). Your best tech’s best full month, counted from completed jobs in the field app. Use a number you have already seen.

If your jobs vary a lot in size, run the formula once for each type of job and use the type the new tech will do most.

What owners say back

“I will hire when I’m sure I’m busy enough.”

You will never be sure. Use the hire trigger. It replaces “sure” with four checks.

“My techs are overworked. I have to hire.”

Check the hours. Overworked techs who bill 30 hours a week are doing the wrong work (Chapter 18), driving too much (Chapter 19), or both. A hire adds a tech who will do the same. If the crew is billing 36 or more, hire.

“The truck pays for itself over time.”

It pays for itself in the jobs you book. Time does nothing. The break-even number says how many jobs per month. Write it on the dispatch board.

“I can’t find techs anyway.”

Then the constraint is hiring, and you should know that now. The formula still tells you what the seat is worth, so you know how much to offer when you find the right person. A tech who brings $8,500 a month of profit at full utilization is a tech you can pay well.

Turn jobs into calls

Break-even is counted in jobs. The phone counts calls. Convert with your close rate.

Say 3 of every 5 calls you answer become booked jobs. The truck needs 36 jobs, so it needs 60 calls a month (36 ÷ 0.6). If your close rate is 2 in 5, it needs 90 calls. A weak phone process raises the price of every truck you add. Chapters 5 and 6 are the cheapest way to lower the call count the truck needs, because they raise the share of calls that turn into jobs.

The Tampa company did the same conversion in the other direction. It started from the calls the seat needed (about 40 a month), priced them at its own cost per lead, and compared the bill to the profit of the jobs. That method works in any market.

Hold a monthly truck review

Once the truck is on the road, check it against the number you wrote down. Take ten minutes on the first Monday of each month with the dispatcher.

ScriptMonthly truck review questions

“How many jobs did the new truck run last month?”

“What is break-even on the board? Did we beat it?”

“How many jobs are booked for the next 30 days on that truck?”

“If the answer is under break-even, which lead source or past-customer list fills the gap this month?”

Two bad months in a row means the demand was never there, and this review tells you by day 60. At that point you have three choices. Add leads, shift the tech to cover other trucks’ overflow, or end the seat while the cost is still small. Each is better than carrying a $9,000 monthly cost against 20 jobs.

What ServiceLine Pro runs for this leak

We size lead generation to the next truck. That means working out the number of calls the seat needs, building the sources that produce them, and tracking the cost per closed job so the break-even stays honest.

Do this week

  1. Add up the all-in monthly cost of one tech and one truck, and write the figure down (c).
  2. Pull gross profit per job from the last 90 days, before labor (p), and divide to get your break-even jobs.
  3. Add your cost to land a job and recompute. Compare the second number to what your best tech can run in a month (k).
  4. Run the four checks in the hire trigger. Write down which one fails.
  5. Run your numbers at workbook.servicelinepro.com/#truck.
Part VI

Pricing and margin

Money left on jobs you already won.

  1. 22Add-On per Job
  2. 23Customer Lifetime Value
  3. 24Seasonal Dip
  4. 25Maintenance Plans
  5. 26Price Raise Math
  6. 27Low-Margin Job Types
Chapter
22

Add-On per Job

They already said yes once. Ask one more question on every job.

Say you run a pool company that finishes 80 jobs a month. A tech pulls up to a house on Tuesday, backwashes the filter, tests the water, fixes a leaking valve and loads the truck. The customer pays $180 and thanks him. Ten feet away, the pool pump is eleven years old, loud and drawing more power than a new variable-speed model would. The tech sees it. He says nothing, because nobody asked him to, and because he does not want to sound like a salesman.

Multiply that silence by 80 jobs a month.

This chapter is about the cheapest sale in your business. The customer already trusts you, the truck is already in the driveway, and the tech has already spent the money to get there. The cost to reach this customer was paid on the first call. Whatever you sell on top of the job carries no marketing cost at all.

Plenty of owners know this and still do nothing, because an add-on feels small. Fifty dollars on a $450 job does not move anybody. Then you multiply it, and it moves.

Add-on math

Three numbers give you the formula, and the workbook uses the same ones.

The mathAdd-on revenue
Jobs a month80
Add-on or upgrade per job$50
Share who take it40%
Takers a month (80 × 40%)32
Added revenue a month (32 × $50)$1,600
Extra marketing cost$0
Added revenue a year$19,200

Nineteen thousand dollars a year from one question, with no new lead and no new truck. It lands on top of the work you already booked, so it takes no hours from the schedule beyond the minute it takes to ask.

Now change one number at a time. The share who take it is the number your techs control with their mouths, and the add-on price is the number you control with your menu.

Share who take it Add-on at $50 Add-on at $75 Add-on at $100
20% (16 takers) $9,600 a year $14,400 a year $19,200 a year
40% (32 takers) $19,200 a year $28,800 a year $38,400 a year
60% (48 takers) $28,800 a year $43,200 a year $57,600 a year

All figures are examples built on 80 jobs a month. Replace the 80 with your own count and the table becomes yours.

The workbook counts revenue. Your add-on costs something: a filter cartridge, a tech’s extra ten minutes, a part. Price every add-on so that its margin matches or beats the job it rides on. A list of the margins on your add-ons belongs next to the list of add-ons. Chapter 27 shows how to build a margin table by job type, and the same table works here.

Fifty dollars on a $450 job does not move anybody. Then you multiply it, and it moves.

Why a customer says yes to the second question

Think about what the customer experiences. They called you because something was wrong. You came, you fixed it, and the problem went away. At that moment you hold about as much trust as you will ever have with that customer.

A stranger with an offer gets suspicion. A tech who fixed the leak minutes ago and says “while I was here, I noticed your filter is cracked at the base” gets attention. The information is useful, the timing is right and the person speaking has earned credit.

Customers also hate calling twice. If the pump is going to fail this summer, they would rather fix it during this visit than book a second appointment. The second visit costs them a day of waiting for you. It costs you a second drive. Every add-on you sell on the first visit saves both of you a trip, and you can say that sentence out loud.

Pull your add-on baseline

Pull your own numbers before you decide on a price for anything.

ChecklistPull your add-on baseline
  • Jobs a month. Your field app (Jobber, Housecall Pro, ServiceTitan) lists completed jobs. Count last month’s.
  • What techs already sell. Open last month’s invoices and look at the line items. Any line that is not the original scope is an add-on. Count them and divide by jobs.
  • QuickBooks. Reports, Sales by Product/Service Detail, last month. Look for the items that show up alongside a main service on the same invoice.
  • Your five most common call-backs. Ask your office what customers phone about in the week after a job. Each answer is a missed add-on.

If you find that techs add something on 6 percent of jobs today, 6 percent is your starting share. The workbook asks you to track it for 30 days, and you should, because the number you guess and the number you measure differ.

Three options on every estimate

Techs have trouble selling an add-on because they are asking for a yes or no. Change the question. Give the customer three options and they choose among them instead of deciding whether to buy.

Say you run a four-truck HVAC company, and a tech is quoting a blower motor replacement.

Option What it includes Example price
Good Replace the motor, 90-day parts warranty $620
Better Motor, capacitor and contactor replaced at the same time, one-year warranty $780
Best Better, plus a tune-up and a one-year maintenance plan (see Chapter 25) $960

The prices are examples. The pattern is the point. The Good option is a real option that fixes the problem. The Better option groups the parts that tend to fail next, so the customer avoids a second call. The Best option adds recurring revenue.

Watch which option customers pick for 30 days. If almost nobody picks Best, the gap between Better and Best is too wide or the plan benefit is unclear. If almost everybody picks Good, your Better option does not look like better value, so rewrite what it says.

Every field app lets you build good, better, best on one estimate. Set up the templates once for your five most common jobs. Techs then pick a template instead of inventing a price in a customer’s kitchen.

Add-on ideas by trade

Each of these is an example of the kind of thing a tech can see and mention with no effort. Price them yourself from your own costs.

Trade Add-on the tech can see Why it fits the visit
Pool Filter cleaning or cartridge swap, chemical upgrade, pump or timer upgrade Tech has the equipment open
HVAC Capacitor or contactor swap, UV light, filter upgrade, duct sealing quote Tech has the panel open
Plumbing Shut-off valve replacement, water heater flush, hose bib covers, leak detector Tech has the water off
Roofing Gutter cleaning, flashing reseal, vent boot replacement Crew is already on the roof
Fence and deck Sealing or staining, gate hardware upgrade, post caps Job is open and materials are on site
Tree Stump grinding, cleanup haul-off, lot clearing quote Crew is already there
Cleaning Inside the fridge, windows, oven Crew is already inside

Build a menu of five add-ons per trade, each with a flat price and a one-line reason. A menu a tech can recite in ten seconds beats a menu of thirty items nobody can remember.

Tech scripts for add-ons

A tech who says “do you want to add anything?” gets “no.” A tech who describes what he sees gets a conversation.

ScriptDescribe what you see, then offer

“While I had the pump open, I noticed the seal is starting to weep. It is not leaking yet, but it will by next season. I can swap it right now for $85, which includes the part and the labor. If I come back for it later it is a separate trip. Want me to take care of it while I’m here?”

The structure has four moves: say what you saw, say what happens if nobody fixes it, give a flat price, ask for the yes. Keep the price in the sentence. A hidden price sounds like a trap.

ScriptWhen the customer wants to think about it

“No problem. I’ll write it on the invoice as a recommendation so you have it. If you decide to do it, call the office and mention this one. We can usually schedule it on a day I’m already in your area.”

The recommendation on the invoice is a record. Six months later, when the pump fails, the customer finds the line that said you warned them. They call you instead of a competitor.

ScriptWhen a customer asks if it is really necessary

“Honestly, it can wait a few months. Here is what to watch for. If you hear a grinding noise or the water level drops, call me the same day. I would do it now because it saves you a trip, but it is your call.”

Telling a customer an add-on can wait costs you almost nothing and makes the next yes easier. Techs who push every item lose credibility fast.

ScriptClose-out for a job with nothing to add

“Everything on the list is done and working. I looked at the rest of the system and nothing else needs attention this year. You’re good.”

A clean bill of health is a sale too. It makes the next recommendation believable.

Pay techs to ask

Your techs will not sell add-ons for free if you have never told them it is part of the job. Pay for it.

Set one rule and write it down: a tech earns a flat bonus on each add-on sold and installed, paid on the next paycheck. Pick a number your margin supports. On a $50 add-on with a $20 cost, you have $30 of profit and can share $5 of it.

Do not tie the bonus to the dollar amount of the add-on. A percentage of sale pushes techs to oversell big items and ignore small ones. A flat bonus per accepted add-on keeps the small, easy sales alive, and those are the ones that make up 32 takers a month.

Track it where everyone can see it. A weekly count by tech, posted in the group text, gets competitive in a good way. Techs at 10 percent learn from the tech at 50 percent, and the tech at 50 percent loves to explain how.

What techs say back

“I am not a salesman.”

Ask him to tell the customer what he already sees. A mechanic who says “your brake pads are thin” is telling the truth, and the customer pays him for it.

“Customers will think I’m upselling.”

A customer who gets a flat price, a clear reason and permission to say no feels informed. The tech in the script above also tells customers when something can wait, and that sentence builds more trust than any warranty page.

“It slows me down.”

The ask takes ten seconds of talk and a template tap. The tech who skips the add-on and returns next week for the repair spends two hours on the second trip.

What owners say back

“Our jobs are too custom for a menu.”

Then the menu is five items that go with your most common jobs. Everything else stays custom.

“We have pricing power already. Why add more complexity?”

The add-on is one of the simplest things you can do to earn more per customer without raising a price. If you plan to raise prices too, Chapter 26 shows the math.

“We tried that and it annoyed customers.”

Ask what was tried. Cold scripts read from a card annoy customers. Specific observations delivered by the person who is already in the equipment do not.

What ServiceLine Pro runs for this leak

The workbook sets extra marketing cost at $0 for this leak because there is no lead to buy. Your cost is a menu, a script and a bonus.

At ServiceLine Pro we write estimate templates and tech scripts for our clients so that good, better, best and the add-on menu are set up in the field app before the first job.

Do this week

  1. Pull last month’s invoices from your field app and count how many had a line item beyond the original scope. Divide by total jobs. That is your starting share.
  2. Write a menu of five add-ons for your most common job, each with a flat price, a one-line reason and its cost to you.
  3. Build a good, better, best estimate template for your three most common jobs and require techs to present all three.
  4. Read the three scripts above to your techs at the next morning meeting and set a flat bonus per accepted add-on. Post the weekly count by tech.
  5. Run your numbers at workbook.servicelinepro.com/#fifty.
Chapter
23

Customer Lifetime Value

One customer is worth every job they will ever book, plus the neighbors they send.

In Chapter 21, a Tampa-area plumbing and electrical company needed about $6,000 a month more in ad budget to add a plumber, at roughly $150 to $200 a lead. Any owner winces at that number.

Then ask a different question. How much is one customer worth to you over the years you keep them?

Most owners judge every lead by the first invoice. A $175 lead against a $400 repair looks thin. Against everything that customer will ever buy from you, it looks very different.

This chapter prices a customer the way a bank prices a loan, over the whole relationship. Once you hold that number, a $300 cost to win a customer stops looking like an expense and starts looking like a purchase.

Lifetime value math

Five numbers go in, and the workbook defaults are a good place to start.

The mathCustomer lifetime value
Average job$450
Jobs per customer per year3
Years they stay4
Referrals each one sends0.5
Cost to win one customer$300
Value without referrals ($450 × 3 × 4)$5,400
Referral lift (× 1.5)+$2,700
Lifetime value of one customer$8,100

Divide $8,100 by the $300 it cost to win that customer and you get 27 to 1. Every dollar you spent to win the customer comes back twenty-seven times over the life of the relationship.

The formula in one line is average job × jobs per year × years × (1 + referrals). The referral number is a multiplier. At 0.5, every two customers bring in one more, so each customer is worth one and a half customers.

The first-year view is much smaller. A $300 acquisition cost against a $450 first job leaves $150 on the table before you pay a tech or buy a part. An owner who looks only at that first invoice concludes that marketing barely pays. An owner who sees $8,100 concludes that he is underspending.

Against everything that customer will ever buy from you, a $175 lead looks very different.

Where each number lives

Use your own numbers. Defaults tell you how the formula works and nothing about your business.

ChecklistPull your five numbers
  • Average job. Field app or QuickBooks, total invoiced over the last 90 days divided by the number of jobs. Chapter 2 walks through it.
  • Jobs per customer per year. In your field app, export completed jobs for the last 24 months with the customer name. Count jobs per customer, then average across customers who booked at least once. A pool company with weekly service will see a number near 50. An HVAC company with a yearly tune-up and the occasional repair will see 1 to 2.
  • Years they stay. Your oldest customers tell you. Sort the customer list by first-job date and look at the customers from five and six years ago. How many still book with you? For a first pass, divide the sum of years that every active and lapsed customer has been with you by the number of customers.
  • Referrals each one sends. Ask your last 20 new customers how they heard about you. Count the ones who say a friend, a neighbor or a current customer, and divide by 20. If 10 of the 20 say a referral, the number is 0.5. Chapter 14 goes deeper on referrals.
  • Cost to win one customer. Marketing spend for a month divided by new customers that month. Chapter 17 shows how to take it all the way to cost per closed job.

Jobs per year changes everything for recurring trades, so be careful with it. Say a weekly pool customer pays $140 a month for four years. That is $6,720 before a single repair. An average-job formula that uses $450 and three jobs undersells that customer. If you run both recurring and one-time work, calculate lifetime value separately for each, as Chapter 2 does for service calls and installs.

A second example with a big ticket

Say you run a roofing company with a $9,000 average job. Customers do not book you three times a year. A roof lasts a long time. Say you see the average customer once every five years, so jobs per year is 0.2, and you keep contact for ten years.

The mathRoofing company, labeled example
Average job$9,000
Jobs per customer per year0.2
Years they stay10
Referrals each one sends0.5
Cost to win one customer$900
Value without referrals ($9,000 × 0.2 × 10)$18,000
Lifetime value (× 1.5)$27,000

That is 30 to 1 on a $900 acquisition cost. The 0.2 jobs per year is a guess for this example; your repeat rate may be lower. The referral number matters a lot here. A roof goes on a house, and the neighbors see the dumpster and the crew.

My team has a rule of thumb it uses with owners at this ticket size. On a $9,000 average job, one additional job a month covers most of what we do for you. That is the same math in a different frame, and it works when the owner has a number for the average job.

Spend against the number

Many owners cap marketing at a cost per lead they feel comfortable with. That is a feeling. Lifetime value gives you a ceiling.

Pick a return you want from your acquisition spend. Say you want 10 to 1 over the life of the customer. At $8,100 of lifetime value, you can pay up to $810 to win a customer and still hit 10 to 1. The default $300 is well inside that.

Go back to the Chapter 21 company. Forty more calls at $150 a lead is $6,000 a month. Say half of those calls become customers, so 20 new customers a month at $300 each. If each is worth $8,100 over their life, the $6,000 monthly spend brings in $162,000 of lifetime value. This is a labeled example, because that company has not reported a close rate or a lifetime number to me.

Your spend ceiling also shows you where to push. If cost to win is $300 and ceiling is $810, you can outbid a competitor on a Google ad or a lead source they cannot afford. A competitor who prices a customer at the first invoice cannot match an owner who prices it at eight thousand dollars.

How retention changes the number

Every input moves the answer, and years they stay moves it most for a recurring business. Here is the same default business with only the years changed.

Years they stay Without referrals With referrals (× 1.5) Return on $300
2 $2,700 $4,050 14 to 1
4 $5,400 $8,100 27 to 1
6 $8,100 $12,150 41 to 1

One more year of retention adds $1,350 of base value and $2,025 with referrals. Compare that with the cost of keeping a customer one more year, which is a text message and a courtesy call.

The same logic applies to jobs per year. A customer who books a fourth visit each year adds $450 × 4 years × 1.5 = $2,700 over the same four years. A maintenance plan (Chapter 25) is a direct way to raise that number.

Revenue versus profit

Everything above is revenue. You do not keep revenue. Take the default $8,100 and apply a 40 percent gross margin (the same default Chapter 26 uses). One customer is worth $3,240 of gross profit over four years, and 10.8 to 1 on the $300 cost to win.

That is still a strong return, and it is the honest one to budget against. Use the revenue figure to see how big the relationship is and the profit figure to set the spending ceiling. If your margin on recurring work differs from your margin on repairs, run the formula twice with each average job and margin.

Keep customers on a plan

The workbook fix is to budget marketing against this number and keep customers on a plan. The second half is where retention lives.

A customer who does not hear from you for a year forgets your name. Price a reminder into the business.

ScriptText 11 months after the last visit

“Hi [first name], this is [your name] at [company]. It has been about a year since we serviced your [system]. Want me to hold a spot for the annual check this month? Reply YES and I’ll send times.”

ScriptCall to a customer who has not booked in 18 months

“Hi [first name], it is [your name] at [company]. I was reviewing our customer list and your account came up. I wanted to make sure everything is working well at your place and that we did not drop the ball on something. Is there anything you need help with?”

Do not pitch on that second call. Ask, listen and fix. A customer who says “the pump got loud and I called someone else” has told you the exact job you lost and the reason.

Chapter 13 covers reactivation of customers who left. This chapter’s job is to keep them from leaving in the first place.

Use it when someone asks about price

Lifetime value also changes how you answer a price shopper. A customer who asks for a discount on a $450 job is asking you to cut a number that represents about 6 percent of their lifetime value.

ScriptAnswering “Can you do it for less?”

“I can’t go lower on this job, because the price covers the part, the labor and the warranty. What I can do is put you on our annual plan, which takes 10 percent off every visit after this one and gets you priority scheduling. That saves you more than a discount on one job would.”

You hold the price on the job and trade a discount for the relationship. Some customers decline, and that is fine. The ones who accept are worth far more than the discount costs you.

What owners say back

“My customers are not that loyal. They shop around every time.”

Then your years-they-stay number is low, and you now have the figure that tells you how low. At 1.5 years the default business is worth $2,025 per customer, or $3,038 with referrals, which is still ten times the $300 cost to win. If the number is that low, retention is the first thing to fix, and you have priced the fix.

“I do not have the data to calculate this.”

Use the data you have. Pull jobs per customer from the last 12 months, estimate years from your five oldest customers and ask 20 new customers how they heard about you. A rough number you made this week beats a precise one you never build.

“Referrals feel like luck.”

Then count them. If 4 of your last 20 customers say a neighbor sent them, the number is 0.2 and you have a baseline. Chapter 14 shows how to raise it. You can raise the referral multiplier with a text message and a thank-you card.

What ServiceLine Pro runs for this leak

We size SEO and PPC budgets to lifetime value rather than to the first invoice. PPC runs through our Spectrum Reach partnership at a $0 agency fee. That keeps your acquisition spend tied to what a customer is worth.

Do this week

  1. Export 24 months of completed jobs from your field app and count the average jobs per customer per year.
  2. Sort customers by first-job date and estimate how many years your oldest groups stayed.
  3. Ask your last 20 new customers how they heard about you and divide referrals by 20.
  4. Multiply it out in the math block above and write your lifetime value and your return on cost to win one customer on a sticky note.
  5. Run your numbers at workbook.servicelinepro.com/#drive.
Chapter
24

Seasonal Dip

Draw your year. The red is money your trucks sat out.

Say you run a landscaping and irrigation company. In June the phone does not stop. You turn work away, your crews work Saturdays, and you tell your spouse this is the year. In January you have two trucks parked behind the shop, three techs on reduced hours and a payment on each truck that does not care what month it is.

You know the dip exists. Every owner in a seasonal trade does. What you probably have never done is put a dollar figure on it, because the dip does not show up as a line on any report. It shows up as a low bank balance in February and a shrug.

This chapter puts a number on it, and then shows you how to take a bite out of it.

Draw the year

Open QuickBooks Online and run Reports, Profit and Loss. Set the date range to last calendar year. Choose Customize, then Display columns by Month. You get twelve columns of revenue. Other accounting packages have a monthly income report too. If your field app tracks revenue by month, that works too.

The workbook takes those twelve figures, January to December. Here are the defaults, which I am labeling as an example for a seasonal company.

Month Revenue Below best month
January $18,000 $44,000
February $16,000 $46,000
March $22,000 $40,000
April $34,000 $28,000
May $48,000 $14,000
June $60,000 $2,000
July $62,000 $0
August $58,000 $4,000
September $44,000 $18,000
October $30,000 $32,000
November $20,000 $42,000
December $16,000 $46,000
Total $428,000 $316,000

Look at the right-hand column. Add it up and you get the dip: the amount you would have made if every month had matched your best month. For this company that is $316,000 a year.

The mathSeasonal dip
Best month (July)$62,000
Best month × 12$744,000
Actual year$428,000
Revenue below your best month$316,000 a year

The worst month is $16,000, which is about a quarter of the best month. Your trucks, insurance, software and office payroll cost nearly the same in February as in July. The dip is your fixed costs making payments with no revenue behind them.

Your trucks, insurance, software and office payroll cost nearly the same in February as in July.

Why a quarter of the dip

The $316,000 is a ceiling. You will never fill all of it. Winter demand for landscaping will not match summer demand, and no amount of marketing changes the weather.

So the workbook counts one quarter of the dip as the target. For this company that is $79,000 a year, which divides to $6,583 a month on the scoreboard (Chapter 30).

The mathFill a quarter of the dip
Revenue below best month$316,000
Share you aim to fill25%
Added revenue a year$79,000
Per month on the scoreboard$6,583

The yearly number is $79,000 and the monthly number is the same money spread over twelve months. Both appear in the workbook so you can compare it to other leaks, which also appear as monthly figures. Do not mistake $6,583 for an amount you add every month. You add far more in the slow months and nothing in July.

Here is what a quarter looks like month by month. It follows the shape of the dip, so most of the new revenue lands in the months that sit furthest below your peak.

Month Gap to best month Quarter of the gap
January $44,000 $11,000
February $46,000 $11,500
March $40,000 $10,000
April $28,000 $7,000
May $14,000 $3,500
June $2,000 $500
July $0 $0
August $4,000 $1,000
September $18,000 $4,500
October $32,000 $8,000
November $42,000 $10,500
December $46,000 $11,500

Look at February. A quarter of its gap is $11,500, which is about 26 jobs at a $450 average. That is a campaign you can plan, price and book.

Book the season before it starts

Plenty of homeowners decide ahead of the season. A homeowner who wants a new irrigation system thinks about it in February and calls in April. If you start talking in April you meet that homeowner at the same time as every competitor.

The workbook note says it plainly. Book spring in February. Start ads six weeks before the season turns.

Ads can produce calls in week one. Map Pack work runs on a 90-day target. If your busy season starts April 1, your pre-season push begins mid-February, and your map work starts in December.

Work backward from the date your phone starts ringing without help.

ChecklistPre-season calendar
  • 12 weeks before: Pull last year’s customer list. Sort by the month they booked. Anyone who booked in your busy season last year is a pre-season prospect.
  • 10 weeks before: Text or email that list with an early-booking offer (script below).
  • 8 weeks before: Set up the landing page for the season’s top service, with a call tracking number and a form that texts you.
  • 6 weeks before: Start paid ads. They need a few weeks of data before the season arrives.
  • 4 weeks before: Call everyone who inquired and did not book.
  • Week of the season: Fill the schedule from the booked list before you take new calls.

Early booking text script

ScriptText to last year’s customers, 10 weeks before the season

“Hi [first name], this is [your name] at [company]. Spring schedules fill up fast. If you want us back for [service] this year, I’m holding early-booking slots through [date] with [offer]. Reply YES and I’ll send you available days.”

Pick an offer your margin supports. A priority slot costs you nothing. A small discount for booking early costs you something, but the cash arrives before the work. Cash in February is worth more than the same cash in May, because February is when your accounts run thin.

ScriptCall to a customer who asked for a quote last season and never booked

“Hi [first name], it is [your name] at [company]. You asked about [service] last year and we never got on your calendar. I’m building the spring schedule now and wanted to offer you first pick of dates before I open it up. Does [month] work?”

Sell off-season services

The dip is the gap between your peak work and your off-season work. The cheapest way to narrow it is to sell work that suits the cold months, using the crew and trucks you already pay for. These are examples for the trades that feel the dip most.

Trade Peak work Off-season work to sell
Landscaping Installs, mowing, irrigation Tree and shrub pruning, leaf cleanup, holiday lighting, snow removal where it snows
Pool Openings, repairs, new builds Equipment upgrades, heater installs, tile cleaning, leak detection
HVAC Cooling repairs and installs Heating tune-ups, indoor air quality work, duct sealing
Roofing Storm and replacement work Inspections, gutter work, interior repairs
Fence and deck New builds Staining, sealing, repairs, pre-season quotes
Tree Removal and trimming Storm cleanup, lot clearing, firewood
Cleaning Move-outs and spring cleaning Post-holiday cleans, commercial contracts

Choose one off-season service per trade, price it and pay an experienced tech to run it. One focused offer beats five half-built ones.

Sell plans that bill all year

A plan that bills monthly takes the dip out of the revenue line. Chapter 25 explains why. A customer on a $35 plan pays in January and in July. Add 120 of them and you have $4,200 landing on the first of every month, no matter what the weather does.

Annual prepay pushes the cash earlier. A customer who pays for the year in March gives you twelve months of revenue before the work, which pays for the slow months.

ScriptSelling the annual plan at a spring visit

“You can pay month to month, or pay for the year up front and I’ll take 10 percent off. Most of my customers on the annual plan like it because they never think about it again.”

The 10 percent is an example. Work out a discount you can afford with your margin from Chapter 26.

Cover the dip in your costs too

The revenue side is only half of it. Slow months also reveal costs you cannot flex.

Pull your fixed costs for a winter month: rent, truck payments, insurance, salaries for people you will not lay off, software. Say they add up to $25,000, and January revenue is $18,000. You lose $7,000 before a tech earns a dollar. Your goal for the dip revenue is to cover that gap.

Cross-train your techs so the same crew can run off-season work instead of sitting. A tech who can only do one thing costs the same in February as in July and earns nothing for you.

A worked February campaign

Say last year’s customer list has 600 names in your field app. You text all of them the early-booking script in week ten. Say 5 percent book. These numbers are an example.

The mathFebruary campaign, labeled example
Past customers texted600
Share who book5%
Jobs booked (600 × 5%)30
Average job$450
Added February revenue$13,500

The target for February in the default company was $11,500. One text to a list you already own covers it, and the only cost is a few hours of an office person’s time. Chapter 13 explains how to build and clean that list. If the response is 2 percent instead of 5, you book 12 jobs and $5,400, and you add a second channel such as a small ad budget, which is what the six-week ad start in the calendar above is for.

Track it by month

A seasonal fix needs a seasonal scoreboard. Keep one page with twelve rows. In column one, last year’s revenue for the month. In column two, this year’s. In column three, the difference. Update it on the first of every month.

You are looking for the slow months to get closer to the busy ones. If January moves from $18,000 to $24,000, the campaign worked and you know it worked. If it stays flat, change the offer before you change the budget. A weak offer wastes a bigger budget faster.

What owners say back

“Winter is dead in my trade. There’s nothing to sell.”

Look at the right-hand column of your own table. Even with a quarter filled, you are still $237,000 below your best month for the year. The goal is for January to win back a quarter of its gap, which is $11,000 for the default company.

“People don’t buy in winter.”

Some do, and the ones who do are the same people who booked last year. Text them and find out.

“I’d rather save money in the slow months than spend on ads.”

Saving matters, and a quarter of the dip is $79,000 of revenue you do not have to save for. Compare the cost of a pre-season campaign with the revenue it brings in. Count calls and booked jobs, and judge the campaign on those.

What ServiceLine Pro runs for this leak

We build pre-season campaigns for clients. Landing pages, tracked numbers and the follow-up text sequence are set up before the season turns. Paid ads run through our Spectrum Reach partnership at a $0 agency fee.

Do this week

  1. Run your Profit and Loss by month for last year and write down all twelve figures.
  2. Find your best month, subtract each month from it, and add the gaps. That is your dip.
  3. Divide the dip by four and then by twelve. That is the monthly figure the workbook shows.
  4. Count back 10 weeks from your next busy season and put the early-booking text on the calendar for that day.
  5. Run your numbers at workbook.servicelinepro.com/#valley.
Chapter
25

Maintenance Plans

Every month starts in a hole. Plan revenue fills it before the phone rings.

Say you run an HVAC company with $45,000 in fixed costs every month. Rent, salaries, truck payments, insurance, software, the office phone system. You pay them whether the phone rings on the first of the month or not.

On the first, your revenue for the month is zero. You start in a hole of $45,000 and climb out of it for twenty days before the first dollar of profit shows up. A slow week in the middle of that climb means a bad month. A bad season means a hard conversation with your bank.

Now say 120 customers pay you $35 a month on the first, automatically, for a plan. You start the month with $4,200 already in. The hole is $40,800 instead of $45,000. It is a smaller number, but it is also revenue that arrived before anyone called, and it comes back next month without a sales call.

This chapter prices that hole and shows you how to fill it, with word-for-word scripts for every moment you can sign a customer up.

Maintenance plan math

Three numbers drive it, and these are the workbook defaults.

The mathMaintenance plan coverage
Members on a plan120
Plan price a month$35
Fixed costs a month$45,000
Plan revenue on the 1st (120 × $35)$4,200
Share of fixed costs covered ($4,200 ÷ $45,000)9.3%
Hole you start every month in$40,800

Nine percent covered is a start. Now ask how many members cover all of it.

The mathMembers needed to cover every fixed cost
Fixed costs a month$45,000
Plan price a month$35
Members to cover it all ($45,000 ÷ $35)1,286

Twelve hundred and eighty-six members is a big plan base for a small company, and many owners will not reach it. Look at the middle of the range, because every member moves the number.

Members Plan revenue on the 1st Share of $45,000 fixed costs
120 $4,200 9.3%
250 $8,750 19.4%
500 $17,500 38.9%
1,000 $35,000 77.8%

The figures are examples built from the workbook defaults. At 500 members you have covered more than a third of your fixed costs before opening the schedule. A slow week no longer threatens payroll.

On the first, your revenue for the month is zero.

Where your numbers live

You need three figures and each one is on a report you already have.

ChecklistPull your plan numbers
  • Fixed costs. QuickBooks, Reports, Profit and Loss, last six months. Add rent, salaries for people you would not lay off, truck payments, insurance, software and utilities. Leave out materials and hourly labor that flex with the job count.
  • Members. Your field app. Housecall Pro calls them service plans and ServiceTitan calls them memberships. Jobber users track recurring jobs. Count the active ones.
  • Plan price. Divide the plan revenue from the last month by the members.

If you have no plan today, your member count is zero and your hole is the whole $45,000. That is the number to beat.

What goes in a plan

Customers buy a plan to avoid a problem. Build the plan around the problem your trade creates.

Say you run an HVAC company. A plan at $35 a month might include two tune-ups a year, priority scheduling, a discount on repairs and no trip fee. Every item has a cost to you, so work the numbers before you print the flyer.

The mathExample plan economics, one member for a year
Plan revenue ($35 × 12)$420
Two tune-ups, tech time at $60 an hour, 1.5 hours each$180
Parts and supplies for two tune-ups$30
Trip fees waived on average (one waived a year at $89)$89
Left over before repair discount$121

All five lines are example figures. The point is that a plan loses money if you give away too much. Add up your own cost for each benefit and set the price above it. In the example the plan covers its costs with $121 to spare, and a customer who needs a repair that year gives you a revenue event you did not have to buy a lead for.

The tune-up has a second job. It gets a tech into the house twice a year, where he sees the equipment and finds work. Chapter 22 shows how to turn that visit into add-ons.

Plan ideas by trade, as examples:

Trade Plan contents
HVAC Two tune-ups, priority scheduling, repair discount
Pool Weekly or biweekly service, discounted repairs, priority parts
Plumbing Annual inspection, water heater flush, discount on drain cleaning
Roofing Annual inspection after storm season, minor repairs included
Fence and deck Annual wash and seal, spot repairs
Tree Annual pruning visit, storm priority
Cleaning Monthly or biweekly clean at a lower rate than one-time

Keep it to one plan, maybe two tiers. Five tiers confuse customers and your office.

Offer a plan on every job

The workbook fix is one sentence. Offer a plan on every job. Your sign-up rate is unknown until you ask, so ask every customer and record the answer.

There are four moments to ask. Each has its own script.

On the phone, before the visit

ScriptPhone booking, after the appointment is set

“You’re all set for Thursday between 9 and 11. One more thing while I have you. We have a maintenance plan. It’s $35 a month, and it covers two tune-ups a year, priority scheduling and no trip fee. If you sign up before the visit, I can credit this service call against your first tune-up. Want me to add it?”

Here the offer is a credit on something they are about to buy. A customer who hears “credit” hears savings.

At the end of the visit

ScriptTech at the end of a repair

“Everything’s running now. Here’s what I’d recommend so you don’t end up with another call like this one. Our plan sends me out twice a year to catch these problems early. It’s $35 a month and you skip the trip fee on any call. I can sign you up on the tablet right now. It takes about a minute.”

ScriptTech when the customer hesitates on price

“I understand. The way I’d look at it is that you’ve paid $89 for me to come out today. On the plan that trip is free, and one waived trip covers more than two months of the plan. You can cancel any time. Want me to set it up?”

The second script uses the customer’s own pain. They paid a trip fee minutes ago, and the plan removes it. Say it in the first ten minutes after the invoice, while the pain is fresh.

On the invoice and in the follow-up

Add the plan as a line item on every invoice, at the bottom, with a one-tap accept link. A customer who reads the invoice sees the plan again, and a link takes the friction out.

ScriptText the afternoon after the visit

“Hi [first name], thanks for having us out today. If you’d like to add the maintenance plan we talked about, tap here: [link]. It’s $35 a month, cancel any time, and your first tune-up is scheduled for [month].”

Before the plan lapses

ScriptRenewal call or text, 30 days before the anniversary

“Hi [first name], your plan renews on [date]. Your next tune-up is due [month], and I’ve got a spot open on [day]. Want me to book it?”

Renewal is a retention step as much as a sales step. A member who gets scheduled has a reason to stay. A member who hears nothing for eleven months starts to ask why they pay.

Pick the price

Price the plan from your costs and from what a repair call costs the customer. Work it in three steps.

ChecklistPrice a plan in three steps
  • Add your cost to deliver the benefits for one member for a year (tech time, parts, waived fees). In the example that was $299.
  • Add the margin you want on the plan itself. Say you want $120 per member per year.
  • Divide the total by 12 and round to a price that looks clean. ($299 + $120 = $419, divided by 12 is $34.92, so $35.)

Then compare the yearly price to the first-job price. A $420 plan beside a $450 average job is easy to defend, because a customer can see the plan costs less than one repair.

Raise plan prices on the same schedule as your regular prices. Chapter 26 gives the math and the letter.

When a member cancels

Cancellations tell you what to fix. Ask every member who leaves one question and write the answer down.

ScriptCancellation call

“I’m sorry to see you go, and I’ll cancel it today. Can I ask what made you decide? I’m asking so we can fix it if it’s something we did.”

Do not argue. If the answer is price, note the price. If the answer is that the tune-up never happened, you have a scheduling leak, and it is cheaper to fix than a lost member. Count the reasons for 90 days and fix the top one.

Billing that runs itself

A plan that bills by hand dies. Put cards on file and bill monthly through your field app or Stripe. The customer authorizes once.

Offer an annual option at a small discount, because annual prepay brings cash in early. Chapter 24 shows how that fills the winter dip. Keep the monthly option at the full price.

Track three numbers every month: members at the start, new members, members who cancelled. Subtract the cancelled from the new and watch the net. A plan that adds 10 members and loses 8 is barely growing.

Why members are worth more

The workbook note says members also refer, review and buy repairs. Check that against the data you already have. Pull the invoices of your plan members and your non-members for the last 12 months and compare the average revenue per customer. Compare how many left a Google review. Compare how many asked for a repair.

If your members spend more per year, you can afford to price the plan low enough to win them. If they do not, the plan needs better benefits or you are offering it to the wrong customers. Use your own data. I do not quote an industry average here, because the only number that matters is the one in your files.

Chapter 23 shows the value of a customer who stays four years. A plan member is the cleanest version of that customer, because the plan itself is the reason to stay.

What owners say back

“Customers will not pay monthly for something they might not use.”

Then offer a plan that returns something they feel. Priority scheduling during a heat wave and a waived trip fee are things a customer notices. Make the first tune-up land in the first 60 days so they see value early.

“My office cannot handle another system.”

Start with the field app you have. Set up one plan, one price and one billing cycle. Hand sign-ups to one person in the office and give that person a number to hit. If a plan has 120 members, the work is a few hours a month.

“I tried a plan and nobody bought it.”

Ask who asked. If your techs never offered it, you tested nothing. Give each tech the script above and a bonus per sign-up, as Chapter 22 describes for add-ons, and count for 30 days.

“Tune-ups cost me money.”

Run the plan economics from the math block above. If the plan loses money, raise the price or cut a benefit before you scrap the plan. If it makes $121 per member, the tune-up is a cost of winning a customer you will keep.

What ServiceLine Pro runs for this leak

We build membership offer pages and billing automations so a customer can read the plan, sign up and be billed without a call to your office.

Do this week

  1. Add up your monthly fixed costs from the last six months of your Profit and Loss.
  2. Count your current plan members and multiply by the plan price. Subtract that from fixed costs to find your hole.
  3. Write a one-page plan with a price, three benefits and your cost for each benefit. Make sure it earns money.
  4. Give techs and the office the four scripts above and set a flat bonus for each sign-up.
  5. Run your numbers at workbook.servicelinepro.com/#first.
Chapter
26

Price Raise Math

How many customers could you lose after a raise and still make the same money?

Say you have not raised your prices in two years. Your tech wages went up. Your chemicals, parts and fuel went up. Your insurance renewal came in higher, and so did your truck payment. Your average job is still $450, because you are afraid of one phone call from one customer who says “that’s more than last year.”

You are afraid of losing customers. That fear has a cost, and it shows up as a margin that gets thinner every quarter.

This chapter gives you the number that ends the argument. It tells you how many customers you can lose after a raise and still earn the same profit as today. The answer is often bigger than owners guess. Then it gives you the letter to send, word for word, and the scripts for the phone calls that follow.

Break-even math

Two numbers go in: the raise you want, and your gross margin today. Gross margin is revenue minus job costs (materials, tech labor, drive time), divided by revenue. Your QuickBooks Profit and Loss shows it as Gross Profit. Divide that line by Total Income.

The workbook defaults are a 10 percent raise and a 40 percent margin.

Start with a hundred dollars of revenue. At a 40 percent margin you keep $40 and spend $60 on the job. Raise your price 10 percent and the same job brings in $110. Your costs stay at $60, so you keep $50. Your profit went from $40 to $50 on the same work, a 25 percent increase.

Now ask how many customers you could lose and still keep $40. Each remaining customer brings $50 of profit instead of $40. You need $40 ÷ $50 = 80 percent of your customers. You can lose 20.

The mathBreak-even customer loss
Price raise10%
Gross margin today40%
Profit change if nobody leaves (10 ÷ 40)+25%
Customers you can lose at the same profit (10 ÷ (40 + 10))20%

The formula is raise ÷ (margin + raise). With the default numbers, you could lose one customer in five and earn exactly what you earn today.

Now work it with a real company’s scale. Say you run 100 jobs at $450 and a 40 percent margin.

The mathBefore and after, 100 jobs a month, labeled example
Revenue today (100 × $450)$45,000
Job cost per job (60% of $450)$270
Profit today (100 × $180)$18,000
Price after a 10% raise$495
Profit per job after the raise ($495 − $270)$225
Customers kept if you lose 2080
Profit after losing 20 (80 × $225)$18,000

Same profit. You work 20 fewer jobs, drive 20 fewer trips and carry 20 fewer headaches. And here is what happens if you lose only five.

The mathIf only 5 leave
Customers kept95
Profit per job$225
Profit after losing 5 (95 × $225)$21,375

That is $3,375 more profit a month, or $40,500 a year, with five fewer jobs on the schedule.

Each remaining customer brings $50 of profit instead of $40.

How the numbers change with your margin

A thin margin makes a raise more valuable. The table shows the share of customers you can lose for each combination.

Price raise 30% margin 40% margin 50% margin
5% 14.3% 11.1% 9.1%
10% 25.0% 20.0% 16.7%
15% 33.3% 27.3% 23.1%

Read across the 10 percent row. A company with a 30 percent margin can lose a quarter of its customers after a 10 percent raise and earn the same. A company with a 50 percent margin can lose a sixth. Thin margins give you more room, because each point of price is a larger share of what you keep.

Read down the 40 percent column. A 5 percent raise breaks even if you lose 11 percent. A 15 percent raise breaks even at 27 percent. Compare those figures to the customers you lost the last time you raised prices.

The catch is cost. If your costs also rise with the raise (you pay a commission on revenue, for example), subtract that from the extra profit per job and rerun the formula with the smaller number.

Which customers leave

You do not lose customers at random. The ones most likely to leave after a raise are the ones who shopped on price in the first place. They are often the same ones who call twice, pay late and ask for a discount on every invoice.

Raise prices, lose the worst customers, make more. That is the workbook fix.

Take one hour and list your ten most expensive customers to serve. Mark each one that pays late, cancels at the last minute or argues about a line item. Those are the likeliest to leave, and the schedule they free up goes to a better customer.

Pull your margin

ChecklistFind your margin
  • QuickBooks Online. Reports, Profit and Loss, last 12 months. Gross Profit divided by Total Income is your margin.
  • If you do not track job costs separately. Add materials, subcontractors, field payroll and vehicle costs. Subtract from revenue and divide by revenue.
  • By job type. Use QuickBooks classes or your field app’s job type. Chapter 27 builds that table.

If you do not like the number, you have found the reason to raise prices.

How I price at my own business

At Westchase Painting, my painting company in Tampa, I run a three-tier payment structure. A customer who pays by check or bank transfer gets 8 percent off. A customer who pays by card gets 4 percent off. A card payment plan of 50, 40 and 10 percent on jobs above $5,000 carries a 3 percent surcharge.

The tiers exist because a card fee is a real cost and a customer who pays you early is worth money. They give the customer a choice and keep the list price high. Price structure is a tool as much as the price itself. If you do not want to raise the headline price, consider discounts for the payment methods that cost you less.

Size the raise from your costs

Pick the raise from what your costs did, and then use the table to see what it risks. Say your job cost per $450 job was $270 and rose 6 percent.

The mathWhat a cost increase demands, labeled example
Job cost before$270.00
Job cost after a 6% rise$286.20
Price to keep a 40% margin ($286.20 ÷ 0.60)$477.00
Price to keep the same $180 profit per job ($286.20 + $180)$466.20
Raise needed to hold the 40% margin6.0%

A raise of 3.6 percent keeps your dollar profit per job where it was, and a raise of 6 percent keeps your margin percentage. Anything under 3.6 percent means you earn less per job than last year. Run this once a year, right after your insurance renews and your supplier prices change.

This gives you a floor. Then add the margin you want to rebuild, and take the number to the table above.

Price increase letter

Send a letter to existing customers 30 days before the new price starts. Check your service agreement first, because some contracts require notice in writing or set a notice period. Keep the letter short. Do not apologize. Do not hide the new price.

ScriptPrice increase letter

Subject: Our prices change on [date]

Dear [first name],

Thank you for trusting [company] with your [pool, home, equipment]. We have served customers in [city] since [year], and we plan to keep doing that.

Starting [date], our price for [service] will change from $[old price] to $[new price]. This applies to [all new jobs / your next visit / your monthly plan] on or after that date.

The cost of what it takes to do this work well has gone up, including [parts and materials / fuel / insurance / wages for the technicians who show up on time]. We would rather adjust our price than cut back on the service you expect.

What stays the same: your technician, your schedule, and our guarantee on the work.

If you would like to lock in your current price, you can [prepay for the year / sign up for the annual maintenance plan] before [date]. Call us at [phone] or reply to this email and we will set it up.

If you have a question about the change, call me directly at [phone]. I will pick up or call you back the same day.

Thank you for being our customer.

[Your name]
Owner, [company]

Every line in the letter does a job. The first paragraph states the relationship. The second states the new price and the date. The third gives a reason without begging. The fourth removes the fear that service will drop. The fifth offers a way to keep the old price in exchange for a commitment, which brings cash and retention. The sixth puts your phone number on the page.

Leave out three things. Do not write “unfortunately” or “we regret.” Do not promise never to raise prices again. Do not offer a discount in the same letter.

Scripts for the calls that follow

Some customers will call. Treat those calls as routine and train your office to answer them in one minute.

ScriptOffice answers a customer who is upset about the new price

“I understand, and I appreciate you telling me. The new price starts on [date] and reflects what it costs us to do the work. If you’d like to keep the current rate, I can put you on the annual plan today, and the old price holds for twelve months. Would that work for you?”

ScriptCustomer says they will look for another company

“I understand. You should get what’s right for you. If you decide to stay with us, I’m glad to help. If you go elsewhere, I’d ask you to compare what’s included, because our price includes [guarantee, same technician, response time]. I’ll make a note on your account so you can come back any time.”

Do not chase a customer who has decided. Thank them and let go.

ScriptNew customer asks why the price is higher than a competitor’s

“Good question. Our price covers [what’s included]. Here’s what happens if something goes wrong after the job: [guarantee]. Some customers pick the lowest price and some pick the company that comes back. Which matters more to you?”

Raise in steps

You have three ways to apply a raise.

  • New customers first. Quote the new price today. Nobody can complain about a price they never paid.
  • Existing customers at their next visit or renewal. Send the letter, then apply the new price from the next job.
  • Recurring customers on plans. Give 30 days and a lock-in offer for annual prepay.

Do new customers this week and everyone else on the schedule above. Check your own close rate on estimates before and after the new price, so your next raise starts from a measured number.

What owners say back

“My customers will leave.”

Some will. The math says up to 20 in 100 at the defaults and you still earn the same. Run your own numbers before you decide.

“My competitors are cheaper.”

Some are, and some lose money on every job. Compare their guarantee, insurance and response time before you compare prices. The customers who pick only on the lowest number are the ones the math says you can afford to lose.

“I will raise prices when the economy gets better.”

Your costs went up already. The raise you did not take is a cut you gave yourself.

“I want to raise by 3 percent so nobody notices.”

Run the numbers on 3 percent at a 40 percent margin. You earn 7.5 percent more profit if nobody leaves, and you can lose 7 percent of customers. That works, but if your costs rose 6 percent you fell behind anyway. Match the raise to your costs plus the margin you want.

What ServiceLine Pro runs for this leak

We build offer pages that sell the value before the price, so a customer reads what is included before the number appears.

Do this week

  1. Pull your gross margin from the last 12 months of your Profit and Loss.
  2. Calculate raise ÷ (margin + raise) for a 5, 10 and 15 percent raise and write down the share of customers you could lose.
  3. List your ten hardest customers to serve and decide which ones you would be glad to lose.
  4. Fill in the letter above, check your service agreements for notice rules and send it 30 days before the new price starts.
  5. Run your numbers at workbook.servicelinepro.com/#raise.
Chapter
27

Low-Margin Job Types

Some job types lose money once you count materials and drive time.

Say you run a pool service company and you sold $40,000 last month across four kinds of work. Weekly service, repairs, green-to-clean jobs (a pool gone green that needs a full recovery) and one-time cleans. Every one of them fills a truck. Every one of them gets invoiced. You feel busy and you are busy.

Then you sort the same four lines by profit instead of by revenue. One-time cleans brought in $4,000 and left you $320. Weekly service brought in $18,000 and left you $8,100.

Both lines look the same on the schedule.

This chapter builds a margin table by job type from your own books, shows you how to read it, and gives you three moves for every job type that comes out low: reprice it, bundle it or stop selling it.

Margin table from example numbers

The workbook takes a list of job types with monthly revenue and margin. Margin here means what is left after materials, tech labor and drive time, divided by revenue. The defaults are labeled examples for a pool company.

Job type Revenue a month Margin Profit a month Share of revenue Share of profit
Weekly service $18,000 45% $8,100 45% 49.9%
Repairs $12,000 55% $6,600 30% 40.7%
Green-to-clean $6,000 20% $1,200 15% 7.4%
One-time cleans $4,000 8% $320 10% 2.0%
Total $40,000 40.6% $16,220 100% 100%

The workbook calls out the lowest margin, which is one-time cleans at 8 percent on $4,000 a month. It also shows each job type’s profit, because profit is the number that decides.

Look at the last two columns. One-time cleans take 10 percent of your revenue and deliver 2 percent of your profit. Green-to-clean takes 15 percent of revenue and delivers 7.4 percent. Together, a quarter of your revenue produces under a tenth of your profit.

The mathBlended margin
Total revenue$40,000
Total profit$16,220
Blended margin ($16,220 ÷ $40,000)40.6%

Sort by margin first, then look at revenue.

That is the workbook note. Revenue sorting hides the problem, because the biggest lines look most important. Margin sorting shows the line that costs you money.

Pull your own table

You need three figures for each job type: revenue, direct cost and margin. Here is where each lives.

ChecklistBuild your margin table
  • Revenue by job type. QuickBooks Online: Reports, Sales by Product/Service Summary, last 90 days. If you track by class, use Profit and Loss by Class. Field apps (Jobber, Housecall Pro, ServiceTitan) let you filter completed jobs by job type or tag and total the invoices.
  • Materials. Bills and expenses coded to the job or the job type. If your techs buy parts on a company card, tag the receipts to a job.
  • Tech labor. Hours from your field app’s time tracking, times the loaded hourly cost of that tech (wage plus payroll tax and insurance). Include drive time, because the tech is paid while he drives.
  • Margin. (Revenue − materials − labor) ÷ revenue.

If you cannot split your books by job type today, start with the three biggest. Sample 10 jobs of each type from the last 90 days, add up the materials and the labor hours on each, and average them. A sample of 10 per type takes an afternoon and tells you more than none.

Use 90 days so a single odd month does not distort the table.

Profit per hour of crew time

Margin percent shows whether a job type pays. Profit per hour shows how well it uses your crew. Say you add the average job size and the hours on site plus drive for each type. These are labeled examples.

Job type Jobs a month Average price Profit per job Hours per job (with drive) Profit per crew hour
Weekly service 120 $150 $67.50 1.0 $67.50
Repairs 40 $300 $165 1.5 $110
Green-to-clean 10 $600 $120 8.0 $15
One-time cleans 16 $250 $20 3.0 $6.67

Every row ties back to the table above: 120 weekly stops at $150 is $18,000, and a 45 percent margin leaves $67.50 a stop. Sixteen one-time cleans at $250 is $4,000, and 8 percent leaves $20.

A one-time clean earns $6.67 for each hour a crew spends on it. A repair earns $110. The truck, the tech and the insurance cost the same hour either way.

This is where the leak shows up. Each hour spent on a $6.67 job is an hour you could have spent on a $110 job, if a $110 job was waiting.

Three moves for a low-margin job type

The workbook fix is one line. Reprice it, bundle it into something profitable, or stop selling it. Try them in that order.

Reprice it

Work out the price that gets the job to the margin you want. The formula is cost ÷ (1 − target margin).

The mathPrice a one-time clean for a 30% margin
Current price$250
Current profit per job$20
Cost per job ($250 − $20)$230
Price for a 30% margin ($230 ÷ 0.70)$328.57
Raise needed31.4%
The mathPrice a green-to-clean for a 30% margin
Current price$600
Current profit per job$120
Cost per job$480
Price for a 30% margin ($480 ÷ 0.70)$685.71
Raise needed14.3%

A 31 percent raise on one-time cleans sounds steep, and it is. It brings that job to $328 and leaves you $98.57 per job, which is $32.86 an hour on three hours. Chapter 26 gives the break-even customer loss for a raise of any size. For a job at an 8 percent margin, you could lose most of your customers and still earn the same, because the profit you give up is small.

Green-to-clean at $686 leaves $205.71 per job and $25.71 an hour over eight hours. Ask your office whether green-pool customers compare prices or call in a hurry. If they call in a hurry, the price has room.

Bundle it

Some low-margin work earns its place by bringing in better work. A green-to-clean job turns a stranger into a weekly customer. A one-time clean might do the same for a homeowner who is shopping.

Check this with a number. Count the one-time clean customers from the last six months who later signed up for weekly service. Say 4 of the 16 cleaned in a month become weekly customers. Chapter 23 puts a lifetime value on one such customer.

The mathDoes the one-time clean pay for itself?
One-time cleans a month16
Become weekly customers4
Profit from the 16 cleans$320
Weekly customer profit over one year (52 × $67.50)$3,510
First-year profit from the 4 who convert (4 × $3,510)$14,040

These are examples. If your conversion rate is that high, the one-time clean is an acquisition channel and you should sell more of them. If you track 16 cleans and one conversion in a year, the job is a low-margin sale, and you handle it as one.

The way to find out is a tag. Mark each one-time clean in your field app and check the tag against weekly signups every quarter.

To bundle, put the low-margin job inside a package with a high-margin one. A green-to-clean followed by 12 weeks of weekly service at a package price gives the customer a deal and gives you the recurring stop at once.

ScriptOffer weekly service at the end of a one-time job

“The pool is clear and balanced now. To keep it this way, I can put you on weekly service starting next week. Your first four weeks are $[price] a week, and I’ll waive the start-up fee since I’m already here. Want me to add you to the route?”

Stop selling it

Some job types still lose after you reprice, or the customers walk away from the new price. If a job type will not carry a price that pays, stop offering it.

Be careful about one thing. Dropping a job type does not drop your fixed costs. If you stop selling one-time cleans, you lose $320 of profit and keep every dollar of overhead. The move pays only if you fill the freed hours with better work.

The mathWhat stopping one-time cleans frees
Crew hours used by one-time cleans (16 × 3)48
Profit lost$320
Profit per crew hour on weekly service$67.50
Profit if all 48 hours go to weekly service (48 × $67.50)$3,240

The $3,240 holds only if 48 hours of weekly service are available to sell. If the route is full, there is no room. If the route is open, you swap $320 for up to $3,240. Chapter 2 shows how to size the open capacity, and Chapter 5 shows how to find where the missing calls went.

Tell customers kindly. A short note works.

ScriptLetter or text to retire a service

“Hi [first name], we’ve decided to stop offering [service] so we can focus on [weekly service and repairs]. If you’d like help finding another provider, I’m happy to recommend someone. If you’d like to be on our regular route instead, I can get you a spot.”

Job types to test in each trade

Every trade has a few job types that feel like work and quietly lose money. These are examples to test against your own table.

Trade Job types to test
Pool One-time cleans, green-to-clean, far-away weekly stops
HVAC Installs discounted to win the job, small repair calls with long drives
Plumbing Clogged drains priced low to win the bigger job, after-hours calls at day rates
Roofing Small repair calls, insurance work with fixed pricing
Fence and deck Small repairs, custom one-off designs
Tree Small trims in far-off zip codes, jobs with difficult access
Cleaning Deep cleans priced as standard cleans, one-time move-outs

Put each of your job types through the same table. The ones you believe are safe get tested too.

Watch for hidden costs

A margin table lies when costs sit in the wrong place. Check four things before you act on it.

ChecklistCheck before you cut
  • Drive time on small jobs. A $150 job 40 minutes away carries more drive than a $150 job next door. Chapter 19 prices drive time.
  • Callbacks. Rework on a job type eats its margin. Count callbacks by type.
  • Warranty work. Install jobs with long warranties carry future cost your table does not show.
  • Payment fees. Card fees come off the top. A 3 percent fee on an 8 percent job is more than a third of the margin.

Aim marketing at profitable work

Once you know your top margin job types, you can point marketing at them. Pool owners who want weekly service search for it. Owners with a green pool search for something else. Your Google profile, your site and your ads decide which one gets the call.

Write down the two job types that pay best per crew hour. Put them first on your website and in the primary category and services of your Google Business Profile. Ask for reviews that mention them.

What owners say back

“Every job pays the bills.”

A low-margin job pays the bills only when it replaces nothing better. Look at the profit per crew hour column. If the hour could have earned ten times as much, the bill-paying job cost you.

“The customer calls us for everything. I cannot say no.”

You can say yes at a new price. A customer who pays $329 for a clean is a better customer than one who pays $250.

“My techs like the easy jobs.”

Easy jobs often run at a low margin because the price is low. Raise the price until easy is also profitable.

“I do not have the data by job type.”

Start with the sample of 10. Use your field app tags from this week forward. In 90 days you have a table.

What ServiceLine Pro runs for this leak

We point marketing only at the work that pays best. Once you know which job types earn the most per crew hour, your site, your Google profile and your campaigns lead with those.

Do this week

  1. Pull revenue by job type for the last 90 days from QuickBooks or your field app.
  2. For each type, estimate materials, labor hours and drive time, and calculate margin and profit per crew hour.
  3. Mark the lowest-margin type and price it at cost ÷ (1 − 30%). Quote the new price to the next five customers.
  4. Tag every one-time or entry-level job so you can count how many convert to recurring work.
  5. Run your numbers at workbook.servicelinepro.com/#fire.
Part VII

Risk and exit

What the business is worth, and what could sink it.

  1. 28Lead Source Concentration
  2. 29Sale Price Multiple
Chapter
28

Lead Source Concentration

If one source sends most of your work, that source sets your prices.

A plumber in Lakeland, Florida ran Google Local Services Ads in July. I looked at his numbers while talking to a client in Tampa. He had 106 phone leads for $15,000 in total spend. I said it out loud: “a lot of these message leads are crap. However, they got 106 phone leads from it and they were able to spend $15,000 total.”

In August, after the message leads went off, his pace fell to about 40 calls.

Same plumber, same town. One month later the phone rang less than half as often. When one source carries your calls, a change at that source moves your whole month.

A Tampa-area plumbing and electrical company showed me the same pattern from the other side. It had spent about $8,000 a month on one ad channel for a stretch. The owner remembered 8 to 10 calls coming from it. I remembered 1 to 2 in the worst months. Neither of us was reading a report, and that gap is a problem of its own. A channel that eats $8,000 a month should have a number on it.

One lead source can do this to you. It can change its rules, raise its price, lose its best person or dry up for reasons that have nothing to do with how well you work. If it sends most of your business, every one of those changes lands on you. This chapter shows you how to measure the exposure and what to build next.

Why the biggest source sets your prices

A source that sends a third of your revenue has a grip on you. You can see it in four ways.

A platform raises its prices. Your cost per lead goes up and you pay it, because the alternative is losing a third of your work.

A platform changes its rules. A lead type that used to count stops counting, a ranking factor shifts, a feature disappears. You get no vote.

A partner asks for a discount. A builder, property manager or insurance adjuster who sends you 30 percent of your jobs knows what you cannot afford to lose. The discount request will come. It may come politely.

A person leaves. The referral source retires, the builder sells the company, the property manager changes jobs. The relationship was with a person and it ends with a person.

In each case the damage is the same. You lose the volume or you lose the margin. You choose which.

Three kinds of dependence

Look at the concentration in your own business as one of three kinds.

A person. One builder, one manager, one relationship. The risk is a phone call that ends it.

A platform. Google Local Services, Yelp, Facebook, Angi. The risk is a rule change or a price change you cannot predict or negotiate.

A habit. Referrals, repeat customers, word of mouth. The risk is slower and quieter. It looks safe until the referrer stops, and nobody told you.

All three can be a fine source. The danger starts when one holds more than a third of your revenue and nothing sits behind it.

Worked math

The mathRevenue by source
Monthly revenue (r)$80,000
Referrals35%
Home builder partner30%
Google Maps25%
Facebook10%
Biggest sourceReferrals at 35%
Revenue riding on the biggest source$28,000 a month

That is r × the top share, so $80,000 × 35%. Referrals bring $28,000 a month in this example. A year of it is $336,000.

The workbook flags any source above 33 percent. This example crosses the line by two points. Another way to read the table is that two sources, referrals and the home builder, carry 65 percent of the revenue. That is $52,000 a month on two relationships with people.

Now ask the stress question. What happens if the home builder partner stops sending work?

The mathStress test: lose the builder
Monthly revenue$80,000
Builder share30%
Revenue that disappears$24,000 a month

Twenty-four thousand dollars a month, $288,000 a year, and a bank payment that does not shrink to match. Your fixed costs (trucks, insurance, the office, the loan) stay where they were. The profit goes first.

Do the same for your top two sources. If losing either one hurts so much that you would take a price cut to keep it, you have found the leak.

If you would take a price cut to keep a customer, that customer already sets your prices.

Tally your sources for 90 days

You probably think you know where your work comes from. Owners often guess the biggest source right and miss the rest. The fix is a tally.

For the next 90 days, ask every new customer how they found you, write the answer in your CRM or field app, and weight it by revenue. Count dollars, not jobs. A builder partner may send fewer jobs than the map does, and each one can be worth three times as much.

ScriptHow did you hear about us?

At the end of the first call: “Before I let you go, how did you find us?”

If the answer is “Google”: “Was that on the map, with the reviews, or did you click an ad at the top?”

If the answer is “a friend”: “Who should I thank?”

If the answer is “I saw your truck”: “Where did you see it?”

Each follow-up turns a vague answer into a source you can act on. “Google” is three different sources (the map, the paid ad, organic search). “A friend” is a name, and the name is a referral you can thank.

Track by phone number as well

Asking is the minimum. Call tracking is better, because customers misremember. Give each source its own phone number: one on the website, one on the Google profile, one on each ad and one on the truck. Your call tracking report then shows the count by number, with no human error.

If you cannot afford that yet, use the question and check it against the call log. The answers will not be perfect. They will be much better than your instinct.

Put the numbers in a table

Build a four-column table in a spreadsheet: source, calls, jobs booked, revenue. Fill it each Friday for 90 days. At the end, total the revenue column and divide each source by the total. That gives you your own version of the example above, and it is the input to the worksheet.

Watch for two traps.

The first is the “other” bucket. If more than 15 percent of your revenue lands in “other” or “don’t know,” your tracking is the leak. Fix that before you draw conclusions.

The second is customers who come from two places. Someone saw your truck, then searched your name on Google, then called. Credit the last thing they did and the first thing they remember: log both. The tally does not need to be perfect. It needs to show you the biggest bar.

What the Tampa numbers showed

The same Tampa-area plumbing and electrical company had a second source growing while the first faded. Its Google Maps calls, tracked by call tracking, ran close to 50 in August against about 18 three months earlier. One source was building while the old one lagged.

The company also had Local Services Ads with a weekly cap of $2,100 that the account never reached. So far that month it had spent about $500. The cap was there and the source was available. The company was not using it.

A company that spreads its calls across a map source and a paid source survives a bad month on one of them. Know which source pays and keep more than one alive.

Build the second and third source before you need them

The fix is the workbook’s: build the second and third source before you need them. Here is how to choose them.

Source Time to first calls What to watch
Paid ads (Google, Local Services, Meta) Can produce calls in week one Cost per closed job, not cost per lead (Chapter 17)
Google Maps Movement in 30 to 60 days, a top-three target at 90 days Calls from the profile, map grid (Chapters 9 and 10)
Organic search and your website 6 to 12 months for authority Calls and forms by page
Past customers Days Reactivation replies and booked jobs (Chapter 13)
Referrals Weeks Referrals per 10 happy customers (Chapter 14)
Partners (builders, managers, adjusters) Months, built on relationships Share of revenue per partner

Those timelines are the ones we tell clients. They are targets, and nobody can guarantee them.

Pick the cheapest one first. For many owners that is the list of past customers, because you already own it and it needs no ad budget (Chapter 13). Pick a second that takes longer and pays longer, usually the map. A fast source and a slow one balance each other. The fast one pays the bills while the slow one builds.

Set a ceiling

Write a rule on a card and tape it to the dispatch board: no source above one-third of revenue. When a source crosses it, you do two things. You keep the work and add effort to the weakest source until the share comes back down.

Start small and measure

Give a new source a trial budget of time or money you can afford to lose. Run it 60 to 90 days. Judge it by revenue per source on your tally, not by the platform’s own report. A source that earns 10 percent of revenue after 90 days has done its job. Next quarter it can earn 15.

When one partner is most of your work

Some owners are concentrated by choice. A remodeler builds for one general contractor. A roofer works for a handful of insurance agencies. A pool builder sells through one home builder. The revenue is steady and the relationship pays well, and the arrangement can last for years.

Protect it with three habits.

Write down the terms. Payment days, pricing, scope and what happens if either side ends it. A partner who sends 30 percent of your work should be willing to sign a one-page agreement.

Sell to the partner’s customers directly. Put your name on the work, leave a card, ask for the review. Over time some of the partner’s customers become your customers.

Keep a floor. Decide the lowest margin you will accept from the partner and hold it. If the builder wants 10 percent off, you need to know before the call what your answer is.

ScriptWhen a big partner asks for a discount

“I want to keep sending crews to your jobs. I can hold the current price through the end of the year. If you need a lower number, I can take on more jobs per month in exchange. What volume are you planning for next quarter?”

The script trades price for volume, in writing. It also tells you whether the partner can deliver the volume. If the partner cannot, you have learned what the discount was worth.

What owners say back

“Referrals are my best source. Why would I change?”

Keep them. Referrals are cheap, trusted work. You still need two other sources, because referrals depend on a person’s memory and mood.

“My builder has been with me ten years.”

Then you have a lot to lose. Ten years of volume built your crew and your fixed costs around that builder. Run the stress test above and write down the number.

“I don’t have money for a second source.”

Past customers cost a text message. Reviews cost a habit. The map costs patience. Start with the free ones.

“Every channel I tried failed.”

Check your tracking first. A channel that gets leads nobody answers, or a form that never reaches you, will look like a failed channel. Chapters 5, 6 and 8 will tell you which.

What ServiceLine Pro runs for this leak

We build Maps, paid search and past-customer reactivation as three separate sources, each with its own tracked number, so you can see which one carries the business in any month. Paid search runs through our Spectrum Reach partnership at a $0 agency fee.

Do this week

  1. Start the tally. Ask every new customer how they found you and log it with the revenue.
  2. Pull last quarter’s revenue by source from your CRM, call tracking or invoices. Mark any source above one-third.
  3. Run the stress test on your top two sources. Write down the monthly dollar loss for each.
  4. Pick the cheapest second source and set the first action for Monday.
  5. Run your numbers at workbook.servicelinepro.com/#pipe.
Chapter
29

Sale Price Multiple

Every dollar of yearly profit you add sells for several more the day you sell.

Say you run a pool service and repair company in Tampa. You are 54, you have no plan to sell, and you tell everyone that. One afternoon a regional operator calls and asks if you would talk. You say no. He asks one question before he hangs up. “What do you clear in a year, after you pay yourself?”

You do not know. You know revenue, you know the bank balance, and you know what you took home. You do not know the number he asked for.

That number sets the price of your company, and it is the same number whether you sell in two years, in twenty, or never. A bank looks at it when you want a loan. A partner looks at it when he wants to buy in. Your spouse looks at it when something happens to you. This chapter turns the number into a price, shows how plugging the leaks in this book raises that price, and tells you where to get a real valuation, because I am not going to give you one.

Price equals earnings times a multiple

Small service businesses are usually priced as a multiple of one earnings figure. The figure is called seller’s discretionary earnings, or SDE. It is the total benefit one owner takes from the company in a year: the profit the business makes plus what the owner pays himself.

The multiple is a number a buyer applies to SDE to reach a price. A multiple of 3 means the price is three years of SDE. The multiple depends on the trade, the size, the market, the buyer and the deal. It changes over time, and it differs between a pool company, a roofer and an HVAC contractor.

I do not know your multiple. Nobody reading a book does. The workbook uses 3 as an example number, so the math is easy to follow, and I use it here for the same reason. Treat it as a placeholder. A later section tells you how to get the real one.

Worked math

The mathValue of leaks you plug
Owner profit a year, SDE (s)$300,000
Multiple buyers pay in your trade, example only (x)3
Profit you add a year by plugging leaks (a)$60,000
Worth today (s × x)$900,000
Worth after ((s + a) × x)$1,080,000
Added to your sale price (a × x)$180,000

The formula is a × x. Every dollar of yearly profit you add is worth the multiple in dollars at sale. Sixty thousand dollars of added yearly profit at a multiple of 3 is $180,000 added to the price.

Turn it around. A leak that costs you $5,000 a month in profit costs you $60,000 a year, and it costs you $180,000 in sale price at this multiple. If you plan to sell in five years, that one leak costs you $300,000 in profit along the way and $180,000 more at closing.

A leak that costs you $60,000 a year in profit also costs you the multiple on that $60,000 the day you sell.

Find your SDE

Pull this from your books with your accountant, or from the last three years of tax returns. Start with a line-by-line build.

The mathExample SDE build
Net income on the P&L$120,000
Owner salary and payroll taxes paid to you$140,000
Owner perks run through the company (truck, phone, insurance)$18,000
Depreciation$22,000
One-time costs (a lawsuit, a move)$0
SDE$300,000

That is an example, with made-up numbers chosen so the total matches the workbook. The method is real. Start from net income. Add back what the owner pays himself. Add back personal costs that run through the company. Add back depreciation and interest. Add back one-time costs that will not repeat. Subtract anything the company ought to pay and does not, such as a fair wage for a family member who works for you at less than market.

ChecklistPull your own SDE
  • Net income. The bottom line of the profit and loss report in QuickBooks for the last 12 months. Run it for each of the last three years as well.
  • Owner pay. Your salary or draws, plus the employer payroll taxes on the salary. Your accountant has this.
  • Perks. Truck payments, fuel, phone, insurance and travel that the company pays and would not exist without you. Count only what is real and documented.
  • Depreciation and interest. On the P&L or the tax return.
  • One-time items. Anything a buyer would see once and not again. Keep a receipt for each.
  • Fair wage check. If you do not draw a market salary for the job you do, the buyer will subtract one. Include that hit in the number.

Tell your accountant what you are doing. Ask which of your numbers a buyer would accept and which he would argue. Better to hear that now.

Where to get a real multiple

Take the example 3 out of your head. Three people can tell you the real multiple for your trade and your size.

A business broker who sells companies in your trade. Ask for sold deals in the last two years, the multiple of SDE each sold for, the size of each business, and what was in the deal besides cash. A broker who cannot name any sold deals in your trade is the wrong broker.

A CPA or valuation analyst who does business valuations. This costs money, and it produces a document a bank, a partner or a court will accept. If you want a number you can stand on, buy this.

An owner in your trade who has sold. Buy them lunch. Ask what they were offered, what they got and what they wish they had done two years earlier.

ScriptQuestions to ask a broker on the first call

“How many companies in my trade have you sold in the last two years?”

“What multiple of SDE did they sell for, and how big were they?”

“What moved the multiple up or down in those deals?”

“How much of the price was cash at closing, and how much was a seller note or an earnout?”

“What would you tell a company my size to fix before it goes to market?”

Listen to that last answer closely. The broker has seen what buyers reject. The answer is your to-do list for the next two years.

Do not buy a number from a website calculator and put it in your plan. A calculator does not know your trade, your market or your books.

Turn leaks into profit before you multiply

Most of the chapters in this book price leaks in revenue. Chapter 5, for example, prices missed calls in monthly revenue. The sale worksheet asks for profit. These are different numbers.

Convert with your own margin on the added work. Say a fixed leak brings in $150,000 more revenue a year and 40 cents of every added dollar reaches profit after materials, labor and the cost of getting the job. That is $60,000 of added profit, which is the example’s a. If your own flow-through is 25 percent, a is $37,500. Use your own.

Then count carefully. The leaks overlap (Chapter 2 explains why). A missed call and a slow callback can be the same lost customer. Add one leak’s profit to the list only after the fix is working. A projected number is a guess. A number in 12 months of your books is a fact.

That is also how a buyer sees it. A buyer prices the earnings in the last 12 months of your books and the last two or three years of tax returns. A fix that started last month shows up in the sale price after it shows up in the books. If you plan to sell in three years, start now, because the fixes need time to show.

What raises the multiple

The workbook gives the fix in a line: recurring revenue, clean books, owner out of the truck. In my view, those three are right, and a fourth belongs with them. Ask your broker whether they match what buyers in your trade say.

Recurring revenue. Maintenance plans, service agreements and scheduled routes that renew without a sales call (Chapter 25). A buyer values work that comes back without effort.

Clean books. A buyer will ask for the profit and loss and the tax returns, and they must match. Keep personal expenses out of the company account. Close the books every month. Job-cost your work so you know which jobs earn money (Chapter 27). If your accountant needs three weeks to answer a buyer’s question, the buyer notices.

Owner out of the truck. Run the vacation test. Take two weeks off with the phone off. If the business grosses less than it normally would, or if a customer cannot get a decision, the company depends on you. Chapter 20 starts the hand-off: the phone, the schedule, the paperwork. The same test applies to estimating. A buyer who sees every sale running through you has to hire a replacement for you, and prices that in.

No concentration. A company that gets a third of its work from one builder or one platform has a buyer asking what happens if that goes away (Chapter 28). Spread the sources and you remove the question.

Add to those anything a buyer can take over without you. The website and the Google profile belong to the company. The phone numbers are in the company’s name. The customer list lives in a CRM. Reviews and map rankings take time to build, and a buyer cannot make them in a month.

Documented systems

A one-page checklist for each recurring task is cheap and valuable. How to answer the phone, how to quote, how to close a job, how to ask for a review. A buyer who reads the pages sees a company that does not depend on any person remembering. So does your next hire.

When to start

Start two to three years before you want to sell. That gives the books time to show the fixes and gives you time to hire the people who replace you. If a health problem, a partner dispute or a change in the market forces a sale sooner, the work you did still counts.

If you never sell, the same work raises your profit now.

What owners say back

“I’m not selling.”

Run the worksheet anyway. The number is also what a bank sees, what a partner sees and what your family inherits.

“My company is worth more than 3 times what I make.”

It might be. The 3 is an example. Ask a broker for real comparable sales in your trade. If the real multiple is higher, the leaks you plug are worth more than the worksheet shows.

“Brokers say whatever earns their fee.”

A broker is paid when a deal closes, so he has a reason to talk the price up. That is why you ask for sold deals. A CPA valuation has no commission attached. Get both and compare.

“I don’t know my SDE.”

Then that is the first job. Spend an hour with your accountant. Many owners learn something about their own books in that hour.

“The leaks in this book only add up to revenue.”

Convert to profit at your own margin, as above. Use the lower number if you are unsure.

What ServiceLine Pro runs for this leak

We build systems that run without the owner: tracked numbers, a CRM that holds the customer list, automated follow-up on calls, estimates and past customers, and a website and Google profile you own outright. The website and the Google profile stay with you if you leave. The worksheet is free either way.

Do this week

  1. Ask your accountant for your SDE for the last three years. Write down the three numbers.
  2. Call one business broker who sells companies in your trade and ask the five questions above.
  3. Write the vacation test on a sticky note. List every task that would stop if you left for two weeks.
  4. Pick the one fix from this book that adds the most profit to your books, and put a start date on it.
  5. Run your numbers at workbook.servicelinepro.com/#sale.
Part VIII

Get started

Rank what you found and fix the biggest leak first.

  1. 30Rank Your Leaks
  2. 31Build It or Hire It
  3. 32Monday Morning
Chapter
30

Rank Your Leaks

Price every leak, sort by monthly dollars, and fix the top three in the order that pays back fastest.

Say you spent two weeks on the worksheets in this book. You have 14 numbers on a legal pad. Missed calls, slow callbacks, unchased estimates, idle crew hours, drive time, a map that goes red three miles from your shop. Each number is bigger than you expected.

You add them up. The total is $148,035 a month.

Your Opportunity Value from Chapter 2 is $18,000.

The total is eight times larger than the gap it is supposed to explain. The arithmetic is wrong, and the error is easy to make. This chapter shows you how to rank the leaks without it.

The figures above come from the workbook’s default examples, so they are labeled examples and do not describe one company. The method is real, and you will use it with your own numbers.

Run every worksheet

Open workbook.servicelinepro.com and run each tool in the parts that apply to you. Use your own numbers from the scoreboard in Chapter 4. Where you do not have a number yet, leave the default and mark it with a question mark on your pad, because a defaulted number ranks a leak by someone else’s business.

Do it in this order, because each part feeds the next.

ChecklistOrder for the worksheets
  • Opportunity Value first (Chapter 2). It sets the ceiling.
  • Phone: missed calls, slow callbacks, after-hours leads, broken forms (Chapters 5 to 8).
  • Google Maps: number one spot, coverage grid, review gap, AI recommendations (Chapters 9 to 12).
  • Pipeline: past customers, referrals, door hangers, unchased estimates, cost per closed job (Chapters 13 to 17).
  • Crew: unbilled hours, drive time, owner hours, next truck (Chapters 18 to 21).
  • Pricing and margin: add-ons, lifetime value, seasonal dip, maintenance plans, price raise, low-margin jobs (Chapters 22 to 27).
  • Risk and exit: lead source concentration, sale multiple (Chapters 28 and 29).

Plan on two sittings of about an hour. When you finish, every worksheet that produces a monthly dollar figure appears on one ranked list at the bottom of the workbook. Copy that list onto your pad.

Sort by monthly dollars

Write every leak in a column and put the monthly dollar figure next to it. Sort from largest to smallest. Here is the list from the workbook’s default examples.

Rank Leak Chapter Monthly dollars
1 Map coverage grid 10 $24,490
2 Unchased estimates 16 $19,500
3 Owner hours on $20 work 20 $19,485
4 Unbilled crew hours 18 $19,052
5 #1 map spot value 9 $14,850
6 Drive time 19 $12,100
7 Missed calls 5 $8,100
8 Slow callbacks 6 $7,200
9 Seasonal dip 24 $6,583
10 After-hours leads 7 $6,075
11 Past customers 13 $4,500
12 Referrals 14 $2,700
13 Door hangers 15 $1,800
14 Add-on per job 22 $1,600

Several worksheets do not appear because they do not produce one monthly figure. The broken form sheet gives you dollars at risk. The review sheet gives a pace to hit. The AI sheet gives a ratio. Cost per closed job, next truck, lifetime value, maintenance plans, price raise, low-margin jobs, lead concentration and sale multiple each return a different kind of answer: a cost, a count, a percent or a value. Put those on the side of the pad. They shape decisions about the ranked leaks and they do not compete with them on dollars.

Why you never add them up

The ranking above has a trap. The total is $148,035 and the ceiling is $18,000.

The mathWhy the total is wrong (workbook defaults)
Sum of the 14 ranked leaks$148,035 a month
Opportunity Value (Chapter 2)$18,000 a month
How many times larger the sum is8.2

The leaks overlap, and the sum counts the same dollar several times.

A caller who rings out is a missed call, a slow callback and an after-hours lead in three worksheets. The same estimate sits in the unchased list and in the slow-callback list. The unbilled crew hours and the drive time are the same hours counted twice, because drive time is part of what techs are paid for and do not bill. The number one map spot and the coverage grid describe the same map.

There is a second reason. Your business can only run so many jobs. Opportunity Value tells you the most work your current crew and trucks could add. A leak that brings more customers can never be worth more than the gap those customers would fill.

The practical rule has two parts.

First, group the leaks into families and take the largest figure in each family as its stand-in.

Second, never let the total of the leaks that fill your schedule exceed Opportunity Value.

Three families

Every leak in the book belongs to one of three families.

ChecklistFamilies of leaks
  • Fill the schedule. Phone, Maps and Pipeline. These bring in jobs. Missed calls, slow callbacks, after-hours leads, broken forms, map position, coverage, reviews, AI recommendations, past customers, referrals, door hangers and unchased estimates all live here. The total in this family is capped by Opportunity Value, because a schedule only holds so many jobs.
  • Use the hours you pay for. Unbilled crew hours, drive time and owner hours on $20 work. These describe hours instead of jobs. Unbilled crew hours and drive time are the same hours counted twice, so take the larger of the two. Owner hours belong to you and stand on their own line.
  • Earn more on jobs you win. Add-on per job, price raise, maintenance plans, low-margin job types and the seasonal dip. These work on jobs you already get, so they stack on top of the gap and do not overlap with it.

Now apply that to the defaults.

The mathFill-the-schedule family, workbook defaults
Phone: missed calls, slow callbacks, after-hours (take largest)$8,100
Maps: coverage grid and number one spot (take largest)$24,490
Pipeline: unchased estimates$19,500
Pipeline: past customers$4,500
Pipeline: referrals$2,700
Pipeline: door hangers$1,800
Sum of stand-ins$61,090
Cap: Opportunity Value$18,000
What this family can be worth$18,000 a month at most

That is a better number, and it changes the question. If the family can only be worth $18,000, a dozen leaks compete for the same $18,000, and the question becomes which leaks fill the open capacity fastest and cheapest.

The second family gives you two more numbers. In the defaults, unbilled crew hours ($19,052) beat drive time ($12,100), so $19,052 stands in for the pair, and owner hours add $19,485 on their own line. Both are the value of hours, and hours turn into money only when the first family fills the schedule, because freed hours need jobs to run. Fix the first family first.

The third family stacks on top. Add-on per job ($1,600) and the seasonal dip ($6,583) belong here, and they are earned on jobs you already win.

Choose the top three

Dollars rank the leaks. Three more questions decide which ones you fix first.

ChecklistFour questions for every leak
  • How many dollars a month? From the worksheet.
  • What does the fix cost? In money and in hours. Many phone fixes cost less than a tank of gas.
  • How soon will it show up? A text script for past customers shows up in days. A map position takes 30 to 60 days to move.
  • Who owns it? A leak without a named owner on your team does not get fixed.

Score each leak on those four, and pick the three that win on dollars and speed together. A $24,000 leak that takes six months to show up and costs $3,000 a month to fix is a real project. An $8,000 leak that you can fix on Thursday with a voicemail change is the first thing you do.

I would not skip a large leak because it is hard. I would start it second, in parallel, so that it is working while you collect the cheap money from the first.

Order for 90 days

ServiceLine Pro runs clients in this order, and you can follow the same sequence yourself.

Checklist90-day order
  • Days 1 to 14, phone. Answer every call, set up a missed-call text-back, put a live person or an AI receptionist on after-hours, and test your own website form. These fixes cost the least and show up the fastest, because the calls are already ringing.
  • Days 15 to 45, pipeline. Text your past customers, follow up on every open estimate on a schedule, and ask every happy customer for a referral and a review. This money sits in your files. You own it already.
  • Days 30 to 90, Google Maps. Fix your profile, start the review habit and build coverage outward from your real pin. Our timeline is Map Pack movement in 30 to 60 days and a top three position as a 90-day target, never a guarantee. Maps compounds, so start it early even though it pays late.
  • Days 45 to 90, crew and pricing. Fix unbilled hours, drive time and owner hours once the phone and the pipeline are filling the schedule. Raise prices on a schedule you plan, add the add-on question to every job and offer maintenance plans.

The order follows speed and cost, and it protects the rest of the work. If you fix the crew first and the schedule is empty, the extra capacity sits in the yard. If you buy leads before the phone is fixed, the new leads leak out of the same holes.

A weekly 15-minute review

A ranked list that sits in a drawer does nothing. Pick one day a week, put 15 minutes on the calendar and ask four questions.

ScriptWeekly leak review

“Which of the three leaks did we work on this week?”

“What number moved? Show me the count.”

“What blocked us?”

“What is the one thing we do next week?”

Keep the list on one page with the dollar figure beside each leak and the last date you checked it. Update the figure after each fix. When a leak drops below the next one on the list, replace it with the next one.

Leaks the sheets do not catch

The worksheets price what this book covers. Your business may have a leak that is not in it, and you will usually find it by asking your crew. Ask each tech and your office manager the same question.

ScriptQuestion for the team

“If you were running this company and you wanted more money out of it without spending anything, where would you look first?”

Write the answers down. You will find two or three that are not on your list. Price them the same way: count them, multiply by your average job and rank them.

What owners say back

“The big number is on the map. Do I start there?”

Start it, and run the phone fixes alongside. The map takes 30 to 60 days to move, and the phone costs nothing to fix this week.

“My top three are all the crew.”

Then check the schedule. If the phone is already full and the crew is idle, you have a crew problem and the list is right. If the phone is half-empty, your crew is idle because the schedule is empty, and the schedule leaks come first.

“Why is my total so much smaller than the workbook’s?”

Because you removed the overlap. That makes your number real.

Do this week

  1. Run every worksheet that applies to you, with your own numbers where you have them, and mark defaulted numbers with a question mark.
  2. Write the ranked list on one page. Put Opportunity Value at the top as the cap.
  3. Group the leaks into the three families and take the largest figure from each overlapping group.
  4. Pick your top three, and write a named owner and a date next to each.
  5. Put the weekly 15-minute review on the calendar for the same time every week, starting this Friday.
Chapter
31

Build It or Hire It

Do the free fixes yourself, hire the technical work, and hold every agency to seven tests, including ours.

A Central Florida contractor with four brands and about $25 million a year in revenue left us for a larger agency. The larger agency offered every discipline under one roof, and that breadth won the owner over. Results declined under that agency. He came back, and we have built four new websites for his brands since.

I tell that story for its lesson. Size does not produce results, and a long menu of services does not show skill at the one thing that pays.

You are about to decide what to do about the leaks you ranked in Chapter 30. Some you will fix yourself this week. Some you should hand to someone who does the work every day. This chapter helps you split them and helps you judge whoever you hand them to. I hold ServiceLine Pro to the same test at the end of the chapter, because a buyer’s guide that exempts its author is an ad.

What to do yourself

Do these yourself or hand them to your office manager. They cost little, take hours and carry the fastest payback in the book.

ChecklistFixes that cost an hour and a decision
  • Answer the phone live during business hours, and decide who covers lunch (Chapter 5).
  • Call back every missed call within an hour (Chapter 6).
  • Test your own website form from a phone and fix where it lands (Chapter 8).
  • Text every past customer twice a year (Chapter 13).
  • Ask every happy customer for a referral and a review the same day, by text (Chapters 11 and 14).
  • Follow up on every open estimate on a schedule of day 1, 3, 7, 14 and 30 (Chapter 16).
  • Pull the numbers in Chapter 4 and review the ranked list every week (Chapter 30).
  • Count and price your idle crew hours (Chapters 18 and 19).

None of these needs a contract. If you do not do them, the reason is usually time or attention. An agency can build the system that does them for you, but you still decide that each call gets answered and each estimate gets chased.

What to hire out

Hire for the work that takes specialist skill, a tool you will not learn or hours you will not find.

ChecklistWork worth paying for
  • Google Maps work: profile management, review systems, coverage building and content (Chapters 9 to 12). It rewards daily attention and a track record.
  • Call tracking and attribution set up across every number (Chapter 5 and Chapter 17).
  • An AI receptionist or answering service for after-hours calls (Chapter 7).
  • A website that loads fast on a phone and captures the lead, built on a platform you own (Chapter 8).
  • Paid ads (Chapters 17 and 21), once the phone and website can catch what the ads bring in.
  • Database reactivation and estimate follow-up automation (Chapters 13 and 16), if you do not want to run the texts by hand.

The sequence matters. Our rule on a first call is that ads do not start until the foundation is in place. Paid traffic to a weak site with a neglected profile and an unanswered phone burns the budget. Fix the phone and the profile first, and the ads then land on something that works.

Seven tests for any agency

Any agency you consider should pass all seven. Ask each question on the first call. An agency that wants to sell before it answers has told you what you need to know.

Test 1. Call tracking on everything

Every channel the agency touches should send calls to a number that records its source, and you should be able to hear the recordings. If a campaign cannot be measured, it cannot be defended. Ask: “Which numbers will you set up, and where do I log in to see every call?”

Test 2. You own what they build

The website, the Google Business Profile, the citations and the content should be yours. You should be the owner on the Google profile and the registrant on the domain. If you leave, you keep all of it. Ask: “If I cancel, what do I walk away with?”

Test 3. Month to month after onboarding

A short commitment at the start is fair. Building a site or a profile takes work, and a verbal 90-day commitment is reasonable. After that you should be able to leave with a month’s notice. Be wary of annual contracts on services.

Test 4. Reports in booked jobs and dollars

The report should say how many calls came in, how many became booked jobs and what work was done. Impressions and rankings tell you what the agency did, and they tell you nothing about whether your phone rang. An owner thinks in booked jobs. Tell him impressions rose 40% and you lose him. Tell him he booked eleven more jobs last month and you have his full attention.

Test 5. A real address and a real pin

Your Google profile should show your real address and a real pin. Hiding the address with a service-area setup turns the coverage grid red, because Google loses the pin it ranks you around (Chapter 10). I have said it plainly and I stand by it: “If you switch to a service area business, you don’t show up.” An agency that tells you to hide your address is giving you advice that costs you calls.

Test 6. No guaranteed rankings

Nobody controls Google. Our position is that anyone promising guaranteed rankings is either lying or does not understand how Google works. An honest agency gives you a timeline and calls it a target. Ours is Map Pack movement in 30 to 60 days and a top three position as a 90-day target, never a guarantee.

In a client meeting about Local Services Ads I said: “I would be hesitant to promise, oh, we’re going to make these changes that I have been told will help our LSA account suddenly get 20.” You should hear that kind of answer from a good agency, even though a confident promise is easier to buy.

Test 7. They say what they do not do

A good agency tells you where its skill ends. I say it about ads: “I don’t have a PPC team or like PPC expertise on it. That’s why I’d partner with Spectrum.” An agency that claims every discipline at the same depth is claiming something nobody can deliver.

Red flags

Any of these should slow you down.

ChecklistRed flags on a sales call
  • The agency starts quoting a price before it has asked about your business or looked at your profile.
  • It cannot tell you where your calls will be recorded.
  • It owns your domain, your profile login or your ad accounts.
  • It sends reports in impressions, clicks and rankings and has no number for booked jobs.
  • It promises a rank, a date or a lead count.
  • It tells you to hide your address.
  • It pushes an annual contract before it has shown any work.
  • It has no way to show you a customer in your trade and market, with their name and consent.
  • It cannot name what it does not do.
  • It gets defensive when you ask for the export.

Questions for the first call

Take this script and ask every agency the same questions in the same order. Write down the answers and compare them afterward.

ScriptFifteen-minute agency interview

“Before we talk price, what did you see in our profile and our website?”

“Which numbers will be tracked, and can I listen to the recordings?”

“If I cancel in month five, what do I own?”

“What will your Monday report say? Show me an example for a client in my trade.”

“What would you not do for us, and who would you refer us to?”

“Tell me about a client you lost, and why they left.”

“What do you need from us to make this work?”

The last two questions separate agencies fast. An agency that has never lost a client is hiding something. An agency that needs nothing from you is promising a result no agency can produce without you.

How ServiceLine Pro answers the same seven tests

Here are our answers, in the same order. If an answer here is weaker than what you hear elsewhere, take the other deal.

Test ServiceLine Pro
Call tracking Dedicated tracking numbers on every channel, set up on Twilio and Quo. You own your phone number and can keep it or port it.
Ownership The client owns the website, the profile, the citations and the content, and keeps them on leaving.
Terms Month to month with a verbal 90-day commitment at the start, then you can leave. The website runs its term. Work starts when the invoice is paid.
Reports A plain Monday email: what we did, what the numbers did and what is underway, in calls and booked jobs.
Address A real address and pin. Additional profiles require a staffed physical address.
Rankings Targets. Map Pack movement in 30 to 60 days, top three as a 90-day target, organic authority in 6 to 12 months.
Limits Services businesses only. Paid ads run through Spectrum Reach, our partner, at $0 agency fee, and you pay media only. We do not have a PPC team.

Prices as of this writing: Local SEO, which covers Map Pack and organic work and includes Google profile management, is $3,000 a month. A performance website is $4,500, or $450 a month. An additional profile in a new area, for the same company and trade, is $1,500 a month. AI search work is a $1,500 monthly add-on that requires an active SEO campaign. Our CRM is included with any marketing plan, and it is $500 a month standalone. Ads cost $0 in agency fees, and a competitive metro typically needs about $5,000 a month in media.

Our entry point is the Growth Audit. It costs $1,000, takes 72 hours and tests your forms, your speed-to-lead and your call handling live. We refund it if we do not find $100,000 in missed revenue, and the fee credits toward any work you hire us for.

Two things a good agency will tell you

One of our longest-running clients was happy with everything he could see while we knew internally that his results were below our own standard. We told him anyway. We explained what we thought was happening and what we would do about it. He valued the honesty, and the relationship has been stronger since. Your agency should tell you bad news before you find it.

A cleaning company in Alaska found us by watching our videos. In the first forty days or so, paid ads produced over 150 leads for them. Afterward the owner said we advised him instead of selling him: here is what we see, here is what would serve you best. That is what the first call should sound like. I would take it as the standard.

What a good agency expects from you

Agencies turn clients away, and so do we. We say no to owners who will not commit, who collect quotes without intent to buy, who treat every marketing dollar as a loss, or who do not know their numbers. If you have worked through Chapter 4, you will not be one of them.

Expect the same from yours. A good agency asks for your average job, your close rate and your phone hours. It tells you speed-to-lead belongs to you, because paying for leads that nobody answers is money thrown away. On first calls we often find the same pattern. The lead goes to voicemail and nobody calls back for four hours. That is usually the first fix.

What owners say back

“I got burned before.”

You did, and a lot of owners did. Tell the next agency what the last one did. Ask where its approach would differ and look for a concrete answer about tracking, ownership and reporting. A claim that “we’re different” is not an answer.

“They’re cheaper.”

Compare the cost to the value of a booked job, and do the arithmetic on your own average job. Say your average job is $9,000 at a 40 percent margin. One extra job a month leaves $3,600, which covers a $3,000 monthly fee. That is an example, and you can run it with your own numbers.

“Why would I pay anyone if I can do this myself?”

You can. Run the free list above first. If you fix those and still see leaks on the map and in the pipeline, price the hire.

Do this week

  1. Sort the top ten leaks from Chapter 30 into two columns, one you will fix yourself and one you will hire out.
  2. Pick one item from the first column and finish it by Friday.
  3. Write down your answers to the seven tests for any agency you use now. Where you cannot answer, ask them in writing.
  4. If you are shopping, run the fifteen-minute interview with two agencies and compare the answers.
  5. Ask whoever runs your Google profile whether you are listed as the owner. Check it yourself in your profile settings.
Chapter
32

Monday Morning

One page of what to do first, in the order that pays fastest.

You have read enough. This chapter is one page of work, in order, for the next five working days. It assumes you have read Chapters 2, 4 and 30 and that you will reread the chapter for each leak as you reach it.

Set aside three hours on Monday, one hour on each of the next two days, and 30 minutes on Thursday and Friday. That is six hours in all. Put them on your calendar before you close this book.

Monday, hours one and two: your numbers

Open your field app, your phone portal and your Google Business Profile. Pull these six numbers, using the steps in Chapter 4.

ChecklistSix numbers
  • Average job from the last 90 days of invoices.
  • Jobs completed last month.
  • Jobs you could run in a month on a full schedule.
  • Inbound calls in the last 30 days, with how many were answered, missed or sent to voicemail.
  • Reviews in the last 90 days.
  • Open estimates older than seven days with no follow-up.

Do the Opportunity Value math from Chapter 2 and write the monthly figure on a sticky note. Put the note where you will see it every morning.

Say your average job is $450, your ceiling is 120 and last month you ran 80. The sticky note says $18,000. That is an example, and your note will say something else.

Monday, hour three: fix the phone

Make three changes before you leave the office.

ChecklistThree phone changes
  • Decide who answers the phone at lunch and after 5 p.m., and write the name on the schedule.
  • Turn on a missed-call text that goes out within a minute of any call you miss.
  • Change the voicemail greeting so it tells the caller when you will call back and gives a second way to reach you.

Here is a text you can use.

ScriptMissed-call text

“Hi, this is [your name] at [company]. Sorry we missed your call. What do you need help with? We’ll get back to you within the hour.”

Edit the wording until it sounds like you. Send a test call from your own phone and confirm that the text arrives.

Tuesday: test your own business

Spend an hour as a customer.

First, fill out your website form from a phone on cell data. Use a real number you control. Note whether you get a confirmation and how long it takes someone to reach you.

Second, search your service and your town on Google Maps, the way a customer would. Write down who shows up first, how many reviews they have and where you appear.

Third, ask ChatGPT or another assistant who to hire for your trade in your town. Do it ten times with slightly different wording and count how often it names you. Chapter 12 explains how to read the results.

Most owners find at least one thing broken. Write it on the list and give it a dollar figure with the worksheet for that chapter.

Wednesday: text your past customers

Open the customer export from Chapter 4 and filter to people whose last job was 12 to 36 months ago. Pick 50 to start. Do not wait until you have a campaign tool. Send the text from your phone.

ScriptPast-customer text

“Hi [first name], this is [your name] at [company]. We did your [job] a while back and I wanted to check in. Is everything still working? We have openings next week if you want us to take a look.”

Send 50 on Wednesday. Answer every reply the same day. By the end of the week you will know your response rate, and that is the first real input for Chapter 13.

Then open your estimates. Pick every estimate older than seven days with no follow-up and call or text each one with a short message.

ScriptEstimate follow-up

“Hi [first name], it’s [your name] at [company]. I wanted to see if you had questions about the estimate for [job]. If it helps, I can walk through the numbers or adjust the scope.”

Thursday: ask for reviews and referrals

Thursday’s half hour goes to the two asks that cost nothing.

For every job completed in the last seven days, text the customer a link to your Google review page. Ask the same day for every job from now on.

ScriptReview and referral text

“Thanks for choosing [company]. If we did a good job, would you leave us a quick review? [link] And if a neighbor needs [your trade], send them our way and we’ll take care of them.”

Count your replies and reviews before you go home. You are building a weekly pace, and the pace matters more than the total (Chapter 11).

Friday: rank and assign

Spend the last 30 minutes of the week on the list.

Run the worksheets for the leaks you found, using your own numbers, at workbook.servicelinepro.com. Sort by monthly dollars. Group the overlapping leaks and take the largest in each group, as Chapter 30 explains. Write the top three on one page.

Next to each one, write a named owner, a start date and the first action.

Then put 15 minutes on the calendar for next Friday. The weekly review from Chapter 30 is the habit that keeps the list alive.

If the week goes sideways

A storm hits, a tech calls in sick, a customer needs you on site. Keep the order and drop the days. Do Monday’s three phone changes first, because they pay back fastest. Do the past-customer text second. Everything else can slide a week.

Do not wait for good data. If you cannot pull the call log by Monday, count calls by hand for three days with a tally sheet by the phone. If your field app will not export, count last month’s invoices in QuickBooks. A rough number you have today beats an exact number you get in a month.

If your office manager pushes back, tell them what the week is for: finding calls and customers the business already paid for. Ask them what they would change first. They often know.

What you should see by Friday

You will have an Opportunity Value on a sticky note, a phone that texts back, a count of how many customers answered your first text, a stack of estimates with a second touch on each, a first batch of review requests and a ranked list with three names on it.

You will probably also have a booked job or two from the texts. I will not promise how many. Fifty texts to past customers and a dozen estimate follow-ups give you a real sample of your own business, and Chapters 13 and 16 turn that sample into a monthly figure.

What to do next

The next 90 days follow the order in Chapter 30: phone first, then pipeline, then Maps, then crew and pricing.

If you want help with any part of it, the Growth Audit tests your forms, your speed-to-lead and your call handling live, and comes back in 72 hours with the missed revenue it finds. The book is built so you do not need it.

Do this week

  1. Monday: pull six numbers, write the monthly Opportunity Value on a sticky note and change the three phone settings.
  2. Tuesday: fill out your own form, search your own town on the map and ask an AI assistant ten times who to hire.
  3. Wednesday: text 50 past customers and follow up on every old estimate.
  4. Thursday: send review requests for the last seven days of jobs.
  5. Friday: run your worksheets at workbook.servicelinepro.com, write your top three leaks with an owner and a start date, and book next Friday’s 15-minute review.

Leak scoreboard

Copy each worksheet result here. Rank the leaks by monthly dollars and circle the top three. Chapter 30 shows how to rank them without double counting.

LeakCh.PageExample a monthYours
Missed Calls05
Slow Callbacks06
After-Hours Leads07
Broken Forms08
#1 Map Spot Value09
Map Coverage Grid10
Review Gap to #111
AI Recommendations12
Past Customers13
Referrals14
Door Hangers15
Unchased Estimates16
Cost per Closed Job17
Unbilled Crew Hours18
Drive Time19
Owner Hours on $20 Work20
Next-Truck Break-Even21
Add-On per Job22
Customer Lifetime Value23
Seasonal Dip24
Maintenance Plans25
Price Raise Math26
Low-Margin Job Types27
Lead Source Concentration28
Sale Price Multiple29

Notes and sources

Chapter 3 draws on three published works on costs that never appear on a ledger:

Map and website figures:

Client stories come from ServiceLine Pro’s own records, audits and published case studies. Clients are named only where SLP has already published their results. Results are client-reported unless the chapter says SLP measured them. Unnamed clients and prospects are described by trade and market size.

Every other number in this book is a labeled example built on the default inputs of the companion workbook at workbook.servicelinepro.com. Replace them with yours.

Nothing in this book is legal, tax or accounting advice. Check texting, call recording and pricing rules for your state with someone qualified before you change how you contact customers.

About the author

Will Hamilton is the founder of ServiceLine Pro, a marketing company in Tampa, Florida, that grows home-service and trade businesses from $1M to $10M with local SEO, Google Maps, websites, AI search and call tracking. He also owns Westchase Painting Company in Tampa, where every system in this book runs first.

About ServiceLine Pro

ServiceLine Pro works with one company per trade per market, so we never help your competitor across town beat you on the map.

Every client owns what we build: the website, the Google profile, the citations and the content. Contracts are month to month, with a 90-day commitment up front. Reports go out every Monday in calls and booked jobs.

Growth Audit

If you want us to run the numbers in this book for you, book a Growth Audit. In 72 hours we price every layer of your business, from the phone to the map to the crew, and hand you the ranked list of leaks. It costs $1,000. If we don’t find at least $100,000 in missed revenue, we refund it. If you hire us, the $1,000 is credited toward the work.

servicelinepro.com