Guten Tag,
ich arbeite gerade an einer Quotierung für eine Erhebung. Die Stichprobe soll folgendermaßen quotiert werden:
- Insgesamt 320 Personen
- 224 Personen < 50 Jahre alt (Altersgruppe 1)
- 96 Personen > 50 Jahre alt (Altersgruppe 2)
- Geschlechterverteilung männlich (1) und weiblich (2) etwa gleich (ca. 160 m, 160w), aber die Option "divers" (3) besteht auch - da diese aber wahrscheinlich nur geringfügig genutzt werden wird und eine optimale Aufteilung in 50/50 nicht zentral ist, habe ich für alle Optionen unten die gleichen Werte gesetzt
Den ersten Punkt (320 Personen maximal) habe ich so gelöst:
Auf der ersten Seite findet sich der folgende Code mit der internen Variable Q002_01
// Quotenstopp insgesamt
if (statistic('count', 'Q002_01', 2) > 320) {
redirect('https://mingle.respondi.com/s/1478041/ospe.php3?c_0002=2&return_tic=%reference%');
}
und auf der vorletzten Fragebogenseite dieser Code:
// Speichern vollständiger Fragebogen in der internen Variable Q002_01 für Quotenstopp insgesamt
put('Q002_01', 2);
// Complete-Redirect
redirect('https://mingle.respondi.com/s/1478041/ospe.php3?c_0002=1&return_tic=%reference%');
Um die demografischen Gruppen abzudecken habe ich mich für eine verbundene Quotierung entschieden. Nach den demografischen Fragen (auf Fragebogen Seite 1) habe ich also den folgenden Code platziert:
// Quotenprüfung zu Beginn
$quota = [
'1-1' => 112, '1-2' => 112, '1-3' => 112, // 112 Personen pro Geschlecht für die Altersgruppe 1
'2-1' => 48, '2-2' => 48, '2-3' => 48 // 48 Personen pro Geschlecht für die Altersgruppe 2
];
// Auslesen Geschlecht & Alter
// Geschlecht wird direkt ausgelesen
$gender = value('KO02');
// Das Alter wird umkodiert
$age = value('KO01_01');
if ($age <= 50) {
$ageGroup = 1;
} elseif ($age > 50) {
$ageGroup = 2;
}
// Definition einer Variable mit Altersgruppe und Geschlecht
$demGroup = $ageGroup.'-'.$gender;
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'Q001_01', $demGroup);
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
// Quotenstopp Demografisch
if ($cases >= $maxPerGroup) {
redirect('https://mingle.respondi.com/s/1478041/ospe.php3?c_0002=2&return_tic=%reference%');
}
und auf der vorletzten Fragebogenseite (vor dem Redirect von oben) diesen Code:
// Auslesen Geschlecht & Alter
// Geschlecht wird direkt ausgelesen
$gender = value('KO02');
// Das Alter wird umkodiert
$age = value('KO01_01');
if ($age <= 50) {
$ageGroup = 1;
} elseif ($age > 50) {
$ageGroup = 2;
}
// Definition einer Variable mit Altersgruppe und Geschlecht
$demGroup = $ageGroup.'-'.$gender;
// Speichern der Gruppenzugehörigkeit in der internen Variable Q001_01
put('Q001_01', $demGroup);
Wenn ich den Debug-Modus richtig deute, funktioniert der gesamt Quoten-Stopp (für die maximale Teilnehmeranzahl) auch.
Beim Testen komme ich allerdings nicht mehr auf die zweite Fragebogenseite, sondern werde direkt auf den Panelanbieter redirected.
Können Sie mir hier weiterhelfen, woran das liegen könnte?
Herzlichen Dank schon im Voraus für die Hilfe!