Evaluate with preferred AI model
The short version
- Firmographics are a starting filter, not a complete ICP. “US-based SaaS, 50 to 200 employees, Series A or B” describes a segment. Research tells you which accounts within it have the right problems, fit and timing.
- Best-fit accounts emerge from three data sources: Closed-Won CRM history, recorded sales calls and competitor reviews on G2, Capterra and Trustpilot.
- Closed-Won mining finds overlapping patterns beyond industry and headcount: hiring signals, tech-stack combinations, funding recency, and the exact champion title at close.
- Sales-call listening surfaces the verbatim pain phrases buyers use. Test those phrases against your existing copy instead of assuming marketing’s wording is the strongest.
- Competitor review analysis shows recurring feature gaps and frustrations. A low rating is a research clue, not proof that the reviewer is currently buying.
- The output is a living ICP Document with Personas, Pains, Value Props, and TAM sizing that plugs into Clay for enrichment, LinkedIn Ads and Instantly.ai for outreach.
- This is the first step in the ABM Engine Workflow. Skip it and you risk targeting a broad segment without understanding the buying pattern.

Firmographics are what you filter by in Apollo when you haven’t done ICP research yet. “US-based SaaS, 50 to 200 employees, Series A or B” is not a complete ICP. As an illustration, a segment of 22,000 companies might contain 2,000 to 5,000 accounts that fit your actual buying pattern. Those figures are an example, not a benchmark. This guide is about narrowing that gap using three sources any B2B team can investigate: its CRM, sales calls and competitors’ review pages.
Why do firmographics fail as an ICP definition?
Firmographic filters describe a market segment, not a buying pattern. Two companies with identical Apollo filters (same headcount, same funding stage, same vertical) can have opposite pain profiles. One just hired a VP of RevOps and is actively evaluating tools. The other has a founder who does sales in Notion and won't buy anything for 18 months. Firmographics don't distinguish them. Buying signals do. If outbound treats them the same, one converts and the other rots in the pipeline as "no reply."
The trap is that Apollo/Prospeo or any database filters are fast to configure, so most teams stop there. But an ICP filter isn't a segment definition. It's a prediction of who will buy. And predictions come from patterns in past buyers, not from headcount ranges.
What is a three-pillar ICP research process?
Three data sources, run in parallel, in Week 1 of an ABM engagement:
- Closed-Won CRM mining. Pattern-match existing paying customers on 20+ dimensions.
- Sales-call listening. Extract the exact pain language buyers used in discovery.
- Competitor review analysis. Scrape G2, Clutch, Capterra, and Trustpilot for switching triggers.
The output is one ICP Document with personas, pains, value propositions, and TAM sizing. It becomes the source of truth for every lead list, every Clay enrichment table, and every email variant that ships over the next 90 days.
This is the “Beyond firmographic data” layer of the ABM workflow: the layer that narrows a broad market into a best-fit ICP with named triggers, tech-stack rules and verbatim buyer language.
How do you mine a CRM for ICP patterns beyond firmographics?
Pull the Closed-Won opportunities from the last 18 months, or a period that fits your sales cycle and available history. Enrich the accounts with fields such as tech stack, hiring, funding history, employee growth and the champion’s title at close.
Check the pattern against losses. Compare wins with relevant lost and no-decision opportunities. A characteristic shared by every company in the market cannot explain why your customers bought. Record what was true before or at the buying decision where historical data exists. A funding round or leadership hire after the deal closed cannot explain the earlier purchase. Mark missing historical values as unknown.
Then sort the list. Look for overlaps that aren't in the firmographic filter.
Pro tip: Don’t look only for what’s common. Look for what’s non-obvious. Every Closed-Won might be “US-based SaaS.” That may be noise. If, for example, 8 out of 12 hired a RevOps leader before closing, compare that pattern with your losses and check the dates. It is a hypothesis to test before it becomes a scoring rule.
The patterns that matter almost never live in industry plus headcount. They live in:
- Job-change velocity. Is the buyer role being hired for right now?
- Tech-stack combinations. The "if they have X and Y but not Z" rule.
- Funding recency. Compare outcomes for recently funded accounts with similar accounts funded earlier. Test the relationship in your own data instead of assuming funding means intent.
- Champion title at close. VP of RevOps vs Head of Sales vs CMO changes the entire sequence.
- Time-to-close by source. Compare sales-cycle length by source and segment. A difference can reveal a qualification or readiness problem, but it is not enough on its own to diagnose the cause.
Sync the validated pattern set into a Clay table and score new prospects against it. Keep fit, timing and engagement separate so a strong-fit account is not automatically treated as ready to buy.
How do you extract pain phrases from sales calls using Claude Code?
The transcripts contain the buyer’s own words. Surveys can give sanitized answers. Sales calls give the raw phrase. Manually reviewing 20 discovery calls takes time; Claude Code can help extract and organize the evidence when connected to your transcript source and CRM. The time saved depends on access, transcript quality and how much human review the output needs.
Here’s the setup. Connect Claude Code to your notetaker and CRM through supported connectors or MCP tools. Add Clay if you want enrichment alongside the call analysis. Grant the access needed for this research and confirm which records the connections can actually read. A connected tool does not automatically expose every transcript or CRM object.
Then run a prompt like this in Claude Code:

