← Back to Blog

This ICP Analysis Took Tofu's Win Rate From 16% to 67%

By Elaine Zelby, Co-Founder and CRO at Tofu ·

Most teams describe their ICP as "cybersecurity companies above 200 employees in the U.S." and stop there. Elaine Zelby ran her actual CRM and call data through Claude and found that her real bullseye ICP closes at 67% versus a 16% baseline. In this session she walked through the full build: a foundational layer of three skills, then a social listening agent stacked on top that finds accounts on LinkedIn, scores them, sources the buying committee, and drops everything into HubSpot and Slack every morning. This recap covers the architecture, the exact prompts and data sources, the results, and why she argues building this yourself now beats buying it.


Why start with a compelling event, not a pain point?

The frame for the entire build came from a line Zelby saw on LinkedIn months ago and never forgot: people don't buy because they have pain, they buy because there's a compelling event. Pain is constant. A compelling event is what turns a good-fit account into a now deal.

That distinction drives her thesis about where GTM is heading. She has asked roughly 300 CMOs the same question since January, including how their team is measured this year. The answer is pipeline, 100% of the time. Pipeline is also what sales is measured on. When two functions share a goal, a measurement, and a comp structure, the work itself starts to look the same. Her prediction is that the boundary between marketing and sales collapses over the next one to three years, and the system she built is designed for that world: everyone pointed at pipeline, with brand still critical but always in service of pipeline.



What is the foundational layer?

Before building any agents, Zelby insists on three foundational building blocks. Skip these and everything downstream is noise.

Layer What it does Refresh
ICP analysis Finds the true bullseye ICP and the compelling events that create now deals Quarterly
Scoring rubric Buckets companies into three tiers so you can make blunt keep-or-ignore decisions Continuous
Contact sourcing skill Takes an account and finds the buying committee at that account On demand, reusable

She refreshes the ICP analysis quarterly. More often adds noise; never means you miss the slow drift that opens up entirely new pools of accounts. ICP is not static, so the foundation cannot be either.

How do you build the ICP analysis skill?

The ICP analysis is a skill that runs monthly. Zelby's prompting approach here is the reusable lesson.

She always starts by explicitly naming the data sources and existing skills the model should use. If you don't constrain it, it takes liberties and pulls in whatever it wants. For this skill the two sources of truth are the Sybil MCP (her call recorder) and the HubSpot MCP. She drafts these prompts in Apple Notes first, working backward from the end state she wants: what tools are needed, and what edge cases exist. She spends a long time on edge cases on purpose, because an edge case you catch mid-build forces you to prompt around it repeatedly, which bloats context and confuses the model. Knowing the edge cases up front is the whole game.

The prompt tells the model to produce a detailed but concise analysis of the true ICP and to go beyond demographics and firmographics into new hires, role shifts, inflection points, product launches, funding, acquisitions, technographics, and other patterns that correlate with close rate, deal speed, and ACV. Then she has Claude turn the output into a skill, saves it to her directory, and sets a routine to refresh it monthly.

Where does the signal data actually come from?

Roughly 80% of the intelligence comes from call recording. Zelby calls the call corpus a goldmine that could never be mined at scale before and now can. The unlock is being able to query every call anyone at the company has ever had in a single prompt. This is also why she rates her call recorder so highly: the ability to crawl the entire historical corpus at once, rather than downloading and analyzing calls one at a time, is what makes the analysis possible. The same corpus lets her build adjacent skills, like auto-drafting a one-page proposal or next-step summary after every call.

What are the eight compelling events that make a now deal?

The analysis surfaced eight patterns specific to Tofu. Firmographics (headcount, revenue, tech stack, geo) are necessary but not sufficient. Firmographics plus one of these compelling events is sufficient. Each one is a campaign you can run, from top-of-funnel marketing down to in-funnel sales.

Compelling event Why it signals a now deal
New CMO or VP of Marketing in last 6 months New leaders buy tools to prove they can make change
PE-owned company Almost every PE firm now has an AI mandate and is hunting for AI tools
New product launch or brand refresh Triggers a flurry of marketing activity on a lean team
Marketing headcount cut Smaller team looks for tools to fill the gaps
Moving upmarket or launching ABM Knowable via enterprise case studies, enterprise hires, ABM job posts
Upcoming event with a hard follow-up date A user conference forces them to nail follow-up and nurture
Champion personal deadline Board presentation, parental leave, or a hackathon accelerates the deal
Fiscal deadline The obvious one, end-of-period budget pressure

