An ideal customer profile is a filter, not a portrait. It earns its place only if somebody can take it to a database or a conference attendee list and produce a list of real companies without coming back with questions.
Start from the accounts you already have
Take your best ten customers, by retention and margin rather than by logo. Then take the five that went badly. The profile lives in the difference between those two groups, and it is usually not the attribute everybody assumed.
Look at the shape of the company rather than the industry label: who owned the budget, how many people had to agree, what they were using before, and what had just changed when they bought. Industry is a weak predictor. Buying structure is a strong one.
Attributes that are worth having
Firmographics narrow the field: sector, headcount, revenue band, region, and the technology already in place. Those are the ones a list builder can filter on, which is why they come first.
Then the structural ones: who decides, how long the cycle runs, whether procurement is involved, and what the alternative to buying is. Those will not appear in a database, but they tell the sales team what they are walking into and what the message has to pre-empt.
The anti-profile is as useful as the profile
Write down what disqualifies a company as explicitly as what qualifies it. Below a certain size there is no budget. Above a certain size there is a procurement process your cycle cannot absorb. In some regions you cannot support them properly.
Teams underuse this because saying no to a segment feels like leaving money on the table. In practice an unqualified pipeline costs more than an empty one, because it consumes the time that would have filled a real one.
The test
Hand the profile to somebody who has never worked on your product and ask for two hundred companies. If they can do it, you have an ICP. If they come back with questions, you have a point of view that still needs finishing.
Then revisit it after the first ninety days against who actually replied. The first version is a hypothesis. The second one, written from reply data, is the one worth keeping.
