How GrindLab Computes EV: Reading the Breakdown, Comparing Lines, Exploiting Villain
When you analyse a spot in the Lab, the verdict no longer settles for "+2.3bb, well played". Under every EV pill, a detailed breakdown shows where the profit comes from — how much you win because villain folds, and how much you win (or lose) at showdown. That's what lets you compare two lines cleanly and exploit villain's range.
This article unpacks the formula, explains how to read the verdict, and gives three concrete use cases: comparing sizings, picking between call and raise, exploiting a fold-happy villain.
The EV formula for a bet or raise
When you bet or raise, your EV splits into two probabilistic branches. Let f be the probability villain folds, eq your equity against the continuing range, pot the pot before your action, bet your total stake, and callAmount the amount villain has to add to call:
EV = f × pot
+ (1 − f) × (eq × (pot + callAmount) − (1 − eq) × bet)
Two things to remember:
- If villain folds (prob.
f): you win the pot that existed before your bet — your stake comes back. That's thef × potterm. - If villain calls (prob.
1 − f): you go to showdown. You win(pot + callAmount)net of your stake when you hit (prob.eq), you lose your full stake when you miss (prob.1 − eq).
The key nuance for raises: callAmount is not equal to bet. If villain bet 2bb and you raise to 12, villain only adds 10 to call (not 12). The showdown term uses pot + callAmount, not pot + bet. This nuance avoids massively over-estimating raise EV, and that's precisely the bug we fixed on May 13 in the Lab's evCalculator lib.
For a simple bet (first to act, villain has not bet), callAmount = bet, so the formula collapses to the classic eq × (pot + bet) − (1 − eq) × bet.
The breakdown under the verdict: fold vs call
The "EV breakdown" block in the tooltip next to the pill shows three rows:
| Row | Formula | Reads as |
|---|---|---|
| EV vs fold range | f × pot | What you collect when villain folds — pure fold equity |
| EV vs call range | (1 − f) × (eq × (pot + callAmount) − (1 − eq) × bet) | What you gain or lose when villain calls |
| Total | sum of the two | The EV shown in the pill |
Typical patterns:
evFold > 0,evCall ≈ 0→ clean bluff. You profit because villain folds, not because you hit.evFold ≈ 0,evCall > 0→ value bet. You profit because your hand is ahead of the calling range.evFold > 0,evCall < 0→ aggressive bluff. Your positive EV rests entirely on fold equity. If you mis-estimate fold%, you go -EV.evFold > 0,evCall > 0→ semi-bluff / value bet with fold equity. The most profitable scenario: you win in both branches.
Learn to read these three numbers before looking at the green/red label — that's where the real info lives.
Why a green pill can sit next to a red label
The pill shows EV vs fold. The verdict label ("Strong value bet" / "Bad raise" / etc.) compares your action to the natural alternative:
- If you are first to act: alternative = check. Alternative EV =
eq × pot. - If you face a bet: alternative = call (or fold if call is −EV). Alternative EV =
max(EV_call, 0).
These two baselines are different. Consequence: a raise can be +EV vs fold (the pill is green) and worse than call (the label is red).
Real example (situation observed in the Lab on May 12):
- Flop 8s8c4c, pot 6.1bb. Villain bets 2, hero raises to 12, villain calls.
- Hero equity vs calling range: 45.3%. Villain calls 100% of the time.
- EV raise = +1.64bb (positive — pill is green).
- EV call alternative = +3.48bb (calling would have made more).
- Verdict: "Very bad raise" → you leave 1.84bb per instance on the table.
The description below the label states it explicitly: Raise: +1.64bb. Call: +3.48bb. Raising loses 1.84bb — calling is clearly superior. That's the correct read of the spot.
Use case 1: comparing two bet sizings
You're torn between c-bet 1/3 pot (35%) and 2/3 pot (65%). Rather than reasoning abstractly about fold equity, configure both sizings in the Lab and read the breakdowns.
1/3 pot on a dry board where villain rarely folds:
- moderate
evFold(villain folds 25%) × pot = +1.0bb - solid
evCall(55% equity vs calling range, small sizing) = +1.4bb - Total = +2.4bb
2/3 pot:
- higher
evFold(villain folds 45%) × pot = +1.8bb - weaker
evCall(50% equity, riskier sizing) = +0.8bb - Total = +2.6bb
The big sizing wins marginally. But the breakdown shows your +EV leans harder on fold equity (1.8bb out of 2.6bb = 70%) — if your fold% estimate is high, the 2/3 pot collapses faster than the 1/3 pot. The 1/3 pot is more robust because its evCall is larger.
That's what the breakdown gives you: not just "which is better", but which is more fragile.
Use case 2: exploiting a fold-happy villain
You're playing against a regular who folds 70% of turn c-bets when he's in BB. You want to know whether overbet shoving the flop is profitable.
In the Lab, configure:
- His turn entering range (OOP BB call vs CO open).
- Filter via 'Smart Filters' → MDF with his 70% fold frequency. Apply.
- The breakdown updates:
evFold= 0.70 × pot = very large (with overbet, the pot is already huge)evCall= 0.30 × showdown EV (negative, you are behind)
- If
evFold + evCall > 0→ valid exploit. - Compare to a standard sizing (1/2 or 3/4 pot) — overbet usually has better
evFold(per dollar earned) but worseevCall.
The fold equity vs showdown loss trade-off is the central exploitative decision. The breakdown makes it visible numerically, not intuitively.
Conversely, if villain is sticky (calls 90% of c-bets), flip the analysis: evFold becomes negligible, your EV rests entirely on evCall. So value bet only — bluffing = burning bb.
Use case 3: picking between call and raise when facing a bet
This is the case that motivated the May 13 fix. When you face a bet and consider raising, the raise pill shows EV vs fold (always reasonably positive if you have any equity). But the natural alternative is call, not fold.
Correct workflow:
- In the Action Panel, select "Raise" and set the sizing. Read the breakdown.
- Switch to "Call". The breakdown displays
evWin/evLose/evCall total. - Compare both totals. If
EV_call > EV_raise, calling extracts more value — typically when villain is sticky with a solid range that doesn't fold to the raise.
The "Very bad raise" label triggers when EV_raise < EV_call − 0.15 × pot (normalised threshold). It's the harshest tier of the classifier. If you see it, calling is clearly better — not just a tiny bit better.
Tournaments and PKO bounty
If you play PKO and configure the bounty in the Lab (Game Config → MTT → Bounty), the breakdown integrates it automatically when villain is all-in.
Mechanic: if hero wins the showdown against an all-in villain, hero captures villain's bounty in addition to the pot. The showdown term becomes:
eq × (pot + callAmount + bounty) − (1 − eq) × bet
Consequence: a shove that's −EV in chip-EV can become +EV bounty-included if the bounty is meaningful. That's the central dynamic of PKO — maximum aggression pays on short stacks because their bounty transfers.
The breakdown shows the bounty-adjusted total directly. To gauge sensitivity, vary the bounty in the config and watch the EV scale linearly with it.
Limits and assumptions
A few things to know to interpret the numbers correctly:
-
Excluded combos = fold: GrindLab assumes combos you excluded from the calling range are pure folds. In reality, some might over-raise or jam back. For all-in spots (no raise possible), the approximation is exact; for in-between spots, it's a simplification. The disclaimer in the tooltip reminds you of this.
-
HU postflop: the calc is exact for heads-up postflop scenarios with no prior bet (the most common case). For preflop 3-bets where hero had already opened, the derived
potBeforeActionvalue is slightly approximate — the error stays small in practice. -
Bounty modelled win-side only: if hero loses the showdown against an all-in villain, the model doesn't subtract hero's own bounty (because the config stores a single bounty value). In real PKO, losing also costs you your own bounty. Worth keeping in mind for marginal shoves.
-
No ICM math: the displayed EV is in bb, not in $-EV. For tournament bubbles, mentally add the ICM risk premium or use a dedicated tool.
Wrap-up
GrindLab's EV breakdown turns an opaque metric (+2.3bb) into three readable numbers: what you make on fold equity, what you make at showdown, and the total. That's the difference between "knowing it's +EV" and "knowing why it's +EV".
Three habits to build:
- Read the breakdown before the label. The green/red pill tells you where you're going, the breakdown tells you why.
- Compare to the alternative's breakdown. If you raise, always look at call EV too. If you bet, always look at check EV.
- Stress-test the fold%. If 80% of your EV rests on
evFold, your edge is fragile. If 80% rests onevCall, it's robust.
Open any spot in the GrindLab Lab and hover the (i) next to the EV pill. The breakdown will be there.