Randomization assigns each participant to a study arm by chance rather than by choice, so the groups you compare differ only by the intervention. Blinding keeps people from knowing which arm a participant is in, so expectations cannot color the results. TrialPilot handles both on the Randomization tab of the Study Builder, which appears for randomized controlled, crossover, and factorial designs.
The workflow runs from configuring arms through an immutable audit trail, with a deliberate one-way gate in the middle: once the allocation schedule is locked, assignments follow it and nothing else.
The randomization workflow#
- Configure arms or factors. Define the arms participants can be assigned to — or, for factorial designs, the factors whose combinations form the assignment.
- Configure block settings and strata. Set the blocking parameters and any strata (subgroups, such as a baseline characteristic, balanced separately so each stays evenly split across arms).
- Save the randomization scheme.
- Generate or upload allocations. Have TrialPilot generate the allocation sequence from your scheme, or upload a statistician-supplied list.
- Lock the schedule. Locking freezes the allocation sequence before anyone is assigned.
- Randomize participants. Randomize each participant by their pseudonymous participant ID.
- Review the immutable audit. Every randomization event is recorded in an audit trail that cannot be edited.
Randomization methods#
| Method | What it does |
|---|---|
| Permuted block | Assigns within fixed or random-sized blocks so arm counts stay balanced throughout enrollment, with optional strata. |
| Minimization (Pocock-Simon) | Computes each assignment dynamically at enrollment to keep chosen baseline characteristics balanced across arms. |
| Uploaded allocation list | Uses a statistician-supplied sequence, validated against the study’s allocation ratio and strata before it is accepted. |
| Simple randomization | Assigns each participant purely at random — allowed, but warned against for small studies, where chance imbalance is likely. |
Blinding levels and the firewall#
The study design sets one of three blinding levels:
- Open label — everyone knows each participant's assignment.
- Single blind — participants do not know their assignment; the study team does.
- Double blind — neither participants nor the blinded study team members know assignments.
For blinded designs, TrialPilot enforces a blinding firewall: the UI never reveals the code-to-arm mapping to blinded users. Blinded team members work with coded labels throughout the dashboard, and no screen, export, or listing available to them connects a code to the arm behind it. See Roles and permissions for how blinded and unblinded roles are separated.
What participants see#
Participants are randomized by their study-scoped pseudonymous ID — the randomization system never touches their identity. On the participant's side, the mobile app resolves the assignment silently when the study plan syncs: there is no reveal screen, and a participant never sees an unblinded arm. Their schedule of tasks continues as configured, shaped by the assignment without disclosing it.
Emergency unblinding#
Sometimes a clinical situation requires knowing a specific participant's assignment — for example, to treat them safely. The Randomization tab supports emergency unblinding for exactly this case: unblinding a participant requires a reason, and the event is recorded.
Emergency unblinding is audited
For designs where arms enter and leave over time under pre-specified rules — with response-adaptive randomization and a governed decision loop — see Adaptive platform studies.
