A losing streak does not mean a win is due next. Suppose, just for this example, that you have a 50% chance of winning each game and each result is independent of the others.
Losing the next five games has a 3.125% chance. But if you play twenty games, the chance of five losses in a row somewhere along the way rises to about 25%.
Method: a mathematical explainer with hypothetical probabilities. These are not measured PlaySolitaire win rates. We assume that one result does not affect another and that the chance of winning stays the same. We count each unfinished or lost attempt as a non-win. Replays, changes of difficulty, learning and abandoned attempts can violate those assumptions.
The next five games are one specific chance for a streak
At a 50% win chance, the chance of five losses is 0.5 × 0.5 × 0.5 × 0.5 × 0.5 = 0.03125, or 3.125%. For the general formula, let p mean the chance of winning one game and k mean the number of games. Losing each of the next k games has probability (1 − p)^k, the zero-success case of the binomial model described by NIST.
| Assumed win probability | Next 3 losses | Next 5 losses | Next 10 losses |
|---|---|---|---|
| 30% | 34.3000% | 16.8070% | 2.8248% |
| 50% | 12.5000% | 3.1250% | 0.0977% |
| 70% | 2.7000% | 0.2430% | 0.0006% |
Choose the block before observing its outcomes. Finding a bad stretch after playing many games and then treating it as your only opportunity for a streak exaggerates how surprising it was.
A streak anywhere in a session is a different event
Twenty games offer sixteen overlapping starting positions for a five-loss run. Multiplying 16 by 3.125% gives 50%, but that is not the exact answer: a six-loss run appears in more than one of those windows. The windows overlap.
To avoid counting the same run twice, we keep track of how many losses are in a row so far. A win resets that count to zero. A loss increases it by one. Reaching five means the streak has happened. The optional Python code below calculates the chance across all twenty games.
p = 0.5
safe = [1.0, 0.0, 0.0, 0.0, 0.0]
for game in range(20):
safe = [sum(safe) * p] + [x * (1-p) for x in safe[:-1]]
print(f"{100 * (1-sum(safe)):.4f}%") # 24.9870%
This gives 24.9870%, or roughly one chance in four. The calculation is exact for our assumptions, apart from computer rounding. The reproduction script also checks the answer against every possible sequence of twenty wins and losses at a 50% win chance.
What a streak cannot tell you
If the games are independent, five previous losses do not change your chance in the next game. In real play, fatigue, a different deal pool or a new strategy might change it, but the streak alone does not identify the cause.
The site’s observed completion method answers a separate question about eligible recorded attempts. It does not tell us that your personal chance of winning is fixed or that your games are independent. The deal-selection explainer shows another reason that results can differ.
If a bad run has made you rush, play a fresh Solitaire deal with one process goal: identify the purpose of each move before making it. You can assess that behavior on one board without expecting the next game to make up for the last five.