Skip to content

Is Wheel of Names Rigged? Fairness Lab & Audit

Run up to 500,000 simulated spins with the exact same picker the wheel uses. Verify true mathematical randomness with live Chi-Square (χ²) goodness-of-fit testing.

Spins per run
Test runs
Statistical Verdict
Looks fair

The spread of winners is consistent with a fair wheel. Small differences between slices are just normal chance.

Chi-squaredf = 7

5.32

p-value: 0.621 (≥ 0.05 is uniform)

Same winner twice in a row

12.47%

Expected: 12.50% (independence check)

Slice Distribution vs Expected Frequency

Observed winner counts mapped directly against the 95% confidence interval bounds.

ObservedExpected95% Confidence Band

Detailed Slice Statistics

Exact count distribution, theoretical expectations, and binomial error ranges per slice.

SliceObservedExpected95% Confidence BandPercentage Share
Alex1,2821,2501,185–1,31512.82%
Maya1,2431,2501,185–1,31512.43%
Jordan1,2161,2501,185–1,31512.16%
Priya1,2781,2501,185–1,31512.78%
Liam1,2761,2501,185–1,31512.76%
Sofia1,2551,2501,185–1,31512.55%
Noah1,2541,2501,185–1,31512.54%
Zara1,1961,2501,185–1,31511.96%

Arquitectura

Cómo funciona nuestro motor aleatorio demostrablemente justo

La selección del ganador nunca es un truco de animación ni un algoritmo pseudoaleatorio defectuoso. Así es como nuestra arquitectura criptográfica en el navegador garantiza equidad matemática absoluta en cada giro.

Entropía Criptográfica CSPRNG

En lugar del predecible Math.random(), el motor llama a la Web Crypto API nativa del navegador (crypto.getRandomValues). Esto captura entropía física del sistema operativo a partir de fluctuaciones térmicas y de reloj, asegurando que los resultados no se puedan predecir ni reproducir.

Muestreo por Rechazo Cero-Módulo

Los selectores ingenuos usan `random % slices`, lo que favorece a los números más bajos porque 2^32 no es divisible de forma exacta. Nuestro algoritmo define el múltiplo exacto más alto por debajo de 2^32 y descarta números fuera de rango para garantizar probabilidades estrictamente uniformes.

Bondad de Ajuste Chi-Cuadrado (χ²)

El laboratorio recopila miles de giros simulados en una prueba Chi-Cuadrado de Pearson con (k - 1) grados de libertad. Al calcular el valor-p mediante funciones gamma incompletas regularizadas, se verifica matemáticamente que las desviaciones coinciden con la varianza aleatoria.

Independencia Serial y Sin Memoria

Un selector justo no debe recordar giros pasados. El laboratorio rastrea giros consecutivos para medir las frecuencias de repetición de Markov. Para 8 secciones, cada una tiene exactamente un 12,5% de posibilidades de repetirse; cualquier desviación más allá de la confianza binomial delataría inercia oculta.

Prueba Estadística y Garantía Real

Las pruebas estadísticas demuestran que miles de resultados simulados concuerdan con la uniformidad matemática. La garantía fundamental reside en la ejecución: el CSPRNG con muestreo por rechazo se genera 100% en el navegador antes de que comience el giro visual.

Herramientas con Privacidad Total

Herramientas gratuitas y privadas para tu trabajo diario.

Si necesitas herramientas sencillas para el día a día, visita Tooltri. Lo creamos con más de 30 utilidades gratuitas para unir PDFs, comprimir fotos, generar códigos QR y hacer cálculos rápidos. Sin cuentas y sin costes. Todo funciona directamente en tu navegador, así que tus archivos se quedan en tu dispositivo.

100% En el Navegador · Los archivos y datos nunca tocan un servidor remoto
Sin Registro · Acceso instantáneo a utilidades para todos los días

FAQ

Preguntas frecuentes

