Sudden pipeline contraction = mass-loss event or stage-mover dropped to closed_lost.
At a glance
24-hour anomaly detector for Total Pipeline Value. Fires when the day-over-day pipeline change exceeds 2 standard deviations from the trailing 30-day baseline. Surfaces the specific deals that caused the contraction so sales leadership can intervene the same day.
| What it counts | Pipeline-value delta over the last 24 hours, scored against a 30-day rolling baseline distribution. Each row in the alert table is a pipeline-affecting event: a deal moved to closedlost, an amount reduced by 50%+, or a closedate pushed beyond month-end. |
| HubSpot Hub scope | Sales Hub. Pulls deal-property history from /crm/v3/objects/deals/{id}/properties-history for dealstage, amount, and closedate. |
| Threshold logic | (today_pipeline - 30d_mean) / 30d_stdev <= -2.0. Two-sigma negative move. Configurable per portal; default 2σ catches roughly 2.5% of normal-distribution days as alerts. |
| Aggregation | All open pipelines combined. Pipeline-specific drill-down available; the headline alert is portal-wide. |
| Currency | Home-currency-normalised, so multi-currency portals see consistent threshold breaches independent of FX shifts. FX moves themselves rarely breach 2σ. |
| Single-deal vs mass-loss | Both fire. A single $500k closedlost deal can breach 2σ on a small-pipeline portal; a 30-deal bulk-move on a large-pipeline portal can breach for the same reason. The alert table shows each contributing deal so the cause is obvious. |
| Already-closed deals | A deal moving from open to closedlost adds to the negative delta. A deal moving back from closedlost to open adds to the positive (no alert). |
| Stage-rejection alert | Stage-down moves (rep moves a deal from presentationscheduled back to qualifiedtobuy) reduce probability-weighted pipeline but not unweighted; this card uses unweighted. The Win Rate by Stage card surfaces rejection patterns. |
| Time window | 24H rolling window, evaluated continuously. Alert fires within 5 minutes of the breach. |
| Alert trigger | >2σ vs 30D baseline. Audit HS06 cross-fires with the same threshold. |
| Roles | owner, sales |
Calculation
Calculated automatically from your HubSpot data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The same B2B SaaS portal (Total Pipeline = $1.45M). Trailing 30-day daily baseline:| Statistic | Value |
|---|---|
| Mean daily pipeline change | -$2,400 (slight negative drift, normal closing rhythm) |
| Std deviation of daily change | $48,200 |
| 2σ negative threshold | mean - 2σ = -$98,800 |
| Trigger event (last 24h) | Deal | Pipeline impact |
|---|---|---|
Stage decisionmakerboughtin to closedlost | ”Northwind Industries renewal” | -$144,000 |
| Amount reduced 65% | “GlobalTech Q2 expansion” | -$58,500 |
| Closedate pushed from April to August | ”Acme procurement deal” | (no immediate impact, surfaces in deals-closing-this-month alert) |
| Net 24h delta | -$202,500 (4.2σ vs baseline) |
- Single-deal closedlost ($144,000) drove most of the breach. Northwind moved at 80%-probability stage to lost; that is not a procurement delay, it is a competitor win or a budget-cut. The deal owner’s call notes are the next read.
- The threshold is set tight (2σ) on purpose. Most B2B portals need to react same-day to single-deal slips at the late-stage. Loosening to 3σ would silence ~99% of alerts but miss the operationally-actionable 75% of single-deal slips.
- Amount-reduction event (GlobalTech, -$58.5k) is a softer signal. The customer asked for a smaller scope or a longer payment plan. Not a loss yet but a leading indicator. Pair with
Average Deal Cycleto see if cycle is also stretching. - The Acme closedate-push to August adds zero to the unweighted 24-hour delta because it stayed open. But it removes $X from
Deals Closing This Month, where it triggers a separate alert. The two alerts together tell a fuller story. - Pipeline Drop alert recovery is the inverse signal. When a previously-lost deal is re-opened (rep moves Northwind from closedlost back to closedate=June), the 24h delta swings positive. Vortex IQ does not fire an alert on positive moves but does log them in the audit history.
Sibling cards merchants should reference together
Pipeline Drop is a real-time alert; pair with the underlying stock and rate cards:| Card | Why pair it with Pipeline Drop Alert |
|---|---|
| Total Deal Pipeline Value | The headline that this alert protects. Always read absolute alongside delta. |
| Pipeline Value by Stage | The shape view. Drop alerts at late-stage are higher impact per dollar than at early-stage. |
| Deals Closing This Month | The forecast slice. A pipeline drop that touches deals with this-month closedate also triggers month-pace alerts. |
| Deals Stuck >30d | The stuck-deal companion. Stuck deals often precede pipeline-drop events as they age into closedlost. |
| Win Rate by Stage | The historical context. A 2σ drop on a stage with 30% conversion is normal; on a stage with 90% conversion it is a red flag. |
| Top 10 Deals by Amount | The concentration check. Concentrated pipelines breach 2σ on smaller events. |
| Pipeline-vs-Realised Revenue Gap | The cross-channel reconciliation, did the lost pipeline still cost commerce $. |
| Workflow Error Spike | Adjacent operational anomaly; sometimes pipeline drops follow a deal-creation workflow break. |
Reconciling against the vendor’s own dashboard
Where to look in HubSpot: The HubSpot-native equivalent is the Pipeline Snapshot report, but it is a daily snapshot rather than a real-time alert:HubSpot → Reports → Sales analytics → Pipeline snapshots (compare today vs yesterday) HubSpot → Sales → Deals → Activity feed (filter to “Stage changed” and “Amount changed” in last 24h)The Activity feed shows the same deal events that drive this alert. Why our number may legitimately differ from HubSpot’s:
| Reason | Direction | Why |
|---|---|---|
| Snapshot timing | Either | HubSpot’s pipeline snapshot runs at portal-timezone midnight; our 24h window is rolling. A deal lost at 18:00 yesterday will appear in our 24h delta this morning but in HubSpot’s snapshot only after midnight. |
| Sync lag | Ours lower for the most recent 5-15 minutes | Stage moves hit HubSpot’s UI immediately; our index trails by one sync cycle. New stage moves appear in our card within 15 minutes. |
| Pipeline visibility | Theirs lower | HubSpot’s UI shows pipelines the user has access to. Vortex IQ reads through portal-wide token. |
| Currency conversion | Either | HubSpot’s UI shows raw amount per deal currency; this card uses home-currency conversions. Multi-currency portals see drift equal to FX shifts but FX rarely breaches 2σ alone. |
| Property history retention | Both same | HubSpot retains deal-property history for 7+ years on standard plans. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Pipeline-vs-Realised Revenue Gap | Closedlost deals here should reduce the realised-revenue forecast for the corresponding 30-day window | If the deal was a renewal that became a churn, Stripe MRR also reflects the loss within 30 days. |
| Stripe MRR | Renewal-pipeline drops correlate with MRR delta within 30 days | Trial extensions, payment-failure recoveries, manual customer-success interventions can mask the drop. |
Known limitations / merchant FAQs
The alert fired but I do not see anything wrong, what happened? Check the alert table for the contributing events. Most-common false positives: (a) a rep cleaned up old stale deals (bulk-marked as closedlost); (b) a deal-creation script ran and immediately corrected anamount field by 50%+; (c) a multi-currency portal had an unusually large FX move on the home-currency conversion. (a) and (b) are housekeeping; (c) is rare.
Why is the threshold 2σ and not a flat percentage?
Because absolute pipeline volatility scales with portal size. A 50k+ daily moves; a $50k-pipeline portal does not. A 2σ threshold adapts to each portal’s normal noise band. Flat percentage thresholds either fire constantly on small portals or never on big ones.
Can I tune the threshold?
Yes, configurable per portal in Nerve Centre settings. 1.5σ catches more (noisier); 2.5σ catches fewer (only the largest moves). 2σ is the default for most B2B portals.
Why is my deal pipeline number different from my dashboard?
This is the alert (delta) view, not the stock view. The stock view is Total Deal Pipeline Value. Use both: stock for “what is open”, alert for “what changed last 24h”.
Multi-portal aggregation, can I see drops across portals?
No. One card per portal because each portal has a different pipeline-volatility distribution; aggregating would dilute high-signal alerts on small portals.
Sequence enrolment vs send timing, does it affect this?
No. Sequences are 1-to-1 outreach; deals are independent objects. A sequence-driven outreach that converts to a deal contributes positively to pipeline only at deal-creation, not enrolment.
Today-volatility, why does this sometimes fire mid-day and recover before close-of-business?
A rep mistakenly moves a large deal to closedlost (clicked the wrong stage), the alert fires, the rep notices and reverts the move. The 24h delta swings back. We do not auto-suppress; the audit log records both events.
List-segment lag, can it cause an alert?
Indirectly. A list-trigger workflow that mass-creates deals or mass-stages deals based on list membership can cause a 2σ swing if the membership refresh batches a large group. This is rare and usually follows a list-import event.
Lifecycle-stage backfill, does it touch this card?
Only if the backfill triggers deal-creation workflows. Lifecycle changes alone do not move deals; they move contact properties. The cross-trigger to deals is via dedicated workflow rules.
Why is the alert 24h-rolling and not snapshot-at-midnight?
Because B2B sales teams need same-day visibility. Snapshot-at-midnight introduces a 0-23 hour delay; 24h rolling catches breaches within 5 minutes. The trade-off is slightly higher noise (timezone-boundary effects), which we accept.