How to Analyze a HubSpot Deals Export in Excel
Export HubSpot deals to Excel or CSV, avoid the stage, amount, and pipeline traps, and answer win rate, sales cycle, and stalled-deal questions.
9 min read · Updated September 24, 2026
Have your HubSpot deals export open?Ask it directly →
HubSpot's built-in reports are fine for the dashboard view: deals by stage, a forecast, a leaderboard. Once you have a sharper question, like which rep closes fastest, which source brings deals that actually win, or which open deals have gone quiet, you usually end up exporting the deals to a spreadsheet. The export is tidy, but a few conventions (open vs closed deals, blank amounts, several pipelines, currencies) will skew your numbers if you don't deal with them first. This guide covers how to get a useful export, the columns that matter, the traps, and the questions worth asking.
Getting a deals export that has the right columns
In HubSpot, go to CRM → Deals and switch to the table (list) view. The export uses the view you're on: the filters decide which deals are included, and the columns decide which properties you get. So set it up first:
- Remove any filters that hide closed deals, unless you only want the open pipeline. Win-rate analysis needs closed-won and closed-lost deals.
- Use Edit columns to add the properties you'll need (see below).
- Click Export, choose CSV, XLS, or XLSX, and decide whether to include only the columns in the view or all properties. HubSpot emails you a download link when the file is ready.
"All properties" makes a wide file, but it saves you a second export when a question needs a column you forgot. Most people pick all properties once, then trim.
If you also want to analyze by lead source or company size, export contacts or companies the same way. Record IDs link them: each deal row can include associated contact or company IDs, and a spreadsheet with a deals sheet and a contacts sheet lets you join on those.
The columns that matter
The exact labels depend on your portal and any custom properties, but a standard deals export has these:
| Column | What it holds | Watch out for |
|---|---|---|
| Deal Name | Free text | Not unique; use Record ID as the key |
| Record ID | HubSpot's internal ID | The only reliable key for joins and deduplication |
| Pipeline | Which pipeline the deal is in | Stage names can repeat across pipelines |
| Deal Stage | The current stage label | Shows where the deal is, not the history |
| Amount | Deal value | Often blank on early-stage deals |
| Close Date | Expected or actual close date | On open deals it's a forecast, not a fact |
| Create Date | When the deal record was created | Imported deals may carry the import date |
| Deal Owner | The assigned rep | Changes if deals are reassigned |
| Deal Type | New business / existing business | Often left blank |
Depending on your setup, you may also see Is Closed Won, Is Deal Closed?, Deal probability, Forecast amount, Currency, Amount in company currency, Last Activity Date, and source properties such as Original Traffic Source. Add them if they're there; they make the analysis much easier.
What's the win rate by deal owner this year? Only count closed-won and closed-lost deals.
Maya Chen has the highest win rate at 42% (58 won of 138 closed), followed by Luis Ortega at 35% (41 of 117) and Priya Nair at 31% (36 of 116). Sam Walker is at 24% (22 of 92). Open deals are left out, so reps with a lot of pipeline still in progress aren't penalised.
Traps that change your numbers
Open deals are not losses. A win rate of won ÷ all deals punishes every deal that's still in progress. The honest definition is closed-won ÷ (closed-won + closed-lost), counting only deals that have actually closed. If your export has Is Deal Closed? and Is Closed Won, use them; otherwise map each Deal Stage label to open, won, or lost yourself.
Close Date means two things. On a closed deal it's when the deal closed. On an open deal it's the rep's estimate. Group closed deals by Close Date for "what did we win in March," but label open deals by Close Date as a forecast. And watch for open deals whose close date is already in the past. That's a stalled-deal signal, not a data error.
Blank amounts. Many teams only fill in Amount once a deal is qualified. Summing Amount silently treats those deals as zero; averaging it silently drops them. Count how many deals have no amount before you report pipeline value, and state it next to the total.
Multiple pipelines. If you run separate pipelines (new business, renewals, partner deals), their stages and cycle lengths aren't comparable. A "Proposal" stage can exist in two pipelines with different meanings. Filter or group by Pipeline before anything else.
Currency. In a multi-currency portal, Amount is in the deal's own currency. Summing it across currencies gives a meaningless number. Use Amount in company currency if your export has it, or group by Currency.
Stage history isn't in the default export. Deal Stage is the current stage only. The dates each deal entered each stage aren't part of a normal deals export, so time-in-stage analysis needs either the stage date properties your portal exposes or HubSpot's property history export. The standard file still supports overall cycle length (Create Date to Close Date).
Dates and formats. Dates export as text in the format your account uses. A spreadsheet that reads 03/04/2026 as April 3 when you meant March 4 will scramble your monthly numbers. Check a few rows against HubSpot before trusting any trend.
Questions worth asking
Once the file is clean, these are the questions that tend to change what a sales team does:
- Win rate by owner. Closed-won ÷ closed deals per Deal Owner, with the deal count next to it. A 60% rate on five deals isn't the same as 40% on eighty.
- Win rate by source. Group by the original source (from the deal, or joined from the contact export). Some channels bring volume, others bring deals that close.
- Sales cycle length. Median days from Create Date to Close Date for closed-won deals, by owner or by deal size band. Median rather than mean, because one deal that sat for a year distorts the average.
- Pipeline by stage and month. Open deals only, sum of Amount by Deal Stage and by expected Close Date month. Split by Pipeline if you have several.
- Stalled deals. Open deals whose Close Date has passed, or whose Last Activity Date is more than 30 days old. Sorted by Amount, that's the list for your next pipeline review.
- Average deal size, won vs lost. If lost deals are consistently bigger, you're either reaching above your fit or losing on price.
- Loss reasons. If your team fills in Closed Lost Reason, count the reasons by owner and by stage. It's often the most useful free-text field in the export.
Doing it without formulas
Every question above comes down to filtering and grouping: the kind of work you'd otherwise build a pivot table for. With ChatExcel you upload the export (Excel or CSV, and every sheet is read, so a deals sheet and a contacts sheet can go in one workbook) and ask in plain English:
- "Win rate by deal owner, counting only closed-won and closed-lost deals, with the number of closed deals."
- "Median days from create date to close date for won deals, by owner."
- "Open pipeline by deal stage and expected close month, as a bar chart."
- "List open deals with a close date in the past, largest amount first."
Answers are calculated from every row in the file, not a sample, and you can turn any result into an interactive bar, line, area, or pie chart. Put the ground rules in your first question ("treat closed-lost as a loss, ignore open deals, only the New Business pipeline") so they carry through. When you want to rebuild a number in your own workbook, ask "what's the Excel formula for that?" and you'll get the COUNTIFS or AVERAGEIFS version. If the export needs tidying first, the data cleaning guide covers blank rows, stray headers, and mixed date formats.
A quick sanity check
Before you share a number, compare two things with HubSpot itself: the count of closed-won deals in a month, and total closed-won Amount for the same month. If they match the HubSpot deal report for that period, your filters are right. If they don't, it's almost always a pipeline you forgot to filter, a currency mix, or deals whose Close Date was edited after they closed.
- How do I export all deals from HubSpot to Excel?
- Open CRM → Deals in table view, clear any filters that hide deals you want, click Export, and choose XLSX or CSV. You can export only the columns in the view or all properties. HubSpot emails a download link when the file is ready.
- How should I calculate win rate from a HubSpot export?
- Divide closed-won deals by closed-won plus closed-lost deals, and leave open deals out entirely. Use the Is Closed Won and Is Deal Closed? properties if your export has them, or map each Deal Stage to open, won, or lost.
- Can I see how long deals spent in each stage from the export?
- Not from the standard deals export, which shows only the current stage. You need stage date properties if your portal exposes them, or HubSpot's property history export for Deal Stage. Overall cycle length from Create Date to Close Date works with the standard file.
- Why is my pipeline total lower than HubSpot's forecast?
- Usually because of blank Amount values, which count as zero in a sum, or because the forecast uses weighted amounts based on stage probability. Mixed currencies and multiple pipelines can also make the two numbers differ.