Formulas & Methods

Every formula OSOTOTO uses, in one place.

🔁 Odds Converter

Implied % = 100 / decimal. American = (dec−1)×100 if dec≥2, else −100/(dec−1). Fractional = dec−1.

Example: Decimal 2.50 → 40% implied, +150 American, 3/2 fractional.

📈 Expected Value (EV)

EV = p×(stake×(dec−1)) − (1−p)×stake. Edge % = p×dec − 1.

Example: 100 @ 2.10, p=52% → EV ≈ +9.2, edge ≈ +9.2%.

✂️ Vig Remover / True Odds

Overround = 1/a + 1/b. Fair prob A = (1/a) / overround. Fair odds = 1 / fair prob.

Example: 1.90 / 1.90 → 5.26% overround; fair odds 2.00 / 2.00 (50% each).

🎯 Parlay / Accumulator

Combined odds = product of all legs. Payout = stake × combined. Profit = payout − stake.

Example: 1.8×2.0×1.5 = 5.40 combined; 20 stake → 108 payout (88 profit).

🧩 System Bet (Lucky 15/31/63)

System = all doubles/trebles/…/accumulators from N selections. Total stake = bets × unit.

Example: Lucky 15 (4 sel) = 4 singles + 6 doubles + 4 trebles + 1 four-fold = 15 bets.

🐎 Each-Way Calculator

Total stake = 2×stake. Win part = stake×dec. Place part = stake×(1+(dec−1)×placeFrac).

Example: 10 e/w @ 9.0, 1/5 places, horse wins → 90 (win) + 26 (place) = 116 return.

📉 Closing Line Value (CLV)

CLV % = (taken/close − 1) × 100. Positive = you beat the market.

Example: Took 2.10, closed 1.95 → +7.7% CLV.

⚖️ Arbitrage (Surebet)

Arb % = 1/a + 1/b. If <1 it’s an arb. Stake A = total×(1/a)/arb. Guaranteed return = total/arb.

Example: 2.10 & 2.05 → arb 0.964 (3.6% profit). Split 100 → ~4 guaranteed.

🃏 Dutching

Stake_i = total × (1/odds_i) / Σ(1/odds). Equal return on any winner.

Example: 3.0/4.0/5.0, 100 total → stakes ~43/32/26 for equal ~29 return.

🤝 Matched Betting

Lay stake = (back×stake)/(lay−comm). Free-bet profit ≈ stake×(back−1) − layStake×(lay−1)+... computed live.

Example: Free bet 20 @5.0, lay 5.2, 2% comm → ~15.4 locked profit.

🛡️ Hedge / Cash-Out

Hedge stake = (stake×dec)/hedge. Guaranteed profit = stake×dec − stake − hedgeStake.

Example: 100 @3.0, hedge @1.5 → hedge 200; locked profit 0 (break-even example).

↔️ Back/Lay (Exchange)

Lay stake = (back×back_o)/(lay_o−comm). Liability = layStake×(lay_o−1).

Example: Back [email protected], [email protected], 5% → lay ~49, liability ~103.

🧮 Kelly Criterion

f* = (b·p − q)/b, where b=dec−1, q=1−p. Stake = f*×bankroll.

Example: 1000, 2.10, 52% → f*≈4.6%, full Kelly ~46, half ~23.

⛰️ Risk of Ruin / Drawdown

Approx risk of ruin ≈ ((1−edge)/(1+edge))^(bank/bet) for even-money-ish bets.

Example: 100 units, 2% edge, 1u bets → RoR ≈ 2%.

⏱️ Session Budget

Expected rounds = budget/(bet×(1−RTP)). Playtime = rounds/rph.

Example: 200 budget, 2/round, 96% RTP, 400/h → ~2500 rounds ≈ 6.25h expected.

📊 Staking Plans Simulator

Runs a Monte-Carlo of the chosen progression and plots the bankroll curve.

Example: Martingale doubles after a loss — fast recovery but catastrophic tail risk.

🏛️ House Edge → Cost/Hour

House edge = 100−RTP. Cost/hour = bet × sph × (edge/100).

Example: 1 bet, 96% RTP, 600/h → 4% edge → ~24/hour expected cost.

🎰 Slot Variance Simulator

Simulates spins with a volatility-shaped payout model targeting the given RTP; plots balance.

Example: High volatility → long dry spells punctuated by rare big hits.

🎁 Bonus Wagering

Turnover = bonus×WR. Expected cost = turnover×(1−RTP). Bonus EV = bonus − cost.

Example: 100 bonus ×35 @96% RTP → 3500 turnover, ~140 cost → EV ≈ −40.

🎡 Roulette Odds

European edge 2.70% (single zero), American 5.26% (double zero). Payout per bet type shown.

Example: Straight-up pays 35:1; true odds 36:1 (EU) → 2.70% edge.

🃏 Poker Odds (Pot Odds & Outs)

Pot odds % = call/(pot+call). Equity ≈ outs×(street==2?4:2)%. Call if equity ≥ pot odds.

Example: 9 outs, 2 cards → ~36% equity; call 25 into 100 (20% pot odds) → +EV call.