How to define your ICP: build it backwards from your closed deals
Updated 12 November 2026 · Written by Reyansh Juneja and Naman Dhiman, the co-founders of SOVE7GN, who run inbound, midbound and outbound for founders
Define your ideal customer profile by working backwards from the deals you already closed, not forwards from the market you wish you had: list every closed-won and closed-lost deal, write down what was true about the companies that bought fastest and stayed, and keep only the attributes you can find on a list before you contact anyone. An ICP that cannot be turned into a list of named companies is a positioning statement, not an ICP.
Short answer: take your last 10 to 30 deals, split them into won-and-still-here, won-and-churned, and lost. Find the two or three attributes that separate the first group. Keep only attributes you can filter on, such as industry, headcount, stage, tech in use, licence type or a hiring signal. Then run the list test: if you cannot produce 200 real companies that match, the profile is still too abstract.
What is an ICP, and how is it different from a persona?
An ICP describes the company you should sell to. A persona describes the person inside it. You need both, in that order, because the company decides whether the deal is possible and the person decides whether it happens.
| ICP (company) | Persona (person) | |
|---|---|---|
| Example attributes | Industry, headcount, funding stage, geography, tools in use, regulatory status | Title, what they are measured on, what they have tried before, who signs |
| Used for | Building the list, qualifying inbound, deciding what to build | Writing the message, running the call |
| Fails when | It is a market description you cannot filter on | It is a made-up character with a stock photo |
A third thing gets confused with both: the trigger, the event that makes a fitting company start looking this quarter. Fit tells you who to write to. The trigger tells you when. Most lists are built on fit alone, which is why they get answered slowly. The signals worth watching are in buying signals for B2B outbound.
How do I define my ICP when I only have a handful of customers?
With fewer than about 10 closed deals you do not have a pattern, you have anecdotes. That is fine. Build a hypothesis ICP from the deals you do have plus the deals you lost, and treat it as something to disprove in 60 days.
Work in this order:
- List every deal from the last 12 months in one sheet: company, source, deal size, days from first call to signature, who you talked to, whether they are still a customer.
- Tag each row won-and-active, won-and-churned, or lost, and add the reason in the buyer's words.
- For the won-and-active rows only, write the attributes that were true before you contacted them. Before, not after. "They valued our support" is not an attribute. "They had no in-house data engineer" is.
- Check each attribute against the churned and lost rows. Keep the ones that are common in the first group and rare in the others.
- Cross out any surviving attribute you cannot find on a public source, a database filter or a signal. Those are nice to know, not usable.
- Write the profile as a filter, not a paragraph.
Step 5 is where most ICPs die, and it is the step that matters. "Companies with messy data" is true and useless. "Freight brokerages with 50 to 400 staff that have posted a dispatch supervisor role in the last 90 days" can be turned into a list this afternoon.
A worked ICP, built from nine deals
Example only. Harborlane is a made-up B2B software company. The deals, attributes and counts below are invented to show the method, not data from our clients.
Harborlane sells reconciliation software. Nine closed deals in 12 months, five still active, two churned, and twelve losses they tracked.
| Attribute | Won and active (5) | Won and churned (2) | Lost (12) | Keep? |
|---|---|---|---|---|
| 50 to 400 employees | 5 | 1 | 4 | Yes, and filterable |
| Multi-office | 5 | 0 | 3 | Yes, visible on their site |
| Already paying two contract analysts | 4 | 0 | 1 | Yes, found by asking on call one |
| No in-house data engineer | 5 | 0 | 5 | Yes, filterable from job titles |
| Raised in the last 18 months | 2 | 2 | 6 | No, it does not separate the groups |
| "Cared about accuracy" | 5 | 2 | 12 | No, everyone says this |
Harborlane's ICP, written as a filter: US freight brokerages, 50 to 400 employees, two or more offices, no data engineer on staff, currently paying contractors or temps for reconciliation. Their persona: the VP of Operations, measured on invoice accuracy and dispatcher headcount, who has already tried fixing it with spreadsheets.
The two churned deals are the most useful rows on the sheet. Both were single-office and both bought after a funding round rather than after an operational problem. That is how "raised recently" got dropped as an attribute, even though it looked like a buying signal.
How do I test the ICP before I build a list of 2,000 companies?
Three tests, in order. Each takes less than a day.
| Test | How to run it | Fail looks like |
|---|---|---|
| The list test | Try to produce 200 named companies that match every attribute | You can only find 20, or the filter returns 40,000 |
| The sentence test | Say the profile to a current customer and ask "is that you?" | They hedge, or add a condition you had not written down |
| The reply test | Send 50 personal messages to the new profile and 50 to your old list | Both get the same reply rate, so the attributes are not doing any work |
If the filter returns tens of thousands of companies, it is a segment, not an ICP. If it returns 20, you have described your three favourite customers. Somewhere between a few hundred and a few thousand accounts is the range where a small team can actually reach everyone with a personal message, which is the point of the exercise. The volume math behind that is in how many cold emails per day.
What does an ICP change once it is written?
If the document changes nothing, it was not worth writing. A real ICP changes five things in the same week: the outbound list, what you say in the first line of a message, which inbound leads get a call versus a reply, what the founder posts about, and which feature requests you ignore.
It also changes who you turn down. Writing down the companies you are not selling to this quarter is part of the one-page GTM strategy framework, and it is the line that keeps the list honest when a quarter gets slow.
Running the work that follows, keeping the list current, writing to each person individually, answering every reply the same day, takes more hours than most founder-plus-one teams have. SOVE7GN GTM does that part for B2B startups from seed to Series C: we match every fitting company with the right person, write one personal message each, and handle the replies, while the founder approves posts and takes the calls. Book a call if you want a second read on your profile; pricing is shared on the call. The rest of the guides are in the GTM guides hub.
Questions people ask
How do I define my ICP for B2B SaaS?
Work backwards from closed deals. Tag your last 10 to 30 deals as won-and-active, churned or lost, find the attributes common in the first group and rare in the others, drop anything you cannot filter a list on, and write the result as a filter rather than a paragraph.
What if I have no customers yet?
Then you have a hypothesis, not an ICP. Pick the narrowest group you can describe and reach, run 60 days of conversations with them, and let the calls correct it. Warm outbound to people who already know you is usually the fastest way to get those first conversations.
How many attributes should an ICP have?
Three to five that you can filter on. More than that and your list collapses to a few dozen companies. Keep the rest as qualifying questions for the first call.
Should the ICP include company revenue?
Only if you can find it. For private US companies you usually cannot, so headcount, office count, licence type or hiring activity are better proxies because they are visible before you make contact.
How often should I update my ICP?
Re-run the deal review every quarter, and any time you churn two customers that matched the profile. Churn tells you more about a bad ICP than wins do.
Want calls on your calendar without hiring five people?
Book a 30-minute call. Tell us who buys from you and we'll show you what inbound, midbound and outbound would look like for your startup.
Book a call How SOVE7GN GTM works- GTM strategy frameworkA one-page GTM plan with fill-in prompts and a worked example.
- Warm outbound vs cold outboundThe two outbound motions compared, and how founder posts warm up a cold list.
- First 100 B2B customersWhat changes between customer 10 and 100: channel, repeatability, who sells.