actfap

Variance Simulator

See how far results swing over a session before the edge shows.

This shows the spread of results a fixed edge produces over a stated number of bets. It cannot tell you whether you have an edge, and it does not estimate one: the win rate and the price are yours to supply, and everything below follows from taking them as given.

Set the edge

The odds field reads an American price (+150). Switch the format above to enter prices the way your book quotes them, or open the odds converter to see one price in all of them.

Win rate52.0%A win pays1.00uLoss rate48.0%
Edge per bet4.00%

What 500 bets look like at this win rate and price

18%

of simulated sessions finished behind break even

18 of every 100 simulated sessions finished behind break even. The other 82 of 100 finished at or above break even.

Typical run:

+20u

after 500 bets · headline figure ±1.7 points at 95%

Where the session ended
-62u+90u

+0u · break even

finished behind
358 of 2,000
at or above break even
1,642 of 2,000
Deepest fall from a peak, along the way
10th
-31u
25th
-24u
median
-19u
75th
-14u
90th
-12u

Expected value+20.0u

The one figure the rest of the category returns and stops at. It is not wrong, it is the average of the spread above, and 52% of these sessions finished below it. What it cannot tell you is that 18% of them finished behind break even, which is the number a bankroll has to survive.

Distribution above is 2,000 simulated runs at the inputs you entered. See how this is calculated, below.

The cloud

All 2,000 sessions at once
+50u0-11u
bet 1121251bet 500

How to read it

  • The solid line is the middle session, so half of them ended above it.
  • The bright cloud holds the middle half of all sessions and the faint one holds eight in ten.
  • Two straight lines run from the left edge: the flat one is break even, the other is what the edge is worth on paper.

Both clouds spread as the session runs. The lowest tenth of sessions sat at -9u after 121 bets and -10u after 500, while the middle went from +5u to +20u.

Median, bet 121
+5u
Median, bet 251
+11u
Median, bet 500
+20u
10th–90th, bet 121
-9u to +19u
10th–90th, bet 251
-11u to +31u
10th–90th, bet 500
-10u to +50u

A 52.0% win rate at 2.00 is a 4.00% edge, not a 52.0% one, and over 500 bets it is worth +20.0u. The middle eight in ten sessions span 60 units. That gap is variance, and it is what a bankroll has to absorb.

How long before this edge shows

The cloud above is the spread. This is how long it takes the edge to outgrow it, from the win rate and price you entered and not from the session length. Expected profit grows with the bet count and the spread only with its square root, so the two cross once, at the variance of a single bet over the square of the edge.

624

bets before the expected profit equals one standard deviation of the result

1,688

bets before only about one session in twenty still finishes behind

The 500-bet session set above is 80% of the way to the first mark.

The second figure uses the normal approximation to the session total. It is close at these bet counts and it is not exact: a continuous approximation has nowhere to put a session that finishes exactly level, so it splits that mass across the two sides. At 500 bets on this page’s opening inputs it puts 18.5% of sessions behind, where the exact binomial puts 17.4% behind and 2.4% exactly level.

Neither figure runs backwards into evidence that an edge is real, and that is the misreading they most invite. They say how long it takes to measure an advantage you already have. Finishing ahead over the first sample is not proof of one: at a true edge of exactly zero, 48.4% of 624-bet sessions at even money finish ahead anyway. Both also assume the edge holds still for the whole sample, and an edge that fades as a market corrects or an account gets limited never reaches the number it opened with.

The same edge at a different price
Bets to one standard deviation for a 4.00% edge per bet, held fixed and priced several ways
PriceWin rate it needsBets
1.91 (-110)54.5%565
2.00 (even), yours52.0%624
4.00 (+300)26.0%1,924

Hold the edge still and change only the price. At 1.91 it takes 565 bets and at 4.00 it takes 1,924, 3.4 times as many for an identical edge. A long price pays rarely and pays large, so each result lands further from the average and it takes more of them before the average settles. It is why a bettor grinding short prices can measure an edge inside a season and a bettor taking long ones often cannot.

