Weighted Random Selection Explained: How Different Chances Work

Sometimes every option should have the same chance — and sometimes it should not. Weighting lets you say "this entry should win twice as often as that one" in a way the draw can honour exactly. This guide explains what weights actually mean, with numbers you can check yourself.

By the WheelOurNames team · Published 22 August 2026

Editorial note: product-specific technical claims in this article have been checked against the current WheelOurNames implementation.

Equal probability versus weighted probability

An ordinary draw gives every entry the same probability: four entries means 25% each. A weighted draw deliberately gives entries different probabilities. Each entry carries a number — its weight — that says how strongly it should pull relative to the others.

The rule that turns weights into probabilities is one division:

an entry's probability = its weight ÷ the total of all weights.

Everything else in this article follows from that single line.

Weights are relative, not percentages

The most common misreading is to treat a weight as a percentage. It is not. A weight of 3 does not mean 3% — it means "three parts" of whatever total the weights add up to.

Take three entries with weights 1, 2 and 3. The total is 6, so the probabilities are:

EntryWeightCalculationProbability
A11 ÷ 616.67%
B22 ÷ 633.33%
C33 ÷ 650%

Entry C has a theoretical probability of 1/2 on each draw, and its expected long-run frequency is three times that of A. That "three times as often" is what the weights really say in the limit over many independent draws — the percentages are just the same relationship expressed against the total.

Equivalent weight sets

Because only the ratio matters, 1, 2, 3 and 10, 20, 30 describe exactly the same wheel. Double every weight and you double the total, so every division comes out unchanged:

EntryWeights 1, 2, 3Weights 10, 20, 30Weights 7, 14, 21
A1/6 = 16.67%10/60 = 16.67%7/42 = 16.67%
B2/6 = 33.33%20/60 = 33.33%14/42 = 33.33%
C3/6 = 50%30/60 = 50%21/42 = 50%

Multiplying every weight by the same common factor changes nothing about the draw: 1, 2, 3 and 10, 20, 30 produce identical probabilities. What larger integer values do help with is expressing finer ratios that whole numbers otherwise cannot capture. If you want a chance like 33⅓%, you cannot type a decimal weight, because WheelOurNames weights are whole numbers. You instead pick integers whose ratio approximates what you want, such as 1, 1, 1 for exact thirds or 333, 333, 334 when you need finer control.

How a weighted draw is computed

The classic method is called cumulative-weight selection, and it is easier than it sounds. Line the entries up and give each one a stretch of a number line proportional to its weight. With weights 1, 2, 3 the line runs from 0 to 6: A owns [0, 1), B owns [1, 3), C owns [3, 6). Then draw one uniform random integer in the whole range and see whose stretch it lands in:

Drawn number012345
WinnerABBCCC

One draw of six values, one winner for A, two for B, three for C — exactly the 1/6, 2/6, 3/6 split. WheelOurNames does precisely this: because weights are positive integers, a single uniform integer draw over the total plus a walk along the cumulative ranges selects the winner with no floating-point arithmetic at all. That means the probability the code draws with and the slice size you see on the wheel are the same number computed two ways from one source, so they cannot drift apart.

What counts as a valid weight

On WheelOurNames a weight is a positive whole number. The interface accepts values from 1 up to 100,000; anything that is not a positive integer in that range is not a usable weight. There is deliberately no zero weight: if you want an entry to have no chance, remove it from the list rather than weighting it to zero. Stored or imported values that fall outside the legal range are coerced to the nearest valid value (invalid values become 1, oversized values clamp at 100,000) rather than crashing the draw — but when you type weights yourself, the field simply refuses values outside 1–100,000.

Common mistakes when reading weights

  • Treating the weight as a percentage. Weight 10 is 10% only if the total happens to be 100. Against a single weight-1 entry, weight 10 is 10/11 ≈ 90.9%.
  • Forgetting the total changes when the list changes. Add one more entry and every existing probability drops, because the divisor grew. Weights guarantee ratios, not fixed percentages.
  • Expecting the big weight to win quickly. Weight 3 against weight 1 loses one draw in four. A weighted draw is still random — a short run of "wrong" winners is not evidence of a bug.
  • Confusing weights with duplicates. Pasting a name twice is weighting by the back door: two identical rows behave like one row with double the weight. (On WheelOurNames, if you then remove duplicates while weighting is on, the merged entry keeps the sum of the duplicate weights, so its probability is preserved.)

When weighting helps — and when it misleads

Weighting is appropriate when the rules of your draw genuinely call for unequal chances: giveaway entrants who earned multiple entries, prize tiers where a jackpot should be rare, or practice questions you want to see more often than others.

It creates a misleading impression of fairness when the audience reasonably assumes an equal draw and does not know the chances differ. A wheel that looks even but is weighted behind the scenes is not "mostly fair" — it is a different draw than the one viewers think they are watching. If you weight a public draw, say so, and show the weights. On WheelOurNames the slice sizes are drawn proportional to the weights, so a weighted wheel is visually honest: bigger chances occupy bigger slices, and the built-in simulator reports the expected percentages alongside the observed ones.

The exact algorithm, including the integer-only selection and the rejection-sampled random source underneath it, is documented on the fairness page.