Random selection using Systematic Random Sampling

Helo,
I have a question asking total list of households in a villages. I want to random select a household an enumerators should start a data collection from the list (starting point) then continue with other households using a pre-calculated skip interval. For example, for example, my sample is 40/village so a village with 200 household will have 5 skip interval, but my question is from which household should enumerator start and continue with the interval of 5?
Thanks,

Welcome to the community, @fakhijr! I assume this is something you could manage through your sample frame.

Hello,
This is more a general survey/sampling question. I would start with a random number 1…5 for each enumerator in a village. You can use e.g. five small sheets of paper.
You might also think about replacements, e.g. if a HH don’t want to participate or cannot be contacted. And if/how you record those cases.

Hi @fakhijr
I agree with @wroos that this is more of a sampling logic before it becomes a scripting issue. The moment you address the sampling logic the easier it is to implement the scripting logic. Arguing as a researcher, I would say you are planning on a systematic random sampling approach. If this is the case then I would recommend the following steps.

  1. Step 1: Get the total number of households and create a question e.g. HHCount

  2. Step 2: Create a calculate question (${skipInt}) that determines the skip interval by using the formula ${HHCount} div 40

  3. Step 3: Create a calculate question that determines random start number i.e. the first household to be sampled using the formula *once(int((${skipint}-1)random())+1)

  4. Step 4: Create a group containing 40 questions (remember your sample size?) that are follow a systematic addition of skipinterval to the random start number and then subsequently to the lasthousehold number.

I have worked out a sample form

RandomSelectionofHouseholds.xlsx (12.3 KB)

type name label required calculation
start start
end end
integer TotalHH Total Households TRUE
integer skipint Skip Interval false ${TotalHH} div 40
integer RandomStartHousehold Random Start Household false once(int((${skipint}-1)*random())+1)
begin_group SelectedHouseholds Selected Households
integer HH1 Household 1 ${RandomStartHousehold}
integer HH2 Household 2 ${HH1} + ${skipint}
integer HH3 Household 3 ${HH2} + ${skipint}
integer HH4 Household 4 ${HH3} + ${skipint}
integer HH5 Household 5 ${HH4} + ${skipint}
integer HH6 Household 6 ${HH5} + ${skipint}
integer HH7 Household 7 ${HH6} + ${skipint}
integer HH8 Household 8 ${HH7} + ${skipint}
integer HH9 Household 9 ${HH8} + ${skipint}
integer HH10 Household 10 ${HH9} + ${skipint}
integer HH11 Household 11 ${HH10} + ${skipint}
integer HH12 Household 12 ${HH11} + ${skipint}
integer HH13 Household 13 ${HH12} + ${skipint}
integer HH14 Household 14 ${HH13} + ${skipint}
integer HH15 Household 15 ${HH14} + ${skipint}
integer HH16 Household 16 ${HH15} + ${skipint}
integer HH17 Household 17 ${HH16} + ${skipint}
integer HH18 Household 18 ${HH17} + ${skipint}
integer HH19 Household 19 ${HH18} + ${skipint}
integer HH20 Household 20 ${HH19} + ${skipint}
integer HH21 Household 21 ${HH20} + ${skipint}
integer HH22 Household 22 ${HH21} + ${skipint}
integer HH23 Household 23 ${HH22} + ${skipint}
integer HH24 Household 24 ${HH23} + ${skipint}
integer HH25 Household 25 ${HH24} + ${skipint}
integer HH26 Household 26 ${HH25} + ${skipint}
integer HH27 Household 27 ${HH26} + ${skipint}
integer HH28 Household 28 ${HH27} + ${skipint}
integer HH29 Household 29 ${HH28} + ${skipint}
integer HH30 Household 30 ${HH29} + ${skipint}
integer HH31 Household 31 ${HH30} + ${skipint}
integer HH32 Household 32 ${HH31} + ${skipint}
integer HH33 Household 33 ${HH32} + ${skipint}
integer HH34 Household 34 ${HH33} + ${skipint}
integer HH35 Household 35 ${HH34} + ${skipint}
integer HH36 Household 36 ${HH35} + ${skipint}
integer HH37 Household 37 ${HH36} + ${skipint}
integer HH38 Household 38 ${HH37} + ${skipint}
integer HH39 Household 39 ${HH38} + ${skipint}
integer HH40 Household 40 ${HH39} + ${skipint}
end_group

PS; Changed your heading to help others find this topic easily

Stephane

2 Likes

Thanks all for the support. The script you @stephanealoo worked well and this is exactly what I wanted.
Cheers

2 Likes