Pull call transcripts from Fathom for the last 50 Discovery calls with prospects. Do the following:
- Extract company names and websites and enrich using Clay MCP (company enrichment function)
- Do the same with prospects who attended discovery calls, use Clay MCP (people enrichment function)
- Sort based on firmographics and technographics
- Extract all sales calls transcriptions
- Identify patterns, pains, "why now" and terminology ,language, and problems they are trying to solve with our solution.
- Output exactly two things: DOCX/Google doc with full data segmented by persona and company type with insights from transcripts and proposed verbiage to use in emails and LinkedIn DMs and LinkedIn Ads. CSV with matrix showing patterns and pains for each persona type and company type.
With those connections available, Claude Code can work through the transcripts, group themes, enrich the records and prepare the outputs. Review the findings against the source calls before using them in account scoring or campaign copy. Ask it to flag missing evidence rather than fill in the gaps.

Pro tip: If several buyers use a variant of the same phrase, like “our AEs spend an hour a day on data hygiene,” test that wording in your campaign. Keep the meaning and compare it against your existing copy. Do not assume the lift in one audience will repeat in another.
The three artifacts every call should produce:
- The pain sentence. What breaks in their current workflow, in their words.
- The trigger event. What changed 30 to 90 days ago that made this call happen.
- The value phrase. How they described what they hoped would get fixed, in their words.
Those go into the ICP Document as Persona Pains and Value Propositions. Not marketing-approved language. Buyer language.
The subtle move: don't sanitize. If a buyer says "our data is a dumpster fire," that goes in verbatim. Cleaned-up phrasing loses the emotional charge that made the phrase work in the first place. Tell Claude Code explicitly: "preserve verbatim phrasing, do not clean up grammar." Otherwise it defaults to polishing, and polished pain phrases don't convert.
Pro tip: Save the extraction prompt as a slash command in Claude Code (/icp-pain-extract). Every 90 days, re-run it against the newest 20-50 calls. The pain vocabulary refreshes itself automatically, which is what keeps the ICP Document from going stale.
Why do competitor reviews on G2 and Capterra matter for ICP?
Because detailed reviews expose friction buyers may not put in a survey. A review rated three stars or lower can reveal a missing feature, integration issue or pricing concern. That makes it useful research. It does not confirm that the reviewer is still at the same company, still has the problem or is ready to switch.
Scrape G2, Clutch, Capterra, and Trustpilot for every direct competitor of the product. Then filter:
- Reviews rated 1 to 3 stars.
- Reviews written in the last 12 months.
- Reviews that name a specific missing feature or complaint.
That produces a pain vocabulary map: every feature complaint, integration gap, and pricing frustration a competitor's paying customers wrote in public. Feed that into the ICP Document's Value Props section. Cold email now leads with a pain a competitor's customers already wrote down, not a pain you guessed at.

