All samplesSample. Every figure is invented.Print version (PDF)
Sannidhi

Sample · Home services and the trades

Quarterly Business Analysis

Plumbing and Heating Business

Prepared for the owner of Plumbing and Heating Business. Your main numbers as of 31 March 2027. This is your second quarterly analysis. We run a new one every three months. Prepared by Sannidhi, Santa Cruz, California.

This is a sample. Plumbing and Heating Business is a fictional company and every figure in this document is invented. The format is what a real client receives every quarter.

From your data means counted from your own records. Our estimate means a projection, with its assumption stated.

01The short version

Nine of your ten main numbers are working and one is on watch. A new number, added this quarter, needs adjusting.

What is working

What needs adjusting

The three things to fix next quarter

  1. Shorten the wait for an install.
  2. Give every member the visits they are paying for, while the trucks are quiet.
  3. Offer a replacement to customers whose water heater is ten years old or more, before it fails.

02Your scorecard

Main number 30 September 2026 31 December 2026 31 March 2027 Reading
Revenue, last 12 months$2,600,000$2,648,000$2,741,000Working, with a caution
Replacement estimates that reached a yes or a no68%88%94%Working
Replacement estimates won39%43%46%Working, with a caution
New inquiries with no reply, in the quarter4831Working
Active memberships684702753Working
Memberships lost, last 12 months34%32%23%Working
Finished work not yet invoiced$21,300$1,900$600Working
Callbacks, last 12 months187196171Working, after an adjustment
Jobs per service truck per day, January to March4.4 a year earlier4.6Watch
Your hours a week on office work242018Working
Added this quarter: days from a yes to the install236Adjust

The two estimate numbers are counted on estimates given in each quarter. The 30 September values cover the twelve months before it.

A caution on revenue. It is up 5.4% in six months. Part of that is the winter. Calls for no heat in January were up 22% on the January before, and that would have happened without any of this work. From your data

A caution on estimates won. Winter estimates always win more often, because a house with no heat cannot wait. The fair comparison is January to March a year earlier, when you won 80 of 196, or 41%. This quarter you won 102 of 221, or 46%. The gain is real and it is 5 points, not 7. From your data

Jobs per service truck is compared with the same winter months a year earlier. It stays on watch until a slow quarter tests it.

03What worked, and why we think so

Answering. Every missed call now gets a text within a minute, and the office staggers lunch. In January you missed 22% of calls, against 26% the January before. 58 callers who were reached by text became customers, worth $27,600. From your data

Follow up. Each replacement estimate is followed up at 2, 5 and 10 days until it is marked won or lost. 14 of the 238 old estimates that had gone quiet were won after a follow up, worth $41,200. From your data

Your own estimates. A furnace or boiler estimate is now drafted the same day from the technician's notes and photos, and you approve or change it. The wait from the technician's report to the estimate fell from 6 days to 1. You still visit every boiler job. From your data

Billing. Finished jobs are matched to invoices every week. Of the 46 unbilled jobs, 39 were invoiced for $18,900 and $17,400 has been collected. From your data

Parts. Each invoice is checked against the job notes before it closes. Parts worth $9,800 were added to invoices that would have gone out without them. From your data

Warranty claims. 21 claims were filed with the supply house and $3,100 has been credited. From your data

Members. A member is now contacted 30 days before a card expires and on the day a payment fails. Of the 131 members lost to a failed card last year, 52 have been restored, and they have paid $5,100 in fees since. Only 6 members were lost to a failed card this quarter. From your data

Overdue visits. 96 tune up visits were booked for members who had not seen a technician in a year. Those visits led to $14,300 in repair work. Members with no visit in twelve months went from 127 to 31. From your data

Ads. Call reporting was turned on in October and the unwanted searches were removed. Spend on unwanted searches fell from 37% to 6%. The cost of a booked job from Google Ads fell from $200 to $152. From your data

One record. The dispatcher's spreadsheet was retired in December. Its 64 open items were moved into Housecall Pro and every one has been closed or booked. Your office now spends about 2 hours a week copying between programs, down from 9. From your data, and our estimate from what your office told us.

Money the records link to this work, in six months: $118,500. That is $17,400 in recovered billing, $9,800 in parts, $3,100 in warranty credits, $5,100 from restored memberships, $41,200 from followed up estimates, $27,600 from callers reached by text, and $14,300 from overdue member visits. You have paid Sannidhi $3,000 in that time. The records show each sale followed one of these actions. They cannot prove that none of them would have happened anyway.

What the changes cost you. From your data

04What we adjusted last quarter, and what happened