The champion personal deadline surprised her most and comes up constantly. Deals accelerate when the champion personally needs a result before a board meeting, before going on leave, or before an event. Understanding the psyche of the champion matters as much as the firmographics.

What kills a deal? The anti-patterns

Positive patterns alone are why marketing ships MQLs that sales calls garbage. You have to model the negative patterns too, otherwise you optimize for "right title, right company, did an activity" and ignore whether it will actually close.

Anti-pattern Why it's a false or negative signal
Director-only champion No economic buyer visibility, even a strong champion can't carry it
New champion in role Mid-level, no power yet, still earning trust, treat as nurture not deal
Champion leaves mid-cycle Painful and largely unavoidable
Only the economic buyer No day-to-day user means the tool goes unused and the account churns
Too large, dev tools or PLG, SMB-focused, too small, highly regulated Wrong scale or motion, cycles run long and never close

The economic-buyer-only case is worth flagging: those deals closed and then churned, because a CMO who wants the tool but has nobody to run it day to day produces initial revenue and later cancellation. That false positive raises churn.

Why three narrow skills instead of one big one?

With positive and negative patterns defined, the scoring skill sorts accounts into tiers. Then the contact sourcing skill finds the buying committee.

Zelby's hard-won rule: the narrower the skill, the better it performs. She would rather chain three distinct skills than build one complex skill that does everything, because the complex version breaks down and its edge cases get fuzzy. So the foundation is three skills in a row: analyze ICP, score an account, source contacts.

The contact sourcing skill uses Crest Data to find the relevant buyer, champion, and influencer personas for a given account (she already has a saved personas skill it references). To avoid burning credits, it looks in HubSpot first and pulls existing contacts before enriching with anything new.

How does the social listening agent tie it together?

On top of the foundation, Zelby builds signal-based agents. The one she demoed is social listening. The general pattern for any of these agents is: a signal fires, score the account (not the person), if it passes find the contacts, then take action.

Here is the actual social listening agent, which she prepped as an Apple note before building:

  1. Run daily, find no more than 10 net new accounts. Bounds matter. If you don't cap it, the agent runs infinitely and burns credits.
  2. Use Crest Data to find people posting about target keywords: ABM, pipeline generation, demand gen agents, go-to-market quality, and AI marketing.
  3. Run each account through the ICP scoring skill. Keep Tier 1 and Tier 2, ignore Tier 3.
  4. For passers, run the contact sourcing skill to find the buying committee. Use available Clay credits to enrich anything Crest Data misses.
  5. Research each account: pain points, compelling events in the last 6 months, tech stack (via a BuiltWith account), personnel changes, and an outreach hook.
  6. Research each contact: work history and current role, personal detail from social and podcasts, hiring or team gaps, a specific hook, a relevant customer story, and points to lead with.
  7. Push net-new contacts to HubSpot with the source field set to integration.
  8. Aggregate and post to a Slack channel at 8am daily.
  9. Test before going live.

She stresses the last step. The first pass is never right. Getting to 80% feels like magic and takes minutes; the last 20% takes 80 to 90% of the total time and is where most people quit. One edge case she hit live: she forgot to tell it to use BuiltWith for tech stack, so it struggled until she added that instruction further down the thread.

What does the output look like?

The demo run surfaced one account: Tier 2, score 61 out of 100, with an expected close rate and expected ACV attached. The Slack card explained why the account was picked (pain points, compelling events, tech stack), flagged personnel changes (a CMO of six years plus a brand-new demand gen leader), and proposed a hook. It listed the buying committee (champion, buyer, influencer) with the HubSpot account IDs it created, and linked the exact LinkedIn post that triggered the signal so she could verify it fit.

Then a Slack-based agent wrote outbound emails to the buyer and the champion in her brand voice. The result hit the points from the prospect's own post and wove in customer stories, rather than the usual "saw you posted about X, here's my unrelated product" AI SDR spam.

What other signal agents can you build on this foundation?

The same foundation supports a whole family of agents. Each is just a different trigger feeding the same score-then-source-then-act flow.

Agent Trigger
New buyer alert A new buyer joins an ICP account in the CRM
Compelling event A compelling event happens at an ICP account
Closed-lost revisit A closed-lost account is worth re-engaging (e.g. the headcount they were waiting on got hired)
Champion job change A champion changes companies
Lookalike finder On every net-new closed deal, find 3 to 10 lookalikes

