Back to articles
strategytoolsmath

How GrindLab Computes EV: Reading the Breakdown, Comparing Lines, Exploiting Villain

May 13, 2026·9 min read·By GrindLab Team

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.

GrindLab EV breakdown: fold and call branches, total EV and line comparison


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:

  1. If villain folds (prob. f): you win the pot that existed before your bet — your stake comes back. That's the f × pot term.
  2. 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:

RowFormulaReads as
EV vs fold rangef × potWhat 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
Totalsum of the twoThe 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:

  1. His turn entering range (OOP BB call vs CO open).
  2. Filter via 'Smart Filters' → MDF with his 70% fold frequency. Apply.
  3. 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)
  4. If evFold + evCall > 0 → valid exploit.
  5. Compare to a standard sizing (1/2 or 3/4 pot) — overbet usually has better evFold (per dollar earned) but worse evCall.

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:

  1. In the Action Panel, select "Raise" and set the sizing. Read the breakdown.
  2. Switch to "Call". The breakdown displays evWin / evLose / evCall total.
  3. 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:

  1. 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.

  2. 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 potBeforeAction value is slightly approximate — the error stays small in practice.

  3. 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.

  4. 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:

  1. Read the breakdown before the label. The green/red pill tells you where you're going, the breakdown tells you why.
  2. Compare to the alternative's breakdown. If you raise, always look at call EV too. If you bet, always look at check EV.
  3. Stress-test the fold%. If 80% of your EV rests on evFold, your edge is fragile. If 80% rests on evCall, it's robust.

Open any spot in the GrindLab Lab and hover the (i) next to the EV pill. The breakdown will be there.

The method in 6 steps

  1. Import or build the spot in the Lab

    Import a hand from your history (Winamax, Unibet, PokerStars, Betclic, etc.) or build the spot manually with your range, villain's range, the board and the sizings. The verdict appears automatically as soon as the street is complete.

  2. Read the EV pill next to the verdict label

    The 'EV +X.XXbb' pill shows the total EV of your action vs fold (the simplest baseline). Green if positive, red if negative. If you find it contradictory to see a green pill next to a red label, read the breakdown.

  3. Hover the (i) for the fold/call decomposition

    The tooltip next to the EV pill shows: EV vs fold range (fold equity), EV vs call range (showdown), and the Total. Tells you whether your +EV comes from fold equity or value. If evCall is negative, your edge rests entirely on fold equity.

  4. Read the verdict for the vs-alternative comparison

    The label (Strong value bet / Thin bet / Bad raise / etc.) compares your action to its natural alternative — check for a bet when you're first to act, call for a raise when you're facing a bet. Below the label, the description shows both EVs side by side: 'Raise: +1.64bb. Call: +3.48bb. Raising leaves 1.84bb on the table.'

  5. Compare lines by editing the sizing

    Change the bet size in the Action Panel. EV recomputes instantly. Compare the breakdown before and after to see which sizing maximises total EV, and which branch (fold vs call) gets the boost. Useful for tuning c-bet sizing, overbets, or shoves.

  6. Exploit villain's range with the Smart Filter

    'Smart Filters' button in the Lab toolbar. MDF removes combos below the minimum defence threshold, Polarize keeps value + bluff (drops the medium), Value keeps only the top. Apply updates the continuing range. The EV breakdown recomputes with the new fold%, letting you see the expected exploitative EV.

Frequently asked questions

What formula does GrindLab use to compute the EV of a bet or raise?
EV = foldFrac × pot + (1 − foldFrac) × (eq × (pot + callAmount) − (1 − eq) × bet). foldFrac comes from combos excluded from the continuing range (assumed to fold). callAmount is villain's incremental cost to call — equal to bet for a simple bet, smaller for a raise. The formula generalises correctly to raise scenarios where villain had already invested.
Why can the EV pill be positive while the verdict shows 'Very bad raise'?
Because the EV pill compares to fold (the simplest baseline) whereas the verdict compares to the real alternative — call for a raise, check for a bet. A raise can be +EV vs fold but clearly worse than call. The breakdown under the verdict shows both EVs side by side (Raise: +1.64bb, Call: +3.48bb) to make it explicit.
What do 'EV vs fold range' and 'EV vs call range' mean?
It's the decomposition of total EV into its two probabilistic branches. 'EV vs fold range' = what you win when villain folds (= fold% × pot). 'EV vs call range' = what you gain or lose when villain calls and you go to showdown. Total = sum. Lets you see where your +EV comes from: pure fold equity, value, or a mix.
How does GrindLab determine villain's fold frequency?
Not via GTO or a solver. You define it yourself by deselecting or filtering the combos you think villain folds. Combos removed from the current range (compared to the street-entry range) are assumed to fold. The 'Smart Filters' button offers presets (MDF, Polarize, Value) you can Apply with one click.
Is the PKO bounty taken into account?
Yes, as of May 13 2026. When villain is all-in and your MTT config has a bounty value, hero captures it on showdown win. The bounty is added to the showdown-win term only — not to fold, not to loss. If your bounty config is 10bb, your shove EV gains callFrac × eq × 10bb.
Does the displayed EV account for rake and MTT risk premium?
Yes. For cash games, the effective pot is adjusted by the configured rake percentage. For MTTs, equity is adjusted by the risk premium (rpHeroVsVillain or rpVillainVsHero depending on who opens the action). Both adjustments automatically flow into every value in the breakdown.

Practice with GrindLab's Equity Calculator

Analyze any hand, see your exact equity in real time, and build the instincts to make faster decisions at the table.

Try It Free →