# Show different questions for each participant the same number of times

1 month 4 weeks ago #218453 by pvharmo
Hello,

I have a survey where each participant is given one out of 5 questions. Is it possible to make sure that the 5 questions are shown approximately (± 2 or 3) to the same number of participants?

1 month 4 weeks ago #218454 by holch
Not sure if I understand this right, you want to show 1 out of 5 questions randomly to the same number of people?

You can create a random number between 1 and 5 and show the questions accordingly. However, given that there are 5 questions to choose from and you want to have each question to be shown to 2-3 people, I assume your sample size is n=15.

With such small numbers, chances are very high that the 5 questions are not evenly distributed.

But maybe I got it wrong.

How do these people access the survey? Via token?

Then you could do a semi-random approach and create a custom attribute. Then you let someone else who has nothing to do with the survey distribute 3 sets of the 5 questions to the different participants.

This way the questions are more or less randomly assigned to the participants. Or you put 15 little papers in a bowl with the numbers of the questions (5x 3) and draw them randomly and insert them into token table.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

1 month 4 weeks ago #218455 by pvharmo

I don't know how many participants there will be (probably more than 100) but I want each question to have approximately the same number of responses. The number of responses for each question doesn't need to be exactly the same, but I would like the difference to remain between 2 or 3 responses. (In this case, an acceptable range would be between 18 and 22 participants by question if there were 100 participants).

The participants will be contacted through a mailing list and the participation rate is relatively low, so I'm afraid that using a token might not give a good balance of answers for each question.

I thought about showing the questions randomly, but since it's for a research, I want to make sure that we get a good balance of answers between each question the first time.

I thought showing the questions based on the number of surveys completed. For example, survey A would be shown each time the number of surveys completed is a multiple of 5 and survey B each time it is a multiple of 5 + 1, etc.
However, I couldn't find a way to get the number of surveys completed directly in the page of the survey.

1 month 4 weeks ago - 1 month 4 weeks ago #218456 by holch

The participants will be contacted through a mailing list and the participation rate is relatively low, so I'm afraid that using a token might not give a good balance of answers for each question.

Agreed. If you send it out to a big group with a low response rate, the idea with pre-defining is not a good option. It was because I thought it is a small sample with people you know well (like an internal team, etc.).

In your case, I don't think this makes sense.

I think the only thing you could really do is to actively observe the number of people coming in and adapt accordingly.

E.g. you could create a random number of between 1-50. So 1-10 is question 1, 11-20 is question 2, etc.

This way, when you see that one question is quite high and another one is quite low, you could adapt the relevance equations that show the respective questions based on the random number accordingly.

Another tought could be to check, depending on the version you use either the plugin from denis that allows you to access statistics within the survey (in case of LS3). In LS4/5 a similiar approach seems to be already implemented in LS without a plugin. But I am not familiar with it, because I haven't used it myself yet and I have seen only few examples talking about this in the forum yet.

With this, it should be possible to create a "least filled/lowest bucket" system. That will spill over to other buckets when one is full.

But this could be quite a lot of work and if this is just for one project, the manual approach might be the one that will do the trick.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Last edit: 1 month 4 weeks ago by holch.

1 month 4 weeks ago #218457 by pvharmo
Thank you. This is really helpful.
I'll take a look at accessing statistics from the survey, this is exactly what I was looking for. The other option also seems a reasonable answer to the problem.

1 month 4 weeks ago #218458 by holch
Another option that just came to my mind is using the SAVEDID. This is the consecutive number given by Limesurvey. So in theory the last digit would be always a sequence from 0 to 9. It is also not perfect, because people who dropout would ocupy one of the numbers, if someone drops out after the random number was drawn in the other solution, you would have similar problems.

And assuming that there is no connection between the last digit of the SAVEDID and dropouts, you should get a pretty good equal distribution of the numbers between 0 and 9. So you could check the last digit of the savedID and use it to guide all with 0 and 1 to question 1, 2 and 3 to question 2, etc.

Yes, it won't be a perfect distribution, but the numbers in theory should be better distributed than a random number, in my opinion. Just some food for thought.

Let's see what the other folks in the forum like @tpartner, @joffm, @denis , @jelo have to say.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
The following user(s) said Thank You: pvharmo

1 month 3 weeks ago #218460 by tpartner
Denis' plugin is called getStatInSurvey. It is a core plugin for 5.x.

- gitlab.com/SondagesPro/ExportAndStats/getStatInSurvey

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

1 month 3 weeks ago #218484

Denis' plugin is called getStatInSurvey. It is a core plugin for 5.x.

- gitlab.com/SondagesPro/ExportAndStats/getStatInSurvey

Totally different
3.X : more hack and need JS, can not be used in relevance
5.X : can be used directly in relevance.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
The following user(s) said Thank You: holch, pvharmo