Expectancy tells you, on average, how much money you make or lose per trade. The formula:
Expectancy = (Win rate × Average win) − (Loss rate × Average loss)
Profit factor tells you how many dollars you make for every dollar you lose:
Profit factor = Gross profit ÷ Gross loss
Positive expectancy (or a profit factor above 1) means the strategy made money over the sample. That's the whole answer — but knowing the formulas isn't the hard part. Getting numbers you can actually trust is. The rest of this post shows you how to calculate both, with a full worked example and spreadsheet formulas you can copy into your own journal.
Expectancy: your average per trade
Expectancy answers one plain question: if I keep trading exactly like this, what happens to my account over the next 100 trades? It folds your win rate and your win/loss sizes into a single dollar number.
Break the formula into its parts:
- Win rate — winners divided by total trades, written as a decimal (40% = 0.40)
- Average win — the average dollar size of your winning trades, after fees
- Loss rate — 1 minus win rate (if you win 40%, your loss rate is 0.60)
- Average loss — the average dollar size of your losing trades, entered as a positive number
A quick hypothetical: win rate 40%, average win $200, average loss $100.
Expectancy = (0.40 × 200) − (0.60 × 100) = 80 − 60 = +$20 per trade
Every trade you take earns you $20 on average — some win $200, some lose $100, but the blend nets +$20. You can run the same formula in R multiples if you prefer thinking in risk units: a 40% win rate with 2R average winners and 1R average losers gives (0.40 × 2R) − (0.60 × 1R) = +0.2R per trade. If you haven't seen it, the full breakdown of how win rate and risk-reward combine into expectancy is worth a read.
Profit factor: the edge check
Profit factor is even simpler:
Profit factor = Total profit from all winners ÷ Total loss from all losers
Using the same hypothetical: 100 trades, 40 winners averaging $200 ($8,000 gross profit), 60 losers averaging $100 ($6,000 gross loss).
Profit factor = 8,000 ÷ 6,000 = 1.33
You make $1.33 for every dollar you lose. Anything above 1.0 means the sample was profitable. The two metrics agree because they're two views of the same math: positive expectancy always means profit factor above 1, and vice versa. As a rough guide: above 1.0 = profitable over the sample, 1.5+ = comfortable, 2.0+ = excellent.
How the two metrics differ (and why you want both)
| Expectancy | Profit factor | |
|---|---|---|
| What it answers | How much do I make per trade? | How much do I make per dollar lost? |
| Unit | Dollars (or R) per trade | A ratio, no unit |
| Sensitive to position sizing | Yes — double your size, expectancy doubles | No — sizing cancels out |
| Tells you | Whether you have an edge, and its size | How robust the edge is relative to losses |
| Main weakness | A few big wins can inflate it | Says nothing about how often you trade or how much you make per trade |
Use both. Expectancy tells you what you'll actually bank; profit factor tells you whether the edge has breathing room. A trader with expectancy of +$3 per trade and profit factor 1.05 is profitable on paper — but one bad week can wipe that edge out. Another trader at +$20 per trade with profit factor 1.8 can absorb a losing streak and keep going.
Full worked example: 10 trades, start to finish
Let's run both metrics on a full trade list so you can see every step. Example: hypothetical Trader A with 10 closed trades (net P&L after fees):
| # | Setup | Net P&L |
|---|---|---|
| 1 | Breakout | +$150 |
| 2 | Breakout | −$100 |
| 3 | Pullback | +$200 |
| 4 | Breakout | −$90 |
| 5 | Pullback | +$180 |
| 6 | Range | −$110 |
| 7 | Range | −$80 |
| 8 | Breakout | +$220 |
| 9 | Pullback | −$95 |
| 10 | Breakout | +$120 |
Step 1 — totals: 5 winners, 5 losers. Gross profit = 150 + 200 + 180 + 220 + 120 = $870. Gross loss = 100 + 90 + 110 + 80 + 95 = $475.
Step 2 — averages: win rate = 5 ÷ 10 = 0.50. Average win = 870 ÷ 5 = $174. Average loss = 475 ÷ 5 = $95.
Step 3 — expectancy: (0.50 × 174) − (0.50 × 95) = 87 − 47.5 = +$39.50 per trade.
Step 4 — profit factor: 870 ÷ 475 = 1.83.
Sanity check both against the raw total: net P&L is 870 − 475 = $395, and $395 ÷ 10 trades = $39.50 — matches the expectancy exactly. That shortcut (total P&L ÷ total trades) always works for dollar expectancy. The full formula earns its keep when you want the R-multiple version or when you're comparing setups against each other.
The 5-minute spreadsheet version
You don't need special software — one column of net P&L per trade is enough. Put each closed trade's net P&L (after fees, in dollars) in column B, starting at row 2. Paste these formulas anywhere:
- Total trades:
=COUNT(B2:B101) - Win rate:
=COUNTIF(B2:B101,">0")/COUNT(B2:B101) - Average win:
=AVERAGEIF(B2:B101,">0") - Average loss:
=-AVERAGEIF(B2:B101,"<0") - Expectancy ($ per trade):
=SUM(B2:B101)/COUNT(B2:B101) - Profit factor:
=SUMIF(B2:B101,">0")/-SUMIF(B2:B101,"<0")
The expectancy shortcut (total P&L ÷ trades) equals the full formula — run the full formula version too as a cross-check. If you add a "setup" column, copy this block per setup and you've got per-setup expectancy, which is where the real insight lives.
If doing this once in a spreadsheet sounds like a chore you'll never repeat, that's exactly the problem a journal solves. Tragene Journal computes expectancy and profit factor for every setup automatically the moment each trade closes — log your trades manually, or auto-sync them from MT4/MT5 or your crypto exchange. Manual or automatic, the numbers are what matter. Run them before you decide a strategy is "working."
Per-setup expectancy: the number that actually changes what you trade
Account-level numbers can hide a losing setup inside a winning account. Look back at the worked example: Trader A's setup breakdown tells a different story.
| Setup | Trades | Win rate | Avg win | Avg loss | Expectancy |
|---|---|---|---|---|---|
| Breakout | 5 | 60% | $163 | $95 | +$60.00 |
| Pullback | 3 | 67% | $190 | $95 | +$95.00 |
| Range | 2 | 0% | — | $95 | −$95.00 |
The account looks fine (+$39.50/trade), but the Range setup is pure loss — two trades, both losers, −$95 expectancy. Trader A doesn't have a "trading problem"; they have a Range-setup problem. Drop that one setup and the account's numbers improve without a single change to entries or exits.
This only works if you name your setups when you log trades. If your journal entries don't have a setup field, you're averaging over noise. The guide to what to record after every trade covers exactly which fields make this analysis possible.
5 mistakes that fake your numbers
- ☐ Too few trades. Under ~30 trades the numbers are noise, not a verdict. You can spot glaring problems (like negative expectancy) at 30–50, but don't rebuild your strategy on 20 trades. Roughly 100 trades per setup before drawing firm conclusions.
- ☐ One monster win inflates everything. Remove your single biggest winner and re-run both metrics. If expectancy flips negative, you don't have an edge — you had a lucky week. Consider the median win alongside the average.
- ☐ Demo trades mixed with live ones. Demo fills, demo psychology, demo results. Keep them in separate accounts or tagged so they never touch the live sample.
- ☐ Open trades sneaking into the math. Expectancy and profit factor only work on closed trades with realized P&L. Floating P&L isn't a result yet.
- ☐ Forgetting fees and spreads. Always compute from net P&L after commissions, spreads, and funding. A strategy that's +$5/trade before fees can be −$8/trade after them — especially scalping.
Frequently asked questions
What is a good profit factor? Above 1.0 means the sample was profitable. 1.5+ is comfortable — the edge has real breathing room. 2.0+ is excellent. Context matters: a profit factor of 1.2 over 500 trades is more trustworthy than 2.5 over 25 trades, and a scalper's numbers aren't comparable to a swing trader's.
Can expectancy be negative with a high win rate? Yes — and it's common. Hypothetical: win 70% of trades, but average win is $30 and average loss is $100. Expectancy = (0.70 × 30) − (0.30 × 100) = 21 − 30 = −$9 per trade. A high win rate with tiny winners and big losers is the classic way to feel successful while the account shrinks.
Expectancy vs. expected value — same thing? Same concept. "Expected value" is the statistics term; "expectancy" is the word traders use for expected value per trade. The formula is identical.
How many trades do I need before these numbers mean anything? About 30–50 to spot glaring problems, around 100 per setup before you draw firm conclusions. A +$50 expectancy from 15 trades is a story; the same number from 150 trades is evidence.
Does profit factor account for risk or drawdown? No — that's its blind spot. Profit factor ignores position sizing, volatility, and drawdowns. A strategy with profit factor 2.0 that risks 10% per trade can still blow up on a normal losing streak. Always read it alongside maximum drawdown, never alone.
This article is for educational purposes only and is not financial advice. Trading involves risk.
Author: Kunal D., Founder, Tragene Journal