How to Build an ICP and Persona Model from HubSpot Exports
The right question is not “what industries do we like?” It is “which company segments win, renew, and close efficiently, and which buyer functions show up in those deals?” To answer that, work from staged HubSpot exports, split the cohorts, normalize the buyer data, and score the segments from actual results.
Published April 3, 2026 • Based on real implementation patterns
This guide is based on real HubSpot export-driven analysis work using deal history, company data, renewal cohorts, and buyer-title rollups. Client-specific names and slides are removed; the reusable analysis pattern is what matters.
Short answer
Build the model from cohorts and staged exports, not from anecdotes and not from one dashboard tab.
- Split new logo, expansion, and renewal cohorts before you analyze anything.
- Build the analysis in exports or staged tables, not only in HubSpot reports.
- Normalize industry, company-size, and buyer-title bands before scoring segments.
- Look at win rate, deal value, sales cycle, and retention together instead of optimizing for a single metric.
- Treat channel as context, not as the ICP itself.
What breaks a naive HubSpot analysis
Most teams have enough data to do this. They just do not have it shaped correctly.
Mixed deal cohorts
If new logo, expansion, and renewal deals are all analyzed together, the resulting ICP is blurry and the persona story collapses into averages.
Portal views are not an analysis layer
HubSpot can store the data, but serious segmentation work usually needs staged exports so you can join deals, companies, source fields, and external overlays cleanly.
Buyer titles are too messy out of the box
Title strings rarely line up cleanly. Without function and seniority rollups, persona analysis turns into anecdote instead of pattern.
Engagement history gets truncated fast
In large portals, naive interaction pulls or incomplete associations bias the analysis toward recent activity and better-maintained deals.
The datasets you actually need
The analysis gets better when you separate the job into a few clean staged tables.
Opportunity export
Deal ID, company ID, created date, close date, outcome, amount, source fields, product or deal type, industry, revenue band, employee band, and loss reason.
Company export
Company domain, industry, employee count, revenue, geography, lifecycle stage, and any system or market attributes you can stage reliably.
Renewal cohort
Renewal and retention data should sit beside new-logo data, not inside it. The retention pattern is useful, but it answers a different question.
Buyer-title layer
Titles need to be rolled up into functions and seniority bands before you can say anything defensible about the buying committee.
Source and campaign overlays
Channel and first-source fields matter, but they should be treated as acquisition context rather than as ICP definitions by themselves.
Market overlays
External firmographic or market lists can strengthen the segment map once the CRM foundation is clean enough to join against them.
The analysis contract
Do not let the CRM shape the question for you. Publish the analysis contract first.
staged exports -> normalized company bands -> normalized buyer roles -> cohort-level scoring -> target map
cohorts:
- new logo
- expansion
- renewal
dimensions:
- industry / vertical
- employee or revenue band
- buyer function
- buyer seniority
- source context
outputs:
- win rate
- average deal value
- sales cycle
- renewal / retention signal
- confidence by segmentWhy this works better
- New-logo and renewal patterns stop contaminating each other.
- Buyer committees become visible once title strings are normalized.
- HubSpot source and company data become inputs to a real model instead of isolated fields.
- The output becomes a target map, not just a slide deck of observations.
What the output should look like
A useful ICP project ends with a targeting model the GTM team can actually use.
ICP segment matrix
Industry, size, and firmographic combinations scored by volume, win rate, economics, and retention quality.
Buyer function model
A normalized view of who shows up in deals: sourcing, procurement, supplier diversity, finance, ESG, operations, and seniority mix.
Committee pattern readout
Which combinations of buyers tend to appear in wins, slow deals down, or show up more in renewals than in new-logo motion.
Actionable GTM decisions
A short list of target segments, segments to de-prioritize, and the buyer-language implications for outbound and demand gen.
Failure modes to avoid
Most bad ICP work is not a math problem. It is a cohorting and normalization problem.
Using closed-won only
If you only study wins, you build a flattering story instead of an ICP. Losses and stalled deals are part of the signal.
Blending new logo and renewals
Renewals tell you who stays. New-logo tells you who buys first. Combining them too early makes both analyses worse.
Treating raw titles as personas
“Senior Manager Strategic Sourcing” and “Director of Procurement” should not sit in different persona buckets just because the strings are different.
Over-trusting source fields
Source helps explain how the deal arrived. It does not define the company profile you should target next.
Ignoring data confidence
Sparse associations, incomplete buyer logging, or thin cohort counts need to show up in the analysis instead of being hidden behind polished slides.
Implementation checklist
This is the order that keeps the analysis honest and repeatable.
Separate the cohorts first
Create explicit new-logo, expansion, and renewal slices before you score segments or analyze personas.
Stage the core exports outside HubSpot
Pull opportunities, companies, and the supporting context into a staged analysis layer so you can join, clean, and group them reliably.
Normalize the dimensions
Roll company size, revenue bands, industry, and buyer titles into a usable set of categories before you compute segment outcomes.
Score segments on multiple measures
Look at win rate, ACV or ARR, sales cycle, and retention or renewal quality together instead of optimizing for one number.
Write the persona readout from the data
Summarize which functions and seniority levels show up in wins, which appear in renewals, and where committees differ by segment.
Publish a target map, not just analysis
The deliverable should end with which segments to target, which to avoid, and how messaging should shift by buyer role.
Public proof and adjacent pages
This guide explains the model. These pages show the extraction surface and the deeper implementation proof.
ICP and buyer persona playbook
The deeper proof surface for large-scale HubSpot extraction, soft associations, title mapping, and segment analysis.
Open pageHubSpot MCP page
The retrieval and extraction surface for getting past HubSpot limits and pulling large CRM datasets safely.
Open pageHubSpot CLI page
The operational surface for snapshotting, exporting, and governing HubSpot changes from the terminal.
Open pageBest HubSpot MCP server guide
The question-shaped page for teams looking at AI agent access and large HubSpot retrieval patterns.
Open pageFAQ
Can I build a real ICP model from HubSpot exports?
Yes. For many teams, staged exports are the cleanest way to join company, deal, buyer, and renewal data into one analysis surface.
Should renewals be part of the ICP analysis?
Yes, but as a separate cohort. Renewals are useful for retention and expansion signals, but they should not be blended directly into new-logo acquisition scoring.
How do I handle messy buyer titles in HubSpot?
Roll them up into function and seniority bands before you analyze persona patterns. Raw titles are too inconsistent to use directly.
Why not just use HubSpot dashboards for this?
Dashboards are good for reporting current activity. They are usually not enough for cohorting, joining, title normalization, and deeper segment scoring across years of history.
Where does FoundryOps fit in this pattern?
FoundryOps fits in the extraction, staging, normalization, and governed analysis loop so the resulting ICP and persona model is grounded in your actual data instead of assumptions.
Keep the conversation going
These pages are meant to help operators solve real problems. If you want the next guide, grab the low-friction option. If you need the implementation, not just the guide, book time.
Get the next guide when it ships
I publish architecture guides grounded in real implementations. No generic AI filler.
Use your work email so I can keep the list useful and relevant.
Need the implementation, not just the guide?
Book a 15-minute working session with Mike right on his calendar. Tooling, consulting, or a mix of both is fine.
Open Mike's calendarIf you want me to come in with context, leave your email and a short note before the call.
If the ICP is not grounded in wins, losses, and renewals, it is still mostly opinion.
FoundryOps is strongest when the export layer, normalization layer, and analysis layer all stay governed enough that the resulting target map is actually usable.