Follow the work until the decision gets smaller.
An anonymized Austin-area HVAC operating case showing how each answer creates the reason to inspect the next layer. The diagnosis can become broad. The response should become specific.
Start with the question ↓- The business
- Residential HVACAustin metro · One operating hub
- The scale
- $6.4M annual revenueBusiness scale at time of review
- The review
- April–June 2026 requestsOutcomes through August 31, 2026
Real operating records from prior work. Business identity withheld. Figures reflect the reviewed period. How to read the case →
The operating method
Every next layer has to earn its place.
We do not inspect the whole business because a checklist says to. We keep looking only when the current evidence leaves an unanswered question that could change the decision.
- 01Question
What decision are we actually trying to make?
- 02Evidence
What records can answer it without changing the denominator?
- 03What changed
What did the evidence rule in, rule out, or make less certain?
- 04Next question
What do we now have to inspect before acting?
Start with the business question
Why can a busy $6.4M HVAC company still feel economically constrained?
The calendar is active, technicians are on the road, memberships are due, estimates are open, and revenue is arriving. Activity tells us the business is moving. It does not tell us which movement is worthwhile.
“Which work actually leaves money in the business, and what stops the team from delivering it consistently?”
- Service technicians
- 6
- Maintenance technicians
- 2
- Two-person install crews
- 2
- Operating hub
- North Austin
- Service territories
- 6
- Core work
- Repair · Maintain · Replace
“Busy” could not answer the business question. We needed a consistent unit of demand before any later rate or channel comparison would mean anything.
Before judging marketing, conversion, or margin, what actually counts as one request?
↓Reconcile the denominator
How much real demand actually entered the business?
Raw phone, form, message, and CRM activity can count the same need more than once. The first job is to separate contact activity from distinct service demand.
The denominator moved from 3,180 contact events to 2,400 unique service needs. Every conversion rate that follows uses the reconciled request cohort.
Of those 2,400 distinct service requests, was the problem simply poor-fit demand?
↓Follow qualification and booking
Were the leads bad, or was something else stopping qualified demand?
A request can be a poor fit, a good fit that never books, or a good fit the business cannot serve. Those are different problems and should not be collapsed into one lead-quality number.
Qualified requests could not find appointment capacity.
Calling them bad leads would bury an operating constraint inside a marketing report.
Where qualification and booking stopped2 reconciled breakdowns
| Disposition | Requests |
|---|---|
| Outside service territory | 120 |
| Unsupported residential work | 90 |
| No purchasing authority | 60 |
| Commercial / new construction | 70 |
| Fit not verified | 120 |
| Disposition | Requests |
|---|---|
| No suitable appointment capacity | 115 |
| No further contact after qualification | 70 |
| Fee or price objection | 55 |
| Chose another provider | 48 |
| Deferred timing | 40 |
Demand quality could not explain the whole problem. Qualified requests were being lost because the business had finite capacity, so generating more demand could make the constraint worse.
If qualified demand is reaching the business, which sources are actually producing worthwhile completed work?
↓Follow the source through completion
Are the cheapest sources actually creating the best work?
A channel can look efficient at the inquiry stage and expensive after completion. The metric has to travel with the same request far enough to answer the decision.
120 requests · $4,800 program cost
450 requests · $31,500 program cost
At the inquiry stage, paid social appears less expensive.
Inspect every channel9 attributed sources
| Channel | Requests | Qualified | Completed | Program cost | Net revenue | Contribution |
|---|---|---|---|---|---|---|
| Google Local Services Ads | 600 | 480 | 288 | $36,000 | $391,945 | $113,767 |
| Paid search | 450 | 330 | 172 | $31,500 | $387,997 | $116,740 |
| Google Business Profile | 360 | 310 | 212 | $6,000 | $259,267 | $96,543 |
| Organic website | 240 | 195 | 120 | $7,500 | $160,265 | $50,110 |
| Customer / partner referral | 210 | 195 | 146 | $3,000 | $194,385 | $66,924 |
| CRM / membership activity | 210 | 205 | 155 | $2,100 | $70,052 | $24,763 |
| Direct / known brand | 150 | 130 | 82 | $900 | $86,508 | $33,841 |
| Paid social | 120 | 60 | 16 | $4,800 | $6,197 | −$1,982 |
| Unknown source | 60 | 35 | 9 | Unassigned | $3,384 | $1,415 |
Paid social moved from the cheaper request to the more expensive completed job and then to negative attributed contribution. That made lead cost insufficient, but it still did not prove the platform itself caused the outcome.
Before blaming a platform, are we separating who created the customer from how this particular request arrived?
↓Separate the customer relationship
Is the channel really responsible for creating the customer?
An existing customer can be a member, be referred by a neighbor, and book the next job through an ad. Acquisition source, current request source, booking method, referral, and membership are separate facts.
648 completed jobs from 1,515 requests.
539 completed jobs from 820 requests.
Inspect customer relationshipsJobs are not customers
| Relationship | Requests | Completed jobs | Distinct customers | Net revenue |
|---|---|---|---|---|
| New | 1,515 | 648 | 648 | $945,361 |
| Existing | 820 | 539 | 400 | $598,105 |
| Unknown | 65 | 13 | 13 | $16,534 |
The lifecycle totals do not show whether the current request channel created the relationship. That limitation prevents us from treating every paid-channel completion as a new acquisition. We keep those fields separate, then move to the work itself.
Once attribution is separated, why do similar requests still produce radically different economics? We have to inspect the work itself.
↓Separate the job mix
Which work is actually creating or consuming contribution?
A company-level average hides the fact that the schedule is filled with work that behaves very differently. Replacement, repair, maintenance, diagnostic work, and IAQ cannot be treated as one economic unit.
$196,723 on 600 completed jobs.
$4,201 on 380 completed jobs.
$359,687 on 100 completed jobs.
Inspect all job-family economics5 job families
| Job family | Jobs | Net revenue | Average ticket | Contribution | Margin |
|---|---|---|---|---|---|
| Repair | 600 | $375,000 | $625 | $196,723 | 52.5% |
| Maintenance | 380 | $53,200 | $140 | $4,201 | 7.9% |
| Replacement | 100 | $1,050,000 | $10,500 | $359,687 | 34.3% |
| Diagnostic only | 80 | $7,600 | $95 | $175 | 2.3% |
| Duct / indoor air quality | 40 | $74,200 | $1,855 | $33,136 | 44.7% |
Weak economics were not evenly distributed across the schedule. Maintenance became the next layer to segment, but the evidence still did not justify calling maintenance itself a bad service.
Maintenance looks weak overall. Is the service itself the problem, or does it become weak only under particular delivery conditions?
↓Separate geography from work type
Is the territory the problem, or the work inside it?
This is the point where a fast conclusion would be costly. Outer south/west looks weak only when a specific job family is separated from the rest of the territory.
100 completed jobs · before assigned marketing costs
60 maintenance jobs · before assigned marketing costs
The territory is not the problem. This specific work, delivered this specific way, is.
Direct contribution per completed job
−$53.17- Completed jobs
- 60
- Average net job
- $120.03
- Contribution / net job
- -44.3%
Shared 0–120 minute scale. Allocated route/depot travel time, not GPS-measured Austin traffic.
Closing the outer territory would also remove profitable work. The more specific problem was outer-area maintenance, so the investigation narrowed again instead of making the geography itself the villain.
If the same territory can contain profitable and unprofitable work, what changes about delivering the same maintenance service as geography expands?
↓Follow the time
What changes when the same maintenance job travels farther?
The maintenance ticket stays relatively small while ordinary route time grows. Geography is now affecting paid capacity as well as direct job economics.
ordinary driving per maintenance job
ordinary driving per maintenance job
| Territory | Jobs | Avg net job | Drive / job | Contribution / job | Contribution / net job |
|---|---|---|---|---|---|
| North Austin | 92 | $144.33 | 27.6 min | $33.22 | 23.0% |
| Central / East Austin | 61 | $142.08 | 40.7 min | $21.24 | 14.9% |
| Round Rock / Pflugerville | 75 | $142.36 | 42.6 min | $21.74 | 15.3% |
| Cedar Park / Leander | 60 | $144.78 | 46.5 min | $21.17 | 14.6% |
| South Austin | 32 | $146.53 | 69.1 min | $4.33 | 3.0% |
| Outer south / west | 60 | $120.03 | 103.4 min | −$53.17 | -44.3% |
The economics deteriorated as delivery burden increased and eventually crossed below zero. That made route design a credible mechanism, not merely a geographic correlation.
Driving is a credible focal mechanism. Before acting, can broader field friction explain outer-area maintenance instead?
↓Rule out broader field friction
Can broader field friction explain outer-area maintenance?
The case also contains whole-cohort labor and repair-specific quality evidence. Those records reveal other capacity constraints, but they are not segmented to outer-area maintenance and cannot explain the focal loss.
96 of 600 completed repair jobs.
62 original jobs with a quality callback out of 1,200 completed jobs.
472 of 600 after de-duplicating overlap between parts returns and callbacks.
The broader operation has field-friction constraints, but this evidence did not establish them as the cause of the outer-area maintenance loss. The investigation records them without expanding the current response.
Because this evidence does not explain the focal loss, keep it out of the intervention. Can whole-cohort pricing and material variance explain it any better?
↓Rule out whole-cohort realization
Can whole-cohort material and discount variance explain this maintenance loss?
Material variance and concessions can change contribution from both sides. Here, however, the figures cover the whole cohort rather than outer-area maintenance, so they identify separate control questions without assigning the focal loss to them.
Parts and materials
variance against the scope budget
$648,700 actual materials and equipment cost versus a $587,320 scope budget.
Pricing discipline
discount value across the cohort
Different purposes are separated instead of being treated as one discount bucket.
The control gap
in 12 discretionary discounts without recorded approval
The existence of a concession is not the same as evidence that the concession was wrong.
Break down the material variance4 causes
| Cause | Value | Interpretation |
|---|---|---|
| Authorized scope changes | $34,800 | Rebase the approved scope budget. |
| Supplier price changes | $11,200 | Review purchasing and pricebook timing. |
| Waste / unreturned stock | $7,500 | Verify actual usage, returns, and credits. |
| Unexplained | $7,880 | Investigate before calling it recoverable. |
Break down the discounts7 categories
| Discount type | Lines | Value |
|---|---|---|
| Membership entitlement | 220 | $14,300 |
| Seasonal promotion | 180 | $13,500 |
| First-visit offer | 90 | $4,500 |
| Referral incentive | 25 | $2,500 |
| Sales discretion | 35 | $26,250 |
| Service recovery | 25 | $3,250 |
| Bundled-service credit | 10 | $5,000 |
These controls matter to the business, but they are not causal evidence for the focal finding and stay out of the route-density test. The investigation can now examine whether maintenance carries value or obligations beyond direct job contribution.
Before cutting, repricing, or deprioritizing maintenance, does the service carry a customer promise or future value that direct job contribution cannot see?
↓Follow the customer promise
Does low-margin maintenance create obligations or value beyond today’s ticket?
Maintenance can be part of a recurring promise. Direct contribution is necessary evidence, but it cannot by itself measure renewal, retention, later replacement behavior, or the cost of breaking a service commitment.
138 completed from 180 contracts due.
245 completed from 310 maintenance visits due.
The investigation could not treat maintenance as a disposable low-ticket product. The next decision had to account for the capacity it used without pretending its long-term value had already been disproven.
If the company must protect the promise, what is the opportunity cost of consuming scarce field capacity this way?
↓Follow the opportunity cost
What worthwhile work may be waiting behind the capacity constraint?
The case shows qualified demand without appointment capacity and worthwhile replacement work in the same request cohort. That does not prove one maintenance slot displaces one replacement job. It does establish that field capacity has alternatives worth testing.
Good-fit demand that could not find a suitable slot.
100 completed replacement jobs in the request cohort.
The business did not simply need “more leads.” The evidence supports testing whether denser maintenance routing releases usable capacity, without assuming that one released slot automatically becomes one replacement job.
Does the full financial bridge show a company-wide margin problem, or a concentrated problem inside otherwise worthwhile work?
↓Close the economics
What did all of this activity actually leave behind?
Only after the denominator, channel, customer, job mix, territory, delivery burden, concessions, and recurring promise are separated can the cohort be closed without confusing revenue with profit.
About 32.2% of net completed revenue before fixed company overhead.
Not company net profitOpen the complete contribution bridgeRevenue → delivery → channels → contribution
| Measure | Amount |
|---|---|
| Authorized pre-discount value | $1,635,500.00 |
| Discounts | −$69,300.00 |
| Refunds / adjustments | −$6,200.00 |
| Net completed revenue | $1,560,000.00 |
| Materials / equipment | −$648,700.00 |
| Loaded field labor | −$218,285.90 |
| Variable vehicle costs | −$7,937.10 |
| Payment / financing fees | −$43,455.25 |
| Commissions | −$31,500.00 |
| Permits / disposal | −$16,200.00 |
| Direct job contribution | $593,921.75 |
| Channel program costs | −$91,800.00 |
| Contribution after channel costs | $502,121.75 |
| Gross invoice value settled | $1,505,400.00 |
| Open invoice balances | $54,600.00 |
The evidence does not support a claim that the whole business has bad margin. It supports a narrower finding: certain work becomes economically weak under particular delivery conditions while the broader cohort still produces positive direct contribution.
The problem is concentrated, not universal. What is the smallest intervention that tests the diagnosis without destroying what still works?
↓Implement the smallest useful response
What can we change without pretending we already know more than the evidence shows?
Do not rebuild the marketing program. Do not close the territory. Do not eliminate maintenance. Test the delivery mechanism that the investigation actually isolated.
Proposed operating test
Concentrate eligible outer-area maintenance into denser geographic booking windows.
Keep the service area and the maintenance promise intact. Change one operating condition first, then observe comparable work.
Territory, service family, contribution definition, and fulfillment obligation.
Drive minutes per job, direct contribution per job, usable capacity, and membership fulfillment.
That released time becomes cash savings automatically, or that one maintenance visit directly displaces one replacement.
The investigation became broad so the implementation could become narrow. The test changes the suspected mechanism while preserving the parts of the business the evidence says are still valuable.
A test is only useful if we decide in advance what would make us keep it, change it, or stop it.
↓Results are a review gate
Did the intervention actually improve the economics?
No post-change result is shown here. The Process includes the decision rule that would govern the next review once comparable post-change work exists.
The mechanism behaved in the direction the diagnosis predicted.
Inspect ticket economics, duration, parts, or another delivery cost before expanding the change.
Protect the customer promise before declaring the test successful.
Do not defend the original recommendation after the evidence stops supporting it.
Results are not the applause at the end of the case. They are the evidence that determines whether the next decision is to continue, change, or stop.
Inspect the basis
What this case can and cannot show.
The page is designed to make the reasoning traceable without overstating what the records establish.
The evidence status
This case uses real operating records from prior work. The business identity is withheld. It shows the diagnostic path applied to those records without claiming a post-change outcome where one was not measured.
The measurement unit
Requests received April 1–June 30, 2026, followed through August 31. Membership renewal and fulfillment use separately defined cohorts.
The cost boundary
Direct delivery and assigned channel costs. Fixed overhead, mature lifetime value, complete timecards, and a full calendar-period P&L are outside scope.
The data boundary
Aggregate tables summarize the reviewed operating records. Driving time is an allocated operating measure, not a GPS-based Austin traffic measurement. Rounded group figures coexist with ledger totals that retain cents.
Open the operating controls behind the test11 repeatable controls
| Process | Trigger | Accountable role | Required control |
|---|---|---|---|
| Attribution capture | New request | CSR / marketing owner | Preserve acquisition source, request source, booking method, and referral separately. |
| Qualification | New service need | CSR lead | Record fit, address, authority, urgency, and final disposition. |
| Capacity-aware booking | Appointment requested | Dispatcher | Match skill, territory, expected duration, parts, and promised window. |
| Territory scheduling | Next-day planning | Dispatcher / service manager | Cluster elective work without compromising urgent or promised work. |
| Estimate follow-up | Undecided eligible quote | Named advisor | Record next action, deadline, preferred channel, and stop conditions. |
| Discount approval | Nonstandard concession | Service manager | Record reason, eligibility, contribution check, amount, and approver. |
| Parts readiness | Before dispatch | Parts coordinator / technician | Confirm likely requirements and classify recurring stockout causes. |
| Quality closeout | Job complete | Technician / service manager | Save job-specific checks, test results, customer handover, and incomplete items. |
| Membership fulfillment | Service comes due | Membership coordinator | Maintain due-date queue, reserved capacity, completion record, and exceptions. |
| Job-cost closeout | Job or supplier bill complete | Bookkeeper / operations lead | Reconcile time, materials, fees, returns, credits, and missing costs. |
| Management review | Weekly operating meeting | Owner / operations lead | Assign one action owner, a deadline, an exception log, and an outcome check. |
Know who is responsible
Accountability stays with the recommendation.
Responsible for the diagnosis, the agreed work, and the review of what changed.
Your business, your question
What question keeps changing when you follow the work?
Start with the part of the business you cannot clearly explain. The evidence determines how far the investigation needs to go.
Start a diagnosticSending an inquiry does not purchase work or authorize analysis of your records.