TRADING JOURNAL ANALYTICS
Win Rate, Profit Factor and Expectancy: How to Calculate Them in Excel
A 70% win rate can lose money and a 35% win rate can make it. The four numbers that tell you which one you have are win rate, payoff ratio, profit factor and expectancy. Here are the formulas, the Excel setup and a calculator you can paste your own trades into.
WHY WIN RATE ISN'T ENOUGH
The four numbers that describe a trading edge
How often you win
Winning trades divided by trades with a result. Tells you nothing about size.
How big wins are
Average win divided by average loss. The other half of the story.
Dollars won per dollar lost
Gross profit divided by gross loss. Above 1.0 means the sample made money.
Average result per trade
What one more trade has been worth on average, in dollars or in R.
Win rate and payoff ratio are two sides of the same coin: scalpers often win often and small, trend followers win rarely and big. Profit factor and expectancy combine both into one answer: did the system make money, and how much per trade?
THE MATH
Win rate, profit factor and expectancy formulas
Win rate = Wins ÷ (Wins + Losses)Decide how to treat breakeven trades and apply the rule consistently. This guide leaves them out of the win rate but keeps them in the trade count for expectancy.
Avg win = Gross profit ÷ Wins
Avg loss = Gross loss ÷ LossesUse the absolute value for losses so the average loss is a positive number.
Payoff = Avg win ÷ Avg lossAlso called reward-to-risk realized. 2.0 means the average win is twice the average loss.
PF = Gross profit ÷ |Gross loss|1.0 is breakeven. Undefined when there are no losing trades yet.
E = Win% × Avg win − Loss% × Avg lossEquals net P&L ÷ number of trades when every trade is either a win or a loss.
BE win% = 1 ÷ (1 + Payoff)The win rate you need, at your payoff ratio, just to break even before costs.
Expectancy in R divides each trade's result by the risk planned at entry. If you already log R-multiples, the average R is your expectancy in R, and it compares fairly across position sizes and markets. See our guide to the R-multiple.
WORKED EXAMPLE
Ten trades, 40% win rate, still profitable
Net results in dollars: +300, −100, +150, −100, −100, +450, −50, +200, −100, −150. Four winners total $1,100; six losers total $600.
- Win rate
- 40% 4 ÷ 10
- Payoff ratio
- 2.75 $275 ÷ $100
- Profit factor
- 1.83 $1,100 ÷ $600
- Expectancy
- $50 0.4 × 275 − 0.6 × 100
- Net P&L
- $500 $50 × 10 trades
- Breakeven win rate
- 26.7% 1 ÷ (1 + 2.75)
The trader loses more often than they win, yet each trade has been worth $50 on average because winners are 2.75 times the size of losers. Ten trades is far too few to trust, which is the point of the pitfalls section below.
SPREADSHEET SETUP
How to calculate trading metrics in Excel and Google Sheets
Keep one row per closed trade in a table named Trades with a NetPL column (after fees). Put these in a stats area; they work the same in Excel and Google Sheets.
| Metric | Formula |
|---|---|
| Trades | =COUNT(Trades[NetPL]) |
| Wins | =COUNTIF(Trades[NetPL],">0") |
| Losses | =COUNTIF(Trades[NetPL],"<0") |
| Win rate | =IFERROR(Wins/(Wins+Losses),0) |
| Gross profit | =SUMIF(Trades[NetPL],">0") |
| Gross loss | =-SUMIF(Trades[NetPL],"<0") (a positive number) |
| Average win | =IFERROR(AVERAGEIF(Trades[NetPL],">0"),0) |
| Average loss | =IFERROR(-AVERAGEIF(Trades[NetPL],"<0"),0) |
| Profit factor | =IF(GrossLoss=0,"n/a",GrossProfit/GrossLoss) |
| Expectancy ($) | =IFERROR(SUM(Trades[NetPL])/Trades,0) |
| By strategy | =SUMIFS(Trades[NetPL],Trades[Strategy],$A2,Trades[NetPL],">0") and the matching loss formula |
New to journaling? Start with the column structure in our step-by-step Excel trading journal guide, then add this stats block on top.
WIN RATE VS. PAYOFF
Breakeven win rate for common payoff ratios
Before costs, a system breaks even when win rate × payoff equals loss rate. This table answers "what win rate do I need?" for typical reward-to-risk profiles.
| Payoff ratio (avg win ÷ avg loss) | Breakeven win rate | Typical of |
|---|---|---|
| 0.5 | 66.7% | Small targets, wide stops |
| 1.0 | 50.0% | Symmetric targets and stops |
| 1.5 | 40.0% | Many swing setups |
| 2.0 | 33.3% | 2R targets |
| 3.0 | 25.0% | Trend following, runners |
Commissions, spreads and slippage raise the real breakeven. Use net P&L after costs in your journal so the metrics already include them.
USE YOUR OWN TRADES
Profit factor and expectancy calculator
TRY IT
Paste your trade results
Copy the net P&L column from your journal and paste it here: one number per line, or separated by commas or spaces. Nothing is saved or sent anywhere.
Paste at least a few dozen trades before drawing conclusions.
READ THE NUMBERS HONESTLY
Pitfalls when reading trading metrics
- !Too few tradesTen or twenty trades can swing profit factor wildly. Treat early numbers as a hypothesis, not a verdict.
- !Mixing strategiesA great setup and a bad one averaged together hide both. Calculate every metric per strategy tag.
- !Gross instead of netUse results after commissions, fees and funding, or the metrics flatter you.
- !One outlier doing all the workRecalculate without your single best trade. If the edge disappears, it depended on luck.
- !Changing position sizeDollar metrics mix skill with size. Expectancy in R compares trades fairly.
- !Ignoring drawdownA positive expectancy with a drawdown you can't sit through won't survive in practice.
READY-MADE JOURNAL
Prefer a journal that calculates these for you?
The formulas above are enough for a DIY stats block. If you'd rather log trades and get the reports automatically, review the current product page for features and requirements.
Stock Trading Journal Template for Google Sheets & Excel
The current listing describes a trade log with auto-calculated profit/loss and R-multiple, monthly and annual reports with total profit, return %, win rate and average performance, strategy and per-stock performance reports, a calendar view, a comparison report, partial exits in up to three stages and a position-size calculator. Confirm the latest details on the product page.
- Win rate and returns by month and year
- Strategy performance report
- R-multiple per trade
Trading forex, futures, options or crypto? Each market has its own journal in the collection. Product features and compatibility are listed on each product page and may change.
Compare all trading journal templatesFAQ
Trading metrics questions
What is profit factor in trading?
Profit factor is gross profit divided by the absolute value of gross loss over a set of trades. Above 1.0 the trades made money; below 1.0 they lost money.
How do I calculate expectancy?
Expectancy = win rate × average win − loss rate × average loss. When every trade is a win or a loss, it equals net P&L divided by the number of trades.
What is a good profit factor?
There is no universal threshold. Anything above 1.0 after costs was profitable over the sample; how much higher is meaningful depends on the number of trades, the market and the drawdown you can tolerate.
Is a high win rate good?
Only together with the payoff ratio. A high win rate with small wins and large losses can have negative expectancy. Use the breakeven win rate, 1 ÷ (1 + payoff ratio), to compare.
How do I calculate win rate in Excel?
Use =COUNTIF(range,">0")/(COUNTIF(range,">0")+COUNTIF(range,"<0")) on your net P&L column, which leaves breakeven trades out of the ratio.
How many trades do I need before trusting these numbers?
More is better, and results should hold up per strategy and without your best trade. Treat a small sample as a starting hypothesis, not proof of an edge.
Sources and further reading
- Microsoft Support: COUNTIF function
- Microsoft Support: SUMIF function
- Microsoft Support: AVERAGEIF function
- Google Docs Editors Help: COUNTIF
- Investor.gov: What is risk?
Formulas checked September 2026. This article provides general educational information and is not investment advice. Past results do not guarantee future performance.