What Is Profit Factor (And What Counts As Good)?
Profit factor looks like a clean one-number edge score. It isn’t. Here’s what it really measures, what “good” means, and where it hides risk.
You’ve probably seen it on a backtest report. Profit factor: 2.37. Looks scientific. Feels comforting. Then one ugly week wipes out three months and you realise you had no idea what that number actually meant.
This is where the fun starts.
What is profit factor, in plain English?
Profit factor is simple.
Total gross profit divided by total gross loss.
Take every winning trade over a period, add them up. That’s gross profit. Take every losing trade, add those up as a positive number. That’s gross loss. Then:
Profit factor = Gross profit ÷ Gross loss.
Example. Hypothetical system, 100 trades.
- Gross profit from all winners: $12,000
- Gross loss from all losers: $8,000
Profit factor = 12,000 ÷ 8,000 = 1.5.
So the system made $1.50 for every $1.00 it lost over that sample.
That’s it. No magic. Just a ratio.
The problem isn’t the definition. It’s how people use it.
Why the win rate fools you (and profit factor doesn’t fix it)
You hear it all the time. "This system wins 80% of trades." Said with the same tone as a lad in a hired Lamborghini explaining passive income.
Win rate is incomplete. Profit factor tries to fix that by blending win rate and payoff size.
Two systems. Same market, same timeframe, same number of trades.
| System A | System B | |
|---|---|---|
| Win rate | 80% | 40% |
| Avg winner | +1R | +3R |
| Avg loser | -3R | -1R |
Run 100 hypothetical trades with equal risk per trade.
- System A: 80 wins × +1R = +80R; 20 losses × -3R = -60R → Net +20R
- System B: 40 wins × +3R = +120R; 60 losses × -1R = -60R → Net +60R
Now look at profit factor.
- System A: gross profit 80R, gross loss 60R → PF = 80 ÷ 60 ≈ 1.33
- System B: gross profit 120R, gross loss 60R → PF = 120 ÷ 60 = 2.0
So the shiny 80% win rate system actually has a worse profit factor than the one that loses more trades than it wins.
Profit factor, at least, forces you to respect the losers.
But it still hides something important.
What is a good profit factor? The answer you won’t like
You came here for a number.
"What is profit factor, and what counts as good? Just tell me if 2.0 is enough."
The honest answer is annoying.
A "good" profit factor is one that is:
- Statistically believable for your sample size
- Achieved with drawdowns you can survive
- Reasonably stable across time, markets, and parameters
And that means there isn’t a single magic cutoff.
That said, some ballpark ranges help frame reality.
- Below 1.0 – Losing system over the sample. No debate.
- 1.0 to 1.2 – Weak edge at best. Costs, slippage or a bad month can erase it.
- 1.2 to 1.5 – Potentially workable if drawdown is contained and sample is large.
- 1.5 to 2.0 – Stronger edge. Survivable, if the risk distribution isn’t nasty.
- Over 2.0 – Very strong on paper. Usually means small sample, curve-fit, or hidden tail risk. Treat with suspicion first, excitement later.
A profit factor of 1.3 can be excellent on a high-frequency, low-volatility system with thousands of trades and tight drawdowns.
A profit factor of 3.5 on a swing strategy based on 40 historical trades is mostly a work of fiction.
The number is only as good as the context around it.
What profit factor completely ignores
Profit factor has one job. Summarise edge in one number.
To do that, it throws away a lot of detail you care about.
1. Sample size
A 2.0 profit factor on 30 trades tells you almost nothing.
One big outlier winner can dominate the gross profit. Remove it and your profit factor collapses.
Same system, extended another year, might average down to 1.2. Or below 1.0. You don’t know.
In general, you want to see hundreds of trades before you start trusting profit factor as representative, and even then with a raised eyebrow.
2. Distribution and tail risk
Profit factor adds everything up. Winners in one pile. Losers in another pile. Order doesn’t matter.
Real trading cares a lot about order.
Consider two hypothetical equity curves. Same market, same timeframe, both with profit factor 1.5 over 400 trades.
- Curve A: Smooth-ish, frequent small wins and losses, occasional moderate loss.
- Curve B: Long flat periods, then a giant winner. Also a few brutal clusters of losses.
Same profit factor. Very different risk experience.
Curve B might hide an embedded martingale-style risk, or a strategy that sells premium and picks up pennies until it gets run over by a steamroller.
Profit factor doesn’t care about that steamroller. It just adds the pieces to the profit column.
3. Drawdown and survival
Profit factor is blind to maximum drawdown.
You can have two systems with profit factor 1.6.
- System X: Max drawdown 8%
- System Y: Max drawdown 55%
Same PF, totally different reality for the trader.
The second system might technically be more "profitable" over the backtest, but for most people it’s not tradable without blowing up their psychology or their account.
There’s a reason we talk about recovery maths here: /blog/why-50-percent-loss-needs-100-percent-gain-2
Profit factor does not tell you if you can survive long enough to reach that nice theoretical net profit.
How profit factor relates to expectancy (the real edge)
Underneath all of this is expectancy.
Expectancy per trade is the average gain or loss per unit risk. The classic formula:
Expectancy = (Win rate × Average win) − (Loss rate × Average loss)
Profit factor is another way of encoding the same ingredients.
Write it out over a large sample:
- Gross profit ≈ Number of wins × Average win
- Gross loss ≈ Number of losses × Average loss
So profit factor:
PF = (Wins × Avg win) ÷ (Losses × Avg loss)
Rearrange things and you can express PF in terms of expectancy and vice versa.
Take a simple example in R-multiples (risk units):
- Win rate = 50% (0.5)
- Average win = +2R
- Average loss = -1R
Over 100 trades, on average:
- Wins: 50 × 2R = +100R
- Losses: 50 × 1R = -50R
Profit factor = 100 ÷ 50 = 2.0.
Expectancy per trade = (0.5 × 2R) − (0.5 × 1R) = 1R − 0.5R = +0.5R.
They’re just different lenses on the same edge. Expectancy is per trade; profit factor is over the whole sample.
Which is why a flashy profit factor on a tiny sample should not impress you. The implied expectancy is not statistically supported.
Why very high profit factors usually mean something’s wrong
If you see a backtest with profit factor 4, 6, 10+, your reaction should not be "wow".
It should be "what’s broken?"
There are a few common explanations.
1. Tiny sample / cherry-picked period
Twenty trades that all happened to go your way. One unusually clean trend. A volatility regime that won’t repeat.
On a small sample, randomness can give you absurd profit factors in either direction.
Check the trade count. Then check multiple, non-overlapping time windows.
2. Curve-fitting
Optimising an entry/exit rule or indicator over a fixed period until the profit factor spikes is not finding edge.
It’s memorising noise.
Run enough parameter combinations and you will find some that give profit factor 5+ on the historical data.
Walk them forward and they collapse.
If you want something that lasts, you need to design the system first, then test it, not the other way round. There’s more on that here: /blog/blog-how-to-build-an-automated-trading-system-that-lasts
3. Hidden tail risk (the martingale problem)
Some structures manufacture high profit factors by construction.
Classic example: systems that keep adding to losers (martingale, grids, aggressive averaging) to avoid booking a loss until the account is effectively all-in.
These run for months with tiny, frequent wins and very few booked losses.
On paper, the gross profit column looks wonderful. Gross loss is tiny. Profit factor soars.
Until the market trends further than the designer imagined.
Then one day, the loss is not -1R, it’s -40R. Or the margin call hits before the loss can even be booked. That wasn’t in the backtest.
Profit factor didn’t see it coming either.
This is why "we don’t use martingale or grids" is more than a marketing line. It’s a statement about whether you are willing to trade systems whose profit factor is propped up by hidden existential risk.
Profit factor and automation: what actually changes
Automation does not change the maths.
If a system has profit factor 1.3 on a robust test, that does not magically become 2.0 because you coded it in Python or plugged it into MT4.
What automation changes is execution error and emotional interference.
Two traders with the same system, same broker, same costs.
- Trader 1 executes manually. Skips some trades. Closes some early. Doubles size after a win. Halves it after a loss.
- Trader 2 automates the rules. Same position size per signal. No skipped trades. No fear. No revenge.
On paper, both are running a system with profit factor 1.4.
In practice, Trader 1 probably ends up closer to 1.1. Or below 1.0 when things get emotional.
Automation can help you realise the backtested profit factor more faithfully, by removing unforced errors.
But it won’t rescue a system whose profit factor was an illusion to begin with.
And it won’t fix position sizing that makes a reasonable profit factor untradeable due to massive swings. Position size and capital allocation still matter more than the shiny ratio.
How to actually use profit factor without fooling yourself
So how do you use profit factor like an adult, not like a thumbnail on a YouTube bot video?
1. Pair it with trade count and drawdown
Always read profit factor next to:
- Number of trades – is the sample large enough to mean anything?
- Max drawdown – can you actually stomach this system?
- Time span – did these trades occur across different regimes, or one perfect quarter?
A modest profit factor (say 1.3–1.5) on 1,000 trades over several years, with controlled drawdown, is usually more credible than a 3.0 profit factor on 80 trades during a market bubble.
2. Look at stability over time
Break the backtest into chunks.
- Year by year
- Regime by regime (e.g. high vs low volatility)
- Parameter variations (slightly different stop/target lengths, filters)
If profit factor collapses to 1.0 or below in any slightly different configuration, your edge is probably overfitted.
If it stays broadly similar (say, 1.2–1.6) across reasonable variations, that’s more encouraging.
3. Compare systems on risk-adjusted terms, not just PF
When choosing between systems, don’t just pick the one with the highest profit factor.
Look at:
- PF per unit of max drawdown
- PF relative to typical losing streaks
- PF across different markets
A system with PF 1.4 and max drawdown 12% may be far more attractive than a PF 2.0 system with 45% drawdown, unless you enjoy living on the edge.
There’s a separate question of psychological fit here, especially around losing streaks: /blog/how-many-losing-trades-in-a-row-is-normal
4. Respect the asset’s behaviour
Some instruments naturally lend themselves to higher or lower profit factors, depending on how you trade them.
Gold (XAUUSD), for instance, is notorious for explosive moves and wicked mean reversion.
A gold system that sells spikes might show a beautiful profit factor during quiet periods, booking many small wins. Then a regime shift arrives, volatility explodes, and one series of outsized losses wrecks the stats.
At small balances with 0.01 lot minimums, even a sensible gold system can produce outsized percentage swings in equity for a given profit factor. Same edge on paper, wilder ride in practice.
This is why you always read profit factor through the lens of the underlying asset’s behaviour, not as an abstract scoreboard.
Where profit factor fits in your process
Think of profit factor as one piece of a triage process.
- Use it early to filter out obviously bad ideas (PF < 1 over a reasonable sample).
- Use it to compare variants of the same concept on out-of-sample and walk-forward tests.
- Use it alongside drawdown, volatility of returns, and trade frequency when sizing systems in a portfolio.
Don’t use it as a sole reason to trade, size up, or discard a system.
A high PF does not mean "safe". A modest PF does not mean "not worth it".
And automation doesn’t change that. Whether you run your own code or mirror external systems into your broker account, the risk lives in the distribution of returns, not the existence of a nice ratio in a report.
Trading always carries risk of loss. Metrics like profit factor help you describe that risk; they don’t remove it.
P.S. If you ever do test or mirror systematic strategies via services like ArcisTrade, the same rules apply: ignore the marketing number, study the full equity curve, trade count, drawdown, and whether the profit factor still looks sane when conditions change.
Want to see systematic automation running for real, not in theory?
Watch multiple systems trade for 14 days on a free demo. No card. Every trade visible — the winners and the losers.
Start your free 14-day ArcisTrade demo →
Common questions
What is profit factor in trading?
Profit factor is the ratio of a trading system’s total gross profit to its total gross loss over a period. You sum all winning trades, sum all losing trades (as positive values), then divide profit by loss. A value above 1.0 means the system made more than it lost over that sample; below 1.0 means it was net losing.
Is a profit factor of 2 considered good?
A profit factor of 2.0 means the system made twice as much in gross profit as it lost in gross losses over the test. That is strong on paper, but whether it is truly “good” depends on trade count, drawdown, and robustness. A PF of 2.0 on 50 trades in one market regime is far less convincing than 1.4 on 1,000 trades across different conditions.
Can a system with a low profit factor still be worth trading?
Yes. A system with profit factor in the 1.2–1.4 range can be attractive if it has many trades, modest drawdowns, and stable behaviour across time. In a diversified portfolio, several modest-edge systems can be more robust than chasing one high-PF strategy that might be overfitted or hiding tail risk.
Does automation improve a strategy’s profit factor?
Automation doesn’t change the underlying statistical edge, so the theoretical profit factor stays the same. What it can do is reduce execution errors, such as skipped trades or inconsistent sizing, which often drag the realised profit factor below the backtested value. It enforces the rules; it doesn’t upgrade bad maths.