Millisecond Forums

Excluding particpants who have already taken your study (or other similar studies)

https://forums.millisecond.com/Topic17596.aspx

By audiosophy - 11/2/2015

I am running an mTurk study and was wondering how to exclude participants that have already done the same or similar studies.

In Qualtrics I get people to type in their mTurk id and then if it is the same as a list of ids I have in an embedded data form, then it thanks them but prevents them from doing the study again.

Can I use something similar in Inquisit? I was thinking about using the values or expressions, but does they support, say a list of numbers and check the entered ID against those numbers? 


By Dave - 11/3/2015

You can list the "banned" IDs as a string in one or several <values> entries. Check whether a given ID is among those listed via string functions (contains() comes to mind), terminate the script if the ID is listed.

<values>
/ banned1 = ",ABC,DEF,GHI,"
/ banned2 = ",123,456,789,"
/ normalizedid = ""
</values>

<expt>
/ onexptbegin = [values.normalizedid = toupper(concat(concat(",", script.subjectid), ",")); ]
/ onexptbegin = [if (contains(values.banned1, values.normalizedid)||contains(values.banned2, values.normalizedid)) script.abort(); ]
/ blocks = [1=myblock]
</expt>

<block myblock>
/ trials = [1=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("Your ID is not blacklisted.")
</text>

By audiosophy - 11/6/2015

Perfect. That's what I wanted. Thanks again.