Sales Pipeline Aging: Catch Stalling Deals Before They Die
Most stalled deals give no warning until it's too late. Here's how to measure pipeline aging, set stage SLAs, and act while there's still time to save them.
Here is a scenario that plays out on pipeline review calls more often than most sales managers want to admit.
You pull up the CRM before the call. You see a deal in the Proposal Sent stage with a close date of next week. The deal value is respectable. It has been there for six weeks.
You ask the rep. The rep says the buyer went quiet after the proposal but they are "following up." There is no logged activity in the CRM for 22 days. No calls. No emails. No meeting notes. The close date was pushed once already, three weeks ago.
That deal is not closing next week. It may not close at all. But it is sitting in your forecast, contributing to a coverage number that looks fine on paper.
This is not a deal slippage problem. It is a pipeline aging problem. And the difference matters, because the fix is different.
Pipeline Aging vs. Deal Slippage vs. Pipeline Velocity
These three concepts get conflated, but they measure different things.
Deal slippage is about close dates: a deal that was supposed to close in Q2 gets pushed to Q3. The close date is the signal.
Pipeline velocity is about the overall speed of your funnel: how fast revenue moves through the pipeline from first touch to closed-won. It is calculated across the whole cycle.
Pipeline aging is more granular. It measures how long a specific deal has been sitting in a specific stage. A deal can have a realistic close date, a reasonable overall cycle length, and still be completely stuck in one stage for twice as long as it should be.
When deals age in a stage, it usually means one of three things: the rep has stopped advancing the sale, the buyer has gone silent, or the deal was misqualified into that stage in the first place. None of those situations resolve on their own.
Why Stage Age Is a Better Early Warning Signal
The problem with close dates as a risk indicator is that they are self-reported. Reps set them, and reps push them. By the time a close date turns red, the deal may have been stalling for weeks.
Stage age is harder to manipulate unintentionally. If a deal enters Negotiation and sits there for 30 days when your average time in Negotiation is eight days, that gap tells you something objective, independent of what the rep believes or says. The stage entry date is stamped automatically in most CRMs when the deal moves, not when the rep updates a field.
The other advantage: stage age lets you triage by where in the funnel the deal is stalling. A deal aging in Discovery is a different problem from a deal aging in Proposal Sent. Discovery suggests a qualification issue. Proposal Sent suggests a champion who cannot get internal approval, a price objection that was not surfaced, or a deal that never had real momentum behind it.
When you can see aging by stage across your whole pipeline, you can spot systemic patterns. If you have eight deals aging in Proposal Sent this month, the problem is probably with how your team presents and follows up on proposals, not with eight individual deals.
Setting Stage SLAs
A stage SLA is a simple concept: a maximum number of days a deal should stay in a given stage before triggering a review. When a deal crosses that threshold, a human needs to make a decision about it.
The most reliable way to set stage SLAs is from your own historical data. Pull the average time your won deals spent in each stage over the past six to twelve months. That gives you a baseline. Then add 50 percent to that baseline as your warning threshold.
For example: if your won deals spend an average of seven days in Demo Scheduled, set your SLA at 10 to 11 days. When a deal crosses that line, it is not automatically dead, but it needs attention.
If you do not have enough historical data yet (under six months of pipeline or too few closed deals to get a reliable average), you can start with a rule-of-thumb approximation based on your total target cycle length. For SMB deals that close in 20 to 30 days total, no single stage should hold a deal for more than a third of that window. For mid-market deals targeting a 60-day cycle, most stages should resolve in 10 to 14 days, with later stages like Negotiation allowed a bit more runway.
Set different thresholds for different stages. Early stages move fast; later stages can take longer. Here is a starting template for a five-stage pipeline with a 45-day target cycle:
| Stage | Warning Threshold |
|---|---|
| Qualified / Discovery | 7 days |
| Demo Scheduled | 5 days |
| Demo Completed | 10 days |
| Proposal Sent | 14 days |
| Negotiation | 14 days |
Calibrate these every quarter against your actual win data. Stages where you are consistently winning with deals that aged past the SLA may need a looser threshold. Stages where aged deals almost never close need a tighter one.
Setting Up Aging Tracking in HubSpot, Salesforce, and Pipedrive
HubSpot
HubSpot includes a built-in property called "Time in current stage" that tracks how many days a deal has been in its current pipeline stage. You can add this property directly to deal cards in your pipeline board view, so aging is visible without opening the deal record.
For automated alerts, use HubSpot Workflows. Create a deal-based workflow with enrollment criteria of "Time in current stage is greater than X days" for each stage. Trigger an internal task or a notification to the deal owner and their manager. You can create separate workflows per stage so each has a different threshold.
For reporting, build a custom deal report filtering on time in stage and pin it to a shared sales dashboard. This becomes the source of truth for your weekly pipeline review.
Salesforce
Salesforce tracks stage duration through the Opportunity History object, which logs every stage change with a timestamp. The built-in Opportunity report type called "Opportunity with Stage History" lets you see how long opportunities have spent in each stage.
For deal-level visibility and alerting, many teams build a formula field that stamps the current date when a deal enters a stage (via a workflow rule or Flow) and then calculates days elapsed using a date-diff formula. When the field exceeds your threshold, a second workflow triggers a task or Chatter notification to the rep and manager.
Salesforce's Einstein Activity Capture can also surface inactivity signals if your org has it configured, though it works best when email and calendar activity is reliably synced.
Pipedrive
Pipedrive has a native feature called deal rotting that handles this directly. When enabled, deals that have had no activity for a configurable number of days are visually flagged in the pipeline view with a red indicator. You can set different rotting thresholds per stage.
One important note: Pipedrive's rotting feature is based on deal activity (logged calls, emails, notes), not on stage entry date. That distinction matters. A deal can be rotten in Pipedrive even if it recently moved to a new stage, as long as no activity was logged since the move. Conversely, a deal can avoid the rotting flag if a rep logs any activity, regardless of whether that activity actually advanced the sale.
If you want true time-in-stage tracking in Pipedrive, you will need a custom field and an automation that stamps the stage entry date when the stage changes.
What to Do When a Deal Ages Out
When a deal crosses your SLA threshold, a manager or RevOps lead should run a three-move decision framework:
Move one: confirm what is actually happening. Talk to the rep. Is there real buyer engagement that did not get logged? Sometimes a deal ages in the CRM because the rep was emailing outside the CRM or having phone conversations that were not captured. If genuine activity is happening, the first fix is a process issue, not a deal issue. Get the activity logged.
Move two: identify the specific blocker. If the rep can name a concrete obstacle (the champion is waiting for budget approval, the legal team is reviewing the contract, a decision is expected by a specific date), the deal may be legitimately parked. But "they're still evaluating" is not a blocker. A blocker has a name, a date, and a next action attached to it. If the rep cannot name those three things, the deal is stalling, not progressing.
Move three: reclassify or close. If there is no real engagement and no identifiable blocker with a path forward, the deal should be moved backward to a more accurate stage or closed as lost. A deal that the rep has not actively worked in three weeks is not in Negotiation. Leaving it there inflates your forecast and obscures your real pipeline. Clean data is more useful than a number that feels good.
The stage exit criteria you have defined for each stage are the standard to apply here. If the conditions for being in Negotiation are no longer met, the deal does not belong in Negotiation.
The Data Quality Catch
Pipeline aging analysis is only as good as the underlying activity data. This is where the exercise breaks down for most teams.
If a rep has a three-hour Zoom call with a prospect, sends a detailed proposal via email, and fields four follow-up questions over the next week, but none of it gets logged in the CRM, the deal looks idle. The aging metric says it has been dormant for 22 days. The rep says the deal is very much alive.
Both are technically correct. The discrepancy creates noise in your aging reports and erodes confidence in the data. Managers start discounting the alerts. Reps start explaining why the alert does not apply to their deal. The system loses its value.
This is the problem that activity auto-capture addresses at the foundation. When email, calendar, and call data syncs to the CRM automatically, the activity record reflects reality rather than what the rep remembered to log. Aging analysis becomes reliable because the data it draws on is reliable.
If you are trying to implement pipeline aging analysis and finding that your aging alerts constantly trigger on deals that are actually active, the root cause is usually a logging gap, not a deal risk. Fixing the capture layer is the precondition for the analysis layer to work. That is the core of what tools like the Company Brain are built to solve: capturing deal activity automatically so pipeline data reflects what is actually happening, not what a rep had time to type.
A Pipeline You Can Actually Trust
Pipeline aging does not replace pipeline inspection. It makes inspection faster and more targeted. Instead of starting a pipeline review by asking "so where are we on each deal," you start with a list of deals that have already exceeded their stage SLA. The conversation becomes: "this deal is at 18 days in Proposal Sent, what is happening and what is the path forward?"
The managers who run the most effective pipeline reviews have one thing in common: they are not discovering which deals are stalling. They already know before the meeting starts. Pipeline aging metrics, surfaced automatically in the CRM, give them that visibility without relying on reps to volunteer bad news.
Set your SLAs. Build the alerts. Review the aged deals weekly. Adjust the thresholds as your win data accumulates. A pipeline that shows you which deals are stalling, not which deals look good on paper, is the foundation of a forecast you can actually trust.
Is your firm AI-ready?
Take the free Law Firm AI Readiness Scorecard. Get a grounded, practical report on where AI safely saves your firm time, and where it is a liability.
Frequently Asked Questions
What is sales pipeline aging?
Pipeline aging measures how long a deal has been sitting in a specific pipeline stage, not just how long it has been in the pipeline overall. A deal aging in the Proposal Sent stage for five weeks while your average close from that stage is two weeks is a concrete warning signal. Most CRMs can surface this as a property or report.
How do you calculate deal aging by stage?
Take the date the deal entered a stage and subtract it from today. HubSpot surfaces this as a built-in 'Time in current stage' property. In Salesforce, you build a formula field using a stage-entry date you stamp via workflow and compare it to today. Pipedrive's rotting feature does this automatically once you configure a threshold per stage.
What is a good time-in-stage benchmark for B2B sales?
There is no universal benchmark because cycle length varies widely by deal size. SMB deals under $15K ACV often close in 14 to 30 days total, so a deal stuck in Proposal Sent for two weeks is already overdue. Mid-market deals in the $15K to $100K range close in 30 to 90 days, distributing time across more stages. Pull your own historical stage-duration averages and add 50 percent as your warning threshold.
How do I set up deal aging alerts in HubSpot?
In HubSpot, add the 'Time in current stage' property to your deal cards in pipeline view. Then use Workflows to trigger an internal notification or task when a deal's time in stage exceeds your SLA. Alternatively, build a custom report filtering deals where 'Time in current stage is greater than X days' and pin it to your CRM dashboard.
What should you do when a deal has been in a stage too long?
Run a three-move decision: first, confirm there is real recent buyer engagement behind the scenes. Second, if there is engagement but no forward movement, identify the specific blocker and set a concrete next step with a date. Third, if there is no engagement and the rep cannot name a specific next action, reclassify the deal to a lower stage or mark it lost and close it. A pipeline full of aged deals is more dangerous than an empty pipeline because it corrupts your forecast.
Want to cut through the AI hype?
Start with the free Law Firm AI Readiness Scorecard. Two minutes, and you will see exactly where to start and what to avoid.
Related Articles
Sales Pipeline Cleanup: Remove Zombie Deals, Fix Your Forecast
Most B2B pipelines carry 30-50% zombie deals. Here is how to find and archive them in HubSpot, Salesforce, or Pipedrive so your forecast reflects reality.
CRM Call Notes: What Sales Reps Should Log After Every Call
Most CRM call notes are useless after a rep handoff. Here is the five-field template sales reps should use after every discovery or follow-up call.
Inheriting a Sales Pipeline: The New AE Audit Checklist
Most inherited CRM pipelines have stale close dates, zombie deals, and no prospect context. Here is how to audit what you got on day one and ramp faster.
Sales Rep Offboarding: Protect CRM Pipeline Data When a Rep Leaves
With 30% annual AE turnover, orphaned deals are inevitable. Here's the CRM offboarding checklist that protects your pipeline context when a rep walks out.
Sales Pipeline Inspection: Catch At-Risk Deals Early
Pipeline inspection is the weekly data review that surfaces stale deals before they wreck your forecast. Here is how to run it in HubSpot, Salesforce, or Pipedrive.
SDR to AE Handoff: Stop Losing Pipeline Context in Your CRM
Most AEs open a new deal and find only a name and title. Here is the CRM handoff checklist and automation that keeps qualifying context intact.