The lookalike agent is a favorite. When a deal closes, it immediately finds 3 to 10 companies with similar patterns and compelling events, not just direct competitors. She keeps the count deliberately tight for sniper-focused messaging rather than a spray of 50.

How do you deal with LinkedIn's API limits?

LinkedIn's post feed is the hard part of social listening, because post data is a continuous real-time stream that scraping at scale doesn't capture well. LinkedIn offers around a dozen APIs on a tiered, apply-for-each system; the one that matters here is the newsfeed API. Crest Data already has that access, so it isn't crawling as a user.

Without a provider like Crest Data, the workaround is heavy throttling: search one keyword at a time in the browser, keep it under 100 profiles a day, pick 2 to 3 keywords a day, and stagger them (keyword one at 8am through 100 results, wait an hour, then keyword two). There is good public documentation on where the limits sit, and the edge cases belong in the prompt. The practical takeaway is that buying data access for a modest price beats sinking days into scraping infrastructure.

Build or buy: does building your own really win?

The sharpest exchange of the session was whether it makes sense to build all of this when vendors sell ICP analysis, committee building, and signal-based outbound as a service. Zelby's honest answer: she could build it faster than she could configure someone else's software, and the output is better.

Her reasons:

  • Data connections she already has. She already pays for her call recorder, and using its MCP inside her Claude plan is effectively free. A generic vendor has no connection to that call corpus, which is where 80% of the signal lives.
  • Speed. The entire end-to-end system took her about two and a half hours. Learning and configuring unfamiliar software would take longer.
  • Bespoke by default. She frames this as the arrival of ephemeral, bespoke software. The exact agent she wants is different from what anyone else wants, and now everyone can have precisely what they want instead of bending to inflexible tools or paying an expert to configure them.

She is candid that she is an anomaly and a high-agency builder, and that plenty of people would rather buy a white-glove service than maintain anything. That is the real segmentation question every software company, including her own, now has to answer.

The counterpoints raised in discussion are worth holding onto. Data and data maintenance are neither cheap nor easy. Claude will confidently produce information, including made-up information, so an approach that works beautifully on a small sample can get brittle at scale. AI-ready data needs context, and the durable moat is in data collection. Tofu doesn't mine its own data; it leverages many providers, and matches the tool to the job. Crest Data is strong for LinkedIn but was historically weak on work email, so a separate provider handled that. There is a long tail of niche datasets worth knowing about, like Burbio for K-12 education (schools are legally required to post meeting minutes) or Hotel Compete for selling into hotels.

Does this replace the creative and strategic work?

Zelby's answer is no. In a separate 90-minute experiment she bought a domain, brain-dumped the product vision with Whisperflow, and built a working single-page site with forms wired back to HubSpot, iterating on the icons, fonts, and brand aesthetic herself. She got to do the creative work; she just skipped the month of Google Docs and Webflow handoffs. The skill is knowing where to keep your own brain in the loop and where to take the efficiency gain.

Key Takeaways for GTM Teams

  • Define your ICP by compelling events, not just firmographics. Firmographics are necessary but not sufficient.
  • Model anti-patterns as seriously as positive patterns, or you will keep shipping high-churn false positives.
  • Mine your call recordings. If roughly 80% of your buying signal lives there, being able to query the entire corpus at once is a genuine unlock.
  • Build narrow, chainable skills. Three focused skills beat one complex skill that breaks on edge cases.
  • Put bounds on every agent (max accounts per day, credit limits) so it doesn't run infinitely.
  • Constrain prompts by naming exact data sources and skills, and work through edge cases before you build.
  • Always test. The last 20% is where the real work is, and where most people stop.

Want to Attend the Next Session?

The GTM Clawllective is a community of go-to-market operators sharing how they actually use AI, live and unscripted. Sessions are not recorded, so these recaps are the only written record. If you want to be in the room for the next one, join the community.


About the Speaker

Elaine Zelby is Co-Founder and CRO at Tofu, an agentic demand generation platform for B2B marketers. She has a self-described "weird" path into go-to-market: trained as a mechanical engineer at Stanford (B.S. and M.S.), she started in medical devices before joining an early-stage startup as an early employee and building marketing, inside sales, and demand generation functions. She spent five years as a partner at SignalFire, a venture firm focused on the intersection of AI and software, which gave her a front-row seat to the AI frontier before she left to start her own company in 2022.

Connect with Elaine on LinkedIn.

Watch the session replay: This ICP Analysis Took Tofu's Win Rate From 16% to 67%