Your Customers Are Buying From Someone Else: The Account Penetration Problem

You Won the Account. Now You're Giving Away the Rest.
You fought to win that account. Beat out two competitors, sharpened your pricing, nailed the pitch. Six months later, you're running HVAC maintenance on their 12 buildings. Great.
Meanwhile, another contractor is doing their plumbing. A third handles their electrical. A fourth sells them parts. They're spending $400K a year on mechanical services, and you're capturing $85K of it.
This is the account penetration problem, and it's the single biggest revenue opportunity most contractors ignore. Not because they don't want the work. Because they don't have the visibility to know it exists.
The Three Cross-Sell Gaps
When I was at BuildOps building accounting products alongside contractor teams, three questions kept coming up from account managers. Each one reveals a different cross-sell gap, and together they tell you exactly where you're leaving money.
Gap 1: SA-Only Accounts (No Project Work)
The question: "Show me properties where we have a service agreement but no other work."
These are your most under-penetrated accounts. You're in the building every quarter doing maintenance visits. Your techs know the equipment. The customer trusts you enough to sign an annual contract. And yet, when something breaks or needs replacing, they call someone else.
From the data I've reviewed: SA pull-through revenue (additional repairs, replacements, and upgrades generated during maintenance visits) has a median of about 11%. Top performers hit 50-70%. That means the median contractor is converting maintenance visits into additional revenue at one-fifth the rate of the best operators.
If you have 200 SAs and pull-through is at 11%, moving to 30% doesn't require new customers. It requires your techs to identify work during visits they're already making and your office to follow up on recommendations that are already being generated. We covered the mechanics of this in our service agreement profitability analysis — the pull-through gap is where most of the SA margin improvement lives.
Gap 2: Single-Department Accounts
The question: "Give me a list of all properties where I have sold work and create a table showing where jobs are only for one department."
This is the classic cross-sell problem. You're doing HVAC for a 20-building property management company, and your plumbing division has never touched them. Or you're running plumbing and electrical, but refrigeration goes to a specialist.
The pattern from the data:
| Account Type | Departments Served | Avg Revenue per Account | Retention |
|---|---|---|---|
| Single-department | 1 | $18K-$35K | Lower — easy to replace a single-trade vendor |
| Multi-department | 2-3 | $55K-$90K | Higher — switching costs increase with scope |
| Full-service | 4+ | $100K+ | Highest — you're embedded in operations |
Single-department accounts are your most vulnerable. The customer has no switching cost. They can replace you with any contractor who does HVAC (or plumbing, or whatever your one service line is). But a customer buying HVAC, plumbing, electrical, and parts from you? That's a relationship with real gravity.
The revenue difference is 3-5x. And the retention difference matters even more, because acquiring new customers costs 5-7x more than growing existing ones.
Gap 3: No Parts Sales
The question: "List of customers in the last 90 days where we have sold anything but parts."
This one comes from the parts department, and it reveals a gap most contractors don't think about. You're sending techs to a building, diagnosing issues, recommending repairs, sometimes even specifying the parts needed. Then the customer (or their maintenance staff) buys those parts from a supply house instead of from you.
Parts revenue is high-margin and low-effort when attached to an existing service relationship. The customer is already buying your labor. The tech already knows what parts are needed. The logistics are already in motion. Not capturing the parts sale is leaving margin on the table because nobody asked.
Measuring Account Penetration
You can't fix what you can't see. Here's what an account penetration dashboard looks like:
Metric 1: Services per property. How many distinct service types (HVAC maintenance, plumbing repair, electrical project, etc.) have you delivered to each property in the last 12 months? If the answer is 1 for most properties, you have a penetration problem.
Metric 2: Departments per account. For multi-trade contractors, how many of your service departments have touched each customer? If you offer 4 departments and the average customer uses 1.3, you're capturing a third of the available wallet.
Metric 3: SA vs. non-SA revenue ratio. For each SA customer, what percentage of their total spend with you comes from the agreement itself versus project work, T&M calls, and parts? If the SA is 80%+ of the total, your pull-through is broken.
Metric 4: Revenue per property. Across your customer base, revenue per property ranges from $4K to $132K. Where does each account fall? A $4K property isn't necessarily small. It might be a $50K property where you're only capturing 8% of the spend.
When I build these dashboards for contractors, the reaction is always the same: they can name their top 10 customers by revenue instantly, but they've never seen those accounts broken down by service penetration. The total number masked the gap.
Why Maintenance Visits Are the Best Cross-Sell Trigger
Here's the connection most contractors miss: your service agreement visits aren't just maintenance. They're the most efficient sales channel you have.
Every SA visit puts a trained technician inside the customer's building, in front of their equipment, with their trust already established. No cold call. No proposal competition. No "let me get three bids." The tech is already there, already trusted, already looking at the systems.
The top-performing contractors I've reviewed treat every maintenance visit as a three-part event:
- Perform the contracted maintenance (the reason for the visit)
- Inspect adjacent systems (if you're doing HVAC, look at the plumbing. If you're doing plumbing, note the electrical panel age)
- Document and recommend (photograph issues, log recommendations in the field service system, flag for follow-up)
The third step is where most contractors fall apart. The tech might notice a problem, might even mention it to the building engineer, but nothing gets documented and nobody follows up. The recommendation evaporates.
This is a systems problem, not a people problem. If your field service software doesn't have a recommendation workflow that routes tech observations to your sales or account management team, the cross-sell opportunity dies at the point of observation.
We detailed the economics of this in our pull-through revenue analysis — moving pull-through from 11% to 40% more than triples the revenue from customers you already have, during visits you're already making.
Building the Cross-Sell Dashboard
Here's the practical build. You need four views:
View 1: Property Heat Map. Every property you service, color-coded by number of service types delivered. Green = 3+ departments. Yellow = 2. Red = 1. Sort by total potential (building size, equipment count, or customer total spend). The red cells at the top of the list are your highest-value cross-sell targets.
View 2: SA-Only Properties. Filter to properties with an active service agreement but zero project or T&M revenue in the last 12 months. This is your immediate action list. Your techs are in these buildings regularly. If they're not generating pull-through, either the agreements are too light-touch or the recommendation process is broken.
View 3: Department Gap Matrix. Rows = customers. Columns = your service departments (HVAC, plumbing, electrical, refrigeration, controls, parts). Check marks where you've sold work. Blank cells are opportunities. Sort by customer revenue so you focus on the largest accounts first.
View 4: 90-Day Parts Gap. Customers with labor revenue but no parts revenue in the last 90 days. These are customers where you're doing the work but not capturing the parts margin. Simple fix, immediate margin improvement.
If you're running QuickBooks and a field service platform, this data exists. It's just not assembled in a way that makes the gaps visible. That assembly is exactly what a fractional CFO builds — taking the data you already generate and turning it into decisions you're not currently making.
The Concentration Connection
Here's why account penetration matters beyond just revenue growth. From our customer profitability analysis, the median contractor gets 69% of revenue from their top 5 customers. That's dangerous concentration.
But the question nobody asks is: are those top 5 customers fully penetrated?
If your top customer represents 25% of revenue and you're only serving one department, the growth path isn't finding customer #6. It's expanding customer #1 from one department to three. You double or triple that account's revenue without the acquisition cost, without the relationship-building phase, without the risk of an unknown customer.
Deep account penetration also creates defensibility. A customer buying one service from you can switch vendors tomorrow. A customer buying four services across 12 properties, with service agreements, parts supply, and a relationship manager who knows every building? That customer isn't going anywhere.
This is the same dynamic we see with service agreement renewals — multi-service customers renew at significantly higher rates than single-service customers. The relationship compounds.
When Account Penetration Isn't the Priority
If you have fewer than 50 customers, you probably know each account intimately. The dashboard is useful for tracking, but you don't need a system to tell you that Building X only buys HVAC from you.
If you're a single-trade contractor (HVAC only, plumbing only), the cross-department play doesn't apply. Your penetration metric is services per property within your trade — maintenance, repair, replacement, controls — not cross-trade.
If your quote conversion rate is below 30%, the bottleneck isn't identifying cross-sell opportunities. It's closing the ones you already have. Fix the sales process first, then add more opportunities to the top of the funnel.
The Bottom Line
Your existing customers are buying services you offer from contractors who aren't you. Not because they prefer someone else. Because nobody asked, nobody noticed, and nobody followed up.
The three gaps — SA-only accounts with no project work, single-department relationships, and missing parts revenue — are measurable. Build the dashboard, sort by potential value, and give your account managers a cross-sell target list. The revenue is sitting in buildings where you already have the keys.
Q: Can Level build an account penetration dashboard for my business? A: Yes. We pull your QuickBooks and field service data, map every customer by property, department, and service type, and identify the cross-sell gaps. The output is a prioritized target list your account managers can act on immediately. Most contractors find 20-40% revenue upside in their existing customer base. The first analysis is free.
Q: How do I get techs to cross-sell during maintenance visits? A: Don't ask them to sell. Ask them to document. The tech's job is to identify and photograph issues in adjacent systems during every SA visit. The account manager's job is to follow up with the customer. Separate the observation from the sales conversation. Incentivize documentation (not revenue), and the pull-through will follow.
Q: What's a good account penetration benchmark? A: For multi-trade contractors, 2.5+ departments per top-20 customer is strong. Below 1.5 means you're under-penetrated. For SA pull-through specifically, 30%+ of total customer revenue coming from non-SA work is the target. The median is around 11%, so there's usually significant room to improve.
About the author
Sam Young
Founder of Level. Former PE investor and investment banker. Built AI-powered accounting products at BuildOps — the largest field management software for commercial contractors — benchmarking financial data across 2,200+ contractors in HVAC, plumbing, electrical, and mechanical trades. Operations analytics work with Astra Service Partners, CIVC Partners (American Refrigeration), and other PE-backed portfolios in the trades. Co-founded Overline, where his team has analyzed over $1B in real estate assets. Stanford MBA.
LinkedIn