Deal Triage
B2B SaaS pipeline risk scoring — heuristic signals + Claude analysis for AEs and RevOps managers.
The problem
Deals don’t die suddenly; they slip quietly, and the usual review tools all look the wrong way. Spreadsheet pipeline reviews are slow and only as good as the rep’s memory. Dashboards report lagging indicators — by the time a number turns red, the deal’s already gone. And the early signals that actually predict slippage — a close date that keeps drifting, activity going stale, a buried hesitation in a discovery call — live scattered across CRM fields and call transcripts no one reads in aggregate. So risk surfaces at forecast time — too late to act on.
The decision
Split the work into two layers that play to different strengths: cheap deterministic heuristics to rank every open deal, and expensive LLM reasoning to explain only the ones that matter. A composite 0–100 score from three signals — stage velocity, activity recency, close-date pressure — runs over the entire pipeline at zero API cost and surfaces the top 10 at-risk deals. Only then does Claude read those deals’ fields and transcripts to produce the analysis. It’s a cost-and-trust decision, not just an architecture one: running an LLM over every deal is expensive, slow, and buries the signal in noise. Heuristics-to-rank, LLM-to-explain keeps spend proportional to value and keeps the cheap layer auditable.
The stage-velocity benchmark is computed from the team’s own pipeline history, not hardcoded thresholds. “Slow” for a deal in Negotiation means slow relative to how this team’s Negotiation-stage deals actually move — so the tool adapts to a sales motion instead of imposing a generic one. That’s the difference between a score a rep argues with and a score a rep trusts.
What I built
A CRM export in → every open deal scored on the three dimensions (Closed Won/Lost filtered out first, since only open pipeline is rankable) → top 10 surfaced → Claude analysis tiered by confidence, so the depth of the output matches the strength of the evidence. A deal with a strong score and a transcript gets a full memo with verbatim call quotes; a thin deal gets a focused two-to-three-sentence brief and one concrete next action — never false confidence dressed up as a full memo. Around that: one-click follow-up email drafts grounded in the analysis, a thumbs up/down feedback capture for prompt tuning, an enriched CSV export, and an in-app methodology tab so the scoring model is transparent to the reps using it. The analysis prompt lives in an editable markdown file — the logic is legible and tunable, not buried in code.
Where it’s going
The roadmap is where this stops being a tool and becomes a system. v2 replaces the manual CSV with an n8n workflow that pulls open opportunities from HubSpot on a schedule and posts a top-risk digest to Slack — the insight goes to where the team already works instead of waiting to be opened. v3 is a dbt project modeling the deal-signal history — stage velocity, activity patterns, win/loss by segment — so the heuristic weights can eventually be tuned against real outcomes rather than my rules of thumb. The current tool is the v1 that earns the right to build v2 and v3.
Roadmap
# Deal memo prompt — runs only on the top-10 at-risk deals You are reviewing a single at-risk deal. You have the deal record, the activity timeline, and the call transcripts. ## When signal is STRONG # clear risk in the transcripts Write a full memo: - one-line risk thesis - 2–3 verbatim quotes from the transcript, attributed + dated - the single play the rep should run next ## When signal is THIN Three lines, no quotes. Say plainly what's missing to make a call. Don't invent risk that isn't in the data.