Methodik

So zieht der Namens Picker auf namenspicker.de

Diese Seite erklärt ehrlich, wie die Ziehung zustande kommt. Spoiler: Es ist Mathe und ein kryptographischer Zufallsgenerator, kein Bauchgefühl. Jede Permutation der Eingabe-Liste hat exakt die gleiche Wahrscheinlichkeit, gezogen zu werden.

Wichtiger Hinweis

namenspicker.de ist ein Spaß-Tool für Verlosungen, Gewinnspiele und Auslosungen, keine zertifizierte Lotterie und kein Glücksspiel im Sinne des § 3 GlüStV. Für Instagram-Verlosungen, Schul-Ziehungen und Wichteln ist die Engine fair und nachvollziehbar, für lizenzpflichtige Lotterien ist das Tool nicht zugelassen.

Anzeige

Zufallsquelle

Als Zufallsquelle dient crypto.getRandomValues() aus der Web Crypto API (W3C-Standard). Diese Funktion liefert kryptographisch starke Pseudo-Zufallszahlen, die im Browser direkt vom Betriebssystem bezogen werden: auf Linux und macOS aus /dev/urandom, auf Windows aus BCryptGenRandom. Beide Quellen speisen ihren Entropie-Pool aus echten Hardware-Ereignissen (Tastatur-Timings, Maus-Bewegungen, Festplatten-Latenzen, dedizierte RNG-Hardware wie Intels RDRAND oder AMDs RDSEED). Das Ergebnis ist nicht vorhersagbar, auch nicht für jemanden, der die gesamte Webseite kontrolliert.

Der weit verbreitete Math.random()-Aufruf kommt für die Ziehung nicht zum Einsatz. Math.random() nutzt in modernen Engines einen XorShift- oder PCG-Algorithmus, der für Spiele und Animationen reicht, aber kein kryptographisch sicherer Generator ist und für Gewinner-Auslosungen vermieden werden sollte.

Algorithmus

Die Ziehung läuft als Fisher-Yates-Shuffle, auch Knuth-Shuffle genannt. Donald Knuth beschreibt das Verfahren in The Art of Computer Programming, Vol. 2: Seminumerical Algorithms (1969, Algorithm P, Abschnitt 3.4.2). Die heute gebräuchliche O(n)-Variante geht auf Richard Durstenfeld zurück, der sie 1964 in den Communications of the ACM publizierte (CACM Vol. 7, Issue 7, S. 420). Das Verfahren in Worten:

  1. Beginne mit dem letzten Element der Liste (Index n-1).
  2. Ziehe eine zufällige Zahl j zwischen 0 und dem aktuellen Index (inklusive).
  3. Tausche das aktuelle Element mit Element an Position j.
  4. Gehe einen Index zurück und wiederhole, bis der erste Index erreicht ist.

Das Ergebnis: Jede der n! möglichen Permutationen hat exakt die Wahrscheinlichkeit 1/n!, gezogen zu werden. Für eine Ziehung von k Gewinnern aus n Teilnehmern wird der Shuffle einmal durchgeführt, dann werden die ersten k Elemente entnommen.

Eingabe-Parser

Die Teilnehmer-Liste akzeptiert vier Trennzeichen, damit Copy-Paste aus Excel, WhatsApp, Word und Email gleichermaßen funktioniert:

  • Zeilenumbruch (Regex /\r?\n/) für Listen aus Word, Notepad und WhatsApp
  • Komma für CSV-Exports aus Excel und Google Sheets
  • Semikolon für deutsche CSV-Exports (Excel mit Dezimalkomma)
  • Leerzeichen (Regex /\s+/) für lose Eingaben wie "Anna Ben Clara Daria"

Nach dem Split werden alle Einträge per trim() von Leerzeichen befreit und leere Einträge aus der Liste entfernt. Doppelte Whitespace-Sequenzen werden zu einem einzigen reduziert. Eingaben wie "Anna, Ben ;; Clara\n \n Daria" landen am Ende sauber als ["Anna", "Ben", "Clara", "Daria"] in der Engine.