Todo lo que necesitas saber sobre el motor de aleatoriedad, las pruebas de hipótesis chi-cuadrado y la demostración de imparcialidad.

¿Cómo decide el ganador el motor de aleatoriedad de la ruleta?

Antes de que la ruleta comience a girar, el índice de la sección ganadora se escoge instantáneamente en memoria mediante crypto.getRandomValues combinado con muestreo por rechazo uniforme. La animación posterior es solo una recreación visual calibrada para desacelerar y detenerse con precisión en esa sección justa.

¿Por qué Spin Names Now utiliza crypto.getRandomValues en lugar de Math.random()?

La función estándar Math.random() de JavaScript es un generador de números pseudoaleatorios (PRNG) no seguro criptográficamente, susceptible de predicción y variable según el navegador. En cambio, crypto.getRandomValues accede a la entropía de hardware del sistema operativo, garantizando bytes uniformes e impredecibles.

¿Qué es el sesgo de módulo y cómo lo evita el muestreo por rechazo?

Los algoritmos simples toman un entero de 32 bits y calculan `randomInt % numSlices`. Como 2^32 (4.294.967.296) rara vez es múltiplo exacto del número de secciones, las primeras se eligen con más frecuencia. Eliminamos este sesgo por completo descartando los números sobrantes y volviendo a sortear.

¿Qué verifica la prueba Chi-cuadrado (df 7) en el Laboratorio de Equidad?

La prueba de bondad de ajuste Chi-cuadrado evalúa si la distribución observada de ganadores coincide con las expectativas teóricas (para 8 secciones, cada una debe ganar el 12,5% de las veces). Los grados de libertad (df) son el número de secciones menos uno (8 - 1 = 7). Suma las desviaciones al cuadrado para comprobar que la ruleta es imparcial.

¿Cómo debo interpretar el resultado del valor-p (p-value)?

El valor-p mide la probabilidad de obtener resultados al menos tan extremos como los observados bajo la premisa de una ruleta justa. Un valor-p >= 0,05 confirma que la distribución es coherente con un proceso imparcial. Si es superior a 0,05, no hay indicio alguno de sesgo.

¿Por qué el valor-p baja ocasionalmente de 0,05 en una ruleta justa?

En la verdadera aleatoriedad estadística, es normal que un valor-p caiga por debajo de 0,05 por puro azar en aproximadamente 1 de cada 20 pruebas (el 5% de las veces). El azar tiende a agruparse de forma natural. Lo que prueba la equidad es que los resultados atípicos no se repitan sistemáticamente en una misma sección.

¿Qué muestran las bandas sombreadas del 95% de confianza en el gráfico?

Para cada sección, la frecuencia esperada sigue una distribución binomial con desviación estándar σ = √(N · p · (1 - p)). Las barras sombreadas ilustran el rango de ±1,96σ. En una ruleta justa, alrededor del 95% de los resultados caerán dentro de esta franja en simulaciones repetidas.

¿Qué mide la métrica 'Mismo ganador dos veces seguidas'?

Es una comprobación de independencia serial. Para 8 secciones del mismo tamaño, la probabilidad teórica de giros consecutivos con el mismo ganador es 1/8 (12,50%). Si la ruleta tuviera memoria oculta o inercia, este porcentaje aumentaría notablemente. Acercarse al ~12,50% confirma que cada giro es un evento independiente.

¿Puede un servidor trucar, manipular o interceptar la ruleta?

No. Toda la selección de ganadores y cálculos de física se ejecutan 100% de forma local en tu navegador. No hay peticiones al servidor durante el giro, ni semillas remotas secretas, ni APIs externas que puedan influir en el resultado.

¿Afecta al resultado la duración visual del giro o la fricción?

No. Dado que la sección ganadora se determina criptográficamente antes de que comience la animación, la duración visual, la curva de desaceleración y el sonido son meros detalles estéticos calculados para detenerse exactamente en el centro de la sección ganadora.