NineFifteenAM

Pillar guide · updated monthly

Profit factor, payoff ratio and expectancy: a worked example

9 min readBy NineFifteenAM

What win rate, payoff ratio, profit factor and expectancy mean, how they connect, and 20 made-up trades worked through in R, plus where small samples mislead.

Short answer

Payoff ratio is the average win divided by the average loss, profit factor is the total of all wins divided by the total of all losses, and expectancy is the average result per trade, best measured in R, the amount each trade risked. They are tied together through the win rate: profit factor = win rate × payoff ÷ (1 − win rate), and a strategy breaks even before costs when its win rate is 1 ÷ (1 + payoff). In a made-up list of 20 trades with a 45% win rate and a payoff of 1.61, profit factor is 1.32 and expectancy is +0.16R per trade. Remove the single best trade and profit factor falls to 1.00, which is why I never read these numbers without the trade count.

Three numbers tell me most of what a list of trades can: payoff ratio, profit factor and expectancy. In the made-up example below, 20 trades with a 45% win rate earn +0.16R per trade, and taking out the single best trade brings that to exactly zero.

That second fact is why I never read them alone. Below are the definitions, the formulas that link them, 20 invented trades worked through step by step, and the traps.

The six numbers, in plain English

Everything here is in R, the amount a trade planned to risk, the way Van Tharp teaches it. If a trade would lose 10 points of premium at its stop, 1R is 10 points, so a 15-point gain is +1.5R and a full stop is −1R. It compares trades and strategies of different sizes without mentioning money. My monthly scorecard uses a close cousin: the month's average loss.

Number What it tells you Formula
Win rate (p) How often trades ended in profit winning trades ÷ all trades
Average win How big a typical winner was total of wins ÷ number of wins
Average loss How big a typical loser was, as a positive number total of losses ÷ number of losses
Payoff ratio (b) How big winners were next to losers average win ÷ average loss
Profit factor How much was won for each unit lost total of wins ÷ total of losses
Expectancy What an average trade added (total of wins − total of losses) ÷ all trades

Win rate, payoff ratio and profit factor match the definitions on my scorecard. A profit factor above 1 means the winners outweighed the losers. Expectancy answers the question I actually care about: on average, what did one more trade of this kind add, in units of risk?

How they fit together

The three aren't independent. With win rate p and payoff b:

Payoff ratio Win rate needed to break even, before costs
0.5 66.7%
1.0 50.0%
1.5 40.0%
2.0 33.3%
3.0 25.0%

A high win rate with a small payoff can lose, and a low win rate with a big payoff can win. Neither number means much alone. Divide expectancy by the average loss and you get p × (1 + b) − 1: expectancy in average losses, the scorecard's unit.

A worked example: 20 made-up trades

These trades are invented for teaching. They are not from my bot or any real strategy.

Trade R Trade R Trade R Trade R
1 +1.5 6 −1.0 11 −1.0 16 −1.0
2 −1.0 7 +3.2 12 +0.5 17 +1.0
3 −1.0 8 −0.6 13 −1.0 18 −1.0
4 +2.0 9 −1.0 14 +2.4 19 +0.6
5 +0.8 10 +1.2 15 −0.4 20 −1.0
  1. Win rate. 9 winners and 11 losers, so 9 ÷ 20 = 45%.
  2. Total of wins. 1.5 + 2.0 + 0.8 + 3.2 + 1.2 + 0.5 + 2.4 + 1.0 + 0.6 = 13.2R.
  3. Total of losses. Nine full stops of 1.0R, plus 0.6 and 0.4: 10.0R.
  4. Averages. Average win = 13.2 ÷ 9 = 1.467R. Average loss = 10.0 ÷ 11 = 0.909R, below 1R because two trades were closed before the stop.
  5. Payoff ratio = 1.467 ÷ 0.909 = 1.61.
  6. Profit factor = 13.2 ÷ 10.0 = 1.32. The formula agrees: 0.45 × 1.61 ÷ 0.55 = 1.32.
  7. Expectancy = (13.2 − 10.0) ÷ 20 = +0.16R per trade. Again: 0.45 × 1.467 − 0.55 × 0.909 = 0.66 − 0.50 = 0.16.
  8. Break-even win rate = 1 ÷ (1 + 1.61) = 38.3%. The list wins 45%, about 6.7 points above it.

On its face, a modest edge: each trade added about a sixth of its risk.

Same expectancy, three different strategies

Three made-up profiles, each earning +0.12R per trade. Every win is the average win and every loss exactly 1R, so real results would be more spread out.

Frequent small wins In the middle Rare big wins
Win rate 70% 50% 32%
Average win 0.6R 1.24R 2.5R
Payoff ratio 0.60 1.24 2.50
Break-even win rate 62.5% 44.6% 28.6%
Profit factor 1.40 1.24 1.18
Expectancy per trade +0.12R +0.12R +0.12R
Chance that 5 given trades in a row all lose 0.2% 3.1% 14.5%
Trades before the average is 2 standard errors above zero about 150 about 350 about 740

Small samples: one trade can be the whole edge

Back to the 20 trades. Take out trade 7, the +3.2R winner. Total wins fall to 10.0R, the same as total losses. Profit factor goes from 1.32 to 1.00, and expectancy from +0.16R to zero. One trade in 20 was the entire edge.

Add a single +5R winner instead, and profit factor jumps to 1.82 and expectancy to +0.39R. The strategy didn't change. One trade did.

A rough guide to trusting an average is its standard error: the standard deviation of the results divided by the square root of the number of trades. Here the standard deviation is 1.36R, so the standard error is 1.36 ÷ √20 = 0.30R, and the +0.16R average is only about half a standard error from zero. The usual rough band of two standard errors either side runs from about −0.45R to +0.77R: a losing strategy, a flat one and a very good one all fit.