Mehrfach-Modus

Das Tool kennt zwei Modi für die Ziehung mehrerer Gewinner:

  • Ohne Duplikate (Standard): Wer einmal gezogen wurde, wird aus der Liste entfernt, bevor der nächste gezogen wird. Üblich für klassische Verlosungen mit Sachpreisen, bei denen jeder Teilnehmer höchstens einmal gewinnen kann.
  • Mit Duplikaten (Mehrfach-Modus): Nach jeder Ziehung wird die Liste unverändert zurückgelegt, derselbe Teilnehmer kann mehrfach gewinnen. Üblich für Spiele und Spaß-Auslosungen, bei denen wiederholte Treffer Teil des Reizes sind.

Beide Modi nutzen denselben Fisher-Yates-Shuffle, sie unterscheiden sich nur darin, ob die Liste zwischen Ziehungen verändert wird. Die Anzahl der Gewinner pro Lauf ist durch die Listenlänge begrenzt: aus 10 Namen kann der Modus ohne Duplikate maximal 10 Gewinner ziehen, der Mehrfach-Modus theoretisch beliebig viele.

Datenschutz und Privatsphäre

Die gesamte Ziehung läuft im Browser über JavaScript. Eingegebene Namen werden nicht an unsere Server übertragen, nicht gespeichert und nicht an Dritte weitergegeben. Wer den Tab schließt, hinterlässt keine Spuren. Die optionale Verlaufs-Funktion legt die letzten fünf Ziehungen ausschließlich im lokalen localStorage des eigenen Browsers ab und kann jederzeit über den Verlauf-Button gelöscht werden. Details im Datenschutz.

Was wir nicht machen

namenspicker.de ist keine zertifizierte Lotterie und kein Glücksspielangebot im Sinne des Glücksspielstaatsvertrags. Wer eine Ziehung mit Geldeinsätzen, behördlicher Aufsicht oder TÜV-Siegel braucht, ist hier falsch. Für faire Schul-Auslosungen, Office-Wichteln, Instagram-Gewinnspiele und WhatsApp-Gruppen-Verlosungen reicht der Fisher-Yates-Shuffle aber bestens.

Korrektur-Policy

Wenn dir ein Bug auffällt, etwa eine kaputte Copy-Funktion, ein fehlerhafter Parser oder ein inhaltlicher Fehler in einem unserer Ratgeber, schreib an info@akara-solutions.de. Bestätigte Korrekturen dokumentieren wir öffentlich auf Korrekturen.

Verantwortung

Für die Engine und ihre redaktionelle Pflege sind Mateusz Viola (Fisher-Yates-Engine, Eingabe-Parser, History), Jan-Tristan Rudat (Zufallsgeschichte, Algorithmik, Tool-Vergleiche) und Eike-Christian Ramcke (DSGVO, Gewinnspiel-Recht, UWG) zuständig. Inhaltlich Verantwortlicher gem. § 18 Abs. 2 MStV ist Eike-Christian Ramcke, Geschäftsführer der AKARA Solutions GmbH (vollständige Angaben im Impressum).

Quellen

  • Donald E. Knuth: The Art of Computer Programming, Volume 2: Seminumerical Algorithms. 3. Auflage, Addison-Wesley, 1997 (Erstauflage 1969). Algorithm P, Abschnitt 3.4.2.
  • Richard Durstenfeld: Algorithm 235: Random permutation. Communications of the ACM, Vol. 7, Issue 7 (Juli 1964), Seite 420.
  • Ronald A. Fisher, Frank Yates: Statistical Tables for Biological, Agricultural and Medical Research. Oliver and Boyd, London, 1938 (Tabelle XXXIII, Beispiel 12).
  • W3C: Web Cryptography API, Recommendation, 26. Januar 2017. Abschnitt 11 (RandomSource).
  • NIST Special Publication 800-90A Rev. 1: Recommendation for Random Number Generation Using Deterministic Random Bit Generators. National Institute of Standards and Technology, Juni 2015.
Anzeige
Anzeige
Anzeige
Anzeige