The same price at a different edge
Bets to one standard deviation and to about one session in twenty finishing behind, at 2.00, held fixed and edged several ways
EdgeWin rate it needsTo one sigmaTo one in twenty
1%50.5%9,99927,053
2%51.0%2,4996,761
4%, yours52.0%6241,688

Hold the price still and change only the edge. At 4% it takes 624 bets to one standard deviation, and at 1% it takes 9,999, 16.0 times as many for the smaller edge. The figure scales as one over the edge squared, not one over the edge, so halving an edge does not double the wait: it roughly quadruples it.

One session out of 2,000

The cloud above is every session at once. This is one of them, bet by bet, drawn over the same cloud. The edge does not change between runs, so where each one lands is variance and nothing else.

One session, bet by bet
+50u0-11u
bet 1bet 500

Units now

+0u

Bets

0

Percentile

–

  • The white line is this session, once it starts.
  • The dashed line is the middle of all 2,000.

Across sessions

Everything above is one session. This carries a starting bankroll through several sessions back to back at the same edge, so you can see how the spread compounds rather than resets every time. A trial that would take the bankroll to zero or below stops there: that player is broke and nothing plays on after it, in this run or in reality.

Simulating…

How to read it

  • The solid line is the median bankroll.
  • The bright cloud holds the middle half of trials and the faint one holds eight in ten.
  • The dashed line is the starting bankroll.
  • The line at the bottom is zero. A trial that reaches it stops there.

Written and reviewed by Alexander Korsager · last reviewed October 8, 2026 · corrections

The idea

What this tool shows

A positive edge only pays out over the long run. Across a single session (a few hundred bets) luck dominates, and even a solid advantage can sit well underwater. This simulator runs many sessions with the same edge so you can see the whole range of results, not just the average.

  1. Watch how far the cloud spreads by the end of the session.That gap is your variance, and it is what a bankroll has to absorb. The bigger it is relative to your stake, the more cushion you need before the edge reliably lifts you into profit.

  2. The question the picture raises is how long the wait actually is, and for a fixed edge at a fixed price it has a closed-form answer rather than a rule of thumb.The tool computes both figures live under the chart from whatever win rate and price you enter, beside two tables: one holds your edge still and re-prices it, the other holds your price still and re-sizes the edge across 1%, 2% and 4%. Both matter, but not equally: the size of the edge moves the answer far more than the price does, because the wait scales as one over the edge squared while the price only reshapes the spread around it, which is the part that surprises people. The methodology below gives the derivation.

FAQ

Questions players ask

Why do I lose over a session even with an edge?

Because over short samples the scatter is much larger than the edge, and the gap is wider than it sounds. A 2% edge at even money earns 2 units per 100 bets on average, while the standard deviation of that same 100 bets is 10.0 units, five times the edge itself. The two also grow at different speeds: the edge accumulates in proportion to the bets, the scatter only in proportion to their square root. That is why the edge wins in the end and why 100 bets is nowhere near the end.

How many bets until the edge shows?

For a fixed edge at a fixed price there is an exact figure rather than a rule of thumb. The number of bets at which the expected profit first equals one standard deviation of the result is the variance of a single bet divided by the square of the edge per bet, so the figure scales as one over the edge squared: halve the edge and the wait quadruples. Reaching the stronger position where only about one session in twenty still finishes behind takes 2.71 times as long again (the square of 1.645, the one-sided 95% point of the normal distribution). The edge table on this page holds your price fixed and re-sizes the edge across 1%, 2% and 4% plus whatever you entered, both marks per row, so the scaling is a table you can read rather than numbers to remember.

Does the price I bet at change how long it takes?

Yes, and by more than most people expect, because the price sets how far a single result scatters as well as what the edge is worth. Hold the edge at 4% and move only the price. At -110 the wait to one standard deviation is 565 bets. At 2.00 it is 624. At 4.00, where a 4% edge means winning 26% of the time, it is 1,924 bets, over three times the sample for an identical edge. A longer price pays rarely and pays large, so each result lands further from the average and it takes more of them to average out. It is the reason a bettor grinding short prices can measure their edge inside a season and a bettor taking long ones often cannot.

