# Win rate in Salesforce: one summary formula, and the count-versus-amount trap

https://salesbond.app/blog/sales-win-rate-salesforce/
Published: 2026-10-24 · Updated: 2026-10-24

Win rate in Salesforce is Closed Won divided by all closed opportunities, won plus lost, for the same close-date period. Build an Opportunities report filtered to closed deals, group it by owner, and add two summary formulas: one on record count, `WON:SUM / CLOSED:SUM`, and one on amount. Read both before you quote either, because on most pipelines they are not the same number, and the gap between them is the useful part.

## Pick the denominator before you open the report builder

The formula is not where Salesforce teams get stuck. Look at the Trailhead Community threads that rank for this query, such as [Win rate on amount vs. count](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000KhKzdSAF): the admins asking already have a number. What they can’t get is the one they actually want.

The definition work, including why open deals stay out of the denominator and what the three competing denominators do to the trend, is in our [Pipedrive version of this article](https://salesbond.app/blog/sales-win-rate-pipedrive/), and it does not change for a Salesforce team. It is worth settling, because even Salesforce’s own explainer words the denominator as “total qualified opportunities” rather than closed ones ( [Salesforce: what is win rate](https://www.salesforce.com/sales/win-rate/)). Trailhead’s hands-on report project does the opposite and filters to closed opportunities before it divides anything.

So the decision here is narrower. Which opportunities does your report call closed, in which period, and do you want the share of deals or the share of dollars?

## What counts as closed in Salesforce: Closed Won, Closed Lost and the stages people add

Every opportunity carries two checkboxes the report builder exposes as **Closed** and **Won**. The seraleads walkthrough filters on exactly this, “IsClosed is true”, before it does any math ( [seraleads: Salesforce win-loss analysis](https://blog.seraleads.com/kb/prospect-insights-and-analytics/salesforce-win-loss-analysis/)). That filter is the denominator. Everything that passes it is a decided deal; everything that does not is still a bet.

Nobody ticks those checkboxes by hand. Salesforce’s object reference says both are “directly controlled by StageName”: each stage value carries its own Closed and Won settings, and the opportunity inherits them ( [Salesforce Developers: OpportunityStage](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_opportunitystage.htm)). The label on the stage plays no part. This is where added stages go wrong. A team creates “Closed, no decision” or “Won, awaiting PO” and leaves it set up as an open stage, and every report now treats those deals as live pipeline however final the label sounds. The reverse happens too: a “Nurture” stage someone set up as closed and lost quietly adds losses to the denominator.

Go through the Stage picklist once, with the sales manager in the room. It’s a short meeting, and it settles most “the win rate looks wrong” arguments before the report is even built.

The second thing to settle is the date. Close Date is a field the rep edits; the object reference describes it as the date the opportunity is “expected to close” ( [Salesforce Developers: Opportunity](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_opportunity.htm)), not the day the customer said yes. A rep who marks eight stale deals Closed Lost on the first Monday of a quarter, and dates them that day, has just moved eight losses into the the new quarter. If your team has a rule for that, link it here; ours is in [when to delete, merge or close-lose a Salesforce opportunity](https://salesbond.app/blog/salesforce-delete-merge-close-lost-opportunity-rule/).

## The win rate report: closed opportunities by owner, with two summary formulas

Salesforce does the division inside the report, so nobody has to export anything to a spreadsheet. (Our [HubSpot](https://salesbond.app/blog/sales-win-rate-hubspot/) and [Zoho CRM](https://salesbond.app/blog/sales-win-rate-zoho-crm/) versions of this article cover the same exercise in those CRMs.) The report type is Opportunities, the format is a summary report, and the rest is a short build.

1. Filter to closed opportunities and set the close-date range to the period you will quote. Close date, not created date.
2. Click **Outline** and, under GROUP ROWS, add **Opportunity Owner** as the group. Trailhead’s report-formats unit uses Close Month as its grouping example ( [Trailhead: Format Your Report](https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_report_formats) ); add it as a second group when you want the trend rather than one snapshot.
3. Add a summary formula with `WON:SUM / CLOSED:SUM`, formatted as a percent. Summing the Won checkbox counts the deals where it is true, so this is win rate by count. It is the exact formula in Trailhead’s own sales-rep win rate exercise ( [Trailhead: Improve Sales Performance with Report Formulas](https://trailhead.salesforce.com/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/use-summary-formulas-in-your-reports) ).
4. For amount, there is no won-amount field to sum, so make one: a currency formula field on the Opportunity object, `IF(IsWon, Amount, 0)`. Then add a second summary formula that divides the sum of that field by the sum of Amount. The report is already filtered to closed deals, so Amount is the closed value.
5. Check the **Display** setting on both formulas. The Display tab is where you pick the groups a summary formula shows at ( [Trailhead: Learn Group Comparisons in Salesforce Reports](https://trailhead.salesforce.com/content/learn/projects/rd-summary-formulas/rd-compare-groups) ), and you want both rates on the owner rows, side by side, not one of them stuck at the grand total.

![Mock Salesforce summary report by opportunity owner with two win rate columns, by count and by amount, that differ for every owner.](https://salesbond.app/wp-content/uploads/2026/10/sales-win-rate-salesforce-2.png)

One caution on step 4. The formula field you see in most forum answers is written on the stage name, something like `IF(ISPICKVAL(StageName, "Closed Won"), Amount, 0)`. That works until someone adds a second won stage, and then your amount win rate silently ignores those deals while the count formula, which follows the checkboxes, picks them up. Write it on `IsWon` and the two numbers keep using the same definition of a win.

## Win rate by count versus amount: why the two numbers disagree and which one to quote

Win rate by count and win rate by amount disagree because you do not lose the same size of deal that you win. That is the whole mechanism.

Take five closed opportunities, as a made-up example: two wins at $40,000 each and three losses at $10,000 each. By count that is 40%. By amount it is $80,000 of $110,000, about 73%. The team won what mattered and lost three small ones. Flip the sizes and the same 40% by count becomes a bad quarter dressed as an average one.

Our position is that count is a statement about selling and amount is a statement about the pipeline. Say a rep is at 60% by count and 25% by amount: they close what is easy and lose what is large, and its a qualification conversation that stays invisible if you only show one column. Now say a rep is at 30% by count and 65% by amount. That one is probably spending too long on small deals that go nowhere, which is a different conversation.

Quote both, with the denominator attached. “Win rate 40% by count, 73% by amount, Q3, closed opportunities, close date” is a sentence a manager can defend in front of a CFO. “Win rate 40%” is not, and it will be contradicted by whoever exported the same report to a spreadsheet and did the math by dollars.

## Three ways the number lies: no-reason Closed Lost, reopened deals, duplicate opportunities

Losses without a reason, deals that reopen after the quarter is reported, and duplicates closed as lost all move the rate without anyone selling better or worse.

No-reason losses first. A prospect who went quiet gets moved to Closed Lost to clean the board, often with nothing in the loss reason, and from then on it is a loss in every period that includes its close date. That is a defensible rule as long as it is the same rule every quarter. What breaks the trend is one quarter where stale deals are closed lost and the next where they are deleted. Decide once, give those deals a loss reason of No decision in whatever reason field your org uses, and keep that field in the report. Then you can take them back out of the denominator in one filter if the rule ever changes.

Reopened deals are the quiet one. A deal moved from Closed Lost back to an open stage drops out of a report filtered to closed deals, so last quarter’s loss disappears and last quarter’s win rate goes up after the fact. If it is later won with a fresh close date, the win lands in a different quarter altogether. Nobody notices unless someone wrote the number down. The [Opportunity History report](https://salesbond.app/blog/salesforce-opportunity-history-report/) shows the stage changes, and once a quarter it is worth filtering it to deals that left a closed stage.

Duplicates land on whichever side they were closed. Two reps create “Acme renewal” and “ACME 2026”; one is won, the other is closed lost as a duplicate, and your denominator just gained a free loss. Sort the Closed Lost rows by account name before you quote the rate. It is the cheapest check here.

## The Monday read, before the number leaves the room

This report belongs in the weekly set a sales manager opens on Monday, next to the pipeline and activity reports in [the Salesforce reports a sales manager needs weekly](https://salesbond.app/blog/salesforce-reports-sales-manager-weekly/). The read itself takes five checks. Confirm the period is close date and that both formulas run on the same range. Glance at the Stage picklist to make sure nobody added a stage with the wrong Closed or Won setting since last week.

Then read the two columns per owner and say the gap out loud for anyone more than 20 points apart, count how many Closed Lost rows in the period have no loss reason, and compare the number you wrote down last time with what the report says today. If they differ something was reopened or deleted, and that is the conversation to have before the rate goes on a slide.

That last check is the one that hurts, and it is where we come in. We build SalesBond, a sales management layer on top of the CRM a team already uses; we started with Pipedrive. Today it works with Pipedrive, HubSpot, Salesforce and Zoho CRM: it analyses deal and customer data, finds risks and explains what needs attention. The division itself stays a summary formula; what we add is the management layer around the data it reads. [Check your CRM with SalesBond](https://salesbond.app/).

## FAQ

**What is the formula for win rate in Salesforce?**
 Closed Won divided by all closed opportunities for the same close-date period. In a summary report filtered to closed opportunities, the count version is the summary formula `WON:SUM / CLOSED:SUM`.

**Should open opportunities count toward win rate?**
 No. Open deals have no outcome yet, so they stay out of the denominator. Filter the report to closed opportunities before you add the formula.

**Why is my win rate by amount different from my win rate by count?**
 Because the deals you win and the deals you lose are not the same size. Quote both, with the period and the denominator attached.
