The ICP worksheet
Twenty-two questions in five sections, published in full. Answer them and you have a filter a database can run, rather than a paragraph everyone interprets differently.
- 22 questions in full
- No email required
- Ends in a runnable filter

The short answer
- Five sections: the firmographic filter, the buying trigger, the person, the disqualifiers, and the test that tells you whether the definition is any good.
- The disqualifier section is the one that changes results. Most teams can describe who they want and cannot describe who they should refuse, which is why their lists are twice the size they should be.
- The output is meant to be executable. If an answer cannot become a filter on a field in your database, it is a belief rather than an ICP.
Why this exists
An ideal customer profile that lives in a slide is a description. An ICP that lives as a filter is a tool: it selects the list, it decides what gets reported on, and it settles arguments about whether a lead was any good.
These questions are written to force that conversion. Each one asks for something you could type into a query. Where a question cannot be answered that way, the honest response is usually that you do not know yet, and knowing that is itself useful.
The worksheet, in full
Section 1: the firmographic filter (6)
- What industry or industries, named the way a database would name them rather than the way you talk about them internally?
- What company size, in employees or in revenue, and which of those two do you actually have data for?
- What geography, at the level of precision you can filter on: country, state, or a radius from a place?
- What has to be true about their existing technology or tooling, if anything?
- What business model do they run, and does it matter? Recurring versus project, direct versus channel, franchise versus independent.
- How many companies in the world match all of the above? If the answer is over a hundred thousand, the filter is too loose to be useful.
Section 2: the buying trigger (4)
- What has to have happened recently for this to be worth their attention this quarter rather than eventually?
- Is that trigger observable from outside the company? If not, you are targeting a state you cannot detect.
- How long does the window stay open after the trigger?
- What do they do today instead of buying from you? Name the actual alternative, including doing nothing.
Section 3: the person (5)
- What is the buyer's job title, in the several forms it actually appears in?
- What is that person measured on by their own manager?
- Who else has to agree, and what do they care about that the buyer does not?
- Who is the person who will use the thing every day, if that is someone different?
- What would make this person look good internally for choosing you, and what would make them look bad?
Section 4: the disqualifiers (4)
- Who looks like a fit on paper and never buys? Write the pattern, not the anecdote.
- Who buys and then churns, or buys and then costs more to serve than they pay?
- What size is too small to bother and what size is too large to serve well?
- What would make you turn a deal down even when the buyer is keen?
Section 5: the test (3)
- Can every answer above be expressed as a filter on a field you have or can get? List the ones that cannot.
- Take your last ten closed deals. How many pass this filter? If it is under half, the ICP describes an aspiration rather than your business.
- Take ten deals you lost or refused. How many does the filter correctly exclude? A filter that excludes nothing is not a filter.
Turning the answers into something that runs
In SalesCrew an ICP is a record rather than a document. It holds the titles, sizes, industries and geography from sections one and three, and the same definition drives both sourcing and reporting, so the numbers you review describe the people you targeted.
A segment turns the ICP into rows, filtered from the data bank. The segment freezes with suppression applied before a cadence touches it, which is why the disqualifier work in section four pays off: exclusions written into the definition stop being something a person remembers to apply.
icp_create, icp_list and segment_create are the MCP twins, so the whole definition can be scripted and version-controlled rather than rebuilt from memory the next time someone new joins.
Make the definition run against a database
An ICP record, a segment and suppression at freeze, instead of a paragraph in a slide.