Ideal Customer Profile Template
Five documents and three sheets that join your closed deals to your billing history, then rank segments on what an account is worth over two years.
Free download · No account needed
Segment Performance
The same three segments, ranked twice
| Segment | Win rate | Cohort | Retained | Logo ret. | Per account | Per opportunity |
|---|---|---|---|---|---|---|
| Agencies | 41.6% | 71 | 21 | 29.6% | $18,245 | $7,588 |
| In-house, multi-site | 24.0% | 38 | 33 | 86.8% | $47,376 | $11,361 |
| Everything else | 22.2% | 33 | 14 | 42.4% | $24,855 | $5,511 |
The ranking flips on the same data
Agencies close 17.6 points better and are worth a third less per opportunity worked. Value per opportunity is win rate multiplied by what an account returns over the horizon, and the two factors pull in opposite directions here.
Two rules that make the numbers honest
Only accounts old enough to answer are counted. Forty-five of the 187 won accounts started less than 24 months ago. They are excluded, not counted as retained. A rate quoted against the full won set flatters by construction.
Value per account divides by the cohort, not the survivors. Dividing by survivors is the most common way this measurement gets ruined, and it always produces a better number than the truth.
Net revenue retention over the same window: 107.8% in-house, 26.7% agencies, 58.6% across the cohort.
A closed-won export contains exactly one outcome. On the Salesforce Opportunity object, `IsWon` and `IsClosed` are booleans driven entirely by `StageName`, and no standard field records whether the account renewed. The HubSpot deal object is the same shape: `dealstage`, `closedate`, `amount`, nothing about year two. Renewal is an account fact that happens long after the deal closes, so it sits in the billing system instead. Joining the two is a spreadsheet operation somebody has to sit down and perform.
Which is why almost every ideal customer profile is derived from win rate. Not because win rate is the right measure, but because it is the column already in the file. Join the two systems and the ranking often reverses. Bramwell's agency segment closes at 41.6 percent and returns $7,588 per opportunity worked. Its in-house segment closes at 24.0 percent and returns $11,361, because 86.8 percent of those accounts were still paying at two years against 29.6 percent of the agencies.
Then the sharper finding, which sits inside the best-looking segment rather than outside it. One discovery question splits those 71 agency accounts into 37 that retained at 48.6 percent and 34 that retained at 8.8 percent, and the second group came in $58,800 below the company's own payback threshold. That is a disqualifier a rep can use. The fit score built on the same cohort gets tested on a holdout period. It installs into the marketing workspace beside the positioning canvas and the rest of the template library.
What's in the pack
Cohort Retention and Expansion
One row per measurable account with its starting and current recurring amount, so every rate in the pack is derivable from the rows rather than asserted above them.
Segment Performance
Win rate, logo retention, net revenue retention, value per account and value per opportunity worked, with the counts beside every rate.
Fit Scoring Model
Six weighted attributes, all observable before a sale, with quartile separation reported for both the build set and a holdout period.
Disqualification Criteria
Who to decline, split into hard, soft and deliberately-not-a-criterion, each with its counts and its arithmetic against the payback threshold.
ICP Definition
The measurement set first, then the attributes with their source fields and fill rates, then what the profile gives up and the number that would change it.
Persona Briefs
Three briefs inside the primary segment plus an anti-persona, separating the weekly owner from the signer and the person who appears late and stops the deal.
Cohort Method
How the join works, the two date traps in the export, and how to grade firmographic fields that are not equally trustworthy.
Fit Score Validation
Why the split is by date rather than at random, what shrinkage between the two spreads means, and when to re-fit.
How to use it
- 1
Open in River, or take it blank
Open the pack in River and send both exports, or download the Word documents and CSV sheets and do the join yourself in a spreadsheet.
- 2
Send two files, not one
Closed opportunities with firmographics, and billing history keyed on the account. The second file is the one that makes this different from every other ICP exercise.
- 3
Cut the cohort honestly
Only accounts old enough to have reached the horizon can be measured. State how many won accounts that excludes, and never count the young ones as retained.
- 4
Split your best segment
Run retention against what buyers said at discovery. The strongest disqualifier is usually hiding inside the segment with the best win rate, not outside it.
Frequently asked questions
Is this template free?
Yes, with no account, no card and no email gate on the download. Edit with AI is the optional half: River does the join, cuts the cohort, ranks the segments and drafts the criteria. Every pack sits in the template library.
What if I have no billing export?
Anything account-keyed with a status and a date works. An invoice list, a subscription report, even a renewals tab somebody maintains by hand. What will not work is a closed-won list on its own, because it cannot tell you which of those accounts is still paying.
How many accounts do I need?
Enough to have reached the horizon and still split. The worked example rests on 38 measurable accounts in its primary segment and says so explicitly, along with the cohort size that would trigger a re-measurement. Small samples are usable. They are not usable silently.
Why two years rather than one?
A twelve-month horizon on an annual contract measures onboarding, because the renewal has not happened yet. Twenty-four months captures one real renewal event. Shorter windows are worth running when that is all the data allows, labelled as what they actually measure.
Is this different from a positioning statement?
Yes, and they answer to different evidence. The positioning canvas tests the segment against win rate and contract value at close. This tests the same attributes against whether the account was still paying two years later, which frequently reorders them.
Why does the ICP need disqualifiers?
Because a profile naming only who to pursue leaves a rep with a bad deal in front of them nothing to point at. A criterion with counts, a retention rate and a shortfall against the payback threshold survives that conversation. A preference does not.
What does Edit with AI actually do?
It signs you up, installs this pack as a private workspace, and starts with the join. Send both exports and the segment table comes back ranked on value per opportunity worked, with the accounts too young to measure named and set aside.
Find out which segment is still paying
Take the Word documents and CSV sheets blank, or open this exact pack in River and send it your closed deals and your billing history.
Edit with AI