Your Customers Are Buying From Someone Else: The Account Penetration Problem
Business Growth
Level's pull-through median is 8.7% and P75 is 29.6%, both relative to annual agreement revenue. The distribution does not explain the gap. Start by checking whether documented recommendations reach an accountable follow-up owner.
Sam Yang, Stanford MBA, ex-CFO across trades, SaaS, services
You Won the Account. Now You're Giving Away the Rest.
Picture a fictional account. 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
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: Service Agreement-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.
Level's proprietary contractor benchmark research defines annual pull-through as additional non-agreement revenue from agreement customers divided by annual agreement revenue. Across 386 eligible companies, the median is 8.7%, P75 is 29.6% and P90 is 93.4%. It includes relationship-driven project work, not only repairs discovered on maintenance visits. P75 is a comparison point, not a proven attainable target.
Fictional sensitivity example: a $500K agreement book at 8.7% produces $43.5K/year of additional revenue; at 29.6%, it produces $148K/year, a $104.5K/year difference if the higher rate is achievable. Total agreement-customer revenue would move from $543.5K to $648K, about 19.2%, not triple. This one-year arithmetic does not establish a 3-5x lifetime-value outcome over 5-10 years; testing that scenario requires retained cohort revenue, retention, acquisition cost and full servicing cost.
For a hypothetical 200-agreement book, a 9%-to-30% sensitivity holds customer count constant. It does not establish that existing customers need that work or will buy it. Check documented needs, permission to inspect, recommendation follow-up and capacity before treating the difference as an opportunity. We covered the mechanics of this in our service agreement profitability analysis, the pull-through gap is one place to investigate additional agreement-customer revenue; agreement margin is a separate measure affected by pricing, covered work, cost allocation and customer mix.
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.
Illustrative account-planning ranges, not measured Level averages or retention results. Replace these assumptions with your own account histories:
| Account Type | Departments Served | Illustrative Annual Revenue per Account | Retention Hypothesis To Test |
|---|---|---|---|
| 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 |
A single-department account can still have meaningful contract and switching constraints. Review them before assuming the customer can readily replace you. But a customer buying HVAC, plumbing, electrical, and parts from you? That's a relationship with real gravity.
If you test a 3-5x lifetime-revenue scenario over 5-10 years, keep it separate from annual pull-through. Neither that multiple nor a 5-7x acquisition-cost ratio is established by this table. Measure customer retention, actual acquisition expense, incremental selling cost and service margin before choosing expansion over new-account acquisition.
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 can add gross profit dollars to an existing relationship, but their realized margin and effort need separate evidence. The customer is already buying your labor. The tech already knows what parts are needed. The logistics are already in motion. A missing parts sale is a question to investigate: the customer may supply parts, the contract may exclude them, or warranty and logistics costs may make the sale unattractive.
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, roughly a third of your department labels are represented. That is not a measured share of customer wallet: some departments may be irrelevant, inaccessible or covered by another contract.
Metric 3: Service Agreement 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? For the published benchmark, divide additional non-agreement revenue by agreement revenue. If the agreement is 80% of total revenue, pull-through is 20/80 = 25%, above the 8.7% median; it is not automatically broken. P75 of 29.6% pull-through corresponds to about 22.8% of total revenue, a different denominator.
Metric 4: Revenue per property. As a fictional screening range, compare properties generating $4K versus $132K per year. 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, a recurring qualitative reaction is: 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.
Free benchmark review
See how your operating numbers benchmark.
Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.
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, a fictional move from 9% to 40% pull-through would make additional revenue about 4.4 times as large, while total agreement-customer revenue rises from 1.09 to 1.40 times the agreement book, about 28%. It is a sensitivity, not a forecast or proof that maintenance visits cause the increase.
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: Service Agreement-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 are not generating pull-through, check eligible demand, scope, follow-up, customer procurement and capacity before diagnosing the cause.
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. Investigate scope, customer-supplied materials and complete parts cost before predicting any margin improvement.
QuickBooks and the field platform may provide parts of this evidence. Confirm stable customer/property IDs, department fields, permissions and complete date coverage before promising the four views. Where those records are complete and traceable, an assembled view can make the questions 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, top-five customer concentration has a median of 69% across 464 eligible companies. That describes concentration, not a universal risk threshold.
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. Expansion may add revenue with less initial relationship-building, but it still has selling and delivery costs. Model gross profit and capacity, and notice that expanding your largest account can increase concentration risk.
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 depth may help retention, but it does not remove switching, contract or credit risk.
This is the same dynamic we see with service agreement renewals, compare renewal rates for matched single-service and multi-service cohorts before attributing retention to breadth. Customer mix and contract scope can differ.
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%, check the quote population, customer response and capacity before deciding whether sales conversion is the first constraint. A below-30% result alone does not identify the cause.
The Bottom Line
Your existing customers are buying services you offer from contractors who aren't you. Possible explanations include fit, contract scope, procurement policy, capacity or an unreviewed recommendation. A blank sales cell does not establish which explanation applies.
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 assess the authorized QuickBooks and field-service records, map customers by property, department and service type where the source supports those identities, and identify unresolved gaps. The output is a prioritized investigation list. A 20-40% revenue-upside assumption is not an observed client result or promise; opportunity size depends on documented demand, complete costs and capacity. 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. Test whether documented, authorized recommendations reach follow-up and lead to supported sales. Do not assume an incentive causes pull-through.
Q: What's a good account penetration benchmark? A: For multi-trade accounts, 2.5 departments per top-20 customer versus 1.5 can be a planning comparison, not a measured strength threshold. Check which departments each customer actually needs. Annual agreement pull-through has a median of 8.7%, P75 of 29.6% and P90 of 93.4%, all measured relative to agreement revenue, not total customer revenue. P75 is a comparison point; P90 includes relationship-driven project work, not just visit-based upsells. These distributions do not establish achievable improvement. See our full add-on sales benchmarks for pull-through rates by trade, SA book size, and tech upsell metrics.
Get the next one
Want next week's benchmark in your inbox?
One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.
Related reads
Business Growth
Buying a Contractor: Who Funds the Unfinished Jobs?
Buying a contractor? Check who funds unfinished jobs, inherits customer cash and pays old commitments. Use this closing-to-cash checklist.
Business Growth
Fire Your Fractional CFO If Nothing Changes
If nothing changes between CFO meetings, you may be paying for commentary. Use this practical test for ownership, action, and measurable progress.
Business Growth
Why a Fractional CFO Won't Fix Your Business
A fractional CFO cannot fix unreliable books, broken finance workflows, or decisions an owner will not make. Here is what must come first.

About the author
Sam Yang
Founder & CEO
Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.
LinkedIn