White Space Analysis for B2B Sales: Find the Accounts and Products You Are Not Selling Yet

Publish date: Oct 30, 2026
White space analysis finds the revenue you are not asking for. It covers two gaps: products your current accounts do not buy yet, and accounts that fit your ideal customer but sit outside your CRM. You lay accounts against products in a grid and mark every cell as owned, open, white space or not a fit. Then you work the white cells in score order.
Many ranking guides explain the grid. None tells you to dedupe the CRM first, or how to find the accounts that are not in it. This guide covers both, with Spona's own numbers: six 100-account tests against incumbent data tools and 50 searches that excluded the customer's CRM. Spelled "whitespace analysis" or "white space analysis", the method is the same.
Get thousands of leads in 4 minutes.
Stop stitching tools together.
Start with verified sales data, delivered in minutes.
No contracts · No setup · No onboarding
What is white space analysis in sales?
Arpedio's definition is the tightest: "the structured practice of identifying revenue opportunities that exist inside accounts you've already won."
Prolifiq compares an account's current product penetration against what it could buy. Zendesk widens the lens to a company's products, services and markets. DemandFarm keeps it practical: digging through the sales data for gaps.
So what does whitespace mean in sales? Picture a grid with your accounts down the side and your products across the top. A filled cell is a product that account buys, and an empty cell is white space. The analysis decides which empty cells deserve a rep's time.
The term has other lives. Patent analysts use it for gaps in a technology, consumer brands for an unmet market need, and designers for the margins. This guide stays with sales.
Product white space and account white space
Product white space sits inside accounts you already have. A customer buys your platform but not the analytics add-on, or one division runs your software and its sister division does not. The data lives in your CRM and your invoices, and the play is a cross-sell or an upsell.
Account white space is the market side: companies that match your ideal customer profile and buy nothing from you. Most of them are not in your CRM at all. The data has to come from outside, and the play is a new logo. Most guides map only the first kind, and the second is usually larger.

Whitespace vs greenfield: where the line sits
Arpedio's FAQ keeps white space inside accounts you already serve and puts green space on the other side: "green space refers to net-new accounts you don't serve at all." It adds that the boundary has no standard. Some teams use greenfield for the same idea, and others for entirely new markets. Both kinds go in one matrix here, because a rep's quarter holds both.
How to do white space analysis: the account-by-product matrix
Start with the rows. DemandFarm's matrix puts buying centers down the side: divisions or functions, sometimes split by region. A buying center is a group that signs its own purchase orders. The finance team that bought your reporting tool is a different buyer from the operations team next door.
Then the columns: every product, tier or service you sell as a separate line item. Fill the cells from billing data and the pipeline. Finally, add a second block of rows for accounts that match your ICP and are not in the CRM.
White space analysis template: copy this table
| Account and buying center | Product A | Product B | Product C | Product D | Next play | Owner |
| Account 1, finance | Owned | White space | Open | Not a fit | Cross-sell B after C closes | Account manager |
| Account 1, operations | Owned | Owned | White space | White space | Upsell C at renewal | Account manager |
| Account 2, head office | Open | White space | Not a fit | White space | Close A, then introduce B | Account executive |
| ICP account, not in CRM | White space | White space | White space | Not a fit | New logo: A first | SDR |
Build it in Excel or Google Sheets, one tab per segment. A COUNTIF on "White space" per product column gives the gap count per product. The same count on the net-new block gives the account white space count. If you have no ICP yet, Spona's ideal customer profile template covers the fields.
Four cell codes for white space mapping
Owned means a live contract or an invoice in the past twelve months. Open means an opportunity in the pipeline. White space means no deal, no opportunity, and a product that fits this buying center. Not a fit means the product does not work here, because of size, region, regulation or the technical stack.
Prolifiq notes that many teams color cells green for active, yellow for in progress, red for churned, and blank for never sold. Arpedio names four states, Expand, Maintain, Target and White space. The words matter less than the fourth code: without "Not a fit", every blank looks like opportunity.
Churned products are white space with a history. Mark the cell White space and write the churn reason in the Next play column.
Why dedupe the CRM before white space mapping?
Because the matrix counts accounts, and a duplicate account creates white space that does not exist. One record shows the account owns Product A. Its twin shows nothing, so the twin's row fills with white cells, and a rep pitches a product the customer already pays for.
Duplicates are common. Validity's CRM report cites a Salesforce study in which the average customer's contact database holds more than 25 percent duplicates. In Validity's own survey, 53% of those asked named duplicate records as a data-quality issue. It covered 631 CRM users and stakeholders in the US, the UK and Australia.
The cost shows up in revenue. In the same survey, 31% of admins said poor-quality data costs their company at least 20 percent of annual revenue.
Your CRM gives you a head start, not a fix. HubSpot automatically deduplicates contacts by email address and companies by domain name. Salesforce's standard duplicate rules stop at single-field comparisons, with a cap of five active rules per object, and exact match misses the typos.
For the matrix, match on root domain first, then on a normalized company name. Then finish the data hygiene pass: a product field on every closed deal and an owner on every account.
Which whitespace accounts are missing from your CRM?
The CRM cannot fill the net-new block, by definition. You need a list of companies that match your ICP, minus the ones you already have. The remainder is your account white space: the white space market for your product, counted company by company instead of in dollars.
Measure your overlap share
Overlap share is the number of ICP-matched accounts already in your CRM divided by all ICP-matched accounts. As an illustration, take 800 matched accounts with 200 of them in the CRM. The overlap is 25%, and the other 600 are whitespace accounts.
Spona's product analytics show this in practice. In a sample of 1,000 Spona searches, 50 applied an exclusion list of the customer's existing CRM accounts. That is 5% of searches. In those searches, the median share of matched accounts removed because they were already in the CRM was 28.0%.
The middle half of searches sat between 19.0% and 41.5%. The lowest search lost 5% of its matches to the CRM exclusion and the highest lost 71%. Each search counts once in these figures, whatever its size.

