# Salesforce Sales Report: Closed Revenue, Win Rate and Reps

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

> **Summary:** A Salesforce sales report shows closed results: revenue, win rate, average deal size and sales cycle, by rep, lead source or period. Connect an org to Better Analyst and ask for it in plain English. Each answer comes from a read-only SOQL query against the objects you selected, which you can check in the query it ran.

Data source: [Salesforce](https://betteranalyst.com/data-connectors/salesforce)

Build a Salesforce sales report with closed-won revenue, win rate, average deal size and sales cycle by rep and lead source, using read-only SOQL.

## Who this report is for

Sales leaders and revenue operations teams who report results each month or quarter and need to slice them by rep, segment or source without waiting for a new Salesforce report to be built.

## What the report includes

*Metrics and dimensions in this report*

| Metric | Source field | Why it matters |
| --- | --- | --- |
| Is won | Opportunity.IsWon | Identifies won deals directly, whatever your stages are called. |
| Is closed | Opportunity.IsClosed | With IsWon, gives the denominator for win rate. |
| Amount | Opportunity.Amount | Closed revenue and average deal size come from this field. |
| Close date | Opportunity.CloseDate | Assigns each result to a month or quarter. |
| Created date | Opportunity.CreatedDate | With close date, gives the length of the sales cycle. |
| Owner | Opportunity.Owner.Name | Results by rep, for reviews and comparisons. |
| Lead source | Opportunity.LeadSource | Shows which channels produce won revenue, not just leads. |
| Type | Opportunity.Type | Separates new business from renewals and upsells, which shouldn't share one win rate. |
| Account industry | Opportunity.Account.Industry | Adds a segment view through the related account. |

## How to build it in Better Analyst from Salesforce

1. Choose Salesforce under Connectors and pick your sign-in type. For a production org that's usually Production or your My Domain host.
2. Approve access with Continue with Salesforce. We recommend connecting with an integration user that has read access only.
3. Select Opportunity, Account and User, up to 40 objects in all, name the connector and save it.
4. Start a chat with the connector and ask for closed-won revenue, win rate and average deal size by rep for last quarter.
5. Ask for the same table by lead source, then turn the one you use most into a dashboard.

## Questions to ask

- “Show closed-won revenue, win rate and average deal size by owner for last quarter.”
- “Compare win rate by lead source this year.”
- “How has closed-won revenue changed by month for the last 12 months, new business versus renewals?”
- “What is the average sales cycle in days for won opportunities, by industry?”
- “Which accounts produced the most closed-won revenue this year?”

## Sample output

Sample data for illustration, not real account data.

*Sample data: sales results by lead source for one quarter (illustrative, not a real org)*

| Lead source | Closed won | Won | Lost | Win rate | Avg deal | Avg cycle (days) |
| --- | --- | --- | --- | --- | --- | --- |
| Partner Referral | $612,000 | 24 | 17 | 59% | $25,500 | 47 |
| Web | $428,000 | 31 | 52 | 37% | $13,806 | 33 |
| Outbound | $391,000 | 12 | 29 | 29% | $32,583 | 84 |
| Trade Show | $104,000 | 6 | 18 | 25% | $17,333 | 61 |

## Charts to use

- **Closed-won revenue by month** (Stacked column chart): The revenue trend, split between new business and renewals.
- **Win rate by lead source** (Horizontal bar chart): The channels that win most often, sorted from highest to lowest.

## Keep it up to date

Keep the result on a dashboard with a scheduled refresh, or send it to Google Sheets or a database with a Data Flow. Large exports run through Bulk API 2.0.

## Further reading

- [Salesforce connector](https://betteranalyst.com/data-connectors/salesforce)
- [Salesforce connector setup docs](https://betteranalyst.com/docs/connectors/salesforce)
- [Customer acquisition cost formula](https://betteranalyst.com/metrics/customer-acquisition-cost)
- [Data Flows](https://betteranalyst.com/product/data-flows)
- [Web dashboards](https://betteranalyst.com/product/dashboards)

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

## Frequently asked questions

### Which Salesforce editions work?

Editions with API access: Enterprise, Unlimited, Performance, Developer, or Professional with API access. The connecting user also needs API Enabled and read access to the objects you want to analyze.

### Can it read custom objects and fields?

Yes. Search for custom __c objects when you select objects, up to 40 per org. Only fields the connecting user can see are available.

### Can I check how a number was calculated?

Yes. Each answer comes from a SOQL query you can read, so you can see the filters and objects used. If a number needs to match an existing report, pin that report on the connector and ask against it.

### Does it work with a sandbox?

Yes. Choose Sandbox or enter your My Domain host when you authorize. That is a good way to test before connecting a production org.

## Related reports

- [Salesforce Pipeline Report: Open Deals and Slipped Dates](https://betteranalyst.com/data-connectors/salesforce/pipeline-report)
- [Salesforce Lead Conversion Report: Rate by Source and Owner](https://betteranalyst.com/data-connectors/salesforce/lead-conversion-report)
- [HubSpot Sales Report: Closed Deals, Win Rate and Rep Results](https://betteranalyst.com/data-connectors/hubspot/sales-report)
