Weighted spinners explained — when uniform odds are wrong
Most spin wheels give every entry equal odds. That's fine for picking the next presenter — and dishonest for multi-ticket raffles. Here's when weighted spinners are the right tool and how to set them up.
Key Takeaways
- Equal-chance wheels are right for low-stakes random picks; weighted wheels are right when the underlying distribution isn't uniform.
- Multi-ticket raffles, tier-based giveaways, and seniority-tilted rotations all need weights to be honest.
- The visual editor shows each entry's percentage share — useful as a fairness audit.
- Cap weight ratios at about 10:1. Beyond that, the lowest-weighted entries become noise.
- Communicating the weights publicly is what makes a weighted draw verifiably fair, not unfair.
Most spin wheels — including most of SpinOfLuck's default behaviour — give every entry the same odds. Drop 10 names, every name has a 10% chance. This is the right default for the most common use case: a low-stakes random pick where the entries are interchangeable.
But there's a recurring family of decisions where uniform odds aren't fair — they're actively dishonest. Multi-ticket raffles. Tier-based viewer giveaways. Seniority-weighted stand-up rotations. The real-world distribution isn't uniform, so a uniform wheel misrepresents the situation. The fix is a weighted spinner.
Three situations where weighting matters
1. Multi-ticket raffles
Classic example. Alice buys 5 raffle tickets, Bob buys 1. The correct probability is Alice 83%, Bob 17% — not 50/50. A uniform wheel that treats Alice and Bob as equal entries silently nullifies the tickets Alice paid for. The visible spin no longer matches the announced draw rules.
A weighted wheel encodes the asymmetry directly: Alice gets 5 slices, Bob gets 1. The audience sees big-Alice on the wheel, the result reflects ticket purchases honestly, and Alice's odds are demonstrably what was promised.
2. Tier-based giveaways
Twitch and YouTube giveaways often advertise something like 'tier-3 subs get 10× chance, tier-1 subs get 1×'. Equal-chance wheel = a tier-1 lurker has the same odds as a tier-3 long-time supporter, which is exactly the opposite of what the channel advertises.
Encode tiers as weights: streamer_fan_91*10 for tier-3, casual_viewer*1 for tier-1. The wheel becomes a literal visual representation of the tier benefits.
3. Seniority-weighted rotations
Some team rotations want some bias — a junior dev leads stand-up once a month, a senior lead leads three times a month. Pure random gives every dev equal exposure to the role, which may or may not be what the team wants. Weighted random encodes the desired bias while keeping the rotation surprising.
When uniform odds are correct
Most decisions. Cold-calling a student. Picking the next presenter at stand-up. Choosing a restaurant. Picking a partner for pair work. In all of these, the entries are functionally interchangeable — there's no underlying real-world distribution to encode. Uniform odds match the situation.
How weights work on SpinOfLuck
Two equivalent paths. (a) Type weights inline in the Entries panel: Alice*5 gives Alice five slices on the wheel. (b) Open the Weights tab and use the +/− buttons per entry. Both edit the same data — the inline syntax is the source of truth, the visual editor just makes it easier to see and tweak.
The math is straightforward. Each entry occupies N contiguous slices equal to its weight. The wheel picks a slice uniformly at random; the probability of any given entry winning is its weight ÷ total weight. With Alice*5 and Bob*1, total = 6, Alice = 5/6 ≈ 83.3%, Bob = 1/6 ≈ 16.7%.
The Weights tab shows each entry's percentage with a live-updating bar, so you can sanity-check the distribution before spinning.
Practical limits
Two soft caps:
- Per-entry weight: ×1–×50. Past 50, slices get visually thin and the wheel starts looking like one giant slice with everything else as noise.
- Ratio between entries: try to stay within 10:1. Beyond that, the lowest-weighted entries become essentially impossible to draw — the wheel is the wrong tool. Just decide directly.
Communicating weights makes them fair
A weighted draw is fair when the weights are public knowledge before the draw. 'Each ticket purchased counts as one slice; the wheel reflects that' is far more credible than spinning a wheel that nobody saw the configuration of. Hidden weights = suspicion. Visible weights = trust.
For live draws, screen-share or share-room with the Weights tab visible before spinning. Anyone watching can verify the slices match the announced weights. After verification, switch to the wheel view and run the actual spin.
Try the weighted spinner
Visual probability bars, +/− per entry. Free, no signup.
Open the weighted spinner → →Frequently asked questions
- Is a weighted wheel still random?
- Yes — randomness and uniformity are different things. The wheel still picks a slice unpredictably using crypto.getRandomValues(); weighting changes WHICH slices each entry occupies, not whether the pick is random. An entry with weight 5 is five times more likely to win than one with weight 1, but you still can't predict which spin will go which way.
- Can I weight differently per spin?
- Not directly — weights live on the wheel and apply to every spin until you change them. If you need different weights for different draws, save them as separate wheels (you can duplicate any wheel via the toolbar's ⎘ button, then adjust weights).
- How does this work with multi-pick (drawing several winners at once)?
- Multi-pick removes each picked entry from the wheel between spins. So if Alice*3 was 75% on the first spin and she's picked, the next spin treats only the remaining entries with their original weights. Multi-pick + weighting is the standard pattern for tiered-prize raffles.
- Is there a limit on total slices?
- Practically: a few hundred. With Alice*50, Bob*50, and 10 other entries with weight 1, you'd have 110 slices on the wheel — readable but tight. Past that, the wheel becomes hard to visually parse. Use lower per-entry weights with the same ratio for cleaner visuals.