Your ICP Is a Best Guess. Here's How to Make It Math.
By Johan Abadie, VP Demand Generation & Revenue Strategy at SalesIntel.io ·
Ask most revenue teams to describe their ideal customer profile and you get something that sounds right: mid-market tech companies, 100-plus employees, running Outreach and HubSpot and Salesforce. Johan Abadie calls that a best guess dressed up as a strategy. In this session he made the case for flipping the ICP playbook, letting a model compute your profile from your best customers, and then layering intent signals on top so your team goes after the right accounts at the right time. This recap covers how SalesIntel's ICP modeling works, what it produced for a live Chili Piper example, how the signal stack is built, and Johan's take on the build-versus-buy question every GTM team is wrestling with right now.
Why is a "best guess" ICP a problem?
Johan's starting point is that most ICPs cannot be measured, so they cannot be improved. When your profile is just a set of filters, an account is either in or out. There is no correlation score telling you which parameters actually separate a good account from a bad one, and once an account gets filtered out you never learn what you missed.
His favorite framing: you can only improve what you can measure. If a runner wants to go from a 15-second 100-meter dash to 10 seconds, a coach can tell them immediately whether that is realistic and what to work on. A vague "I want to get faster" gives the coach nothing. A filter-based ICP is the vague version.
The deeper issue is speed in the wrong direction. In a world where you can run outreach at massive scale, effectiveness and efficiency are not the same thing. You can go very fast toward the wrong accounts. A poorly defined ICP just helps you do that faster.
What does it mean to run the ICP playbook backward?
The common approach, in Johan's view, is backward: humans define who the ICP is, then AI and automation reach out to the accounts the humans picked. He argues the computation should belong to the machine. A model can hold far more data than a person, find correlations and patterns humans cannot see, and return a scored, indexed list you can test and refine. Humans then decide how to approach the accounts the model prioritized.
That reframes the two jobs. The machine defines and scores. The human sets strategy and handles the outreach.
How does the ICP model actually work?
SalesIntel's approach runs in two steps.
First, profiling. You provide a list of accounts and the platform enriches it with the firmographic and technographic data it holds, then shows you what that list looks like as a profile: company size, revenue bands, geography, industry breakdown.
Second, modeling. The platform runs a bespoke logistic regression on that list. It is a yes-or-no classifier evaluated across roughly 100,000 parameters, distilled down to about 60 that matter most for your business, with the model weighting families of parameters rather than treating them equally. The output is a lookalike list from the database, each account scored on how closely it matches your input.
A few practical details Johan stressed:
- The score runs 0 to 100, and the platform returns everything scoring 60 or above.
- You can feed up to about 1,000 companies as your input list. Ten is too small a sample to model well.
- The right input is your best-fit customers, the ones who renewed and grew with you, not your cash cows. A high-revenue account that is an oddball fit will teach the model the wrong pattern, so there is a human judgment step in choosing the list.
- Always exclude your existing customers from the output. Seeing customers show up in a lookalike list is a good sign the model works, but they should not be in the list you go act on.
What did the model produce for Chili Piper?
Johan ran a live example using only public data. He pulled 14 customer and reference logos off the Chili Piper website, dropped them in as the input list, and profiled them: companies ranging from small to enterprise, concentrated in New York and California, roughly 50 to 10,000 employees.
Then he ran the model. Here is how the list narrowed as filters were applied:
| Step | Accounts remaining |
|---|---|
| Lookalike list from the 14-logo seed | 4,463 |
| After firmographic and tech filters (revenue $5M+, sales team 10+, HubSpot or Salesforce) | ~200 |
| After adding a signal: funding in the last 180 days | 182 |
He also demonstrated the same method on a competitor, Qualified, by pulling their public customer references and modeling the lookalikes. That model came out heavily weighted toward the tech stack, with more than 50 of the 60 parameters being technographic and only a handful firmographic. The point: the model weights each category differently depending on what the seed list reveals, and comparing your model against a competitor's is a fast way to see whether you are chasing the same accounts.
A model is only as good as your ability to test it. One way to check reliability is a Gini coefficient, which measures how much better a model predicts real outcomes than a random or anti-correlated list would. If the model cannot beat random, the scoring is noise.
Why not just use a point-scoring system?
Point scoring, in Johan's experience, is mediocre. It works as a rough first-pass filter, but assigning fixed points for "visited the website," "viewed three pages," or a revenue band ignores the weighting between parameters. A compelling event for a $5M company is nothing like a compelling event for a $250M company, and static points cannot capture that difference. That is where point models tend to fall apart.
How is the intent signal stack built?
Fit tells you who to go after. Signals tell you when. Johan splits signals into two families:
- Predictive (undeclared) signals: funding, hiring, new product launches. A company that just raised, is hiring a CRO, and is implementing Outreach is telegraphing that it may need a tool like yours.
- Declared (behavioral) signals: activity on specific topics, website visits, and third-party research activity. SalesIntel partners with Bombora for its roughly 21,000 topics and also maintains 60,000-plus of its own topics you can track.
The reliability problem with topic-based intent is real, and Johan's answer is triangulation. He described a scoring approach he calls RIFT, for Recency, Intensity, and Frequency, with a time decay applied. The rule of thumb: do not act on a single topic in isolation. Require first-party intent paired with second-party intent, for example someone who visited your site and is also active on G2 for the same topic. If there is no first-party signal, require second-party plus third-party across three or four different topics. Stacking signals this way strips out most of the false positives.
The one signal Johan trusts above all others is your own website. If someone from an ICP account is on your site, prioritize them. If more than one person from the same account is visiting, that is a strong buying signal. He recommends making "ICP account visits our website" the very first automation you build.
Not every visitor is ready to buy, though. They are ready to be engaged. So tier the accounts:
| Tier | Response |
|---|---|
| Tier 1 | All hands on deck, reach out directly |
| Tier 2 | SDR outreach plus ads |
| Tier 3 | Ads only |
Can this run on autopilot?
Yes. Once your segments are defined, you build an automation instead of refining filters by hand each time. You pick the signals to watch, the segments to target, and the buying center: the departments and job titles you want to reach, so your team is not single-threading into an account. Then you set a cadence, hourly or daily, and choose whether notifications land in your inbox or get pushed straight into the CRM. Lists can be static master lists with filters you refresh regularly, or fully dynamic through a drag-and-drop builder. Output exports to CSV or into the CRM directly.
Should you build this in-house with Claude or Clay instead?
This was the most candid part of the session. Johan acknowledged the pressure directly: ZoomInfo's valuation has fallen below its revenue, and plenty of teams are trying to rebuild data tooling in-house with Claude and Clay. SalesIntel has lost customers to that. Some are coming back.
His argument for why it breaks down at scale:
- It works small, then gets expensive and cumbersome. Building your own ICP analysis is fine for experimentation. Running it as production infrastructure for a sales team is a different job, and that is where the effort compounds.
- Your CRM data is probably outdated. If the list you feed a model is stale, the model is off. SalesIntel's answer is an unlimited plan with no per-record credit, so you can refresh your CRM as often as you want.
- Data governance and accountability. When you run a waterfall across multiple providers through a tool like Clay and your connect rate is bad, there is no one to hold responsible. Working with a single data provider gives you one throat to choke, plus a research-on-demand team that will go fetch data that is missing or wrong.
On competing with ZoomInfo, Johan compared it to IBM: nobody gets fired for picking the incumbent, so the challenge is not being the bigger gorilla but out-serving a "T-Rex." SalesIntel's wedge is support you can actually reach by phone, heavy custom list building, and delivery through flat files, API, Snowflake, or Databricks for larger teams.
Key Takeaways for GTM Teams
- Treat your ICP as a model, not a filter. If you cannot measure how good your profile is, you cannot improve it.
- Let the machine define the profile, and reserve human judgment for the input list and the outreach. Feed it your renewed-and-grown customers, not your cash cows, and exclude current customers from the output.
- Fit answers who, signals answer when. Build the lookalike list first, then layer funding, hiring, and behavioral intent on top.
- Triangulate intent. No single topic is reliable. Combine first-, second-, and third-party signals, and treat your own website traffic as the strongest signal you have.
- Tier your accounts so effort matches intent: direct outreach for Tier 1, SDR plus ads for Tier 2, ads only for Tier 3.
- Build-in-house works until you scale. The real costs are maintenance, data freshness, and accountability, not the initial build.
Want to Attend the Next Session?
GTM Clawllective is a community where go-to-market operators share how they are actually using AI in the field, live and unscripted. Sessions like this one are where the practical playbooks get built in the open. Come see the next build for yourself and join the community.
About the Speaker
Johan Abadie is VP of Demand Generation & Revenue Strategy at SalesIntel.io, a B2B data platform focused on technographics and intent signals. A self-described "accidental marketer," he came to go-to-market from an unusual path: born and raised in France, he moved to the US in 1998 and started his career as a chemist before shifting into business. He has held marketing leadership roles including CMO at ProcessMaker and demand generation leadership at Komodo Health, and stepped back from the CMO title a few years ago specifically to stay hands-on with AI tools rather than manage from the board level.
His through-line is a conviction that data, more than compute or the model itself, is what determines the quality of any AI-driven output. That belief shows up in his advocacy for dynamic, data-defined ICPs over static documents and in his signal-driven approach to prospecting.
Connect with Johan on LinkedIn or learn more about the platform at SalesIntel.io.
Watch the session replay: Your ICP Is a Best Guess. Here's How to Make It Math.