In December, callbacks had risen from 187 a year to 196. There were 58 in October to December, against 49 in the same months a year earlier.

Our first change was a closing checklist with a photo of the finished work. It did not work. Technicians skipped it on about six jobs in ten, and it was skipped most often on the busiest days, when callbacks are most likely. From your data

We changed two things, and both were your decisions. You worked alongside technician D on six Fridays in January and February. And every Monday, each callback from the week before is reviewed with the technician who did the first job, with a reason recorded. The checklist was cut from nine steps to three.

There were 34 callbacks in January to March, against 59 a year earlier. Technician D had 22 in the autumn quarter and 9 in this one. The yearly figure is now 171. From your data

The reasons are recorded for the first time. Of the 34, 13 were a part that failed, 11 were a second fault that was not found on the first visit, 6 were workmanship, and 4 were not a fault at all.

This cost you about 50 hours in the truck. Those hours are not in your office hours on the scorecard. Our estimate, from six days at about 8 hours.

05What needs adjusting now

The install crews are now what slows things down. Faster answers and followed up estimates sold more replacements, and the next step is two crews. In January to March you sold 102 replacements: 71 water heaters and 31 furnaces and boilers. A year earlier it was 80. The wait from a yes to the install grew from 2 days to 6. From your data

In winter that wait loses work you have already won. 9 customers who said yes in February and March cancelled before the install, worth $34,200. A year earlier, 2 did. Install crew overtime was $6,900 in premium pay this quarter, against $4,100 a year earlier. From your data

This is a problem the improvement caused. It was not visible in September because the estimates were not being won.

The decision for you. 38 of the 71 water heaters were a tank swapped for the same size tank in the same place. Technicians A and B, each with their apprentice, could install those the same day they are sold. Your install crews would keep the furnaces, the boilers and the harder water heater jobs. That is about 3 installs a week moved off the crews, and we expect the wait to come back to about 3 days. Our estimate, from this quarter's job lengths.

It has a cost. Each install uses the time of about two service calls, so A and B would run about 6 fewer service calls a week between them. They are also your two best technicians on service. Our estimate

The other choices are a third install crew, which one strong winter does not yet justify, or leaving it as it is through the slow season and deciding in September. It is your call.

06Supporting numbers that moved

Number 30 September 2026 31 March 2027
Share of inbound calls missed, January26% a year earlier22%
Estimates with no outcome23813
Days from a technician's report to a furnace or boiler estimate61
Memberships lost to a failed card131 in a year6 this quarter
Members with no visit in the last 12 months12731
Service invoices with a part in the notes and none billed412 in a year9 this quarter
Warranty parts with no claim filed37 in a year0 this quarter
Discounts given$38,200 in a year$6,100 this quarter
Cost per booked job, Google Ads$200$152
Share of Google Ads spend on unwanted searches37%6%
Ad calls that can be tied to a customerNone92%
New Google reviews38 in a year61 in six months
Callbacks with a recorded reasonNone34 of 34 this quarter
Drive time per service truck per day2.3 hours2.0 hours
Money owed for more than 60 days$41,000$19,500
Office hours a week copying between programs92
Software cost a year$21,840$18,660
Overtime premium paid, last 12 months$30,000$32,800

Overtime went the wrong way. All of the rise is the install crews, and it is part of the problem in section 5.

Why memberships ended this quarter. 41 ended. 22 were cancelled by the customer, 13 moved or sold the house, and 6 had a card fail and could not be reached.

Google Ads, with a cost. You spent $10,200 this quarter, down from about $13,200, and 67 booked jobs can be tied to it. With call reporting on, this is the first quarter the figure is complete, so it cannot be compared fairly with last year's count.

07Changes to what we measure

The list of numbers is expected to change as the business does.

08Next quarter

Fix What gets done What we will watch
1. The install waitIf you approve, technicians A and B install same size tank water heaters the day they are sold, from April.Days from a yes to the install. Cancellations after a yes. Service calls run by A and B.
2. Member visitsApril to June is your slowest quarter. Every member who is owed a tune up visit is offered a date in it. Technicians C and D offer the plan on every call, using the words A and B use.Members with no visit in 12 months. Memberships sold by technician. Jobs per service truck per day.
3. Old water heatersYour records show 412 water heaters that are ten years old or more. Each of those customers gets a short note in your voice with a price to replace it before it fails.Replies. Estimates given. Replacements sold from the list.

Cost. Sannidhi: $500 a month, unchanged. No new software.

Your technicians. The gap between your highest and lowest average ticket was $98 in September and is $81 now. It is closing slowly, and nearly all of the change is parts being billed.

What we still cannot tell