← All articles

GTM Operations

Revenue Intelligence Is 90% Plumbing: Our Rollout Scored Deals on 41% Activity Capture

41% of our deals had captured activity, so the deal-scoring model was guessing on three deals in five. Revenue intelligence is an activity-capture and entity-resolution problem wearing a model. Here is what it measures, what it cannot, and the plumbing that decides the number.

· 11 min read

We turned on a revenue-intelligence platform, the kind that promises to tell you which deals will close, and for the first month it told us nothing we could use. The deal-health scores looked authoritative: green, yellow, red, a confidence percentage next to each opportunity. Then I checked what the scores were computed from. Across our open pipeline, 41% of deals had any captured activity at all: an email, a call, a meeting synced to the opportunity. The other 59% were scored on stage, amount, and close date, which is the same three fields the rep types in by hand. The model was not reading the deal. It was reading the CRM form, and dressing the result up as intelligence.

That is the part the category sells around. “AI that tells you which deals will close” implies the intelligence lives in the model. It does not. The model is maybe a tenth of the machine. The other nine-tenths is plumbing: capturing every email and calendar event and matching it to the right opportunity, keeping the CRM fields the model reads actually populated, and resolving the identity graph that connects a gmail.com address to a contact to an account to a deal. Get that wiring right and a mediocre model produces a useful score. Get it wrong and the best model on the market produces confident nonsense, because it is scoring the 41% of deals that happen to have data and silently guessing on the rest.

41%
Of our open deals with any captured activity at rollout
~90%
Share of the value that is data plumbing, not model
59%
Of deals scored on hand-typed CRM fields alone

What revenue intelligence actually is

Strip the category down and a revenue-intelligence platform is three systems stacked, and only the top one is the thing the demo talks about.

The stack Three layers, and the model is the thin one on top
Scoring model”which deals close”: ~10%Entity resolutionemail to contact to account to oppActivity capture + field syncevery email, call, meeting, and the fields the model reads
The demo sells the top layer. The bottom two decide whether it means anything. A score is only as good as the activity and identity data feeding it.

The bottom layer is activity capture. A sync agent sits on every rep’s email and calendar, watches for messages and meetings tied to a customer domain, and logs them against the matching opportunity. Gong, Clari, and Salesforce’s own Einstein Activity Capture all do a version of this. This layer also keeps the structured fields current: close date, stage, next step, amount, and whatever qualification fields you track. The model reads both the activity stream and those fields.

The middle layer is entity resolution. A captured email from [email protected] is worthless until the system knows Jordan is a contact on the Acme account, that Acme has two open opportunities, and which of the two this thread belongs to. That matching is unglamorous graph work, and it is where a lot of captured activity quietly lands on the wrong deal or no deal.

The top layer is the model. It reads the resolved activity and the fields, and outputs a score: this deal is healthy, that one is at risk, this one will slip. That output is what the category is named after and what the pricing is justified by. It is also the layer that matters least to whether the number is right, because it is downstream of everything the first two layers did or failed to do.

Why the value is 90% plumbing

Run the counterfactual. Take the best deal-scoring model in the market and feed it a pipeline where 59% of deals have no captured activity. It cannot see the customer going dark, cannot see the champion stopped replying, cannot see that the last three emails came from the rep with no response. It falls back to stage and amount, which the rep controls, and rewards the rep who advances the stage field regardless of whether the buyer moved. The intelligence collapses back into the CRM hygiene it was supposed to transcend.

Now take a plain logistic-regression model, nothing fancy, and feed it a pipeline where activity capture is near complete and correctly matched. It sees response latency climbing, meeting cadence dropping, the number of engaged contacts shrinking from four to one. Those signals predict outcomes because they describe what the buyer is doing, and the buyer’s behavior is what closes or kills a deal. The simple model on clean plumbing beats the sophisticated model on broken plumbing, every time, because the predictive signal was never in the model. It was in the data the plumbing did or did not capture.

The number that decides the platform

Activity capture completeness is the metric the vendor does not put on the slide, and it is the one that predicts whether the rollout works. Below are three real-shaped pipeline slices at different capture rates and what the score is actually reading in each. The gap between the reported confidence and the data behind it widens as capture drops.

Share of scored deals with real engagement data behind the score
At 41% capture, three deals in five are scored on hand-typed fields alone. The model's confidence badge looks identical across all three bars; the data behind it does not.
View as table
ItemValue
41% capture (our rollout)41%
70% capture (fixed sync)70%
90%+ capture (mature)92%

Why does capture start so low? Three plumbing failures, in order of how often I have seen them break a rollout.

First, sync coverage. If the capture agent is only installed for some reps, or reps can toggle it off for privacy, the pipeline splits into deals the model can see and deals it cannot, and you will not know which score came from which. Second, domain and identity matching. Personal email addresses, consultants on gmail.com, procurement contacts who never got added to the opportunity: every unmatched thread is activity that happened and got logged nowhere useful. Third, structured-field decay. Close dates that passed months ago, a next-step field blank on half the pipeline, stages that have not moved while the deal did. The model reads those fields as truth.

Here is the query I run before trusting any deal score. It measures the two things that gate the model at once: what fraction of open pipeline has recent captured activity, and what fraction has the structured fields the model leans on when activity is missing.

