Hallo zusammen,
schonmal vielen Dank im Voraus für die Hilfe zu meiner Frage.
Ich habe anhand der Quotierung mittels statistic() demographische Quoten eingeführt, die beim testen mit zB Quote auf 0 setzen funktioniert haben und dann anhand des Quotafull Redirects aussortiert wurden.
Beim Launch des Fragebogens wurden die Quoten allerdings überschritten und die Quotafull Links haben haben nicht gegriffen, weshalb meine Teilnehmeranzahl und Quoten nun überfüllt sind.
Woran kann es liegen, dass die Quoten nicht gegriffen haben?
Hier ein Beispiel des PHP Codes:
$quotaGender = [
1 => 836, // Frauen
2 => 814, // Männer
3 => 28 // Divers
];
$quotaAge = [
1 => 346, // 270 Personen in Altersgruppe 1 (18-29 Jahre)
2 => 280, // 210 Personen in Altersgruppe 2 (30-39 Jahre)
3 => 412, // 300 Personen in Altersgruppe 3 (40-49 Jahre)
4 => 346, // 255 Personen in Altersgruppe 4 (50-59 Jahre)
5 => 264 // 195 Personen in Altersgruppe 5 (60-69 Jahre)
];
$quotaRegion = [
1 => 215, // BaWue
2 => 264, // Bayern
3 => 65, // Berlin
4 => 50, // Brandenburg
5 => 17, // Bremen
6 => 33, // Hamburg
7 => 120, // Hessen
8 => 33, // MeckPom
9 => 165, // NiederSachs
10 => 363, // NRW
11 => 83, // Rheinland-P
12 => 17, // Saarland
13 => 82, // Sachsen
14 => 49, // SachsenAnhalt
15 => 66, // SchleswigHol
16 => 49 // Thüringen
];
// Geschlecht wird direkt ausgelesen
$gender = value('SO02');
// Das Alter wird umkodiert
$age = value('age');
if ($age <= 29) {
$ageGroup = 1;
} elseif ($age <= 39) {
$ageGroup = 2;
} elseif ($age <= 49) {
$ageGroup = 3;
} elseif ($age <= 59) {
$ageGroup = 4;
} elseif ($age <= 99) {
$ageGroup = 5;
} else {
$ageGroup = 6;
}
// Region wird direkt ausgelesen
$region = value('SO03');
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$casesGender = statistic('count', 'SO17_01', $gender);
$casesAge = statistic('count', 'SO18_01', $ageGroup);
$casesRegion = statistic('count', 'SO19_01', $region);
// Screenout
if (!array_key_exists($gender, $quotaGender) || !array_key_exists($ageGroup, $quotaAge) || !array_key_exists($region, $quotaRegion)) {
redirect('https://survey.maximiles.com/quotasfull?p=147816_487548d3&m=%reference%');
}
// Auslesen der Quoten für die angegeben Merkmale
$maxPerGender = $quotaGender[$gender];
$maxPerAge = $quotaAge[$ageGroup];
$maxPerRegion = $quotaRegion[$region];
// Quotenstopp
if (($casesGender >= $maxPerGender) || ($casesAge >= $maxPerAge) || ($casesRegion >= $maxPerRegion)) {
redirect('https://survey.maximiles.com/quotasfull?p=147816_487548d3&m=%reference%');
}