Poker Risk of Ruin Calculation Formula Win Rate Variance
by
Poker Risk of Ruin Calculator
Your Statistical Risk of Ruin:
0%
Understanding the Poker Risk of Ruin (RoR) Formula
Risk of Ruin is the mathematical probability that a poker player will lose their entire bankroll before achieving their long-term expected value. Even for winning players, variance (the "swings") can lead to bankruptcy if the bankroll is insufficient relative to the win rate and volatility.
The Mathematical Formula
RoR = e ^ (-2 * WinRate * Bankroll / Variance)
Where:
Win Rate: Your average profit in big blinds per 100 hands.
Variance: The square of your Standard Deviation per 100 hands.
Bankroll: Your total available poker funds measured in Big Blinds.
e: Euler's number (approx. 2.71828).
Example Calculation
Suppose you play $1/$2 No Limit Hold'em (200NL). Your win rate is 5 bb/100, your standard deviation is 100 bb/100, and you have a bankroll of $10,000 (5,000 Big Blinds).
Win Rate: 5
Variance: 100 * 100 = 10,000
Formula: e^(-2 * 5 * 5000 / 10000)
Calculation: e^(-5) ≈ 0.0067
Result: 0.67% Risk of Ruin
How to Interpret Results
< 1%: Professional standard. Your bankroll is highly resilient to downswings.
1% – 5%: Reasonable for aggressive grinders or recreational players with a replenishable income.
> 10%: High risk. A standard downswing could easily wipe you out. Consider moving down in stakes or increasing your bankroll.
function calculateRoR() {
var winRate = parseFloat(document.getElementById('winRate').value);
var stdDev = parseFloat(document.getElementById('stdDev').value);
var bankroll = parseFloat(document.getElementById('bankroll').value);
var resultDisplay = document.getElementById('rorResult');
var assessment = document.getElementById('riskAssessment');
var wrapper = document.getElementById('resultWrapper');
if (isNaN(winRate) || isNaN(stdDev) || isNaN(bankroll) || stdDev <= 0 || bankroll <= 0) {
alert("Please enter valid positive numbers for all fields.");
return;
}
// If win rate is 0 or negative, RoR is 100%
if (winRate <= 0) {
resultDisplay.innerHTML = "100%";
resultDisplay.style.color = "#dc3545";
assessment.innerHTML = "CRITICAL: A zero or negative win rate ensures eventual ruin regardless of bankroll size.";
assessment.style.color = "#dc3545";
wrapper.style.display = "block";
return;
}
var variance = Math.pow(stdDev, 2);
// Formula: e^(-2 * WR * BR / Variance)
var exponent = (-2 * winRate * bankroll) / variance;
var ror = Math.exp(exponent);
var rorPercentage = (ror * 100).toFixed(4);
// If result is very small, format it
if (rorPercentage < 0.0001) {
resultDisplay.innerHTML = "< 0.0001%";
} else {
resultDisplay.innerHTML = rorPercentage + "%";
}
// Design logic based on risk level
wrapper.style.display = "block";
if (rorPercentage < 1) {
resultDisplay.style.color = "#28a745";
assessment.innerHTML = "SAFE: You have a solid bankroll for your current win rate and variance.";
assessment.style.color = "#28a745";
} else if (rorPercentage < 5) {
resultDisplay.style.color = "#ffc107";
assessment.innerHTML = "MODERATE: Moderate risk detected. Be prepared for swings.";
assessment.style.color = "#856404";
} else {
resultDisplay.style.color = "#dc3545";
assessment.innerHTML = "DANGER: High risk of ruin. Consider adding funds or moving down stakes.";
assessment.style.color = "#dc3545";
}
}