Randomization your study can stand behind

Randomizer assigns each participant to a group the moment they're enrolled, with permuted blocks, stratification or minimization, at every site, and records who enrolled whom, and when.

Researchers set up studies. Participants join with a link and never see their group.

Sleep Coaching TrialPermuted block randomizationStratified by site and sex
ParticipantsAdd participant
  • 112 of 240 enrolled
  • Control: 56
  • Intervention: 56
Study ID Site Stratum Group Enrolled Enrolled by
S-0112 Boston Boston · Female Intervention Oct 22, 3:20 PM Maya Chen
S-0111 Denver Denver · Male Control Oct 22, 2:05 PM Joined by link
S-0110 Oakland Oakland · Female Control Oct 22, 11:48 AM Ravi Okafor
S-0109 Boston Boston · Male Intervention Oct 21, 4:31 PM Joined by invitation
S-0108 Denver Denver · Female Intervention Oct 21, 9:12 AM Lena Fischer
  • 3 methodsSimple, permuted block and minimization
  • Up to 10 groupsIn any ratio, like 2:1 or 1:2:2
  • Up to 30 sitesBalanced, stratified or randomized as clusters
  • REST APIExamples in Python, R, Node.js and curl

Features

Everything between consent and allocation

Set up a scheme your statistician signs off on, then let your team enroll without ever touching an allocation list.

Randomization methods

The right method for your design

Choose simple randomization, permuted blocks or minimization, with as many as ten groups in whatever ratio your protocol calls for. Randomizer handles the sequence, so nobody on the team ever holds an allocation list.

  • Block sizes are drawn at random, so the next assignment can't be worked out
  • Minimization (Pocock–Simon) balances many factors at once, even in small studies
  • The setup locks once the first participant is randomized
  • Enrollment stops on its own at your target sample size

Sites and stratification

Balanced at every site, in every stratum

Stratify by site and by the characteristics that matter to your outcome, like sex or age range, and each stratum keeps its own balance. Running a cluster trial? Randomize whole sites instead, and everyone enrolled at a site gets its group.

  • Categorical factors, and continuous ones split into the ranges you choose
  • Each site is randomized as it's added in cluster designs
  • Group counts for the whole study and for each site, as they happen

Enrollment

Enroll in the app, by link, or by invitation

Add participants yourself and see their group straight away, or share a self-enrollment link for each site and personal invitations that only one email address can use. Participants join with an account of their own, and never see which group they're in.

  • Each study ID is enrolled once, so nobody is randomized twice
  • Every enrollment records who enrolled the participant, and when
  • Turn a site's link off the moment recruitment there closes

Teams

Your whole team, with only the access they need

Invite collaborators to a project and limit each one to the sites they work at, so they see and enroll only their own participants. Try the whole setup in test mode first, then clear the test enrollments and go live.

  • Only collaborators with every site can change the setup
  • Collaborators can be limited to one site or several
  • Test mode removes everyone enrolled while it was on
Collaborators3 members
Name Role Sites
Maya Chen Owner All sites
Ravi Okafor Collaborator Oakland
Lena Fischer Collaborator Boston, Denver

How it works

From protocol to first participant

No allocation tables to generate, print or guard. Set the rules once and Randomizer applies them to every enrollment.

  1. Create a project

    Name your study, add its sites, and invite your collaborators, each limited to the sites they work at.

  2. Choose how to randomize

    Pick a method, set your groups and ratios, and add stratification factors. Run it in test mode until you’re happy with it.

  3. Enroll participants

    Enroll in the app, share a link, or call the API from your own systems. Each participant gets their group the moment they’re enrolled.

Why not a spreadsheet or sealed envelopes?

TopicLists and envelopesRandomizer
ConcealmentAnyone who opens the list can see what’s coming next.Each group is assigned only as a participant is enrolled.
Re-randomizingEasy to skip a row, or open another envelope.Each study ID is enrolled once, and the setup locks.
Record keepingWho used which envelope, and when?Every enrollment records who did it, and when.
Several sitesA list per site, kept in step by hand.Sites and strata balanced for you, with access per site.

API

Randomize from your own systems

Enroll participants from your data capture system, survey tool or analysis scripts. The REST API does everything the app does, as you.

  • One key per researcherGenerate it when you need it, and rotate or revoke it at any time.
  • Safe to retryA participant's ID comes from their study ID, so a retried request can't randomize anyone twice.
  • Examples in four languagesEvery endpoint is documented with Python, R, Node.js and curl you can copy.
  • Read the API documentation
project_id = "pR7wq2LmZt9KxC4vNb3s"

response = requests.post(
    f"{BASE_URL}/projects/{project_id}/participants",
    headers=HEADERS,
    json={
        "studyId": "S-0042",
        "firstName": "Jane",
        "lastName": "Doe",
        "siteId": "boston",
        "strata": {"sex": "female", "age": 34},
    },
)
response.raise_for_status()
participant = response.json()

FAQ

Questions research teams ask

Something else on your mind? The randomization guide goes deeper into each method.

Who is Randomizer for?

Research teams running randomized studies: clinical trials, behavioral and public health studies, field experiments and pilots. If participants are assigned to groups, at one site or many, it's built for you.

Which randomization method should I use?

Permuted blocks keep group sizes even throughout the study and suit most trials. Add stratification to balance a few important factors. With many factors or a small sample, minimization balances each one more closely. Simple randomization is fine for large studies where some imbalance doesn't matter. Your statistician should have the final say.

What's the difference between researcher and participant accounts?

Researchers create projects, set up randomization and enroll participants. Participant accounts can only join studies they're invited to. The two are separate, even with the same email address, so a researcher can join someone else's study as a participant.

Can participants see which group they're in?

No. Participants see the studies they've joined, and nothing about their groups. Only the research team sees allocations.

Can I change the randomization after the study starts?

Once the first participant is randomized, the method, groups and stratification lock, so nobody can change them mid-study. You can still rename things and change the target sample size.

Can I try my setup before enrolling real participants?

Yes. Until your first real enrollment, you can turn on test mode and enroll as many test participants as you like. They don't lock the setup, so you can keep adjusting it, and they're all removed when you turn test mode off.

Can collaborators be limited to some sites?

Yes. Each collaborator can have every site or only some. Collaborators with only some sites see and enroll only the participants at those sites.

Set up your next study in an afternoon

Create a researcher account, configure your randomization, and try it in test mode before your first participant arrives.