Use recurring review language to develop a messaging hypothesis, then test it. A complaint about manual data cleanup might inform an offer around faster CRM enrichment. Validate that the problem applies to the account you contact. Measure positive replies and qualified conversations, rather than promising a universal response-rate lift.
Pro tip: Apify has ready-made actors for G2, Capterra, and Trustpilot. Run them once a quarter, feed the output into Clay for AI-based categorization, and the pain vocabulary refreshes itself. On another note, use Claude code or Codex and just send URL you want to scrape.
The 3-Pillar ICP Research Stack

Run all three in parallel. We plan around five to seven business days for a typical research pass when the data and access are ready. Scope, transcript volume and data quality can extend that. The deliverable is the consolidated ICP Document, not a fixed number of scraped records.
How does the ICP Document feed into the rest of the ABM Engine Workflow?
The ICP Document is the spec. Every field maps to a downstream field in the enrichment or outreach stack:
- Firmographic pattern. Filter on the input list in Apollo (industry, headcount, geo, funding).
- Trigger signals. Clay AI columns that check LinkedIn Jobs, Crunchbase, and BuiltWith for match.
- Persona pains. Instantly copy variants A, B, and C, each anchored on one pain phrase.
- Value phrases. Cold email subject lines, verbatim from sales-call transcripts.
- Competitor pain language. Use recurring, relevant frustrations to develop ad and outreach hypotheses. Check fit and timing before treating an account as an active opportunity.
That’s how the ICP Document stops being a slide deck that lives in Google Drive and starts being an operating spec. Every prospect enters with a defined fit score and evidence behind it. Every campaign uses buyer language grounded in research. Every hypothesis can be checked against the response it earns.
Pro tip: Refresh the ICP Document every 90 days. Buyers change. Competitors ship features. Sales calls surface new pain phrases. A static ICP Document is a dead ICP Document.
FAQ
How long does ICP research take?
We plan around five to seven business days for a typical B2B SaaS research pass with ready access to the CRM, calls and reviews. The three pillars can run in parallel. Missing history, fragmented records or a broader market can add time, so agree on the evidence and outputs before promising a deadline.
What if there aren't enough Closed-Won deals to mine?
If you have only a small number of wins, put more weight on call research, customer interviews and relevant lost deals. A loss to a competitor can reveal different issues from a loss to no decision. Keep those reasons separate. Treat patterns from a small sample as hypotheses and validate them through more conversations and campaign results.
Which pillar is the fastest to start with?
Competitor review analysis is often the fastest first pass because it does not depend on getting CRM and call access sorted. Start with recent, detailed reviews of direct competitors, then categorize the complaints. It is useful input, but it cannot replace evidence from your own customers.
How is this different from a "buyer persona" exercise?
Traditional buyer persona work produces adjectives ("data-driven, growth-focused, cost-conscious"). Three-pillar ICP research produces operating filters: tech-stack rules, trigger-event signals, and verbatim pain phrases that paste directly into a Clay column or an Instantly subject line. One goes on a Miro board. The other ships pipeline.
Where does this sit in the ABM Engine Workflow?
Before list building. The ABM workflow moves from researched accounts to ads, engagement, enrichment and outreach. The ICP Document governs each step. Impression and engagement thresholds are operating rules to test, not proof that an account is ready to buy. Use the Pain Triangle to distinguish fit from buying readiness.
Turn the research into a working system
Use frontBrick’s Clay implementation service to connect the research, enrichment and scoring. If you need the complete motion, our ABM service connects the account strategy, campaigns and measurement.
Originally published by Stan in The ABM Engineer on LinkedIn on July 8, 2026. Adapted for frontBrick with research safeguards and clarified examples.
Book Your Strategy Call Today
Want to see how frontBrick can help you generate qualified leads and fill your pipeline fast? Book your free strategy call now.
Book Strategy Call








