Skip to main content
Back to Blog
pipeline managementstale dealssales operationsautomation

Stale Deals Are Killing Your Pipeline -- How to Catch Them Early

Rob Poole

Every pipeline has dead deals walking. They look active in the CRM — they have a stage, a value, and a close date that's been pushed forward three times. But nothing has actually happened in weeks. No emails. No calls. No movement.

These stale deals silently inflate your pipeline and corrupt your forecast. By the time someone notices, the prospect has gone cold, signed with a competitor, or forgotten you exist.

The fix is automated stale deal detection, and it's the single most valuable feature I've built into my sales dashboard.

What Makes a Deal Stale

A deal is stale when there's been no meaningful activity for a period that exceeds what's normal for its stage. The definition varies:

  • Early-stage deals (Discovery, Qualified): Stale after 7-10 days without contact. These are fragile — momentum matters.
  • Mid-stage deals (Proposal, Evaluation): Stale after 14 days. The prospect is comparing options and silence usually means you're losing.
  • Late-stage deals (Negotiation, Contract): Stale after 7 days. If contract review goes quiet, something changed.

The key is that "activity" means real activity — an email sent or received, a call made, a meeting held. A rep updating the close date doesn't count.

Why CRMs Don't Catch This

Most CRMs track deal age (days since created) but not deal stagnation (days since last activity in the current stage). They can tell you a deal has been open for 90 days, but not that it's been sitting in "Proposal Sent" for 30 days with no follow-up.

HubSpot has some basic "days in stage" functionality, but it doesn't correlate with actual email and call activity. A deal can show "7 days in stage" while having zero activity for 3 weeks because the rep manually moved the stage forward without any real engagement.

Building Stale Deal Detection

Here's the logic I use:

  1. Pull all active deals from the CRM API with stage, last activity date, and deal value
  2. Pull activity data from email and call logs to find the last real touchpoint for each deal
  3. Calculate days since last meaningful activity (not last CRM update — last actual communication)
  4. Compare against stage-specific thresholds (7 days for early/late stage, 14 for mid-stage)
  5. Flag deals that exceed the threshold and surface them prominently on the dashboard

The flags show up as a dedicated "Stale Opportunities" panel on my sales dashboard. Every deal in that panel has a clear call to action: reach out today or close-lost it.

The Revenue Impact

Since implementing stale deal detection, I've caught multiple deals that would have silently died. In each case, a timely follow-up re-engaged the prospect and moved the deal forward.

More importantly, the deals that genuinely are dead get closed-lost faster. This means:

  • Pipeline accuracy improves because phantom deals stop inflating the numbers
  • Forecast accuracy improves because the pipeline reflects real opportunities
  • Rep focus improves because effort goes toward winnable deals instead of zombie opportunities

The Nudge System

Detection is step one. The nudge system is step two.

When a deal hits the stale threshold, my system surfaces it with context:

  • Last email sent and whether it got a reply
  • Last call made and the outcome
  • How many times the deal has gone stale before (chronic stale deals need a different approach)
  • Suggested next action based on the stage

This turns the stale deal alert from "something's wrong" into "here's what to do about it." Actionable beats informational every time.

Setting Up Your Own Detection

Minimum viable version: Export your active deals to a spreadsheet. Add a column for "last real activity date" (check email and call logs manually). Highlight anything over your threshold. Do this weekly.

Automated version: A script that pulls deal data from your CRM and cross-references it with email and call activity from your other APIs. Run it daily. Surface results in a dashboard or send a morning email with the stale list.

Integrated version: Build it into your daily operational dashboard so stale deals are visible every time you look at your pipeline. This is how mine works — I can't start my day without seeing what needs attention.

The Uncomfortable Truth

If you implement stale deal detection and your pipeline drops by 30%, it didn't actually drop. It was always that size — you were just counting deals that weren't real. The new number is the true number, and it's the one you can actually build a forecast on.

Better to know the truth and act on it than to carry around a fantasy pipeline.

At Contriboot, we build pipeline health tools that surface problems before they cost you deals. Because the best time to save a stale deal is today, not next month when someone finally notices.

Want to discuss how we can help your business?

Book a free consultation