How to Build a Data-Backed ICP with Claude Code

Build your ICP from actual CRM data instead of assumptions. Claude Code analyzes closed-won patterns automatically.

Jan B

Head of Growth at Databar

Blog

— min read

How to Build a Data-Backed ICP with Claude Code

Build your ICP from actual CRM data instead of assumptions. Claude Code analyzes closed-won patterns automatically.

Jan B

Head of Growth at Databar

Blog

— min read

Unlock the full potential of your data with the world’s most comprehensive no-code API tool.

Most ICP definitions are built on assumptions. "Companies with 50 to 500 employees in B2B SaaS" sounds specific until you realize it describes tens of thousands of companies, most of which will never buy from you.

The teams closing deals at 2 to 3x the average rate are not working from better assumptions. They are working from enriched data on their actual customers. They know which firmographic patterns, tech stack signals, funding stages, and hiring behaviors correlate with closed-won deals, because they ran the analysis on real data instead of guessing in a meeting.

Claude Code makes this analysis practical. You export your CRM data, enrich it, drop it into a project folder, and Claude Code finds the patterns across dozens of dimensions simultaneously. What used to take an analyst a week takes an afternoon.

Here is exactly how to do it.

Step 1: Export Your Customer Data

Pull your closed-won deals from the last 12 to 18 months. You want at minimum:

→ Company name and domain
→ Deal size
→ Sales cycle length
→ Close date
→ Industry (if you have it)
→ Company size (if you have it)

The more fields the better, but do not let missing data stop you. That is what enrichment is for. Export as CSV and drop it into your Claude Code project folder.

If you also have closed-lost data, export that too. The contrast between wins and losses is where the most valuable ICP insights hide.

Step 2: Enrich Every Customer With 20+ Data Points

This is where most ICP exercises stop short. Teams analyze whatever data they already have in the CRM, which is usually company name, industry, and employee count. Three dimensions are not enough to find meaningful patterns.

Connect to Claude Code and enrich every customer record with data you do not have yet:

Firmographics: → Exact employee count and headcount growth rate → Revenue estimate → Founding year → Headquarters location → Sub-industry classification

Growth signals: → Funding stage and total raised → Most recent funding round date and amount → Year-over-year headcount growth percentage

Technographics: → CRM platform (HubSpot, Salesforce, Pipedrive, etc.) → Marketing automation tools → Sales engagement tools → Enrichment or data tools already in use

Hiring signals: → Open roles by department (sales, marketing, engineering) → Specific job titles being hired for → Hiring velocity (how many roles posted in the last 90 days)

The prompt to Claude Code is straightforward: "Enrich every company in customers.csv with employee count, revenue estimate, funding stage, tech stack, and recent job postings using Databar. Add the results as new columns."

With Databar's MCP, Claude Code calls the right enrichment providers automatically. One connection gives you access to , so you are not managing separate API keys for firmographic data, tech stack detection, and funding information.

The output: your 200-row customer list now has 20 to 30 columns of structured data per company. That is the dataset Claude Code needs to find real patterns.

Step 3: Ask Claude Code to Find the Patterns

This is where the analysis happens. Claude Code holds your entire enriched dataset in its 200K token context window and cross-references patterns across every dimension simultaneously.

The core analysis prompt:

"Analyze this enriched customer data. Identify which characteristics our top 25% of customers (by deal size) have in common that our bottom 25% do not. Look across industry, company size, funding stage, tech stack, hiring patterns, headcount growth, and geography. Be specific about the patterns, not generic."

What Claude Code typically finds (examples from real analyses):

→ "70% of your top-quartile deals are at companies with 80 to 250 employees, not the 50 to 500 range in your current ICP"
→ "Companies using HubSpot close 40% faster than companies using Salesforce, likely because your integration is stronger with HubSpot"
→ "Series A and B companies convert at 3x the rate of bootstrapped companies, but bootstrapped companies have 2x higher LTV"
→ "Companies that posted an SDR or RevOps role in the 90 days before the deal closed had a 65% win rate versus 22% for companies with no relevant hiring activity"
→ "Your ICP says 'US and UK' but 85% of revenue comes from US companies in three metro areas"

None of these insights come from guessing in a meeting. They come from having enough enriched data points to let the patterns emerge.

Step 4: Build the Negative ICP

This step is just as important as defining who to target. Ask Claude Code to analyze your closed-lost deals and disqualified opportunities with the same enrichment depth.

"Compare closed-lost deals against closed-won deals. What characteristics predict a loss? Which company profiles should we stop pursuing?"

