Chart your export here
Drop a CSV here. xmetric reads every row in this browser and draws a first chart you can regroup or change the measure of. Nothing is uploaded.
No file loaded yet. You can also drop a CSV on this box.
How to export HubSpot Deals for a pipeline waterfall
HubSpot's built-in Deal pipeline waterfall report in the Sales Analytics suite requires a paid Sales Hub Professional or Enterprise plan. If you are on HubSpot CRM Free or Starter, you can build the exact same bridge from a standard Deals CSV export or property history export.
- In HubSpot, go to CRM > Deals, switch to the List view, and select your target pipeline.
- Click Edit columns and add
Record ID,Deal Name,Pipeline,Deal Stage,Amount(orAmount in company currency),Create Date,Close Date,Deal Owner,Closed Won Reason, andClosed Lost Reason. - Click Export in the top right, choose CSV or XLSX (the xmetric app imports both), and select All properties on records or Properties and associations in your view.
- For historical stage or amount changes within a quarter, export property history from Settings > Properties > Select an object: Deal properties, hover over
Amount,Close Date, orDeal Stage, and click More > Export property history.
| HubSpot Export Column | Data Type | Role in Waterfall Bridge |
|---|---|---|
Record ID | Integer / String | Unique deal identifier across snapshots |
Deal Name | String | Drill-down label on hover |
Pipeline | String | Filters to New Business vs. Renewal pipeline |
Deal Stage | String | Identifies open stages vs. Closed Won and Closed Lost |
Amount | Currency | Unweighted deal value (or Forecast amount for weighted) |
Create Date | Timestamp | Classifies deals created inside the period (+New Created) |
Close Date | Timestamp | Classifies deals slated to close inside the period vs. pushed to next quarter |
Deal Owner | String | Slices the waterfall by AE or sales team |
Waterfall bucket formulas and SQL equivalents
1. Single-Export Period Bridge (Create Date + Close Date + Stage Logic)
Even from a single Deals export, you can classify every deal touching a target quarter (for example Q4: 2026-10-01 to 2026-12-31) into its waterfall movement bucket.
xmetric / Tableau calculated field ([Waterfall Bucket]):
IF [Create Date] < #2026-10-01# AND [Close Date] >= #2026-10-01# THEN "1. Starting Pipeline"
ELSEIF [Create Date] >= #2026-10-01# AND [Create Date] <= #2026-12-31# THEN "2. + New Created"
ENDTo draw the waterfall in the xmetric app, use a Gantt bar mark: place RUNNING_SUM(SUM([Signed Amount])) on the Rows shelf and -SUM([Signed Amount]) on the Size card.
2. Two-Snapshot Waterfall Bridge (Exact Expansion, Contraction, and Push Detection)
When you compare two HubSpot Deals CSV exports (start-of-month snapshot s0 and end-of-month snapshot s1; joining two CSVs in the xmetric app is coming) or a HubSpot property history export, the SQL below classifies all seven movements.
SQL equivalent:
WITH joined AS (
SELECT
COALESCE(s1."Record ID", s0."Record ID") AS deal_id,
COALESCE(s1."Deal Name", s0."Deal Name") AS deal_name,
s0."Deal Stage" AS start_stage,
s1."Deal Stage" AS end_stage,
COALESCE(s0."Amount", 0) AS start_amount,
COALESCE(s1."Amount", 0) AS end_amount,
s0."Close Date" AS start_close_date,
s1."Close Date" AS end_close_date
FROM deals_start_snapshot s0
FULL OUTER JOIN deals_end_snapshot s1
ON s0."Record ID" = s1."Record ID"
)
SELECT
CASE
WHEN start_stage IS NULL THEN '2. + New Created'
WHEN end_stage = 'Closed Won' THEN '5. - Closed Won'
WHEN end_stage = 'Closed Lost' THEN '6. - Closed Lost'
WHEN end_close_date > DATE '2026-12-31' AND start_close_date <= DATE '2026-12-31' THEN '4. - Pushed Out of Quarter'
WHEN end_amount > start_amount THEN '3. + Expanded'
WHEN end_amount < start_amount THEN '4b. - Contracted'
ELSE '7. Unchanged Open'
END AS waterfall_bucket,
COUNT(*) AS deal_count,
SUM(end_amount - start_amount) AS net_amount_delta,
SUM(end_amount) AS ending_amount
FROM joined
GROUP BY 1
ORDER BY 1;3. Pipeline Net Coverage Ratio (FIXED LOD)
Compare starting open pipeline plus newly created pipeline against the team's quarterly quota.
xmetric / Tableau formula:
{ FIXED [Deal Owner] :
SUM(IF [Deal Stage] != 'Closed Won' AND [Deal Stage] != 'Closed Lost' THEN [Amount] END)
}Where HubSpot Sales Analytics vs. xmetric fits
- When HubSpot Sales Hub Professional or Enterprise is better: If your company already pays for HubSpot Sales Hub Professional or Sales Hub Enterprise (paid plans; see HubSpot's pricing page), HubSpot's native Sales Analytics suite includes the Deal pipeline waterfall report without manual CSV exports.
- Where xmetric fits: If you are on HubSpot CRM Free or Starter, or if a board member, fractional CFO, or RevOps consultant wants to slice the pipeline waterfall by custom product lines, rep cohorts, or deal size bands without buying paid Sales Hub seats, drop your HubSpot CSV directly into xmetric for free.
Questions people ask
Why do some open HubSpot deals have blank Amount values?
Reps often create early-stage discovery deals before entering a dollar value. In xmetric, wrap ZN([Amount]) so null amounts evaluate as 0 and still appear in deal-count waterfall views.
How do I handle multi-currency HubSpot exports?
Export the column Amount in company currency alongside Amount and map Amount in company currency as the measure in xmetric so EUR, GBP, and USD deals sum accurately.
Does xmetric upload our private customer deal list to the cloud?
No. Files you drop are read in your browser and nothing is uploaded, unless you sign in and save a workbook online. The app also imports Excel (.xlsx) exports.
Drop your HubSpot deals.csv export above for a first chart, then build the pipeline bridge in the xmetric app.