Halving the error takes four times the trades. If the spread stayed at 1.36R, a +0.16R average would need about 290 trades to sit two standard errors above zero. That assumes independent trades, and same-day trades often aren't, so treat it as a floor. The backtesting guide explains why separate days matter more than trade counts.

Costs, partial exits and uneven trade counts

Costs come straight off expectancy. Charges and slippage are paid on every trade, so in R they come off every result. In the example, 0.1R of cost per trade takes expectancy from +0.16R to +0.06R and profit factor from 1.32 to 1.11. At 0.2R, expectancy is −0.04R and profit factor 0.93. The strategy now loses.

How big is 0.2R? My cost guide works out that one lot of a ₹100 Nifty option needs about 1 point to cover charges, and about 2 with a little slippage. If 1R is 10 points, those 2 points are 0.2R. If 1R is 30 points, they're about 0.07R and the example keeps +0.09R. Tight stops make the same cost a bigger slice of R.

Partial exits change the counting. Suppose a strategy closes half the position whenever a trade reaches +1R. Ten made-up trades: 4 hit the stop at −1R, and 6 reach +1R and close half. Of those 6, 3 close the rest at +2R and 3 at +0.2R. Measure each record against the whole trade's risk, so half a position at +1R is +0.5R.

Counted per trade Counted per record
Rows 10 trades 16 records
Win rate 60% 75%
Average win 1.05R 0.53R
Payoff ratio 1.05 0.53
Profit factor 1.58 1.58
Expectancy +0.23R per trade +0.14R per record

Same trades, same +2.3R in total. Splitting made the win rate look better and the payoff worse, and spread the expectancy over more rows. Only profit factor, a ratio of totals, didn't move. That's why my scorecard says exactly what a record is.

Uneven trade counts. Two made-up results, both with the example's spread of 1.36R:

The first looks better per trade, but I can't tell it apart from zero. The second has much stronger evidence, though it pays costs 16 times as often. And count every version you tried: the best of 25 versions of one idea is partly the luckiest.

How I use the three together

When I read a backtest, a paper run or my own scorecard, I go in this order:

  1. Trade count first. How many trades, on how many separate days? A few dozen is a story, not a result.
  2. Win rate next to payoff. How far does the win rate sit above the break-even rate for that payoff? A few points is thin.
  3. Expectancy in R, after costs. If what's left is close to zero, I treat it as zero.
  4. Profit factor, with and without the best trades. If removing one or two winners takes it to 1, the edge lives in a handful of trades.
  5. Standard error. Standard deviation ÷ √n shows whether the average stands out from nothing.

After that come the questions about how trades behaved, which I cover in how I analyse my trading bot's trades.

None of these numbers says anything certain about the next trade. They describe trades that already happened. Read together, they tell me how much that list deserves to be believed, and that's all I ask of them.

Sources

This guide is about testing methods, for information only. It is not investment advice or a recommendation to trade any strategy. I am not registered with SEBI as an investment adviser or research analyst.

Questions people ask me

What is a good profit factor?

There isn't one number. Above 1 means the winners outweighed the losers in that sample. A thin figure such as 1.1 can drop below 1 once charges and slippage are included, and a very high figure on a small number of trades is often a sign of too few trades or over-fitting rather than a great strategy. I check it after costs, with the best trades removed, and next to the trade count.

How do you calculate expectancy in trading?

Expectancy is the average result per trade: win rate × average win − loss rate × average loss, which is the same as the total of all results divided by the number of trades. Measured in R, the amount risked per trade, it tells you what one more trade of that kind has added on average. In the made-up example in this guide, 20 trades totalling +3.2R give an expectancy of +0.16R.

What is the difference between profit factor and payoff ratio?

Payoff ratio compares the average win with the average loss, so it ignores how often you win. Profit factor compares the total of all wins with the total of all losses, so it includes the win rate: profit factor = win rate × payoff ÷ (1 − win rate). A strategy can have a payoff below 1 and still have a profit factor above 1 if it wins often enough.

What win rate do I need to break even?

Before costs, the break-even win rate is 1 ÷ (1 + payoff ratio). With a payoff of 1 it's 50%, with a payoff of 2 it's 33.3%, and with a payoff of 0.5 it's 66.7%. Charges and slippage push it higher.

What is an R-multiple?

A trade's result divided by the amount it planned to risk, called R. If a trade risked 10 points and made 15, it's +1.5R. A trade that hits its stop is −1R. Measuring in R lets you compare trades and strategies of different sizes without talking about money.

profit factorpayoff ratioexpectancywin rateR-multiplebacktestingtrading statistics
N

NineFifteenAM

One trader building an options bot for Indian index markets since early 2026. I write down how it is built, what broke, and what it cost — no tips, no calls, no returns.

Related

29 Sept 2026
How to backtest an intraday strategy without fooling yourselfThe three ways a backtest lies: lookahead bias, ignored costs and overfitting. With pandas code, a coin-flip simulation, and a 68% backtest that won 20% live.
Guides
29 Sept 2026
Zerodha Kite Connect: what it costs and whether it's worth itWhat Kite Connect costs in 2026, what the free and ₹500 plans include, the rate and data limits you'll hit, and who the paid plan is worth it for.
Guides
29 Sept 2026
What is GIFT Nifty, and how reliable is it as a guide to the open?What GIFT Nifty is, when it trades, and how closely its 7 AM move matched the actual Nifty gap at 9:15 across 125 sessions from March to September 2026.
Guides