An ICP is written at the level of the account: the company, not the person. Typical attributes are industry, size, geography, business model, the tools they already use, their stage of growth, and trigger events such as a funding round, a new regulation that applies to them or a hire into a specific role. The profile is useful to the extent that each attribute can be checked from outside, because its first job is to build and filter a list.
It is often confused with a buyer persona, which describes a person inside those companies: their role, what they are measured on, what worries them. The two work together. The ICP tells you which companies to look at; the persona tells you who to speak to there and what to say.
A good ICP also says what is not a fit. Exclusions (“no agencies”, “not below a certain team size”, “not already locked into a competitor’s multi-year contract”) save as much time as the inclusions.
Early on, an ICP is a hypothesis. It gets sharper from two sources: the deals you win, which show which attributes actually mattered, and the prospects you reject during research, whose reasons for rejection are attributes you forgot to write down. If you run several go-to-market motions, each has its own ICP.
For how an ICP becomes a score on individual prospects, see What is ICP fit scoring?