Millisecond Forums

Eligibility, IP Address, and Group Assignment

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

By jbfleming - 12/17/2013

I am currently putting together an Inquisit experiment meant to be delivered by Inquisit's web platform.


I am trying to determine if we are able to do our eligibility screening within Inquisit or if we need to do that separately. (I think I am leaning towards doing it separately, just to avoid having people download the plug-in only to find out they are ineligible)


So I have a couple questions related to this, to help inform my decision.


1) Is it possible to record the source IP anywhere? It looks like computer.ipaddress is the IP address assigned to the local computer's NIC.  That is not what I'm interested in. I am interested in the internet IP address that is the source of the web traffic to the server.  I am very aware of all the reasons why that is not a good unique identifier (NAT, dynamic IPs, etc.)  My question is only is that information available to me or not?


2) I have a script now that uses <include> statements and multiple <expt> blocks to randomly assign subjects to 4 different groups and it seems to work okay. There is some concern that we will end up with unequal group sizes using truly random assignment. I don' think we can get around that, it's either truly random (so you may end up with unequal group sizes, even though they should tend to roughly equal size), or you can do a round-robin assignment where group size will always be about equal, but you lose "randomness" outside of the generally random nature by which we expect participants to come to the study to begin with. I guess this isn't a question so much as an inquiry as to what others have done and any opinions they have about it.


I think right now I am leaning towards having a separate web survey somewhere that determines eligibility, and then doing group assignment outside of Inquisit, and providing eligible participants with a URL to the actual experiment, and the group number (or incorporating the group # into the URL to make it less error-prone) and having Inquisit just handle the experiment proper itself and not eligibility and group assignment.


John

By Dave - 12/17/2013

I am leaning towards doing it separately, just to avoid having people download the plug-in only to find out they are ineligible


That's sensible.


1) Is it possible to record the source IP anywhere?


Yes. There is some additional participant activity tracking available outside of scripts via https://www.millisecond.com/myaccount/reporting/rptscripts.aspx (cf. http://www.millisecond.com/forums/Topic11703.aspx#11703 for a brief description). The data includes public IP.


2) I have a script now that uses <include> statements and multiple <expt> blocks to randomly assign subjects to 4 different groups and it seems to work okay. There is some concern that we will end up with unequal group sizes using truly random assignment. I don' think we can get around that, it's either truly random (so you may end up with unequal group sizes, even though they should tend to roughly equal size), or you can do a round-robin assignment where group size will always be about equal, but you lose "randomness" outside of the generally random nature by which we expect participants to come to the study to begin with. I guess this isn't a question so much as an inquiry as to what others have done and any opinions they have about it.


As you already noted, you can indeed assign participants to groups yourself (thus achieving near-equal Ns) and simply pass the designate group id to the launch page via a query parameter. In other words: You simply distribute different links to different participants.


For group 1 distribute

http://research.millisecond.com/username/myexperiment.web?mygroup=1

for group 2:

http://research.millisecond.com/username/myexperiment.web?mygroup=2

etc.

with the launch page set up to read out the mygroup parameter value and use as groupid.



By jbfleming - 12/18/2013

Okay, I currently have four <expt> blocks that look something like this:

<expt group_1>
/ subjects = (1 of 4)
/ groupassignment = random
/ blocks = [1=block1;2=block2;3=block3]
</expt>

If I pass in the group number (and probably subject number) via the URL, will I still have 3 <expt> blocks, and how do I tell them what value in "mygroup" to look for to determine which <expt> block to run?

Thanks!
John
By Dave - 12/18/2013

First you need to set the /groupassignment attribute to 'groupnumber'. Second you need to set the *launch page* to retrieve the groupid from a specified query parameter. This is not something you do in the script. You do this via the web script wizard when uploading the script, its associated files and configuring the various launch page options.
By jbfleming - 12/18/2013

Perfect, thank you! I am not to the point where I have a web account yet for me to experiment with the launch page, but that sounds straightforward. Thanks for the help!
By juju - 3/6/2014

Hi,

