Skip to content
Playbook

How to build an ideal customer profile (ICP) for outbound

Counting your best customers derives the wrong ICP. The lift calculation that fixes it, the survivorship trap, and how to write one a query can run.

24 Jun 2026 12 min readBy Autocloz Editorial, GTM team
How to build an ideal customer profile (ICP) for outbound

An ideal customer profile derived by looking at your best customers is almost always wrong, and the reason is arithmetic rather than effort. Counting wins tells you which segments you sell to most; it cannot tell you which segments you sell to unusually well, because it never looks at how many of each segment you contacted in the first place. The calculation that fixes this is lift — wins per segment divided by contacts per segment — and it routinely reverses the ranking that counting produced. This is how to derive an ICP that survives being tested.

Why counting your best customers derives the wrong profile

Suppose you have closed forty deals. Twelve are fintech, which is comfortably the largest group, so fintech goes into the ICP. That reasoning is the standard method and it is broken, because it never asked the second question: how many fintech companies did you contact?

If you contacted 3,000 companies and 900 of them were fintech, then fintech is 30% of your contacts and 30% of your wins. The segment converted at exactly your average rate. It is not a strength; it is a reflection of what your list already contained, which was probably a reflection of whichever data source you bought first.

Now look at logistics. Six wins out of forty is half as many, so counting ranked it below fintech. But if only 150 of your 3,000 contacts were logistics, then logistics converted at 4% against fintech's 1.3%. Those six wins came from a fifth as many attempts. That is the segment your ICP should name, and the count-based method buried it.

This failure is systematic rather than occasional. Your win counts are shaped by your contact counts, and your contact counts were shaped by data availability and by whatever you happened to try first. Deriving an ICP from wins alone re-derives your own historical bias and calls it a finding.

Lift is the calculation, and it takes an afternoon

For every candidate segment, you need two numbers: how many accounts you contacted in that segment, and how many became customers. Then compute the conversion rate for the segment, and divide it by your overall conversion rate. That ratio is lift.

  • Lift near 1.0 means the segment behaves like your average. It is not a differentiator, whatever its raw count.
  • Lift meaningfully above 1.0 means the segment converts better than you do overall. These are ICP candidates.
  • Lift below 1.0 means the segment converts worse. These are exclusion candidates, and they are usually the ones nobody wants to name.

The hard part is not the division; it is the denominator. Most teams cannot say how many logistics companies they contacted last year, because contacts were never tagged with the segment fields at the time. If that is you, the immediate action is not to compute lift — it is to start stamping industry, headcount band and country on every row from today, so that the calculation is possible in two quarters.

One caution that matters. With forty wins, a segment holding six of them is a small sample, and small samples produce confident-looking patterns that do not repeat. Treat a high-lift segment with fewer than about ten wins as a hypothesis worth testing on a fresh list, not as a conclusion worth restructuring the go-to-market around.

Your won deals cannot tell you who to avoid

There is a second, deeper problem with deriving an ICP from customers: your customers are the survivors. They passed through your qualification, your pricing, your onboarding and your renewal. Everything that filtered them out is invisible in the data that remains.

That matters because the most valuable half of an ICP is the exclusion list, and the exclusion list cannot be derived from wins by definition. Three other sources can supply it, and each lies in a different direction.

Closed-lost deals with a reason code. The single best source for exclusions, and the one most teams do not have because the reason was never recorded as structured data. Autocloz stores a close_reason_category on each closed deal as a machine key — price, champion, timing, competitor, no_decision, budget — alongside the rep's free text, which is what makes "we lose on price in this segment" countable rather than anecdotal.

Churned customers. They tell you which segments you can sell to but not serve, which is the most expensive category to keep in an ICP. A segment with high win rate and high churn should be excluded, and it will look excellent in every pipeline report until you look at retention.

Negative replies from outbound. The lowest-quality source and the highest-volume one. A cluster of "we're far too small for this" replies from one headcount band is a real signal even though none of those accounts ever entered the pipeline.

Rank segments on retained revenue rather than on deal count, and the picture changes again. A segment producing half as many deals that stay twice as long is not half as good; it is roughly equal, and it is cheaper to serve.

Write it as a hypothesis with something that could falsify it

An ICP that cannot be wrong is not an ICP. Write it in a form where you could tell, in a quarter, that it was mistaken.

