Start from the customers you already have
An outbound ICP is a ranked hypothesis about which companies will buy, written down so a machine can score them. The input is your own customer base. Pull your 10 to 30 best accounts and rank them on whatever matters to you: revenue, retention, speed of close, margin. Then pull the 5 or 10 worst, the ones that churned, discounted heavily or took six months to close.
For each account, record the same fields: industry, headcount band, location, the buyer's job title, what the company was doing when it bought (hiring, raising, expanding, replacing a vendor), and the process or tool it used before you. Sort the best and worst lists side by side. Whatever shows up in the best list and rarely in the worst is a candidate criterion.
Be modest about what the data can tell you. With fewer than about ten customers the pattern is closer to anecdote, so treat the output as hypotheses for outbound to confirm. With no customers yet, the ICP is a pure hypothesis, and the offer rewrite playbook covers what to fix before outbound.
The aim is a handful of criteria you can check from public data. A trait you can only learn on a sales call, such as "culture of experimentation", is not a criterion for list building.
Firmographic and trigger criteria
Firmographic criteria say who could buy: industry, size, geography, business model. Trigger criteria say who might buy now: a hire, a funding round, a leadership change, a new location. Fit changes slowly and triggers decay, so we score them separately and re-run the trigger part of the score more often.
Both kinds are available as filters in tools most teams already have. LinkedIn's Sales Navigator help page defines account filters for company headcount, headcount growth over the last 12 months, job opportunities ("accounts with open job opportunities posted on LinkedIn"), recent activities, and buyer intent, which it says is determined by employee interactions, InMail acceptances, ads engagement and company page engagement (LinkedIn, checked 18 October 2026). Clay's signals documentation lists topic intent, web intent, new hires, news and fundraising, job changes, promotions, and custom signals (Clay University, checked 18 October 2026). Its job change signal monitors contacts in a table and needs each contact's LinkedIn URL as the identifier (Clay University, checked 18 October 2026).
| Type | Example criterion | Where to check it |
|---|---|---|
| Firmographic | Industry and sub-industry | Company site, LinkedIn, Crunchbase |
| Firmographic | Headcount between 50 and 500 | Sales Navigator headcount filter |
| Firmographic | Sells in a country you can serve | Company site |
| Fit signal | Uses the process or tool you replace | Site copy, job postings, enrichment data |
| Trigger | Open roles in the function you sell to | Sales Navigator job opportunities filter |
| Trigger | Funding in the last 12 months | Crunchbase, Clay news and fundraising signal |
| Trigger | Buyer changed jobs | Clay job change signal |
Pick two or three triggers per segment, no more. Each one should connect to a reason your offer matters this quarter. The signal-based outbound playbook goes into which triggers are worth acting on.
Scoring accounts from 0 to 100
A score turns a long list into an order of work. Tibexa scored firms this way on the Fema Tape, Rapid Lanyard and Igrek projects. In the Fema Tape work we found 12,000 firms and cut the list to 8,000 by dropping everything below 50 out of 100 (Fema Tape case study). For Rapid Lanyard we ran segmented targets that scored 75 or higher (Rapid Lanyard case study). The thresholds are the ones we used. The weights below are an illustration of how to build a rubric, and we did not use these exact weights on those projects.
| Dimension | Max points | Example rule |
|---|---|---|
| Industry match | 25 | 25 for a core industry, 10 for an adjacent one, 0 otherwise |
| Size band | 20 | 20 in the sweet-spot band, 10 within one band either side |
| Geography | 10 | 10 for a market you serve well, 5 for a market you can serve |
| Process or tool fit | 15 | 15 if the site or job posts show the problem you fix |
| Reachable buyer | 10 | 10 if the right title is findable and verifiable |
| Trigger | 20 | Up to 20 for a recent, relevant event; 0 if none |
The structure borrows from CRM lead scoring. HubSpot's documentation separates fit scores, which use profile data such as job title, company size or revenue, from engagement scores, which use behavior. It lets you cap the points any one group can add and set a limit on the total score (HubSpot Knowledge Base, checked 18 October 2026). The cap is the part worth copying: no single trait should be able to push an account over the line alone.
We read scores in three bands. At 75 and above, an account goes into the first sending wave. Between 50 and 74, it waits in reserve for a second wave or a lighter-touch sequence. Below 50, it is cut. At scale, an AI model can score each company against the rubric, as it did in the Fema Tape work. Have it return sub-scores with a one-line reason, and check 50 to 100 rows from each batch by hand to catch a rubric that is scoring the wrong thing.
| Engagement | Firms found | After scoring or filtering |
|---|---|---|
| Fema Tape | 12,000 | 8,000 (cut below 50 of 100) |
| Igrek | 9,000+ | 1,800+ ideal |
| Naturagen | 5,000+ | 1,500 distributors after AI filtering |
In the Igrek work, about one in five of the firms we found scored as ideal. That work also included a factory visit in week one, and the list was later expanded by 5,300 firms.
Disqualifiers
A disqualifier removes an account before scoring, whatever its points. HubSpot's scoring tool allows negative points, and its documentation notes that scores go negative when more points are subtracted than added (HubSpot Knowledge Base). For outbound lists we prefer hard cuts, because a negative score can be outweighed by a strong trigger and a hard cut cannot.
- Companies outside the markets you can legally and practically serve.
- Companies below the size at which your price makes sense.
- Existing customers, open opportunities and anyone contacted in the last 90 days.
- Competitors and their close partners.
- Subsidiaries of a company already on the list, which would put two people at the same parent on the same sequence.
- Accounts whose only reachable contact fails email verification.
- Companies you have already lost to a known blocker, such as a required integration you do not have.
Keep the disqualifier list short enough that someone can recite it. Each new rule costs addressable market, so add one only when you have seen it fail.
Messaging per segment
A segment is a group of accounts that share one problem and can be addressed with one message. The same ICP usually contains two or three of them. They differ in the problem they feel, the words they use for it, the proof that lands, and the offer that fits.
| Segment | Trigger | Opening problem | Offer |
|---|---|---|---|
| Freight brokers, 20 to 100 staff | Hiring dispatchers | Manual load matching as volume grows | Teardown of their quote-to-dispatch steps |
| Third-party logistics firms | New warehouse or site | Onboarding a new location onto old tooling | One-page rollout plan for the new site |
Write each segment's first email from its own trigger and problem, then reuse the structure from how to write cold emails that book meetings. If you cannot write a distinct offer for a segment, it is probably the same segment as another one and the two should merge.
When we ran Rapid Lanyard, the segmented targets scored 75 or higher, and the campaign used 39 domains with inboxes split between Microsoft and Google. The results were 110+ positive replies and 2x revenue in four months, and we paused the campaign because the client had reached production capacity. Check delivery capacity before you scale.
How many segments to run
Run one to three segments at a time. Each segment needs enough contacts to learn from, and our A/B arithmetic in the cold email copy playbook shows that comparing two variants at a 3 percent versus 6 percent reply rate takes about 750 emails per variant. A segment under roughly 1,500 contacts cannot be tested internally, so you learn from the segment-to-segment comparison instead.
Start with the segment that has the strongest trigger and the most contacts at 75 or above. Check it against the planning benchmarks we use: 2 to 3 percent of sends replying, 15 to 50 percent of replies positive. At the bottom of that range, 1,000 sends should produce about three positive replies, since 2 percent of sends reply and 15 percent of those are positive. Zero positive replies in 1,000 delivered emails would happen by chance only about 5 percent of the time under the same assumptions, so it is a reasonable point to change the offer or drop the segment.
Add a second segment when the first has produced a clear read, and a third only when you can still look at each one weekly. For scale, the Fema Tape work contacted 850 firms in month one with a sample offer in every message, and got 32 positive replies against a target of 15 and 37 meetings in two months. At that volume one or two segments is all the data can support. Past three segments the sequences, inboxes and reporting multiply faster than the learning does.
If you want help turning customer data into a scored list, this is the core of our GTM strategy and execution work.
Questions
How many customers do I need to build an ICP?
Ten to thirty good ones gives you real patterns. With fewer than ten, treat the result as a hypothesis and let the first outbound wave confirm it.
What score threshold should I use?
It depends on your rubric. In our work we cut below 50 out of 100 on the Fema Tape list and targeted 75 and above for Rapid Lanyard. Set your own bands by checking where your closed customers would have scored.
Should triggers be part of the ICP score?
Yes, kept as a separate block of points. Fit tells you who could buy and triggers tell you who might buy now, and triggers expire, so you rescore them more often than firmographics.
How often should I update the ICP?
Review it after each sending wave and once you have a batch of booked meetings and closed deals to compare against. Add a criterion only when the data supports it.
Sources
- HubSpot Knowledge Base: Understand the lead scoring tool
- LinkedIn Help: Sales Navigator lead and account filter definitions
- Clay University: Signals and triggers
- Clay University: Job change signal overview
Worked examples are illustrations unless a case study is linked. How we write and check these pages.