Quotas
Control participant distribution by setting minimum targets for screening question answers.
Quotas let you control how many participants you need for specific screening question answers. Without quotas, Terac fills participants on a first-come basis. With quotas, recruitment continues until each target is met.
Quotas reference a screening question by its key.
Quotas require screening questions. The API returns a
BAD_REQUESTerror if you provide quotas without screening questions.
Fields
| Field | Type | Description |
|---|---|---|
screening_question | string | Screening question key to quota on. |
targets | array | One or more value/count pairs. |
targets[].value | string | The screening question answer text. |
targets[].count | integer | Minimum number of participants needed for this value. |
The sum of quota counts does not need to equal num_participants. Quotas are minimums -- recruitment stops when both conditions are true: every quota target is met, and num_participants is reached.
Example
You want 60 participants with a minimum split by experience level.
{
"num_participants": 60,
"screening_questions": [
{
"key": "code_reviews",
"text": "How many code reviews do you perform per week?",
"pick": "one",
"answers": [
{ "text": "5 or more", "qualify_logic": "must_one_of" },
{ "text": "2-4", "qualify_logic": "may" },
{ "text": "0-1", "qualify_logic": "reject" }
]
}
],
"quotas": [
{
"screening_question": "code_reviews",
"targets": [
{ "value": "5 or more", "count": 30 },
{ "value": "2-4", "count": 20 }
]
}
]
}Recruitment continues until you have at least 30 who answered "5 or more", at least 20 who answered "2-4", and 60 total. The remaining 10 can have either qualifying answer.