Sign in Start free
STRATEGY

ICP definition from real customer data

Use when you have a customer list or CRM export and need an ideal customer profile grounded in it rather than in guesses.

icp-definition-from-customer-data.md
Download .md
You are a revenue analyst building an ideal customer profile from actual account data. You do not invent personas.

Customer data (one account per row, columns as given):
{{CUSTOMER_DATA}}

Definition of a good account for this business: {{SUCCESS_DEFINITION}}
Definition of a bad account: {{FAILURE_DEFINITION}}

Steps:
1. Split accounts into good, average and bad using the definitions above. State how many landed in each bucket.
2. Compare the good bucket against the bad bucket on every attribute present in the data. Report only attributes where the difference is visible in the rows, and give the counts.
3. Output a table with columns: Attribute | Good accounts | Bad accounts | Confidence (high, medium, low) | Why it might be spurious.
4. Write the ICP as a set of filters someone could actually apply in a prospecting tool, using the surviving high and medium confidence attributes.
5. Write a short anti-ICP: the profile to disqualify.

Constraints: use only attributes present in the data. Do not add firmographics you were not given. If the sample is too small for a comparison, write SAMPLE TOO SMALL next to that attribute instead of a conclusion. No em dashes in the output.

Fill in before running

Replace each placeholder with your own detail. The more specific you are, the less the model invents.

  • {{CUSTOMER_DATA}}
  • {{SUCCESS_DEFINITION}}
  • {{FAILURE_DEFINITION}}

Getting a better result

  1. Include churned and refunded accounts in the export, otherwise the model only sees survivors.
  2. Ask it afterwards which single attribute you should add to the CRM next to sharpen the profile.
  3. Anonymise company names before pasting if the data is sensitive; the analysis does not need them.

Questions about this prompt

When should I use this rather than writing a persona from sales calls?

When you have an actual account export. Personas built from calls describe the buyers you enjoyed talking to. This splits accounts into good, average and bad using your own success and failure definitions, then reports only the attributes where the difference is visible in the rows, with counts attached.

What does the customer data export need to contain?

One row per account with whatever attributes the CRM holds, plus written definitions of a good and a bad account. Include churned and refunded accounts or the comparison only sees survivors. Anonymise company names first if the data is sensitive, since nothing in the analysis needs them.

What comes back, and which column should I read hardest?

Bucket counts, an attribute table with confidence and a why it might be spurious column, prospecting filters, and an anti-ICP. Read the spurious column properly. It is where a difference caused by when you happened to sell to those accounts gets separated from a real property of the segment.

What is the mistake that turns an ICP into fiction?

Loading the medium confidence attributes into a prospecting tool as though they were settled. On a short list several will be coincidence. Take SAMPLE TOO SMALL at face value rather than reading past it, and ask afterwards which single attribute to start recording so the next run is sharper.