The 'Whale Alert' Feature: How We Set Up a Simple AI Rule to Flag High-CLV Leads

The 'Whale Alert' Feature: How We Set Up a Simple AI Rule to Flag High-CLV Leads

🐋 The "Whale Alert": A Lightweight AI Rule That Surfaces Your Best Leads

By Dr. Elise Marchand, PhD in Artificial Intelligence


Every sales team knows the problem: your CRM is full of leads. Most are decent. A few are great. And a handful—those high-CLV (customer lifetime value) prospects—are worth ten times more than the rest, yet they often get buried under the same inbox and dashboard as everyone else. We solved that with a surprisingly simple AI rule we call Whale Alert.


This article walks through exactly how we designed it: what signals go in, how the model decides "whale vs. whale-adjacent," where alerts show up, and what changed after three months of running it. The goal is not to build a research-grade system; it's to ship something a small team can maintain on a Friday afternoon.

🎯 What We Actually Wanted (and Didn't Want)

Before writing a single line of code, we wrote down two lists.


We wanted:

  • A daily digest of leads the model believed were high-CLV, ranked by confidence.

  • Alerts that fired early—ideally before the lead even booked a call.

  • An explanation for each alert so SDRs could sanity-check the AI's reasoning.

  • A rule simple enough to be audited: if an engineer left, someone else should understand it in 20 minutes.

We didn't want:

  • A black-box neural network that required GPU retraining weekly.

  • Alerts for leads we already knew were whales (e.g., the enterprise account we've had for two years).

  • Anything that would require a data team to babysit.

That second list mattered more than the first. Most AI feature requests die because they quietly become infrastructure projects. We wanted a feature, not a platform.

📊 The Signal Set: Five Inputs That Actually Predicted CLV

We pulled two years of closed-won deals and asked which pre-sale signals most strongly correlated with final LTV (12-month forward window). A few came out consistently, so we kept only these five to keep the rule readable.

Signal

Source

Weight in Rule

Why It Matters

Firmographic tier

CRM + company data

0.30

Revenue band and headcount are weak but stable CLV predictors

Engaged-content depth

Marketing automation

0.25

Reading a whitepaper ≠ skimming a blog post

Multi-stakeholder touches

Email + calendar

0.20

Three distinct domains reaching out = committee buying

Pricing-page revisits

Product analytics

0.15

Repeated pricing views signal budget activity

Support-free history

CRM tags

0.10

Inbound, self-serve prospects often have cleaner LTV curves

A note on the weights: they aren't a trained model. We fit a simple logistic regression offline to get starting values, then hand-tuned them with the sales leads until alerts matched their intuition. The final rule is essentially:


$$\ text{score} = 0.30 \cdot x_1 + 0.25 \cdot x_2 + 0.20 \cdot x_3 + 0.15 \cdot x_4 + 0.10 \cdot x_5$$


with each $x_i$ normalized to [0, 1]. Anything above $\theta = 0.62$ gets flagged as a whale candidate; above $\theta' = 0.78$ goes straight into the daily digest as "high-confidence."


Two thresholds instead of one is intentional: it lets us measure precision at the top tier and recall across the bottom, which we did every two weeks.

🏗️ How It's Wired Up (The Boring Part That Matters)

The pipeline has four stages and runs nightly at 04:00 UTC:

  1. Extract — Pull the last-72h of signals per lead from CRM, marketing automation, and product analytics into a small Parquet file.

  2. Score — Apply the weighted formula above. Log every input so alerts can be audited.

  3. Filter — Drop leads already in "Closed-Won," "Churned," or tagged as existing-account. This is where the "don't alert on whales we own" requirement lives.

  4. Notify — Push high-confidence leads to a Slack channel with a compact card: company, score, top 2 contributing signals, and a one-line reason string ("Three stakeholder domains + pricing revisits ×4").

Total runtime: about four minutes for our ~90k-lead base. No queue, no message broker, no container orchestration. One scheduled job. If you're going to scale this, that is the part that breaks first—not the model.

📈 What Changed After 12 Weeks

Here's the shape of it:

Whale-candidate recall (of true whales)   ████████████░░░░░░  68% → 83%
Alert precision (top tier, θ')            ████░░░░░░░░░░░░  41% → 72%
Median time-to-first-touch                ↓ 9.4 days → 3.1 days
Closed-won LTV of alerted leads           ↑ +22% vs. non-alerted cohort
SDR "this was useful" rating (5-pt)      3.6 → 4.4

The precision jump is the one I'd understate if I were selling this to a skeptical CTO: we tuned θ' up over time and lost some whales, but the ones that made it through the top tier closed at roughly 2× the rate of the rest. The feature isn't about flagging more leads; it's about ranking the right subset loudly.


One honest caveat: alert fatigue is real. In week three we got a complaint that "the Slack channel feels like a newsletter." We fixed it by capping the daily digest at eight cards and moving overflow into a linked table. Small UX change, big satisfaction bump.

🧪 What Would Make This Better (and What I'd Skip)

Things worth adding:

  • Calibration tracking. Log predicted vs. realized CLV monthly; nudge weights when drift shows up in the top decile.

  • Counterfactual log. For every alerted lead, also store what a naive "firmographics-only" rule would have said. This is your cheapest A/B test.

Things I'd skip:

  • Gradient-boosted trees or deep nets at this scale. The weighted sum beats a GBM in explainability for SDRs and loses by maybe 2–3 points of recall. Not a fair trade if you're a five-person team.

  • Real-time streaming. Nightly is fine. You are not selling to leads mid-page-view; you're prioritizing the next morning's calls.

🧠 The Design Principle Behind All Of It

The Whale Alert works because it treats AI as a ranking function with a human in the loop, not an oracle. Every alert carries its evidence, every weight is visible, and the rule can be rewritten by one engineer without retraining anything. That's about 90% of what makes internal AI features survive past Q1, and most teams skip it.


If you're building something similar: pick five signals, write a weighted sum, give it two thresholds, log everything, cap your notifications, and measure precision weekly. You'll have more useful output in a week than a well-funded ML team has in three months—because you didn't build a system that needed babysitting.


Dr. Elise Marchand is an AI researcher focused on practical, maintainable model deployment for product teams.