What is house edge?

The built-in percentage of each wager that the operator expects to keep over the long run, set by the odds of the game.

House edge diagram example

Public diagram from the Machinations Community. Open it on its own page

House edge is the average share of each bet that the operator keeps over the long run, because the payouts are set slightly below the true odds. It is the reason a casino or any betting product earns a steady margin. It matters to designers and regulators because it fixes the expected revenue per unit wagered.

How it works

The edge equals the expected loss of the player divided by the amount wagered. For a bet with probability p of winning and a payout of b for each 1 staked, the player's expected result per 1 bet is p × b − (1 − p). The house edge is the negative of this. A game with a bigger edge returns less to players.

Over a few bets, results swing wildly, and the house can lose. Over thousands, the average converges to the edge, which is the law of large numbers. The trade-off is that too high an edge makes the product feel unfair and drives players away, while too low an edge leaves little margin to cover costs and the variance of luck.

Example

Say a roulette-style bet on one of 38 equal slots pays 35 to 1 on a win. The chance of winning is 1 in 38. Expected result per 1 bet is (1 ÷ 38) × 35 − (37 ÷ 38) = 0.921 − 0.974 = −0.053. So the house edge is about 5.3%. If players bet 1,000,000 in total, the house expects to keep about 53,000, though any one evening can differ widely. This is an illustration.

How to model it in Machinations

Draw a Source of player bets feeding a Gate that sends a share to winning with the win probability, and a Converter paying out at the odds. A Pool holds the operator's bankroll. Set probability and payout as Levers. Play many times at once and chart the bankroll: with a few bets the paths spread wide, with many they all drift down the line set by the edge.

See house edge in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.