B2B Prospecting

ICP Development: Build Profiles Based on Situations, Not Personas

13 min read
MK

Mitchell Keller

Founder & CEO, LeadGrow · Managed 3,626+ cold email campaigns. 6.74% average reply rate. Booked 2,230+ meetings in 2025.

TL;DR

  • **Traditional ICPs describe demographics. Situation-based ICPs describe timing.** "VP of Sales at 50 to 200 employee SaaS" is a market. "Company that just hired their first sales leader" is a buying moment.
  • **Situations create urgency. Demographics create lists.** The same VP of Sales is 10x more likely to buy when they just started the role versus 3 years in.
  • At any given time, 3% of your market is actively buying, 30% is open to it, and 67% isn't thinking about it. Situation signals help you find the 33%.
  • **Combine firmographics (who) with situations (when) for maximum reply rates.** We see 2 to 3x higher reply rates on situation-based segments versus demographic-only lists.
  • role changes, hiring patterns, funding events, tech stack shifts, and company milestones.

By Mitchell Keller, Founder & CEO, LeadGrow. Managed 3,626+ cold email campaigns. 6.74% average reply rate. 2,230+ meetings booked in 2025.

The problem with traditional ICPs

Open any ICP template on the internet and you'll find the same structure. Demographics, firmographics, psychographics. Company size: 50 to 200 employees. Industry: B2B SaaS. Title: VP of Sales. Revenue: $5M to $50M. Geography: United States.

This describes who your buyer is. It says nothing about when they buy.

And "when" is the entire game in outbound. A VP of Sales who just joined a company last month is in a completely different headspace than one who's been in the role for 4 years. The new VP is evaluating tools, building processes, spending budget. The tenured VP has their stack locked in and isn't reading cold emails about sales tools.

Same demographic profile. Radically different likelihood of buying.

We've run 3,626+ cold email campaigns. The data is overwhelming. Campaigns that target situations outperform demographic-only campaigns by 2 to 3x on reply rate. Our average across all campaigns is 6.74%. Situation-targeted segments regularly hit 10 to 15%.

What a situation-based ICP looks like

A traditional ICP says: "VP of Sales, 50 to 200 employees, SaaS, $5M+ ARR."

A situation-based ICP says: "Company that just hired their first VP of Sales, indicating they're building a formal outbound motion for the first time. The new VP has a 90 day mandate to show results and is actively evaluating tools, agencies, and processes."

The first version gives you a list of 50,000 people. The second gives you a list of 2,000 people who are actually likely to buy right now.