Common negative ICP findings:

→ Companies below a certain employee threshold that never close
→ Industries where your win rate is under 10%
→ Companies without a specific tool in their tech stack (indicating they are not mature enough for your product)
→ Geographic regions where deals stall consistently
→ Funding stages where budget simply does not exist

One team we spoke to discovered that companies with fewer than 5 salespeople never converted, regardless of company size. That single insight eliminated 30% of their pipeline and doubled their win rate on the remaining 70%.

Step 5: Turn the Analysis Into a Scoring Model

Once Claude Code identifies the patterns, you can build a deterministic scoring model that applies those patterns to every new prospect automatically.

"Based on the ICP patterns you found, write a Python scoring script that assigns points to each characteristic. Companies matching our top customer profile should score 70+. Companies matching our negative ICP should score below 25."

Claude Code writes the script. The scoring is deterministic (Python math, not LLM reasoning), so it produces the same result every time on the same input. You can read the logic, adjust the weights, and debug any individual score by looking at the reasoning string.

This connects directly to the enrichment layer. When a new lead enters your CRM, you enrich it through , score it with the Python model Claude Code built, and route it based on tier. Tier 1 goes to your best reps. Tier 2 gets a nurture sequence. Below threshold gets disqualified automatically.

For a deeper look at why deterministic scoring outperforms LLM-based scoring, our article on covers the architecture in detail.

Step 6: Find More Companies That Match

Now you have a data-backed ICP with specific, enriched characteristics. The final step is using those characteristics to find net-new companies that match.

"Search for companies that match our top-quartile ICP profile: 80 to 250 employees, Series A or B funded, using HubSpot, hired an SDR in the last 90 days, based in the US. Enrich each with full firmographic and contact data."

Claude Code calls Databar's enrichment providers to build the list, enriches each company, scores them against your model, and outputs a ranked prospect list. The entire loop, from ICP definition through list building, runs inside a single Claude Code session.

This is the difference between a filter-based ICP (company size + industry + geography) and a signal-based ICP(enriched patterns from your actual best customers applied to net-new prospects). The filter-based approach gives you a list of 10,000 companies. The signal-based approach gives you a ranked list of 200 companies most likely to buy.

Why Enrichment Depth Matters More Than You Think

The quality of your ICP analysis is directly proportional to the number of data points you enrich with. Three dimensions (size, industry, geography) produce generic ICPs. Twenty dimensions produce specific, actionable ones.

This is where having access to matters practically. You are not choosing between firmographic data OR tech stack data OR funding data OR hiring signals. You get all of them through one Databar connection, and Claude Code calls whichever providers are relevant for each enrichment step.

FAQ

How many customers do I need for this to work?

The analysis produces useful patterns with as few as 50 closed-won deals. Below 50, you can still run it, but the patterns may not be statistically significant. At 100+ deals, the patterns become reliable. At 200+, you can segment by deal size, sales cycle, and other dimensions for more granular ICP definitions.

How often should I refresh my ICP?

Quarterly is the right cadence for most teams. Your customer base shifts as your product evolves, your market expands, and competitive dynamics change. Running the enrichment and analysis quarterly catches these shifts before they show up in declining conversion rates.

What if my CRM data is messy?

That is normal and it is fine. The enrichment step fills in most gaps. If you have company name and domain, Databar can enrich with employee count, industry, funding, tech stack, and hiring data. Claude Code can also help clean the data before analysis: deduplication, standardizing company names, and flagging invalid records.

Can I do this without Claude Code?

You can do the enrichment in Databar's visual table interface and the analysis in a spreadsheet. Claude Code makes it faster and more thorough because it cross-references patterns across 20+ dimensions simultaneously, which is difficult to do manually. The scoring model also requires code, which Claude Code writes for you.

What makes this different from persona research?

Persona research focuses on who the buyer is as a person (title, psychology, communication preferences, trigger events). ICP research focuses on what company characteristics predict a purchase. Both are useful, but ICP comes first. A perfect persona at the wrong company is a waste of time. Build the ICP from enriched data, then layer persona research on top for messaging and personalization.

Get Started with Databar Today

Unlock the full potential of your data with the world’s most comprehensive no-code API tool. Whether you’re looking to enrich your data, automate workflows, or drive smarter decisions, Databar has you covered.

Get Started with Databar Today

Unlock the full potential of your data with the world’s most comprehensive no-code API tool. Whether you’re looking to enrich your data, automate workflows, or drive smarter decisions, Databar has you covered.