Véletlen besorolás: véletlen kiválasztás és besorolási lista (allocation list)
Röviden
A csempe egyszerű véletlen mintát húz egy listából (1-től N-ig terjedő számok vagy beillesztett lista soronként egy azonosítóval), vagy személyeket oszt csoportokba: blokkos randomizációval (a csoportok aránya, több blokkméret, kívánt esetben rétegenként külön) vagy rögzített csoportméretekkel. Minden lista elmenthető CSV-ként vagy másolható.
Oktatási eszköz, nem valódi vizsgálat randomizációja
A kezdőérték látható. Aki ismeri a kezdőértéket és a módszert, előre kiszámolhatja az egész listát; nincs elrejtett besorolás és nincs protokoll. Egy valódi vizsgálathoz jóváhagyott rendszer, független személy és az intézmény protokollja kell. Ezért minden exportált fájl ezzel a sorral kezdődik: „Oktatási eszköz - nem valódi vizsgálatokhoz (elrejtés nélkül)”, majd a kezdőérték és a módszer következik.
Kezdőérték
Az alapértelmezett érték 20261008. Ugyanaz a kezdőérték és ugyanazok a bevitelek ugyanazt a listát adják; más kezdőérték mást. A kezdőérték sosem az óráról jön. Rétegek esetén minden rétegnek saját folyama van (a réteg száma 1-től): egy réteg listája nem változik, ha egy másik réteg nagyobb lesz.
Blokkok
- Egy blokk minden csoportot annyiszor tartalmaz, ahányszor az arány megkívánja (1:1 és 4-es blokkméret esetén kétszer-kétszer), véletlen sorrendben. Minden teljes blokk után a csoportok pontosan kiegyensúlyozottak; közben legfeljebb a blokkméret (block size) felével térnek el.
- Aki ismeri a blokkméretet (block size), kitalálhatja minden blokk utolsó esetét. Ezért több blokkméretet kevernek; a táblázatban lévő blokkszámok megmutatják, hol ér véget egy blokk.
- Az utolsó blokk hiányos maradhat; a csoportok ekkor a végén nem pontosan egyformák. Az „Az utolsó blokk maradjon teljes” beállítással a lista hosszabb lesz, mint a helyek száma.
- Sok kis rétegnek sok hiányos blokkja van.
Titkos mód: személyenként
- Az egész lista induláskor a böngésző véletlenéből keletkezik (nem kezdőértékből), és nem jelenik meg. Minden személy csak az azonosítója beírása után kapja meg a csoportját; ez nem vonható vissza, és minden azonosító csak egyszer számít.
- Az ujjlenyomat (SHA-256 egy sóból és a listából) rögzíti a listát. Az első bevonás előtt a vizsgálati protokollba kell kerülnie. A végén a lista a sóval együtt nyilvánosságra kerül; aki újraszámolja az ujjlenyomatot, látja, hogy utólag semmi sem változott.
- Korlát: a lista csak a képernyőre pillantás elől titkos. Aki megnyitja a böngésző fejlesztői eszközeit, el tudja olvasni, aki pedig törli a böngésző tárhelyét, elveszíti a futást. A naplót ezért a bevonás közben érdemes menteni. Egy valódi vizsgálathoz erre engedélyezett rendszer kell, amelyben a bevonó személy sosem látja a listát.
Kiválasztás listából
Az azonosítókat csak megjelenítjük, és soha nem illesztjük be parancsba; a lista a böngészőben marad. A többször szereplő azonosítókat nem töröljük (különben egy személynek dupla esélye lenne), hanem jelezzük; az üres sorokat kihagyjuk. Korlátok: legfeljebb egymillió sor, soronként legfeljebb 200 karakterrel. A kiválasztás személyeket választ, a besorolás csoportokba osztja őket; ez két különböző lépés.
Szakembereknek
Mulberry32 generátor (32 bit), a (kezdőérték, szám) párból kevert részfolyamokkal. Keverés Fisher-Yates szerint; a kiválasztás csak k helyet cserél, így egymillió sor szinte semmibe sem kerül. A módszerek definiáltak, nem „helyesek” egy szabványhoz képest: másik generátor más listákat adna. A tulajdonságokat teszteljük (minden teljes blokk kiegyensúlyozott, a különbség legfeljebb a blokkméret fele, egyenlő bekerülési gyakoriság, egy 4-es méretű 1:1 blokk hat elrendezésének egyenlő gyakorisága rögzített kezdőértékeknél), valamint a szkriptben a generátor R-beli újraépítésével előállított listákat.