# HubSpot Sales Report: Closed Deals, Win Rate and Rep Results

- URL: https://betteranalyst.com/data-connectors/hubspot/sales-report
- Published: 2026-11-10
- Updated: 2026-11-10
- Author: David Bressler, Founder (https://betteranalyst.com/authors/david-bressler)

> **Summary:** A HubSpot sales report shows what actually closed: revenue, win rate, average deal size and sales cycle, by rep or by period. Connect your portal to Better Analyst and ask for it in plain English. Stage and owner IDs come back as names, so the table reads the way your team talks about deals.

Data source: [HubSpot](https://betteranalyst.com/data-connectors/hubspot)

Build a HubSpot sales report with closed-won revenue, win rate, deal size and sales cycle by rep, from your live deals, with sample output and charts.

## Who this report is for

Sales managers and founders who run a weekly or monthly sales review and want results by rep and by period without building custom report after custom report inside HubSpot.

## What the report includes

*Metrics and dimensions in this report*

| Metric | Source field | Why it matters |
| --- | --- | --- |
| Deal name | dealname | Lets you drill from a total down to the actual deals behind it. |
| Deal owner | hubspot_owner_id_name | The connector adds the owner's name beside the ID, so results read by rep. |
| Stage | dealstage_label | The stage name beside the stage ID, which identifies won and lost deals. |
| Amount | amount | The deal value that revenue and average deal size are built from. |
| Close date | closedate | Puts each deal in the right period for revenue and win rate. |
| Create date | createdate | With close date, gives the length of the sales cycle. |
| Pipeline | pipeline_label | Keeps separate sales motions, such as new business and renewals, from being blended together. |
| Deal type | dealtype | Splits new business from existing business where your team fills it in. |

## How to build it in Better Analyst from HubSpot

1. Connect the portal: Connectors, HubSpot, then Continue with HubSpot, and approve read-only access.
2. Leave deals and owners selected, since this report depends on both. Name the connector and save it.
3. Attach the connector to a chat and ask for closed-won revenue by rep for the last full quarter.
4. Tell Better Analyst which stages count as won and lost in each pipeline if you use more than one.
5. Add win rate, average deal size and sales cycle, then turn the result into a dashboard for the sales review.

## Questions to ask

- “Show closed-won revenue, deal count, win rate and average deal size by rep for last quarter.”
- “How has monthly closed-won revenue changed over the last 12 months?”
- “What is the average number of days from create date to close date for won deals, by pipeline?”
- “Which reps have the highest win rate on deals over 10,000?”
- “List the 10 largest deals closed lost this quarter, with owner and last stage.”

## Sample output

Sample data for illustration, not real account data.

*Sample data: sales results by rep for one quarter (illustrative, not a real portal)*

| Rep | Closed won | Won deals | Lost deals | Win rate | Avg deal | Avg cycle (days) |
| --- | --- | --- | --- | --- | --- | --- |
| Rep A | $214,000 | 19 | 14 | 58% | $11,263 | 38 |
| Rep B | $167,500 | 11 | 16 | 41% | $15,227 | 52 |
| Rep C | $142,800 | 17 | 21 | 45% | $8,400 | 29 |
| Rep D | $88,200 | 6 | 13 | 32% | $14,700 | 61 |

## Charts to use

- **Closed-won revenue by month** (Column chart): The revenue trend, with data labels so the review can quote exact figures.
- **Win rate by rep** (Horizontal bar chart): How reps compare on deals that reached a decision, not on total deals held.
- **Sales cycle by pipeline** (Bar chart): How long won deals take to close in each sales motion.

## Keep it up to date

Keep the table on a dashboard that refreshes on a schedule, and schedule a task to send it before the weekly sales meeting. An alert can flag when closed-won revenue for the month falls behind a number you set.

## Further reading

- [HubSpot connector](https://betteranalyst.com/data-connectors/hubspot)
- [HubSpot connector setup docs](https://betteranalyst.com/docs/connectors/hubspot)
- [Web dashboards](https://betteranalyst.com/product/dashboards)
- [Scheduled tasks](https://betteranalyst.com/product/scheduled-tasks)
- [Alerts](https://betteranalyst.com/product/alerts)

[Try Better Analyst free](https://betteranalyst.com/signup)

## Frequently asked questions

### How is win rate calculated here?

By default, won deals divided by won plus lost deals in the period, which ignores deals still open. If you prefer a cohort view, ask for deals created in a period and how many of them were eventually won. Say which one you want, because the numbers differ.

### Can it read custom deal properties?

Yes. Use the property in your question. If you added it recently, use Refresh schema on the connector first. Results use HubSpot internal names as column names.

### Does it handle multiple pipelines?

Yes. Deal stage and pipeline come back with readable labels, so you can filter to one pipeline or compare them. Stage names can repeat across pipelines, so keep the pipeline column in the report.

### Can Better Analyst change my deals?

No. The connector requests only read scopes and has no create, update or delete calls.

## Related reports

- [HubSpot Pipeline Report: Open Deals by Stage and Owner](https://betteranalyst.com/data-connectors/hubspot/pipeline-report)
- [HubSpot Marketing Report: Leads by Source and Lifecycle](https://betteranalyst.com/data-connectors/hubspot/marketing-report)
- [Google Sheets Sales Dashboard: Revenue, Reps and Targets](https://betteranalyst.com/data-connectors/google-sheets/sales-dashboard)