I am using web to run a lab experiment (multiple testing so it makes the data gathering easier) and I need to have a manual group assignment (1 for female and 2 for male - in variables, I defined 2 groups leading to different material in the script). However when creating the launch page there is no option "user entered" as for the subject number. I also tried using an old launch page including the group id option was present:
function GetGroupId()
{
    PromptMask  = /(^\d{1,2}$)/;
    PromptMessage = "Inserire gruppo partecipante";
    PromptError = "The ID you entered was invalid.";
    if ( PromptResult == null )
    {
        Prompt();
    }
    return PromptResult;
}
but it does not work: the group id is not asked.

If going via a query parameter is the solution I am not sure tough I understood what should I do. Could I have more info?

I know I can get around the problem by asking at the beginning of the experiment the gender question and then run different elements depending on the answer but I wonder whether I could do directly this at the level of the launch page with group assignment.

Thanks in advance
By Dave - 3/6/2014

> If going via a query parameter is the solution I am not sure tough I understood what should I do. Could I have more info?

Configure the launch page to retrieve group id from a query parameter. Enter the *name* of the query parameter (mygroup in the below example).

To launch condition 1, use

https://research.millisecond.com/myusername/myscript.web?mygroup=1

To launch condition 2, use

https://research.millisecond.com/myusername/myscript.web?mygroup=2
By juju - 3/7/2014

thanks for the tip

By katjusha_user - 4/2/2014

Hi Dave,


I want to build on this question. I am also using the Counterbalance Method und have defined it thusly:

<expt>
/subjects = (1 of 2)
/ blocks = [1=code; 2=attributepractice; 3=compatibletest1; 4=compatibletestinstructions; 5=compatibletest2;
                6=incompatibletest1; 7=incompatibletestinstructions; 8=incompatibletest2; 9=summary; 10=survey1; 11=survey2]
</expt>

<expt>
/subjects = (2 of 2)
/ blocks = [1=code; 2=attributepractice; 3=incompatibletest1; 4=incompatibletestinstructions; 5=incompatibletest2;
                6=compatibletest1; 7=compatibletestinstructions; 8=compatibletest2; 9=summary; 10=survey1; 11=survey2]
</expt>

I have omitted the " /groupassignment "  on purpose since I do not want the experimentees to have to submit group IDs or use different launching pages. Does the selection of the goups thus take place automically through Inquisit? I understood that the first of the two has to work on the first order and the second on the other. Is that correct?

Whenever I test the IAT local myself, I get the same order every time. This confuses me.

Greetings from Germany!

By Dave - 4/2/2014

If you only specify

/ subjects = (1 of 2)

and

/ subjects = (2 of 2)


this means that *odd-numbered subject numbers* (1, 3, 5, ...) will receive the 1st condition, and *even-numbered subject ids* (2,4,6, ...) will receive the 2nd one. If you only ever enter the same subject number (1), you will always get the same condition and you should.

None of this has anything to do with participants having to enter a subject or group number via the launch page. You simply ought to configure the launch page according to what you want (e.g. generate a random numerical id).

By katjusha_user - 4/2/2014

Great, this is exactly what I want. Well, I make use of "Random Selection Without Replacement" when configuring the launch page.

But whenever I test the IAT through the web URL, I always get the same order. Is that on purpose or by accident?
By Dave - 4/2/2014

I cannot possibly answer that without you providing the link to the respective launch page.
By katjusha_user - 4/2/2014

You can test it here:

http://research.millisecond.com/gfelser/trndPersil.web


But it's not finished yet...

(Code: You can use trnd00000)


By Dave - 4/2/2014

The launch page is generating random ids as expected. Note: Of course, when you are testing things, you *must refresh* the page after each test run to get a new id.
By katjusha_user - 4/2/2014


Of course I refreshed the page every time. Apparently I got always an odd-numbered subject ID (I checked it in my raw-data files). My mistake.

Thank you for your help!!!
odd-numbered subject numbersodd
odd-numbered subject numbers
odd-numbered subject numbers
odd-numbered subject numbers
By Dave - 4/2/2014

Ah, okay. The page clearly, though, generates both odd and even numbers (as it should): Here are some it just generated for me:

936303218, 324581520, 386877381, 945100840, 480338638, 721787645

You can always check that by viewing the page's source in your browser and finding the return value of
function GetSubjectNumber()