The win rate is the first number on every backtest report and the last one I look at. I have seen strategies that win 35 percent of the time and compound nicely for years, and strategies that win 85 percent of the time and are mathematically guaranteed to bleed out. In both cases the evidence was sitting two lines below the win rate on the same report, and in both cases the person running the test never read that far.
The three numbers every backtest engine prints are win rate, profit factor, and expectancy, and they are tangled together in a way that takes about ten minutes to internalize. Once you have it, you can read a summary card in thirty seconds and know whether a strategy deserves a closer look. Without it, you end up picking strategies by how good the win rate feels, which is how most retail backtesting goes wrong.
What each number actually measures
Win rate is the fraction of closed trades that ended positive. That is the whole definition. It says nothing about how large the winners were relative to the losers, which is the entire question. A strategy that makes 10 dollars ninety times and loses 500 dollars ten times has a 90 percent win rate and loses money overall.
Profit factor is gross profit divided by gross loss. Sum every winning trade, sum every losing trade, divide the first by the second. Above 1.0 the strategy made money over the test period, below 1.0 it lost. A profit factor of 1.5 means the strategy earned a dollar and a half for every dollar it gave back. Of the three numbers this is the most honest, because it already contains both how often you win and how big the wins are.
Expectancy is the average result per trade: win rate times average win, minus loss rate times average loss. I prefer it expressed in R, where 1R is the amount risked on each trade, because R units make strategies with different position sizes and account sizes directly comparable. An expectancy of 0.2R means the average trade earns a fifth of whatever you risked on it, before costs.
These are two views of the same arithmetic. Expectancy is positive exactly when profit factor is above 1.0, and profit factor works out to win rate times average win, divided by loss rate times average loss. That gives you a free sanity check. If a report ever shows a profit factor above 1.0 next to a negative expectancy, or a profit factor below 1.0 under a rising equity curve, the tool is broken, and you should stop evaluating the strategy and start evaluating the software.
How a 30 percent win rate beats a 70 percent one
Run the expectancy formula on two imaginary strategies. The first is a trend follower that wins 30 percent of the time, and its average winner is 3R against an average loser of 1R. Expectancy is 0.3 times 3, minus 0.7 times 1, which comes out to positive 0.2R per trade. The second is a scalper that wins 70 percent of the time, but its average winner is 0.3R against the same 1R average loss. Expectancy is 0.7 times 0.3, minus 0.3 times 1, which is negative 0.09R. The strategy that loses seven trades out of ten makes money, and the one that wins seven out of ten quietly gives up about a tenth of a risk unit on every trade it takes.
The general version is the breakeven win rate, which is 1 divided by 1 plus the payoff ratio. If your winners are three times your losers, you break even at 25 percent. If your winners are a third of your losers, you need 75 percent just to tread water. A win rate quoted without the payoff ratio next to it is a meaningless number, and it gets quoted without the payoff ratio almost every time.
Win rate does still matter, but what it measures is whether you can live with the strategy. At a 30 percent win rate, streaks of eight or ten consecutive losses over a few hundred trades are expected behavior rather than evidence of breakage. Plenty of people abandon a positive expectancy system in the middle of exactly that streak, which converts a paper edge into a realized loss. So I read win rate as a forecast of how the equity curve will feel to sit through. Whether the thing makes money is expectancy's job.
Comparing strategies that trade at different speeds
Expectancy per trade also solves a comparison problem that profit factor cannot, which is strategies with different trade frequencies. Multiply expectancy by trades per month and you get an expected monthly result in R, which puts a slow swing system and a busy intraday system on the same axis. A strategy earning 0.4R per trade on five trades a month produces about 2R monthly. A strategy earning 0.08R per trade on sixty trades a month produces nearly 5R. The second one has a fifth of the per-trade edge and more than double the output.
The catch is that thin edges are fragile. Every trade pays the fee and slippage toll, and the toll is the same whether your edge is thick or thin. Suppose a realistic round-trip cost is 0.05R. The slow strategy drops from 0.4R to 0.35R, barely dented. The busy one drops from 0.08R to 0.03R, and most of the edge is gone. A slightly worse fill regime, a wider spread on a less liquid pair, and it flips negative. This is why high-frequency backtests run without fees are closer to fiction than research, especially in crypto, where taker fees plus spread on a mid-cap pair can easily exceed the average profit of a scalp.
My rule of thumb is to recompute expectancy after charging every trade a pessimistic round-trip cost, then compare strategies on monthly expectancy after costs. If a strategy only survives when I assume maker fills and zero slippage, I treat it as not surviving.
Spotting the pretty win rate with negative expectancy
Some strategy families produce gorgeous win rates and terrible expectancy as a structural feature. Grid bots and martingale variants are the classic case. They take profit constantly in small increments and average down into anything that moves against them, so the trade log fills up with hundreds of tiny wins punctuated by a few enormous losses. The nastier version is when the enormous loss never closes inside the test window at all. Win rate is computed on closed trades, so a backtest that ends with a large underwater position still open can report a 95 percent win rate on a strategy that has lost money. I have seen this exact artifact more times than I can count.
Here is what I actually check before believing any summary card.
- Recompute expectancy from the raw trade list instead of the summary. Win rate times average win, minus loss rate times average loss. It takes a minute in a spreadsheet.
- Compare the average loss to the maximum loss. If the worst trade is many multiples of the average, the average is hiding tail risk that will eventually show up live.
- Delete the three best trades and recompute. If expectancy goes negative, you are looking at a lottery ticket with a backtest attached.
- Check for positions still open at the end of the test and mark them to market before computing anything.
- Charge every trade realistic fees and slippage, then recompute. Do this step last so you can see exactly how much of the edge was real and how much was a frictionless assumption.
When I read a backtest now the order is fixed. Expectancy per trade in R first, then monthly expectancy after costs, then profit factor as a cross-check, and win rate last, mainly to gauge what the losing streaks will feel like. This ordering is roughly how we lay out reports in the Blockcircle backtester, and the full trade list is exportable for exactly this reason, because the summary card is where these problems hide. Whatever tool you use, the useful habit is the same. Treat the headline win rate as an invitation to open the trade list, spend ten minutes with the raw trades, and let the arithmetic tell you which of the three numbers was doing the real work.