-- Revenue-intelligence readiness on the OPEN pipeline the model scores.
-- Two gates in one pass: recent captured activity, and the fields
-- the model falls back to when activity is absent.
SELECT
  COUNT(Id)                                                    AS open_deals,
  SUM(CASE WHEN LastActivityDate >= LAST_N_DAYS:14
           THEN 1 ELSE 0 END)                                  AS with_recent_activity,
  SUM(CASE WHEN NextStep != null AND NextStep != ''
           THEN 1 ELSE 0 END)                                  AS with_next_step,
  SUM(CASE WHEN CloseDate < TODAY THEN 1 ELSE 0 END)           AS past_due_close_date
FROM Opportunity
WHERE IsClosed = false
  AND CloseDate = THIS_QUARTER

Divide with_recent_activity by open_deals and you have your real capture rate on the deals that matter this quarter. When we ran it, that ratio was 0.41. The past_due_close_date count was the tell for the fallback problem: a fifth of our open deals had close dates already in the past, so the model’s date-based slip prediction was reading a field the rep had stopped maintaining. LastActivityDate is the honest signal here because it moves only when a human touched the deal; a field edit or an owner reassignment does not refresh it.

What it can do, and what it cannot

Once the plumbing holds, revenue intelligence earns its price on a specific set of jobs, and it is worth being precise about which.

It can surface deals going quiet before the rep admits it, because response latency and dropping meeting cadence are visible in the activity stream weeks before a deal is marked at risk. It can measure multi-threading honestly by counting distinct engaged contacts on the buyer side, which is a real predictor and one reps routinely overstate in the forecast call. It can catch single-threaded deals, stalled deals, and deals where the only recent activity is outbound from the rep with nothing coming back. These are pattern-detection jobs on captured behavior, and they are genuinely useful.

It cannot tell you why a deal is stalling, because the activity stream shows that the champion went dark, not that legal killed the budget. It cannot fix a broken sales process; a score that says “this deal is at risk” three days before the close date is an autopsy, the same timing trap that sinks a pipeline review run in week 10. It cannot compensate for missing capture, and it will not warn you loudly that it is guessing. And it cannot make a forecast honest on its own, because the score is an input to a human’s judgment, not a replacement for it. Ebsta’s work on B2B engagement has shown for years that engagement signals correlate with close rate; the platform surfaces that correlation, it does not manufacture certainty from it.

What the category sells What it delivers on clean plumbing
The pitch AI predicts which deals will close Pattern detection on captured buyer behavior
Where the signal lives In the model In activity capture and entity resolution
Score on a no-activity deal Confident green/yellow/red Flagged as low-confidence, or not scored
Best predictor it surfaces Proprietary health score Response latency and engaged-contact count
What breaks it A weaker competing model Sync gaps, bad matching, stale fields
Honest use Trust the number Read the signals, ask the rep the why
The claim assumes the model is the product. The delivery depends on the two layers under it holding first.

Where the money actually goes

The uncomfortable part for a buyer: most of the work that determines your outcome is work the platform does not do for you. The vendor installs the sync agent and ships the model. Making sure the agent is on for every rep, that personal-domain contacts get matched, that close dates and next steps stay current, that the identity graph resolves threads to the right opportunity: that is your RevOps team’s job, and it is where the value is won or lost. Teams that treat revenue intelligence as a tool they buy get the 41% pipeline. Teams that treat it as a data program they run, with the platform as one component, get the 90%.

This is why the same platform produces a transformation at one company and a shelfware renewal at another. The model is identical in both. The plumbing is not, and nobody sells you the plumbing, because “we will help you keep your CRM fields populated and your email sync installed” does not fit on a category slide next to “AI that predicts revenue.”

What to do Monday

Fix the plumbing before you trust the model
  1. 1

    Measure real capture on the open pipeline

    Run the readiness query on this quarter's open deals. Divide recent-activity deals by total. That ratio, not the vendor demo, tells you whether the scores mean anything.

  2. 2

    Confirm the sync agent is on for every rep

    A capture rate under 70% is usually coverage, not customers. Check that no rep has it disabled and that it runs on both email and calendar. Coverage gaps are the fastest fix and the biggest lift.

  3. 3

    Fix the identity matching on unmatched activity

    Pull captured activity that landed on no opportunity. Personal-domain contacts and procurement people missing from the opp are the usual culprits. Match them and watch capture climb without any new tooling.

  4. 4

    Backfill the fallback fields

    Clear the past-due close dates and populate next-step on open deals. The model leans on these hardest exactly when activity is thin, so they are load-bearing, not cosmetic.

  5. 5

    Re-score and read the signals, not the badge

    Once capture clears 70%, read the score for its inputs: response latency, meeting cadence, engaged-contact count. Take those to the rep and ask the why the model cannot answer.

The category will keep selling the model, because the model is the part that demos well and justifies the price. The team that gets value treats the score as the last mile of a data program it owns end to end, and spends its first month on activity capture and entity resolution rather than tuning a confidence threshold. A revenue-intelligence platform on 41% capture is an expensive way to reformat the fields your reps already typed. On clean plumbing it is the earliest honest warning you will get that a deal is dying. The difference between those two outcomes is not the model. It is the nine-tenths nobody put on the slide.

revenue-intelligence activity-capture forecasting

Keep reading

One email. Every week.

One email a week: an operating problem I solved or botched, with the model, the numbers, and what I would change. No roundups, no theory, unsubscribe whenever it stops being useful.

The newsletter opens soon.

Connect a provider in src/config.ts