How does this relate to bankroll size?

The wider the outcome spread, the larger the bankroll you need to survive a bad run without going broke. Pair this with the bankroll and Kelly tools to size stakes against that risk.

Methodology

How this is calculated

Every figure on this page comes from one Monte Carlo run: 1,000, 2,000 or 5,000 independent sessions of the bet count you set, each bet won at the win rate you entered and paid at the decimal odds you entered. A win adds the odds minus one in units, a loss costs the one unit staked.

The run is seeded, so the same inputs always draw the same picture, and Resimulate draws a fresh sample from a new seed. The cloud is the 10th, 25th, 50th, 75th and 90th percentiles of the running total at 48 points along the session, recomputed at each point rather than smoothed between them.

The two sample-size figures under the chart are the one part of this page that is not simulated: they are closed form, computed from the win rate and price you entered.

The expected profit first equals one standard deviation of the result after a number of bets equal to the variance of a single bet divided by the edge per bet squared.

For a win probability p at a profit of b units per unit won, the edge per bet is p x b - (1 - p), and the variance of that bet is p x b x b + (1 - p) minus the edge squared. At the shipped defaults those are 0.9984 and 0.04, so the figure is 0.9984 / 0.0016, or 624 bets.

Multiplying by 2.71 (the square of 1.645, the one-sided 95% point of the normal distribution) gives the longer sample at which about one session in twenty still finishes behind, 1,688 bets here. Both scale as one over the edge squared.

The table beside them holds your edge fixed and re-prices it, inverting the same formula as p = (1 + m) / (1 + b) to find the win rate each price would need to carry that edge, which is why an identical 4% edge reads 565 bets at -110, 624 at 2.00 and 1,924 at 4.00.

Common misreadings6
  • A winning session does not confirm an edge and a losing one does not refute it. At the default inputs about one session in five finishes behind on an edge that is genuinely positive, which is the whole reason this page exists.
  • The expected value is not what a session is likely to return. It is the average of the whole spread, and the spread here is several times wider than the average is large over any session length a person actually plays.
  • The clouds widening is not the results getting worse. It is the range of possible results growing, which is why the middle of the cloud can climb while the bottom of it stays under water.
  • This is not a reason to bet more to get through the variance faster. More bets narrow the spread relative to the edge, and they also mean more money staked and a deeper fall available along the way.
  • The bet count at which the edge equals one standard deviation is not a point after which the edge is confirmed. It is only where a session's expected profit and its typical scatter are the same size, and at the shipped defaults 14.9% of sessions still finish behind there and another 1.9% finish exactly level. That is why the second figure exists and why it is nearly three times as far away.
  • Neither figure can be run backwards to test whether an edge is real, and that is the misreading they most invite. They say how long it takes to measure an edge you already have. Finishing ahead after 624 bets is not evidence of a 4% edge: at a true edge of exactly zero, 48.4% of 624-bet sessions at even money finish ahead anyway. Both figures also assume the edge holds still for the whole sample, and an edge that decays as a market corrects or an account gets limited never reaches the sample size its opening number asked for.
Assumptions7
  • The Across sessions chart runs a second, independent simulation: the same bet count per session, played back to back for the number of sessions you set, carrying a starting bankroll from one session into the next rather than resetting it. A trial whose bankroll reaches zero or below is ruined and stays at zero for every later session in that trial. This is the correct model for a bankroll, which has a floor it cannot fall through and climb back out of, and it is the one deliberate difference from a plain fan chart of a quantity with no such floor.
  • Every bet is independent, at the same win rate, at the same odds, for the same one-unit stake. Real betting is none of those things in a strict sense, and each departure from it widens the spread rather than narrowing it.
  • The edge is the win rate and the price together, not the win rate on its own. Backing 52% winners at 2.00 is a 4% edge per bet; the same 52% at 1.90 is a losing proposition. The page states both figures and names which is which.
  • Results are in units, where a unit is one flat stake. Flat staking throughout, so nothing here compounds and no staking plan is applied.
  • The deepest fall is measured from the highest point a session reached, not from where it started, and is reported as a negative number of units.
  • Sessions that finish exactly level are counted as level, not as losses. At even money over an even number of bets that is a real outcome and about one session in forty at the default inputs.
  • Watching a single run is deliberately not seeded. That panel exists to show that consecutive sessions at one unchanged edge land in different places, which a reproducible run cannot demonstrate.