A usable form has five parts: the account shape, the person inside it, the situation that makes the problem live, the outcome you expect, and the falsifier. Concretely, and as an illustrative example rather than a claim about any real business:

  • Account. Logistics and freight-forwarding companies, 50 to 400 employees, India or the Gulf.
  • Person. Head of Sales or Sales Director, owning a team of four or more.
  • Situation. Running outbound across email and phone in separate tools, with no single record of what was sent to an account.
  • Expected outcome. Reply rate above the current all-segments average, and a shorter time from first touch to first meeting.
  • Falsifier. If 200 contacts in this profile produce a reply rate at or below the all-segments average, the profile is wrong and gets revised rather than re-run.

The falsifier is what makes it a hypothesis. Without it, an ICP is a preference, and preferences do not get revised because nothing can contradict them.

Turning the hypothesis into something a query can run

A profile has to become fields before it can filter anything, and the translation loses information in ways worth knowing about in advance. In Autocloz an autopilot ICP is expressed as exactly five keys — titles, industries, locations, headcount_min and headcount_max — and each behaves differently.

Industry is matched exactly, and case-sensitively. The filter is a straight membership test against the company's industry value, preserving the capitalisation the operator typed. "SaaS" and "saas" are two different filters, and a list imported with inconsistent industry strings will match a fraction of what you expected. Normalise the column before you rely on the filter.

Locations are upper-cased and matched against country codes on either the person or the company, so a free-text city in the source data will not match.

Titles go through a token-subset match with an alias table, not a substring test. Every significant token of the wanted title has to appear as a whole word in the candidate, so "Director of HR" matches an ICP of "HR Director" while "Threading Systems Director" does not, and an explicit alias table maps "CHRO" to "Chief Human Resources Officer" in both directions. That rule and its failure modes are covered in more depth in building a targeted lead list.

The headcount bound is permissive about missing data. The clause reads as "the company's size is unknown, or it is within your range" — so an account with no headcount recorded passes the filter rather than failing it. That is a deliberate choice to avoid starving a list on incomplete data, and it means a headcount-bounded ICP is not as strict as it looks. On the prospect-inbox side the headcount bound is not applied at all, because the source field there is free text like "51-200" or "10k+" that a numeric comparison would silently drop.

The ICP generator is a quick way to get the first draft of these fields down; the value is in the exclusions you add to it afterwards.

The exclusion list earns more than the inclusion list

Inclusion criteria decide who you contact. Exclusions decide who you stop contacting, and stopping is where the time comes back.

Write exclusions as explicitly as inclusions, and give each a reason. "Under 20 employees — no budget line for tooling." "Companies where the buyer is an agency reselling to a client — the incentive is wrong and the churn follows." "Government and public sector — procurement cycle exceeds our runway." Each of those is a real constraint, and each removes a class of accounts that would otherwise consume months.

The test for a good exclusion is whether it would have been uncomfortable to write a year ago. Comfortable exclusions are the ones nobody was targeting anyway.

Autocloz's free plan covers 5 users and 10 mailboxes and holds the fields the ICP filters on for up to 100,000 contacts — start free and stamp industry, size and country on every row from the first import.

A worked derivation, end to end

Illustrative numbers, to show the shape of the method rather than to describe any real business.

Start with 3,000 contacted accounts and 40 customers, an overall conversion of 1.33%. Split by industry and compute both columns:

  • Fintech. 900 contacted, 12 won. Conversion 1.33%. Lift 1.00.
  • Logistics. 150 contacted, 6 won. Conversion 4.00%. Lift 3.01.
  • Agencies. 700 contacted, 9 won. Conversion 1.29%. Lift 0.97.
  • Manufacturing. 800 contacted, 5 won. Conversion 0.63%. Lift 0.47.
  • Everything else. 450 contacted, 8 won. Conversion 1.78%. Lift 1.34.

Counting ranked fintech first. Lift ranks logistics first by a factor of three, and flags manufacturing as an exclusion candidate at roughly half the average rate.

Now bring in retention. Suppose the logistics customers have all renewed and two of the twelve fintech customers churned inside a year. Retained conversion for fintech drops to 1.11% and its lift below 1.0, while logistics holds. The gap widens rather than narrowing.

Then apply the small-sample caution: six wins is not many, and the honest next step is not to rewrite the go-to-market. It is to build 200 logistics accounts to the stated profile, run them, and see whether the reply rate clears the falsifier. That is a four-week test with a defined answer, which is worth more than a quarter of confident restructuring.

