DiceDecide

How "No Repeat Twice in a Row" Actually Changes a Random Picker’s Odds

Be the first to rate this page.

Excluding only the last result and re-picking among the rest raises every remaining item’s chance from 1/N to 1/(N−1); for a five-item list that is a jump from 20% to 25% per remaining item, not the unchanged 20% a quick guess might assume, because the picker’s new sample space genuinely has one fewer member.

A worked example with numbers

A five-name list under plain independent picking gives each name a 20% (1/5) chance on every pick, including a 20% chance of repeating whichever name was just picked. A “no repeat twice in a row” rule removes the previous result from consideration before picking again, leaving four eligible names instead of five. Each of those four now has a 1/4 = 25% chance, not the 1/5 = 20% share it had before the exclusion — a five-percentage-point jump that is easy to miss because the underlying die, coin, or random-integer call inside the tool has not changed at all; only the population being picked from has shrunk by one.

How to set the rule before the result

To verify this on a no-repeat-twice picker or an equivalent script, log a long run of picks — a few hundred at minimum — and separately tally how often each of the N−1 eligible names is chosen immediately after a given name is excluded. The tallied share for each eligible name should cluster near 1/(N−1), not 1/N; a large, consistent gap between the observed share and 1/(N−1) is what would indicate a bug, such as code that still weights the excluded name at zero without redistributing its probability mass evenly across the rest.

Common mistakes that change the odds or the process

The most common mistake is assuming an excluded item’s “missing” probability simply vanishes rather than being redistributed, as if a 5-item list with one excluded still divides probability five ways with the excluded slot at zero — that would total only 80%, not 100%, an immediate arithmetic tell that something is wrong. A second mistake is assuming the redistribution is uneven, favoring whichever name has gone longest without being picked, when a correctly implemented exclude-the-last-result rule gives every remaining name an identical 1/(N−1) share regardless of how long ago it last appeared. A third mistake is applying this same math to a “no repeat within the last three picks” rule without adjusting the formula — that variant excludes up to three names at once, giving each of the remaining N−3 names a 1/(N−3) share instead, a different number entirely.

Where this method stops being appropriate

This exact-exclusion arithmetic assumes the picker excludes precisely one previous result and treats every other item as equally eligible; it does not describe a system that also weights by how recently or how often an item was picked, which is a different, cooldown-based mechanism with its own probability model. It also assumes the list itself does not change between picks — adding or removing names mid-sequence changes N and invalidates any running tally collected before the change. And it says nothing about a genuinely weighted list, where items start with unequal shares before any exclusion rule is even applied; the 1/(N−1) result is specific to a list where every eligible item was equally likely to begin with.

How the random source fits into the rule

MDN’s Math.random reference documents the uniform interval Math.random() draws from, the same uniform assumption a no-repeat picker relies on when it re-samples over the shrunken eligible set rather than the full list.

The odds table for a few common list sizes

List size (N)Plain pick, any itemNo-repeat pick, each eligible item
333.33%50.00%
520.00%25.00%
812.50%14.29%
205.00%5.26%

The gap between the two columns shrinks as the list grows, because excluding one item out of a large list barely changes the remaining share, while excluding one out of a short list changes it a great deal. A 3-item rotation feels the effect most sharply: going from a 1-in-3 to a 1-in-2 chance for each of the two remaining items is a large enough shift that a short rotation can start to feel almost like strict alternation even though it is still genuinely random.

A second case: excluding the last two results instead of one

Some pickers exclude the two most recent results rather than just one, to avoid a name reappearing every other turn as well as back-to-back. For an eight-name list, excluding two leaves six eligible names, each with a 1/6 ≈ 16.67% chance — noticeably higher than the plain 1/8 = 12.5% share, and higher again than the single-exclusion figure of 1/7 ≈ 14.29% shown in the table above. The pattern generalises: excluding k previous results from an N-item list gives each of the remaining N−k items a 1/(N−k) chance, which grows larger the more results are excluded and the smaller the original list is.

Why a short no-repeat rotation is not the same as fairness for everyone

A no-repeat-twice rule changes the odds for the very next pick, but it does not, by itself, guarantee every name appears equally often across a full session — that additional guarantee needs a separate without-replacement mechanism, such as reshuffling the entire list each time it is exhausted. A group of five names under a no-repeat-twice rule can still see one name picked eight times across forty picks purely by chance, even though no name was ever picked twice consecutively; avoiding immediate repeats and equalising long-run totals are two different guarantees, and a tool that only promises the first should not be assumed to deliver the second.

The formula also exposes a genuine edge case worth flagging separately: at N = 2, excluding the single previous result leaves exactly one eligible item, so the ordinary 1/(N−1) formula collapses to 100% — the picker is forced to alternate perfectly between the two items with no randomness left in any pick after the first. A two-item “no repeat twice in a row” picker is not a genuinely random picker at all past its opening result; it is a fixed alternation dressed up as one, and a tool advertising randomness for a two-item list under this rule is making a claim its underlying mechanism cannot actually deliver. The same collapse happens, less dramatically, at N = 3: excluding one of three leaves two eligible items at 50% each, still genuinely random but a much coarser, more easily-guessed distribution than the 33.33% a plain three-item picker would offer, worth disclosing to anyone relying on the rotation feeling unpredictable rather than merely non-repeating.

Related DiceDecide tools

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.