Two caveats. The 50 searches come from teams that chose to exclude their CRM. They say nothing about other teams, or about how the retained accounts converted.
One Spona customer's result uses a related metric: net-new accounts out of reviewed matched accounts. The customer, a software company with 70 staff in France, reviewed 1,000 matched prospect records after exclusions in each of two four-week periods. In the first period, 580 of the 1,000 reviewed matched accounts were net new. In the second, 820 of 1,000 were.
The change is descriptive; two periods from one customer do not prove what caused it.
Run a 100-account test on a new data source
Before you buy a data source for the net-new block, test it on accounts you can check. Spona runs this test for prospects against their incumbent tool; it works against any vendor.
- Pick the same 100 target accounts for both sources. Dedupe them against your CRM and count how many it already holds.
- Pull every contact the incumbent returns and every contact the new source returns.
- Dedupe the two exports against each other and against the CRM, on email address and LinkedIn URL.
- Count usable records: a named decision maker with a verified work email or a direct dial.
- Count incremental records: usable records found in neither the CRM nor the incumbent export.
- Divide what you paid for the new source by its usable records.
The table shows six tests Spona ran this way, each on 100 accounts. The incremental share below is incremental contacts divided by Spona's verified contacts, not by accounts.
| Incumbent tool | Of 100 accounts, already in CRM | Incumbent contacts | Spona verified contacts | Incremental verified contacts | Incremental share | Cost per usable record | Outcome |
| ZoomInfo | 66 | 268 | 392 | 146 | 37.2% | $0.38 | Kept incumbent; added Spona |
| ZoomInfo | 71 | 301 | 421 | 153 | 36.3% | $0.42 | Planned seat reduction |
| Apollo | 58 | 214 | 355 | 158 | 44.5% | $0.36 | Bought Spona sample |
| Cognism | 76 | 285 | 406 | 142 | 35.0% | $0.47 | Kept both |
| Lusha | 62 | 242 | 378 | 160 | 42.3% | $0.40 | Expanded Spona pilot |
| ZoomInfo | 82 | 325 | 448 | 151 | 33.7% | $0.44 | No decision; renewal later |
Across the six tests, the median was 399 verified contacts and 152 incremental contacts. Prep took a median of 9.5 minutes, and the median cost per usable record was $0.41. The Spona side of each test cost between $127.80 and $197.12.
Read the table with its limits. The costs exclude labour and the incumbent subscription. The six account pools may overlap, so do not add the tests into one total. Three tools appear once each, and "verified" says nothing about replies or revenue.
One number matters most for white space. In every test, the CRM already held at least 58 of the 100 target accounts. In one test it held 82. The incremental counts are contacts, not accounts.
White space analysis example: eight accounts, four products
The grid below is an illustration, not Spona data. A software vendor sells four products: Platform, Analytics, Integrations and a Support plan. Six accounts are customers, and two match the ICP without being in the CRM.
| Account | Platform | Analytics | Integrations | Support plan |
| Account 1 (customer) | Owned | Owned | Open | White space |
| Account 2 (customer) | Owned | White space | Open | Not a fit |
| Account 3 (customer) | Owned | Owned | Owned | White space |
| Account 4 (customer) | Owned | White space | Not a fit | Owned |
| Account 5 (customer) | Owned | Open | White space | Not a fit |
| Account 6 (customer) | Owned | Owned | Owned | Open |
| Account 7 (ICP, not in CRM) | White space | White space | Not a fit | White space |
| Account 8 (ICP, not in CRM) | White space | White space | White space | Not a fit |
The grid has 32 cells. Twelve carry Owned and four carry Open. Eleven are white space, and five are not a fit. Now score the eleven white cells on fit, deal size and timing, each from 0 to 3, with the rubric in the next section.
| White space cell | Fit | Deal size | Timing | Total | Play |
| Account 7, Platform | 3 | 3 | 3 | 9 | New logo; hiring three sales roles |
| Account 3, Support plan | 3 | 1 | 3 | 7 | Upsell at the renewal in 60 days |
| Account 4, Analytics | 2 | 2 | 3 | 7 | Win-back; a new VP replaced the champion who churned it |
| Account 7, Analytics | 1 | 2 | 3 | 6 | After Platform closes |
| Account 8, Platform | 2 | 2 | 2 | 6 | New logo; new office opened |
| Account 2, Analytics | 3 | 2 | 0 | 5 | Nurture; no signal yet |
| Account 5, Integrations | 2 | 2 | 1 | 5 | Nurture; ask at the next review |
| Account 7, Support plan | 1 | 1 | 3 | 5 | After Platform closes |
| Account 1, Support plan | 2 | 1 | 1 | 4 | Park |
| Account 8, Analytics | 1 | 1 | 2 | 4 | After Platform closes |
| Account 8, Integrations | 1 | 1 | 2 | 4 | After Platform closes |
Three cells score 7 or more, and they get this quarter. Account 7's platform deal is the biggest and the warmest. Account 3's support plan is small but lands at a renewal, the cheapest conversation in sales. Account 4's analytics cell is a churned product with a new decision maker, the win-back case from the cell codes above.
Eight white cells remain: four wait for Platform to close, and four wait for a stronger signal.
Which white space opportunities should you work first?
A white space opportunity is a white cell with a plausible route to revenue inside your planning period. Not every white cell qualifies. Prolifiq ranks cells by deal size, win probability, strategic value and time to close, but gives no weights. Arpedio sorts them into Pursue, Park or Pass, and every Pursue cell gets a named owner.
Neither sets a threshold. The rubric below does.
Score each white space cell
Score three factors from 0 to 3 and add them up. This is a suggested rubric, not a benchmark.
| Score | Fit | Deal size | Timing signal |
| 0 | Product cannot be used by this buying center | Below your minimum deal | No signal |
| 1 | Usable with workarounds | Below your median deal | One weak signal, such as content downloads |
| 2 | Same use case as a similar buying center you serve | Around your median deal | One strong signal: hiring for the role that uses it, funding, a new location |
| 3 | Same use case as a product this buying center already owns, or an ICP match on every field | Above your median, or multi-year | A renewal or budget event inside 90 days, plus a strong signal |
A total of 7 to 9 is Pursue: it gets an owner, a first meeting date and a place in this quarter's plan. A total of 4 to 6 is Park, reviewed when a signal appears. A total of 0 to 3 is Pass, and usually a "Not a fit" in disguise. Spona's guide to B2B buying signals lists the signals that earn the top two timing scores.
Match the play: cross-sell, upsell or new logo
A cross-sell is a white cell beside an owned cell in the same buying center: they have Platform, they lack Analytics. An upsell is a white cell in a higher tier of a product they already own. Spona's post on cross-sell vs upsell covers the difference. Both belong to the account manager, because the buyer already has your vendor form on file.
A new logo is any white cell in the net-new block. It belongs to the SDR team, and the entry product comes first. The rest of the row waits until the first contract closes.
The payoff for the first two plays shows in retention data. SaaS Capital's survey of private SaaS companies puts median net revenue retention at 102%. That is for contract values of $25,000 to $50,000. The top quartile reaches 111% and the bottom quartile 97%, and the gap between them is churn and expansion together.
How often should you redo a white space analysis?
Redo the whole matrix every quarter, review Pursue cells monthly, and refresh the net-new block whenever your data source adds matches. Arpedio says quarterly reviews work for most accounts, and strategic accounts in fast-moving categories may warrant monthly. Prolifiq says at least quarterly for strategic accounts. Neither gives evidence, so here is some.
Cells go stale because people move. The BLS puts the median tenure of US wage and salary workers with their current employer at 4.1 years. For workers aged 25 to 34, it is three years. The champion behind an owned cell has a real chance of leaving within a year.
Rows go stale because companies appear. The US Census Bureau counts more than half a million business applications a month, seasonally adjusted. In the UK, Companies House recorded 192,287 incorporations in one quarter against 156,515 companies struck off. The register grew by 0.7% to 5,516,377 companies, and none of the new ones is in your net-new block yet.
Many admins see the decay speeding up. In Validity's survey, 48% of admins had noticed an acceleration in customer data decay over the previous twelve months. Spona's post on data decay covers the causes. For the matrix, the fix is a date on every cell: who last confirmed it, and when.
Where Spona fits in white space analysis, and where it does not
Spona fits the net-new block. You describe your ideal customer in a chat. The AI mines 40+ sources, verifies every lead and delivers a scored list in about 4 minutes. You pay per lead, in credits, and every search starts with a free sample.
The exclusion list is the white space feature. On every plan, including the free one, you can upload your CRM accounts as a blacklist. The search then leaves out the accounts on that list, which is the pattern behind the 50 searches above.
Costs come from the pricing page. Each new search session costs a one-time 1,000 credits. That is $8 to $10, by plan.
A lead then costs $0.48 to $2.00 on Deep Search. On Standard Search with email only it costs $0.024 to $0.07. Bulk Search runs $0.008 to $0.09 a lead.
The Free plan carries 3,000 one-time credits. As an estimate, a 100-account test with three decision makers per account is 300 leads. On Deep Search that is $144 to $600 plus one session. On Standard Search with email only it is $7.20 to $21, plus one session.
Two more features map onto the matrix. Signal filters on Pro and above cover funding, hiring, technology, first-seen and new-location, the signals behind the top timing scores. New leads that match a finished search appear every week at the same price per lead. That refreshes the net-new block between quarterly rebuilds.
For product white space inside current accounts, Spona can enrich your own list instead. A verified email costs 5 credits. That is $0.04 to $0.05, by plan.
Now the limits. Spona cannot see what your customers bought, so the Owned, Open and Not a fit cells come from your CRM and billing data. Spona has no account-plan matrix. Arpedio and Prolifiq build theirs inside Salesforce, and a key-account team that lives there will get more from one of them.
HubSpot is Spona's only native CRM integration, and Salesforce users move CSV files, which every paid plan exports. Credits expire at the start of each billing period, so size each search to the month you will work it. Spona has announced a Signal Search type of its own, but it is not available yet.
Get thousands of leads in 4 minutes.
Stop stitching tools together.
Start with verified sales data, delivered in minutes.
No contracts · No setup · No onboarding
White space analysis FAQ
What is white space in business?
In strategy, Mark Johnson wrote a book on it, Seizing the White Space. He uses the term for market opportunities a company can only pursue with a different business model. Bluevine's small-business version calls it a method for revealing innovation and growth opportunities in your market. The sales meaning is narrower: the empty cells in an account-by-product grid.
What is white space selling?
White space selling is working the empty cells of accounts you already have. That means a cross-sell into a buying center that owns a neighbouring product, or an upsell into a higher tier. The buyer already has your contract and a signed vendor form, so score the cells and call the renewal first.
Is white space analysis the same as TAM?
No. TAM, SAM and SOM size a market in revenue, from the whole addressable market down to the share you can win. White space analysis names the specific accounts and products you are not selling to yet. Spona's guide to TAM, SAM and SOM covers the sizing side.
Can you do white space analysis in Salesforce?
Yes. A report of accounts by opportunity product line gives you the owned and open cells. Arpedio and Prolifiq build their matrices inside Salesforce. Dedupe accounts first, because the standard duplicate rules compare single fields and stop at five active rules per object.
Whitespace or white space: which spelling is right?
Both are in use. Arpedio, Zendesk and Prolifiq write "white space", and searchers type "whitespace analysis" often enough to show up in keyword data. Pick one spelling for your matrix and CRM fields, so a filter on the cell code finds every row.
Share this article
GET FREE LEADS





