Updated 7 September 2026.
A stale deal is an open deal in your CRM that has had no buyer activity for longer than its stage can justify. It still sits in the pipeline. It still counts in the forecast. It is not going to close.
Your sales pipeline is lying to you. Not because your reps are dishonest, but because the system you built gave them no reason to tell the truth.
I audited a SaaS company's HubSpot last year. They had €2.4M in "active" pipeline. After three hours of digging, €1.1M of it was deals that hadn't seen a single activity in 60+ days. That is 46% of the open pipeline, gone stale and still counted. One deal had been sitting in "Proposal Sent" for four months. The contact had left the company. Nobody noticed because the CRM said it was real, and the forecast spreadsheet inherited that lie.
That is the stale deal problem, and it is more common than most revenue leaders want to admit.
What counts as a stale deal?
A deal is stale when it has had no buyer-side activity for longer than the normal gap between touches at its stage. Buyer activity, not seller activity. A reply, a meeting attended, a question asked, a document returned. A rep logging a fourth unanswered follow-up is not a sign of life.
Freshworks calls the same idea a "staling age" and describes deals that pass it as rotten, on the logic that the likelihood of conversion drops as a deal ages (Freshworks CRM support). The concept is right. The defaults most CRMs ship with are usually wrong for B2B SaaS, because they apply one number to every stage.
These are the thresholds we set for clients, counted in days with no buyer activity:
| Deal stage | Flag to rep | Escalate to manager | Auto close-lost |
|---|---|---|---|
| Qualified | 14 days | 21 days | 45 days |
| Discovery done | 14 days | 21 days | 45 days |
| Demo complete | 10 days | 21 days | 45 days |
| Proposal sent | 7 days | 14 days | 30 days |
| Contract out | 7 days | 14 days | 30 days |
The later the stage, the shorter the tolerance. A prospect sitting on a proposal who goes quiet for a week is a louder signal than a prospect still in discovery, because there is an open question on the table and they are choosing not to answer it. Teams that run 6 to 9 month enterprise cycles should stretch these numbers, but keep the shape: tolerance shrinks as the deal gets closer to a decision.
Share of B2B contact data that decays in a year on the MarketingSherpa benchmark HubSpot uses in its database decay model, roughly 2.1% a month. Dun and Bradstreet put it higher, at 30 to 40%. Whichever number you take, a real slice of the contacts attached to your open deals no longer work there.
One note on that number, because the version you usually see is wrong. The 2.1% monthly and 22.5% annual figures are the MarketingSherpa benchmark behind HubSpot's decay model, and the 30 to 40% range is attributed to Dun and Bradstreet, both summarised in this+that's CRM data decay roundup and ZoomInfo's data decay overview. The widely quoted "70% of CRM data goes stale every year" is a field-level worst case for email addresses specifically, not the rate for a whole CRM. We do not plan against it, and neither should you.
What stale deals actually cost you
The obvious cost is a broken forecast. Gartner reported that fewer than 50% of sales leaders and sellers have high confidence in their forecast accuracy (Gartner, February 2020), and SiriusDecisions research puts the share of companies forecasting within 10% of actuals at 21% (cited by Argano). If you are making hiring decisions, headcount plans, or board projections on top of a pipeline that carries dead deals, you are not managing a business. You are guessing.
But the hidden cost is worse. Stale pipeline kills rep morale. Your best sellers spend time chasing deals that were dead six weeks ago, getting ghosted by contacts who already bought a competitor's product, and sitting through weekly pipeline reviews that feel like theater. Then the quarter ends and nobody can explain where the number went.
I've seen good RevOps leaders quit because they couldn't fix a forecast problem that was actually a data discipline problem dressed up as a strategy problem.
Why deals go stale
Three things cause stale pipeline, and they reinforce each other.
Deal stage definitions that measure activity, not outcomes. "Demo Scheduled" is an activity. The rep sent a calendar invite. Great. But did the prospect show up? Did they bring a decision-maker? If your stage names are about what your team did rather than what the buyer agreed to, your pipeline is measuring your own effort, not actual deal progress. This is the most common mistake I see, even at companies with otherwise mature RevOps setups, and we go through it in detail in HubSpot deal stages: why most B2B teams set them up wrong.
No exit criteria. Getting a deal into a stage is easy. There's no cost. Reps drag deals forward to show progress in reviews, and nobody challenges them because the criteria for "what needs to be true to be in this stage" were never written down. In HubSpot, you can set required properties for stage transitions, but most teams never configure this. The field stays blank. The deal drifts.
Perverse incentives in pipeline reviews. If your weekly pipeline review is a status call where the manager asks "where are we on this?" and the rep says "still warm, follow-up next week," nothing ever gets killed. Reps are rewarded when deals close, not when they correctly call a dead deal early. So the rational move is to keep everything alive as long as possible. The result: pipeline becomes a collection of wishful thinking.
How to find stale deals in HubSpot
Before rebuilding anything, you need to know what you have. Run this audit in HubSpot before making any changes. It is four saved views and it takes an afternoon.
Pull every open deal and filter by last activity date. Anything with no activity in 45+ days is a candidate for the "stale" bucket. In HubSpot, you can filter deals by "Last activity date is more than 45 days ago" and save that view. Look at the total value. That number will disturb you.
Check close date accuracy. How many deals have a close date in the past? If your pipeline has deals with a close date from three months ago still marked open, your forecast is mathematically broken. Run this filter. Fix every single one.
Look at stage age. How long has each deal been sitting in its current stage? In HubSpot, you can see "Time in stage" as a deal property. If your average for "Proposal Sent" is 8 days but a specific deal has been there for 60, that deal needs immediate attention or a closed-lost classification.
Count deals with no next step booked. If a deal has no open task, no scheduled meeting, and no recent email activity, it's drifting. Every live deal should have a concrete next action with an owner and a date.
This audit usually takes two to three hours. The output is almost always a shock. In the audits we run, it is normal to find that 40 to 60% of open pipeline needs immediate action, and the SaaS company above sat right in the middle of that range at 46%.
Redesigning deal stages in HubSpot
The right number of stages is 5 to 7. Fewer than that and you lose visibility into where deals actually stall. More than 8 and reps start skipping stages or treating them as bureaucracy.
Each stage should represent a buyer milestone, not a seller activity. Here's a framework I use for B2B SaaS companies:
In HubSpot, configure required properties for each stage transition under Settings > Objects > Deals > Pipelines. This is the most underused feature in HubSpot. It forces reps to log the right data at the right time, not retroactively.
Set close date as required at Stage 04. Set deal amount as required at Stage 02. You'll get some pushback from reps initially. Push through it. After two quarters, you'll have reliable data that actually forecasts.
The stale deal automation every team needs
Manual pipeline hygiene doesn't scale. I build this workflow for every client as one of the first things we do after fixing deal stages.
In HubSpot Workflows, create an enrollment trigger on "Last activity date is more than X days ago" combined with "Deal stage is none of closed-won, closed-lost", where X is the flag-to-rep number for that stage from the table above. Build one workflow per stage band rather than one global 30-day rule, so a proposal that goes quiet for a week is caught while a discovery deal is left alone.
Each workflow should do three things:
- Send the deal owner a task to update the deal or close it out
- Set a custom "Stale flag" deal property to true once the escalation threshold passes
- Auto-enroll the deal into a separate "At-risk" view that the sales manager sees in their pipeline dashboard
Two mechanics matter here. Use "Last activity date", which HubSpot updates automatically when a note, call, email, meeting, task, or chat is logged, rather than "Last modified date", which also moves when a workflow writes a property and will quietly mark dead deals as alive. And on Sales Hub Professional you need a custom property plus a second comparison workflow to hold the inactive-since date, because the standard filters do not expose it directly. Both points come up constantly in the HubSpot community threads on stale deal workflows.
For teams using n8n alongside HubSpot, you can build a more sophisticated version that checks contact validity (pulls the contact from LinkedIn or Apollo to see if they still work there), sends the rep a Slack message with full context, and logs a note directly into the deal record with the current contact status. This takes about four hours to build and removes most of the manual chasing.
The first threshold is a trigger for rep action. The second is a trigger for manager review. At the auto close-lost threshold the deal should move to closed-lost under a "No buyer response" reason category. You can always reopen it if the prospect comes back, and the reason code gives you a count of how much pipeline dies this way each quarter.
A deal with no next step is not a deal. It's a wish.
Every open deal should have an owner, a concrete next action, and a date attached to that action. If those three things aren't there, the deal shouldn't count in your forecast.
Fixing pipeline reviews
Most pipeline reviews are useless because they ask the wrong questions. "Where are we on Acme Corp?" tells you what you already knew. The question you need to ask is: "What would have to be true for this to close on the date we have it?"
That question exposes the gaps. If the answer requires three approvals, a legal review, and buy-in from a C-suite exec who hasn't been in any of the meetings yet, the close date is wrong. Fix it in the meeting, in front of everyone. It normalizes the idea that adjusting dates is responsible, not embarrassing.
The other change that improves forecast accuracy fast is requiring a documented next step at the end of every pipeline review. Every deal that gets inspected leaves with a specific action, an owner, and a date. If a deal cannot produce one, it belongs in the stale bucket, not on the call.
Cadence matters more than the format. A weekly review that always happens beats a thorough one that slips. Pick a day, put it in the calendar, don't move it. We break down the agenda that makes the hour worth it in pipeline review meetings: fix the weekly time sink. The quarterly meeting has a different job and deserves its own agenda, which is why we split it into four in the sales QBR agenda: the deal review there inspects the top 10 deals in a small room rather than walking the whole board again.
How to build pipeline coverage that makes sense
The coverage ratio we plan against for mid-market B2B is 3 to 4 times the target in active pipeline. Enterprise sales with longer cycles need 4 to 5 times. That assumes the pipeline is clean. If a stale audit says 40% of your open deals have no buyer activity, you need to gross the ratio up by the same proportion, because that share of your coverage does not exist.
The math is simple. If you need €500K in closed revenue this quarter and your average win rate is 25%, you need €2M in qualified pipeline. If 40% of that pipeline is stale, you actually need €3.3M in pipeline just to get to the same €2M in real deals.
Most companies don't think about pipeline this way. They hit 80% of quota and wonder why, not realizing that the shortfall was sitting in their CRM as stale deals the whole time. If the forecast itself is the thing you are trying to fix, we go deeper on that in sales forecasting: why HubSpot misses by 40%.
Connecting pipeline health to the rest of your revenue system
Pipeline management doesn't exist in isolation. The health of your pipeline depends on what's feeding it.
If your inbound leads are underqualified, they'll fill your pipeline with low-intent contacts that never progress and become stale in 30 days. If your outbound sequences are too aggressive, prospects will ghost you after the first call and sit in "Demo Scheduled" forever.
This is why RevOps is not just a pipeline cleanup exercise. It's a systems problem. The pipeline is the symptom. The root causes are upstream: ICP definition, lead qualification criteria, handoff between marketing and sales, sequence quality, and the data you're bringing in through tools like Clay for enrichment.
If your pipeline keeps refilling with stale deals after you clean it, the problem is the input, not the pipe.
We covered the full system design for this in our CRM and RevOps work, including how we set up data flows between enrichment tools and HubSpot to make sure every deal that enters the pipeline arrives with the right context already logged.
For companies doing outbound at scale, our AI automation work shows how to build signal-based prospecting flows that feed higher-quality deals into the top of the pipeline from day one.
Your pipeline is probably lying to you right now.
We do free 30-minute pipeline audits. We'll pull up your HubSpot, show you exactly what's stale, what's real, and what three changes would have the biggest impact on forecast accuracy this quarter.
Book a pipeline audit →FAQ
What is a stale deal in a sales pipeline?
A stale deal is an open deal that has had no buyer-side activity for longer than its stage can justify, so it still counts in the pipeline and the forecast even though nothing is moving. The distinction that matters is buyer activity rather than seller activity: a rep sending a fifth unanswered follow-up does not make a deal live. Freshworks describes the same idea as a deal passing its staling age and becoming rotten.
How many days without activity makes a deal stale?
It depends on the stage, not on one global number. We flag deals at 14 days without buyer activity in the early stages, 7 days once a proposal or contract is out, escalate to the manager a week later, and auto close-lost at 45 days early-stage or 30 days late-stage. The later the stage, the shorter the tolerance, because there is an open question the buyer is choosing not to answer. Teams running six to nine month enterprise cycles should stretch the numbers but keep that shape.
How do you find stale deals in HubSpot?
Build a deal view filtered on "Last activity date is more than X days ago" plus "Deal stage is none of closed-won, closed-lost", and save it per stage band. Use "Last activity date" rather than "Last modified date", because the modified date also moves when a workflow writes a property, which makes dead deals look alive. Add a second view for deals whose close date is already in the past, and a third on "Time in current stage" to catch deals parked in one stage well beyond your average.
How many deal stages should a B2B sales pipeline have?
Five to seven stages is the right range for most B2B teams. Fewer than five and you lose visibility into where deals actually stall. More than eight and reps treat the stages as bureaucracy and start skipping them. Each stage should represent a moment where the buyer did something, not just a moment where the seller did something.
How do you clean up a messy sales pipeline?
Start with an audit. Pull every open deal and filter by last activity date. Anything with no activity in 45+ days needs either an immediate update from the rep or a closed-lost classification. Then fix the structural causes: add required properties to deal stage transitions, create an automated stale deal workflow in HubSpot, and change your pipeline review to focus on next steps rather than status updates.
What is a good pipeline coverage ratio for B2B sales?
For mid-market B2B, you need 3 to 4 times your target revenue in active pipeline. Enterprise teams with longer deal cycles typically need 4 to 5 times. These ratios assume a clean pipeline. If your CRM has significant data quality issues, the actual number you need is higher.
Why do sales forecasts keep missing in B2B companies?
The most common cause is pipeline that hasn't been qualified properly. Reps maintain deals in active stages long after the prospect has gone cold, because there's no incentive to kill a deal early. The result is a forecast built on deals that were already dead. Fixing forecast accuracy starts with fixing deal stage criteria and stale deal governance, not with better forecasting tools.
How do you use HubSpot to improve pipeline management?
Three specific HubSpot configurations make the biggest difference: required properties on deal stage transitions (forces reps to log key data at the right time), automated stale deal workflows (flags deals with no activity at 30 and 45 days), and custom deal views filtered by stage age and last activity. HubSpot's pipeline reporting also lets you see conversion rates between stages, which shows you exactly where deals are falling out and whether that's a qualification problem or a closing problem.