ICP: First Principles & Practice
First-principles thinking on Ideal Customer Profile — why it matters, how to find it, when to expand.
Why ICP Matters (First Principles)
A company has finite resources. The core question: toward whom do you allocate them?
Every customer is not equal:
| High-fit customers | Low-fit customers |
|---|---|
| Find you easily (low CAC) | Require heavy convincing |
| Succeed quickly with your product | Struggle, need hand-holding |
| Stay and expand | Churn, blame you |
| Tell others | Complain publicly |
| Give feedback that improves product | Give feedback that pulls you off-course |
ICP is the discipline of identifying and pursuing high-fit customers deliberately, rather than accepting whoever shows up.
- Without ICP → optimize for volume
- With ICP → optimize for fit
ICP vs ACP
They're not opposites — they're raw data vs. insight:
- ACP (descriptive): Who has bought? Historical average. Input data.
- ICP (prescriptive): Who should we pursue? Best-performing subset. Strategic conclusion.
You analyze ACP to discover ICP. The question: "Within everyone who bought, who performed best — and what do they share?"
Key Characteristics of a Good ICP
1. Specific enough to be actionable
- Bad: "Small businesses"
- Good: "E-commerce brands doing $1-5M revenue on Shopify"
- Test: Can you build a list of 100 target names?
2. Predictive of success
- Customers matching ICP should measurably outperform others
- Test: Do ICP customers retain better, convert faster, pay more?
3. Addressable
- You can reach them through some channel
- Enough of them exist to sustain growth goals
- Test: Where do they gather? How would you find 1,000 of them?
4. Aligned with your unique strength
- Your product solves their problem better than alternatives
- Test: Why would they choose you over competitors?
ECP vs ICP: Discovery vs Execution
| ECP (Early Customer Profile) | ICP (Ideal Customer Profile) | |
|---|---|---|
| When | Pre-PMF, pre-$1M ARR | Post-PMF, scaling |
| Purpose | Discovery — find who loves you | Execution — scale what works |
| Basis | Hypothesis + early signals | Data from actual customers |
| Stance | "We don't know yet, we're learning" | "We know who wins, let's find more" |
| Stability | Changes frequently (maybe weekly) | Changes slowly (quarterly review) |
ICP assumes you know. It's a targeting filter: "Go find more of these people."
ECP acknowledges you don't know yet. It's a learning tool: "These are the people we think will love us — let's test it."
Why the Distinction Matters
If you treat ECP like ICP too early:
- You optimize for a segment that might be wrong
- You stop listening for signals that contradict your assumption
- You miss the actual best-fit customers hiding in your data
What ECP Captures
- Hypothesis about who has the problem most acutely — Not "who could use this" but "who can't live without this"
- Characteristics you can actually identify — Job title, company stage, tools they use, behaviors you can detect
- Willingness to tolerate imperfection — ECP should describe people who'll use rough product because the problem is that painful
How ECP Evolves
Week 1-4: ECP v1 (pure hypothesis from problem interviews)
↓
Week 5-8: ECP v2 (adjusted based on who actually activates)
↓
Week 9-12: ECP v3 (adjusted based on who retains)
↓
Month 4-6: ECP v4 (adjusted based on who pays/expands)
↓
Post-PMF: ECP → ICP (now you have enough data to be confident)
The Superhuman Method: ECP → ICP Transition
- Ask: "How would you feel if you could no longer use this product?"
- Segment: Find who says "very disappointed" (that's your ECP signal)
- Analyze: What do "very disappointed" users have in common?
- Narrow: Focus only on users who match those characteristics
- Iterate: Rebuild product for that segment until 40%+ say "very disappointed"
- Graduate: Once you hit 40%+, your ECP becomes your ICP
They jumped from 22% to 33% PMF score just by focusing on users in the "very disappointed" segment — they didn't change the product, they changed who they were measuring.
When ECP Becomes ICP
Signals you're ready to graduate:
- 40%+ "very disappointed" in Superhuman survey
- Repeatable pattern: You can describe who succeeds in 3-5 attributes
- Predictive power: New users matching the profile perform measurably better
- Confidence to say no: You can turn away non-fit customers without anxiety
The Chicken-and-Egg Problem
The Pareto approach assumes you have revenue data. But what if you're pre-revenue?
| Stage | What you have | How to approach ICP |
|---|---|---|
| Pre-product | Nothing | Hypothesis from problem interviews |
| Pre-revenue | Users, no payment | Use engagement/retention as proxy |
| Early revenue | <20 customers | Qualitative — talk to all of them |
| Post-revenue | 50+ customers | Pareto analysis works |
Pre-Revenue Proxies for "Value"
- Activation — Who uses product vs. signs up and ghosts?
- Retention — Who comes back week 2, week 4?
- Engagement depth — Who uses advanced features?
- Willingness to pay — Who says "I'd pay for this" unprompted?
- Problem intensity — Who has the hair-on-fire version?
Early ICP is a hypothesis, not a conclusion. Persona's CEO did "the ICP exercise 17 times in the early days."
Data-Driven vs Gut-Feel ICP
Gut-Feel ICP
Founder reasoning: "We built a sales enablement tool. Sales teams need this. Let's target B2B SaaS — I know that world."
Result: Industry: B2B SaaS, Size: 50-500 employees, Buyer: VP of Sales
Sounds reasonable but based on founder familiarity, not evidence.
Data-Driven ICP
Same company analyzes 40 existing customers:
| Segment | Count | Avg Deal | Win Rate | 90-day Retention | Sales Cycle |
|---|---|---|---|---|---|
| B2B SaaS | 18 | $12K | 15% | 70% | 62 days |
| Fintech | 8 | $28K | 35% | 90% | 41 days |
| Healthcare IT | 6 | $22K | 25% | 85% | 55 days |
| Other | 8 | $8K | 10% | 50% | 78 days |
Discovery: Fintech wins faster, pays more, retains better.
Further analysis of 8 fintech customers reveals common traits: 7/8 recently hired Sales Ops, 6/8 used Salesforce + Outreach, 5/8 raised Series B in past 18 months.
Data-Driven ICP: Fintech, 80-300 employees, recently hired first Sales Ops, Salesforce + Outreach stack, Series B in last 18 months.
| Gut-Feel | Data-Driven | |
|---|---|---|
| Basis | Founder's past experience | Customer performance data |
| Specificity | Broad ("B2B SaaS") | Narrow (fintech + trigger + stack) |
| Actionable? | Weak — millions fit | Strong — sales can build target list |
Case Studies: Narrow ICPs That Scaled
Gusto, Gong, Snyk, Looker — Wedge Examples
Companies that started with almost comically narrow definitions:
Gusto — 6 constraints: only companies with ≤5 employees, California-based, no benefits, only salaried employees, no other deductions, willing to wait 8 days for payroll. Today: 300,000+ businesses across 120 countries. Wedge: payroll is universal; customers grow into complexity.
Gong — Only software companies selling in English in the US via video conferencing, deal sizes $1K-$100K. Only ~5,000 companies globally fit. Today: multi-billion dollar revenue intelligence platform. Wedge: conversation intelligence applies to all sales.
Snyk — Developers building with Node.js who were security-conscious. Co-founder: this depth-first approach was "critical to validate the solution on the path to product-market fit." Wedge: security applies to all developers, not just Node.js.
Looker — Technical data teams at startups with 50-400 employees adopting cloud infrastructure. These teams viewed themselves as engineers, not analysts. Google acquired Looker based on this position. Wedge: data teams exist everywhere.
Pattern: Universal problem + specific segment = wedge that opens into larger market.
Notion — Full Case Study
Phase 1: Survival (2016-2018)
ICP:
- Individual power users
- Productivity/tools nerds
- Often in tech or design
- Frustrated with tool sprawl (Evernote + Trello + Google Docs + wiki)
- Build personal systems, share publicly
Why it worked:
- Zero marketing budget → needed organic evangelists
- These users wanted to tinker and share templates
- Twitter/ProductHunt amplification
- Product complexity was a feature, not bug
Signal to evolve: Users started bringing Notion into teams organically
Phase 2: Team Adoption (2018-2020)
ICP shift:
- Small teams at startups (5-50 people)
- Often engineering or design teams first
- Bottom-up adoption (one person brings it, team follows)
- Companies valuing flexibility over structure
- No IT department gatekeeping
What changed:
- Added collaboration features
- Workspace/team billing
- Still no sales team — purely self-serve
Signal to evolve: Larger companies asking for features Notion didn't have (SSO, permissions, admin controls)
Phase 3: Mid-Market (2020-2022)
ICP shift:
- Companies 100-1000 employees
- Specific departments: Product, Engineering, Design, People Ops
- Need team wikis, project docs, onboarding systems
- Some IT requirements but not enterprise-grade
What changed:
- Added SSO, SCIM, audit logs
- Built sales team for first time
- Created use-case templates
- Introduced tiered pricing (Team vs Enterprise)
Signal to evolve: Deals stalling on security reviews, procurement, compliance
Phase 4: Enterprise (2022-Present)
ICP shift:
- Large enterprises (1000+ employees)
- Centralized IT and procurement
- Compliance requirements (SOC 2, GDPR)
- Replacing legacy wikis (Confluence) or intranets
What changed:
- Enterprise sales team
- Custom contracts, security reviews
- Advanced permissions, guest access controls
- Notion AI as enterprise differentiator
The Pattern
| Phase | ICP | Go-to-Market | Expansion Trigger |
|---|---|---|---|
| Survival | Individual power users | Organic/community | Users brought to teams |
| Teams | Small startup teams | Self-serve | Larger companies asking |
| Mid-Market | 100-1000 employee cos | Light sales | Deals blocked by IT |
| Enterprise | 1000+ enterprises | Enterprise sales | Market opportunity + AI |
Key Insight: Notion didn't plan this path. They followed the signal: Who is naturally succeeding? → Let them evangelize. Who is pulling for more? → Build for them. What's blocking deals? → Remove friction.
Each ICP expansion was reactive to demand, not proactive ambition.
Duolingo — Two-Layer Segmentation
Layer 1: Behavioral Buckets (The Growth Model) — Data-driven, discovered through systematic sensitivity analysis:
- New users (first day)
- Current users (active today + at least once in prior 6 days)
- Reactivated/Resurrected users (returning after absence)
- At-risk users (various inactive periods)
- Dormant users (inactive 31+ days)
The team ran simulations moving each retention rate 2% for three years. Discovery: CURR (Current User Retention Rate) had 5x the impact of the next best metric. This shifted company strategy from acquisition to retention.
Layer 2: Goal-Based Personas — Gathered through onboarding self-selection:
- The Dabbler: Casual, needs gamification and streak rewards
- The Achiever: Serious, wants progress stats and harder challenges
- The Traveler: Preparing for trips, needs quick practical progress
How segmentation impacts product:
- Leaderboards match by engagement similarity, not friendships — casuals compete with casuals (+17% learning time, 3x highly engaged learners)
- Streak mechanics optimized after discovering 10-day threshold predicts retention
- Daily goal options (Casual 5min → Intense 20min) route users to different experience intensities
The two layers compound: a "Current User" who self-identified as "Achiever" gets different treatment than a "Current User" who self-identified as "Dabbler."
The Narrow vs Expansion Tension
The Real Question
The tension isn't "narrow vs imaginative." It's: what early decisions preserve expansion potential vs close it off?
Expansion is earned, not planned. But early choices determine whether expansion is even possible later.
Why Expansion Is Hard
Expansion isn't "do the same thing for more people." It's closer to starting a new company while running the old one — but with constraints:
1. You're locked into what you built
| What you optimized | How it constrains |
|---|---|
| Features | Segment B needs different features; adding them bloats product for A |
| Architecture | Technical assumptions hardcoded (e.g., single-tenant vs multi-tenant) |
| Pricing | B has different willingness to pay; changing pricing upsets A |
| Sales motion | Self-serve vs enterprise are different muscles |
| Brand | "The X for Y" perception is sticky |
2. Switching costs work both ways — The same integrations, workflows, and data that lock in your customers also lock YOU into serving them.
3. Organizational antibodies — Sales wants to keep selling what they know. Support doesn't want new ticket types. Product gets pulled by existing customer requests.
4. Adjacent isn't always adjacent — "Enterprise" looks adjacent to "SMB" on a slide. In reality: different buyers, different sales cycles, different features, different support expectations.
Wedge vs Box
What you're narrow ON matters more than HOW narrow you are.
| Narrow on... | Expansion difficulty |
|---|---|
| Customer size (# employees) | Easier — same problem, more complexity |
| Geography | Moderate — product transfers, GTM doesn't |
| Industry vertical | Harder — domain knowledge doesn't transfer |
| Problem you solve | Hardest — you'd need to solve new problems |
A wedge is a narrow starting point that opens into larger territory. A box is a narrow starting point with no adjacent paths.
Early Decisions That Preserve Expansion
The goal isn't to plan expansion. It's to avoid closing doors while staying focused.
1. Choose narrow in dimensions that expand naturally
| Narrow this way | Not this way |
|---|---|
| Customer size (startups) | Customer identity (only YC companies) |
| Use case (meeting notes) | Workflow (only Salesforce users) |
| Geography (US first) | Regulation (only HIPAA-compliant) |
2. Separate architecture from product
- Architecture: Don't hardcode assumptions. Build abstractions that could serve other segments.
- Product: DO hardcode for your segment. Don't add features for markets you're not in.
Example: Gusto's payroll engine could handle complex deductions from day one (architecture), but they only exposed simple payroll UI (product).
3. Solve a universal problem for a specific segment
- ✓ "Payments for developers" — payments is universal, developers is narrow
- ✗ "Compliance for fintech startups" — both problem and segment are narrow
4. Let customers grow into expansion — Startups become enterprises. Power users become team leads. US companies go international. Best expansion path: your customers naturally move into new segments.
5. Build identity around problem, not segment
- "We make payroll easy" → can expand to any company
- "We serve small California businesses" → stuck
Decision Framework: Will This Choice Close Doors?
| Question | If yes → risk |
|---|---|
| Does this hardcode a customer size assumption? | Can't move up/down market |
| Does this depend on a specific integration? | Locked to that ecosystem |
| Does this require domain expertise that doesn't transfer? | Stuck in vertical |
| Does this create pricing expectations that conflict with other segments? | Pricing trap |
| Does this brand us as "the X for Y" where Y is a dead-end? | Perception trap |
B2C/Prosumer: Why Expansion Is Even Harder
The "narrow vs expansion" tension is amplified for B2C and prosumer products.
Why B2C Expansion Is Harder Than B2B
1. Behavioral lock-in vs contractual lock-in — B2B customers are locked in by contracts and switching costs. B2C users can leave anytime. You must constantly re-earn attention, which pushes you to optimize for current users, not future segments.
2. Personalization creates fragmentation — Each B2C persona expects a different experience. Duolingo's Dabbler wants gamification; Achiever finds it childish. Every personalization decision is a fork. The forks compound.
3. Brand/identity association is stickier — B2B positioning is functional ("Stripe is for payments"). B2C positioning is emotional ("Duolingo is fun"). Canva built brand as "easy design for non-designers." Expanding to enterprise required convincing people it's also professional-grade.
4. Habit loops are segment-specific — The habit you build for Segment A may actively repel Segment B:
- Duolingo's streak/gamification → perfect for Dabblers, feels patronizing to serious learners
- Calm's gentle meditation → great for beginners, boring for advanced practitioners
5. Unit economics pressure toward breadth — Low ARPU needs volume. Growth pressure pushes B2C toward broad targeting before you've truly won the narrow segment.
6. Network effects can segment you — B2C network effects can lock you into a segment: Duolingo's leaderboards match by engagement level → you're stuck in your cohort.
How B2C/Prosumer Can Deal With It
1. Separate products, not stretched products — Duolingo has main app, ABC (kids), Max (premium), Schools (B2B). Canva built "almost a separate company" for enterprise.
2. Modular architecture: shared engine, different surfaces — Same core capability, different UX per segment.
3. Let users self-select into tracks early — Fork at onboarding (Duolingo: Casual/Regular/Serious/Intense), not deep in the product.
4. Build identity around outcome, not style
- Limiting: "Fun language learning"
- Expansive: "Learn a language"
5. Design for power users, simplify for others — Adding depth to a shallow product feels bolted-on. Hiding depth from a powerful product feels elegant.
6. Choose your binding constraint carefully
- "Must be fun/gamified" → blocks serious users
- "Must be fast" → neutral, everyone wants fast
- "Must give user control" → enables both casual (defaults) and power (customization)
The Meta-Insight
B2B expansion is hard because of organizational constraints (product, sales, brand).
B2C expansion is hard because of identity constraints (what the product feels like to use).
You can rebuild an org. You can't easily rebuild how millions of users perceive your product's personality.
JTBD and Segment-Specific Expansion
Jobs-to-be-Done has three dimensions:
| Dimension | What it answers |
|---|---|
| Functional | What task am I completing? |
| Emotional | How do I want to feel? |
| Social | How do I want to be perceived? |
Most product teams overindex on functional and neglect emotional/social — but those often drive adoption.
Example — Meeting notes app:
- Functional: "Capture and organize meeting information"
- Emotional: "Feel prepared and in control"
- Social: "Appear organized and reliable to colleagues"
Why This Matters for Expansion
Functional jobs are relatively universal. "Capture meeting notes" applies to most knowledge workers.
Emotional and social jobs are segment-specific:
- "Feel like a serious professional" vs "Feel organized without trying hard" are different emotional jobs
- "Appear cutting-edge to peers" vs "Appear reliable to boss" are different social jobs
This means: you can expand functional capability, but emotional/social positioning is harder to stretch.
If your product's emotional job is "feel like a power user," casual users won't adopt even if the functional job matches.
The Switch Interview Method
Bob Moesta's technique for understanding why customers switch. The Four Forces:
Forces promoting switching:
- Push — Problems with current solution
- Pull — Benefits of new solution attracting
Forces preventing switching:
- Anxiety — Worry about the new solution
- Inertia — Existing habits and switching costs
For a switch to occur: Push + Pull > Anxiety + Inertia
Interview customers who switched within 6 months (clearest recall). Trace the timeline from first thought → passive looking → active looking → deciding → purchasing.
Key questions:
- "Take me back to when you first thought about solving this problem — where were you?"
- "What was frustrating about your old way?"
- "Did you have any anxiety about making the change?"
Implications for Expansion
When expanding to new segments, ask:
- Is the functional job the same? (Usually yes)
- Is the emotional job the same? (Often no)
- Is the social job the same? (Often no)
If emotional/social jobs differ, you may need a separate product — not just new features.
Beyond B2B: Different ICP Attributes
B2C: Attributes Shift to Psychographics
| B2B ICP attributes | B2C ICP attributes |
|---|---|
| Company size, industry | Demographics, life stage |
| Tech stack | Behaviors, habits |
| Buying committee | Values, identity |
| Budget authority | Willingness to pay |
Example — Peloton:
- Gut-feel: "People who want to exercise at home"
- ICP: "Affluent professionals ($100K+ HHI), time-constrained, motivated by community/competition, willing to pay premium for boutique fitness, already spend on SoulCycle/Equinox"
Marketplaces / Platforms: Multiple ICPs
| Supply-side ICP | Demand-side ICP | |
|---|---|---|
| Airbnb | Homeowners with spare space, need extra income, tourist-desirable locations | Travelers preferring local experience, price-sensitive or seeking unique stays |
| Uber (early) | Drivers with cars, flexible schedule, need supplemental income | Urban professionals without cars, willing to pay for convenience |
Strategic question: Which side to prioritize first? Usually the harder side — then the other follows.
Related
- Notion as company I admire (see me.md)
References
- a16z, First Round Review, Lenny's Newsletter, FullFunnel, PostHog
- Notion history: public knowledge from interviews, funding announcements
- Duolingo: Lenny's Newsletter, StriveCloud