Situation-based ICPs have three components:

    • The demographic filter (who they are). Still matters. You still need to target the right company size, industry, and role. This is your baseline.
    • The situation trigger (what just happened). An event or change at the company that creates urgency. New hire, funding round, product launch, expansion, leadership change.
    • The implied need (why they'd care). The connection between the trigger and your product. New VP of Sales + no outbound infrastructure = need for outbound tooling or agency.

The 30/67/3 framework

Chet Holmes introduced this concept and it holds up across every market we've analyzed. At any given time in your total addressable market:

    • 3% are actively buying. They have budget, urgency, and are evaluating solutions right now. These people respond to almost any reasonable outreach.
    • 30% are open to it. They have the problem and would consider a solution if you catch them at the right moment with the right message. These are your situation targets.
    • 67% are not thinking about it. They don't have the problem, don't have budget, or have other priorities. No amount of clever copy will convert them right now.

Traditional demographic ICPs treat all 100% the same. They blast the entire list with one message and hope the 3% responds.

Situation-based ICPs find the 33% (the 3% actively buying plus the 30% who are open) and write messages that match their current moment. That's why the reply rates are dramatically higher. You're not competing against indifference. You're arriving when the problem is already on their mind. This is the core principle behind why situations beat markets in outbound.

Five situation categories that predict buying

1. Role changes

When someone new enters a leadership role, they have a window (usually 60 to 90 days) where they're making changes. New tools, new vendors, new processes. This is the single strongest buying signal we track.

Signals to monitor:

    • New job title on LinkedIn (promoted or hired externally)
    • "Excited to announce" posts about new roles
    • Company job postings for senior roles (before the hire happens, you can time outreach to shortly after they fill it)

We ran a campaign targeting newly hired Heads of Demand Gen at SaaS companies. These people had been in the role for less than 90 days. Reply rate: 13.8%. The same campaign targeting tenured Heads of Demand Gen (2+ years in role) got 4.2%. Same product, same messaging, same email structure. The only difference was timing. For a deeper look at how to find these signals programmatically, see our guide to situation mining signals.

2. Hiring patterns

Companies don't hire in a vacuum. Hiring patterns reveal strategic priorities and budget allocation. If a company is hiring 3 SDRs, they're investing in outbound. If they're hiring their first Customer Success Manager, they're scaling post-sale. If they just posted a VP of Marketing role, they're about to spend on marketing infrastructure.

Signals to monitor:

    • Job postings on LinkedIn, Indeed, Greenhouse, Lever (pull via Clay or Apollo)
    • Headcount growth rate (companies growing 30%+ in 12 months are spending on everything)
    • Specific role types that indicate need for your product

The hiring signal works because it proves two things: the company has budget (they're spending on salary) and they have urgency (they need help in that area). If they're hiring for a function your product serves, you know the pain is real and funded.

3. Funding events

Fresh capital means fresh budget. A company that just closed a Series B has money to spend and pressure from investors to grow. They're more receptive to tools and services that accelerate growth.

Signals to monitor:

    • Crunchbase funding announcements
    • Press releases about new rounds
    • LinkedIn posts from founders about raising

Timing matters here. The sweet spot is 30 to 90 days after the funding announcement. In the first 30 days, the team is still celebrating and planning. After 90 days, they've already made most vendor decisions. Between 30 and 90 days, they're actively spending.

We typically see 1.5 to 2x higher reply rates from recently funded companies versus their peers at the same size and stage who haven't raised recently.

4. Tech stack shifts

When a company adds or removes a tool from their tech stack, it signals a change in priorities. If they just adopted HubSpot, they're investing in inbound marketing. If they just added Gong, they're investing in sales enablement. If they removed a competitor of yours, they have a gap.

Signals to monitor:

    • BuiltWith and Wappalyzer for web technology changes
    • G2 reviews (recent reviews of competitor products, especially negative ones)
    • Job postings mentioning specific tools (if they're hiring for "Salesforce Admin," they use Salesforce)

The most valuable tech stack signal is when a company removes a competing product. They have a gap, they know they need a solution, and they're evaluating alternatives. We run a campaign for a CRM client that specifically targets companies showing signs of CRM dissatisfaction (negative G2 reviews + job postings mentioning "CRM migration"). Reply rate: 11.4%.

5. Company milestones

Milestones create inflection points where companies need different things. Hitting 50 employees means HR compliance requirements change. Hitting $10M ARR often triggers a need for more formal sales processes. Opening a new office means they're expanding into new markets.

Signals to monitor:

    • Employee count milestones (10, 50, 100, 200, 500)
    • Revenue milestones (when publicly shared or estimated)
    • Geographic expansion (new office announcements, hiring in new regions)
    • Product launches (announced on their blog, PR, or social media)

A security compliance client of ours targets companies crossing the 50 employee threshold. At that size, SOC 2 compliance becomes necessary for enterprise sales. The companies know they need it. They just haven't started the process yet. Reply rate targeting companies at 45 to 60 employees: 9.1%. Reply rate targeting all companies under 200 employees: 3.4%.

How to build a situation-based ICP (step by step)

Step 1: Analyze your closed/won deals

Pull your last 20 closed deals. For each one, answer:

    • What was happening at that company when they bought?
    • Why did they buy now instead of 6 months ago?
    • What triggered the evaluation?

You're looking for patterns. If 8 out of 20 deals came from companies that had just hired a new leader in the relevant function, that's your primary situation signal. If 5 came from companies that just raised funding, that's a secondary signal.

Don't skip this step. Your closed/won data is the most reliable source of truth for what situations actually drive purchases of your product. Everything else is theory.

Step 2: Map situations to signals you can track

For each situation pattern, identify the observable signal. "New leader in role" is a situation. "LinkedIn profile shows new title within last 90 days" is a trackable signal.

SituationObservable SignalData Source
New leader in roleTitle change on LinkedIn within 90 daysSales Nav, Apollo
Building outbound for first timeFirst SDR/BDR job posting + no sales engagement toolLinkedIn Jobs, BuiltWith
Scaling fast30%+ headcount growth in 12 monthsApollo, LinkedIn
Just raised capitalFunding announcement in last 90 daysCrunchbase, press
Unhappy with current vendorNegative G2 reviews + job posting for migrationG2, LinkedIn Jobs
Crossing compliance thresholdEmployee count between 45 and 60Apollo, LinkedIn

Step 3: Build enrichment flows in Clay

Clay is where situation signals become operational. For each signal, build a column or set of columns that checks for the condition.

Example flow for "New leader in role":

    • Import target companies from Apollo (demographic filter)
    • Enrich with contact data (waterfall: Apollo, Hunter, Dropcontact)
    • Add a Claygent column: "Check this person's LinkedIn profile. When did they start their current role? Return the start date."
    • Add a formula column: IF start date is within last 90 days, mark as "New in role"
    • Filter the table to only "New in role" contacts

Do this for each situation signal. You end up with a table where every row represents a contact at a company that matches your demographics AND is in a buying situation right now.

Step 4: Write situation-specific messaging

Each situation gets its own email sequence. The "New in role" person gets different messaging than the "just raised funding" person because their context is different.

For "New in role":

"Congrats on the new role at [Company]. When we work with leaders in their first 90 days, the biggest priority is usually [specific to their function]. Curious whether that matches what you're seeing."

For "Just raised funding":

"Saw [Company] closed the Series B. When we work with post-raise teams, the question shifts from 'should we invest in outbound' to 'how fast can we scale it.' Is that where you're at?"

The messaging acknowledges the situation without being creepy. You're not saying "I saw you changed your LinkedIn title 47 days ago." You're saying "leaders in their first 90 days tend to experience X." It demonstrates understanding without surveillance.

Step 5: Test and iterate

Not every situation signal will work for your product. Some signals that seem logical will produce low reply rates. Others that seem marginal will surprise you.

Run each situation segment as a separate campaign for at least 500 to 1,000 contacts before drawing conclusions. Track reply rate, positive reply rate, and meeting conversion rate per segment. After 2 to 4 weeks of data, you'll know which situations actually predict buying behavior for your specific product. Our campaign testing phases framework covers exactly how to structure these tests.

We test 4 to 8 situation hypotheses per client in the first 60 days. Typically 2 to 3 become primary targeting angles and the rest get deprioritized. The key is testing fast enough that you're not stuck on a weak signal for months.

Why persona-based ICPs fail at outbound

Persona-based ICPs were designed for inbound marketing. They describe the archetype of your buyer so your content team can write blog posts and ads that attract the right people. For that purpose, they work fine.

For outbound, personas fail because they ignore timing. Outbound is interruptive. You're reaching out to someone who didn't ask to hear from you. The only way to make that interruption welcome is to catch them when the problem you solve is already on their mind.

A persona says "VP of Sales at a SaaS company." That matches 200,000 people in the US alone. The vast majority of them are not thinking about your product today. You're emailing into indifference.

A situation says "VP of Sales who started 60 days ago at a company that just raised Series A and is hiring their first SDRs." That matches maybe 500 people this month. And most of them are actively thinking about tools, processes, and partners that can help them build outbound. You're emailing into urgency.

This is the difference between a 2% reply rate and a 12% reply rate. Same product. Same offer. Different timing.

Combining demographics and situations

Situations don't replace demographics. They layer on top. You still need firmographic filters to make sure you're reaching companies that can actually buy your product. A company in a perfect buying situation but with only 5 employees and $200K revenue probably can't afford your $50K/year product.

The framework:

    • Demographics filter the universe. Industry, company size, revenue, geography. This gets you from 1M companies to 50K.
    • Situations filter the timing. Hiring patterns, funding, role changes, tech stack shifts. This gets you from 50K to 5K.
    • Messaging matches the moment. Each situation segment gets copy that acknowledges their context. This turns 5K contacts into 300+ replies at 6%+ rates.

Neither layer works alone. Demographics without situations gives you a huge list with low intent. Situations without demographics gives you perfectly timed outreach to companies that can't buy. You need both.

Real results: demographic-only vs. situation-based

We ran a controlled test for a sales enablement client. Same product, same offer, same sending infrastructure, same email structure. Two segments:

MetricDemographic OnlySituation-Based
List size5,000 contacts1,800 contacts
Reply rate3.1%8.9%
Positive reply rate1.2%4.7%
Meetings booked2231
Cost per meeting~$68~$39

The situation-based segment was less than half the size but booked 40% more meetings at 43% lower cost per meeting. The economics are not close.

This pattern repeats across our client base. Smaller, more targeted lists outperform larger demographic lists on every metric that matters: reply rate, meeting rate, and revenue generated per contact.

Common ICP development mistakes

Mistake 1: Building your ICP from your sales deck instead of your closed/won data

Your sales deck describes who you want to sell to. Your closed/won data shows who actually buys. These are often different. Use the data. If 60% of your deals come from companies with 100 to 300 employees, don't set your ICP to 50 to 500 because it feels bigger. Focus where the evidence is strongest.

Mistake 2: Making your ICP too broad to avoid missing opportunities

A broad ICP feels safer. You don't want to exclude a potential buyer. But breadth kills reply rates. When you email 50,000 loosely targeted contacts, your message has to be generic enough to apply to all of them. Generic messages get generic results (2% reply rate). Tight targeting lets you write specific messaging that resonates with a specific situation.

Mistake 3: Setting the ICP once and never updating it

Your ICP should evolve as you get campaign data. If a situation signal produces great results, lean into it. If a demographic filter isn't correlating with conversions, tighten or remove it. We revisit ICP definitions with every client quarterly and usually make adjustments based on what the data shows.

Mistake 4: Ignoring negative ICP signals

Knowing who not to target is as valuable as knowing who to target. Companies that have been in procurement for 6+ months on another vendor? Skip them. Companies that just signed a 3 year contract with your competitor? Skip them. Contacts who have "interim" in their title? Probably not the long term decision maker. Build exclusion criteria into your ICP, not just inclusion criteria.

Frequently Asked Questions

Want us to run this playbook for you?

Book a strategy call and we'll show you how these frameworks apply to your business.

Book Strategy Call