Limits6
  • A percentile from a sample is not exact. At 2,000 sessions a headline share carries roughly a point and a half of sampling error either way at 95% confidence, which the page prints beside it. Raising the session count narrows it.
  • The percentile a watched run is given is read against the five band stops, so it is as coarse as the band is, and a run outside the 10th to 90th is reported as beyond it rather than given a number the sample cannot support.
  • The spread this shows is the spread from chance alone at a fixed edge. It does not model an edge that decays, limits on your account, prices that move before you bet, or correlated bets, all of which widen the real spread.
  • Bets per session is capped at 2,000. Nothing here says anything about a career, and a long run at a negative edge ends worse rather than reverting to expectation. The cap is also below the sample most real edges need to reach the one-in-twenty mark: the edge table shows how fast that outgrows the slider's whole range as the edge shrinks, and a 1% edge needs more than thirteen times it.
  • The Across sessions chart is capped at 4 to 24 sessions played back to back, a horizon a player could actually live through rather than one that technically renders. The surviving share it prints is a sampled proportion with the same sampling error as every other simulated share on this page, and it counts a bankroll as surviving whenever it is still above zero, not whenever it is ahead of where it started.
  • The one-in-twenty figure uses the normal approximation to the session total. It is close at the bet counts it names and it is not exact, and the size of the gap is worth stating rather than waving at. At 500 bets on the shipped defaults the approximation puts 18.5% of sessions behind, where the exact binomial puts 17.4% behind and 2.4% exactly level. Neither is wrong: a continuous approximation has nowhere to put a session that finishes level, so it splits that mass across the two sides, and 17.4% plus half of 2.4% is 18.6%. The discrepancy shrinks as the bet count grows and the level outcomes thin out, but it never quite vanishes, and it is why the figure is stated as a losing share rather than a winning one. At 1,688 bets the simulation puts 4.97% of sessions behind, which is the one in twenty the derivation asked for, and 94.50% ahead rather than 95%, because the remaining half a percent finish exactly level.
Evidence

The simulation is covered in simulate.test.ts.

At even money a session settles to twice the wins minus the bets, so the outcome distribution is exactly binomial and the test derives the true share of sessions finishing ahead, behind and level from the binomial mass function and checks the simulation against it within three standard errors, rather than against figures this code produced.

It also pins the expected value against the analytic figure, the typical session against the exact binomial median, and the property the chart is drawn to make: that the spread grows faster than the edge accumulates.

Every bet count quoted above is pinned there too, in both directions: the test derives each one from the closed form, then runs the simulation at that many bets and checks it reproduces what the closed form claims about it, so a figure in this methodology cannot drift away from what the tool actually does.

At 1,688 bets on the shipped defaults the simulation finishes 4.97% of sessions behind, against the 5.0% the derivation predicts. A passing test means the code matches the model, not that the model fits every real betting pattern.

The Across sessions engine has its own tests covering the one property that matters: a trial that reaches zero stays at zero for every later session rather than wandering past it, checked against a seeded run rather than assumed, plus the degenerate cases (a bankroll that cannot survive one session, a one-session horizon, a coin that cannot win or lose).

Gambling can cause serious harm. The National Problem Gambling Helpline is free, confidential and open 24/7, call or text 1-800-MY-RESET (1-800-697-3738), or chat at ncpgambling.org/chat.

Read up

Go deeper

Related tools

We’d like to use privacy-friendly analytics (Google Analytics, Vercel Analytics and Speed Insights) to see which tools and pages are actually useful, so we can improve them. Nothing is sold, and nothing loads unless you say yes. See our privacy policy for details.