When to revise, and the decay you should expect

Review quarterly. Change on evidence only. Two events force a genuine revision: the product starts serving a situation it could not serve before, or a segment you excluded keeps appearing in inbound, which means the market disagrees with your exclusion and is worth listening to.

Underneath the definition, the data decays continuously and silently. People change roles, companies change size band, a company acquired last year still carries its old industry string. A profile that was accurate when written filters a list that has drifted, and nothing announces this. Re-verify the fields on a sample of rows each quarter rather than assuming the file you imported is still true.

One legal note worth carrying. Under the EU GDPR, Article 4(4) defines profiling as "any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person", and Article 4(1) defines personal data as "any information relating to an identified or identifiable natural person". An ICP filter applied automatically to named individuals in named companies is squarely inside that definition where the GDPR applies to your processing. That does not make it unlawful; it makes it something you need a documented basis and a record for, rather than something that happens invisibly inside a query.

What an ICP cannot do, and what Autocloz does not do here

An ICP does not tell you what to say. It selects the account; the message still has to describe a problem that account actually has, and a perfectly targeted list with a generic message reaches the right people and tells them nothing. The value proposition is a separate piece of work.

An ICP does not order your day. It is a binary entry test, not a priority queue, and confusing the two produces a list of equally-good accounts with no basis for choosing between them. Lead scoring is the layer that does the ordering, and it usually contains the ICP as one component.

Autocloz does not derive the ICP for you. It stores the five fields, matches them, and enrols on them. It does not compute lift, does not join your win data to your contact data, and does not tell you that a segment is under-performing — that calculation is yours to run against your own numbers. A tool that claims to derive an ICP automatically is either scoring on data it holds about other companies' outcomes, which is a different thing entirely, or guessing.

It also does not enrich a row that arrives without an industry or a headcount. The permissive headcount clause means such a row passes the filter rather than failing it, so an under-enriched list looks broader than it is. Teams who want the enrichment layer to be part of the same tool are usually comparing against a database-first prospecting platform, which is a real trade-off worth making explicitly. And the autonomous email SDR that acts on this ICP is a Growth feature rather than a free one, which is worth knowing before you design a workflow around it.

Frequently asked

How many customers do I need before I can derive an ICP?

Enough that a segment can hold more than a handful of wins, which in practice means around thirty to forty closed deals before the arithmetic says anything. Below that, any pattern you find is compatible with chance, and the honest move is to write the ICP as an explicit hypothesis from what you know about the problem you solve and treat the first two quarters of outbound as the test of it rather than as an implementation of a finding.

What is the difference between an ICP and a buyer persona?

An ICP describes the account — industry, size, geography, technology, situation. A persona describes the human inside that account — role, responsibilities, what they are measured on, what they are afraid of. You need both and they answer different questions: the ICP decides which companies enter the list, and the persona decides who inside the company gets contacted and what the message says. Conflating them produces a list of the right companies with the wrong people in them.

Should the ICP be based on revenue, retention or close speed?

On all three, and disagreements between them are informative rather than inconvenient. A segment that closes quickly and churns quickly is a bad segment that looks good in a pipeline report. A segment that takes twice as long to close and stays for years may be the best one you have. Rank candidate segments on retained revenue per deal rather than on deal count, and keep close speed as a separate column so the cost of pursuing a slow segment is visible.

How often should an ICP be revised?

Review it quarterly and change it only on evidence, because an ICP that moves every month is not a filter, it is a mood. Two things force a genuine revision: the product changes what it can serve, or a segment you excluded starts appearing in inbound. Firmographic data underneath the ICP decays continuously — people change jobs and companies change size — so the fields go stale even when the definition does not.

Can I have more than one ICP?

Yes, and two or three is common once a product serves distinct situations, but each one needs its own list, its own message and its own measurement. The failure is a single ICP written broadly enough to cover all of them, which then matches everyone and filters nothing. If two candidate profiles need different value propositions to be true, they are two ICPs and should be run as two campaigns.

Does an ICP replace lead scoring?

No, they answer different questions and work at different times. An ICP is a binary entry test applied before contact — does this account belong in the list at all. A lead score is an ordering applied after contact, mixing fit with behaviour to decide who a rep should call first today. A good score usually contains the ICP as its fit component, which is why deriving the ICP properly makes the score better.

Share
Free to start

Stop reading. Start sending.

Every tactic in this article is implemented behind the Autocloz dashboard.