Size a target market and see how much of it your CRM already owns
Define a target segment, see how big the market really is, then find out what share of it you already track and exactly where the whitespace sits.
Build me a market segment planner that our RevOps lead and our territory owners open when they want to know how big a target market is and how much of it we already have in the CRM. The page leads with the coverage split, not with a list of rows. It uses CompanyEnrich for market data, HubSpot for what we already track, and Google Sheets for territory planning exports.
The left side of the page is a segment definition panel with firmographic filters: industry, employee band, revenue band, country or region, keywords, and funding. Populate the region choices from the CompanyEnrich Get Regions operation and the keyword field from CompanyEnrich Autocomplete Keywords, so the user picks real filter values instead of typing free text that returns nothing. Employee band and revenue band are the enum ranges CompanyEnrich accepts, for example 51 to 200 employees or 1m to 10m revenue, shown as readable labels.
Sizing and listing are two separate actions and the app must keep them separate. When the user clicks Size this segment, call CompanyEnrich Search Companies with the current filters and the smallest page size the endpoint allows, and read the reported total item count from the response. That gives the total market size for roughly one company's worth of credit. Do not page through results as part of sizing, and do not re-size automatically on every filter keystroke.
As soon as the segment is sized, run HubSpot Search Companies over the same segment to work out coverage. Pull the CRM companies back with domain, name, industry, employee count, annual revenue, country, lifecycle stage and owner, paging with the cursor until you have the matching set. Then re-test every CRM record against the full segment definition using its own properties, because the HubSpot filters will not map one to one onto the CompanyEnrich filters and a record can come back on a loose country filter while failing the employee band.
Show a summary bar across the top with four numbers: total market size, accounts we already track inside the segment, coverage as a percentage of market size, and estimated whitespace. Under it put three tabs. Tracked in segment lists the CRM accounts that pass the segment test. Tracked outside segment lists CRM accounts that came back from the CRM search but fail one or more filters, and each row should name the filter it failed so the user can tell a near miss from a bad fit. Whitespace lists companies from the CompanyEnrich results whose normalized domain is not in the CRM at all.
The whitespace and market result lists only fill in when the user asks for them. Put a Load companies button on the results view that pages CompanyEnrich Search Companies one page at a time, states how many credits the next page will cost before it runs, and never auto-advances. Page number multiplied by page size cannot exceed 10,000 on that endpoint, so stop offering further pages at that ceiling and say so plainly. Label the tab honestly: the whitespace tab shows only the companies loaded so far, while the whitespace figure in the summary bar is derived from the reported market size, and the two must never be presented as the same number.
Match strictly on normalized domain and nothing else, so the coverage math stays honest. Normalize by lowercasing, stripping the scheme, stripping a leading www, and dropping any path, query string, port or trailing dot so only the host remains. Apply the identical normalization to the CompanyEnrich domain and to the HubSpot domain or website property. Dedupe within each side first, so a CRM holding three records for the same domain counts as one tracked account, and surface that duplicate count somewhere small rather than collapsing it silently. A market company with no usable domain cannot be matched, so hold those in a separate unmatched count instead of calling them whitespace.
Let the user save a segment under a name, and persist saved segments per user so each territory owner keeps their own set. Save the filter definition plus a snapshot of the last market size, tracked count, coverage percentage, and when it was last sized. A compare view puts saved segments side by side as rows with their coverage percentages, so someone can see at a glance that we own 34 percent of German mid-market manufacturing and 6 percent of the Nordics. Let the user re-size any saved segment on demand, which refreshes that snapshot.
From the whitespace tab the user can select rows and push them into the CRM with HubSpot Create Company, mapping name, domain, industry, country, employee count and revenue onto company properties and tagging the record with the segment name so the origin stays traceable. Re-check the normalized domain immediately before creating so nothing gets duplicated, and disable rows already created in this session. Separately, a Send whitespace to sheet action writes the whole loaded whitespace list to a spreadsheet using Google Sheets Append Values, asking for the spreadsheet and tab, and appending one row per company with domain, name, industry, employees, revenue, country and the segment name.
Two rules to hold throughout. Never spend CompanyEnrich credits without a user action that clearly states what it will cost. And never inflate coverage: if the CRM search hits its result ceiling, or a segment filter cannot be expressed in CRM properties, say so on the page rather than quietly reporting a number that reads better than reality.
What does this prompt do?
- Build a segment from industry, employee size, revenue, country or region, keywords and funding, and get the total market size before you spend anything on pulling a list.
- Split that market into three groups: accounts you already track, accounts you track that fall outside the segment, and companies you have never touched.
- Save segments by name and set them side by side so you can compare coverage percentages across territories.
- Add the whitespace accounts you want straight into your CRM, or send the whole whitespace list to a spreadsheet for territory planning.
What do I need to use this?
- A CompanyEnrich account with credits available for company search
- A HubSpot login that can view and create companies
- A Google account and a spreadsheet you can write to, if you want the whitespace export
- Company records in your CRM with a website or domain filled in, since every match is made on domain
How can I customize it?
- Change which filters lead the panel, for example anchor on region and employee band if that is how your territories are cut
- Adjust how many companies each page of results pulls, so you control what a browse costs
- Decide which fields get written when a whitespace account is added to the CRM, and which columns land in the spreadsheet export
FAQs
Does checking the market size use up my data credits?
How does it decide an account is already in our CRM?
Will this work with a free HubSpot account?
Can two territory owners use it at the same time without stepping on each other?
What happens to companies in the market list that have no website?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
Stop guessing how much of your market you already own.
Size any segment, see your real coverage, and work the whitespace from one screen instead of another territory spreadsheet.