Übersetzungen dieser Seite:
 

Quotierung

Bei der Zusammenarbeit mit Panel-Anbietern werden oft quotierte Stichproben gebucht. Der Fragebogen ist dann für den Quotenstopp verantwortlich: Liegen für eine demografische Gruppe also genug Fragebögen vor, werden weitere Teilnehmer dieser Gruppe an eine Quotafull-Adresse des Panel-Anbieters zurück geschickt.

Hinweis: Für andere Formen der Rekrutierung ist ein Quotenstopp i.d.R. nicht sinnvoll. Die Folge wäre, dass man die Mehrheit der interessierten Teilnehmer abweist – zugleich aber noch rekrutieren muss, damit man die fehlenden demografischen Gruppen vervollständigt.

Hinweis: Vorsicht beim Zusammenspiel von statistic() und redirect(). Der Befehl redirect() markiert die Fragebögen von Abbrechern und aufgrund der Quote abgewiesenen Teilnehmern als „abgeschlossen“, sodass sie von statistic() gezählt werden. Um hier falsche Zählungen zu vermeiden, ist es sinnvoll, die zu zählende Variable gegen Ende des Fragebogens mittels put() in eine Interne Variablen zu kopieren und mittels statistic() dann die interne Variable abzuzählen. Alternativ kann man in einer internen Variable für vollständige Fälle einen bestimmten Wert ablegen und dann mit statistic('filter', …) oder statistic('crosscount', …) arbeiten.

Tipp: Verwenden Sie den Debug-Modus und sehen Sie die Debug-Informationen an, wenn die Quotenstopp im Test nicht sofort funktioniert (Problemlösung bei Filterfragen).

Mit „demografische Zelle“ oder „demografische Gruppe“ ist jeweils eine Kombination der zu quotierenden Merkmale gemeint (z.B. „männliche Teilnehmer zwischen 15 und 25 Jahre“, wenn Alter und Geschlecht quotiert werden).

Prinzipiell kann man unverbundene und verbundenen Quoten prüfen. Bei der unverbundenen Quotierung werden die Merkmale einzeln nacheinander geprüft („Liegen schon genug Fragebögen von männlichen Teilnehmern vor?“ „Liegen schon genug Fragebögen von jungen Teilnehmern vor?“). Entsprechend wäre es bei der unbverbundenen Quotierung möglich, die Quoten mit jungen Frauen und alten Männer zu füllen – ganz ohne junge Männer. Bei der verbundenen Quotierung werden die demografischen Zellen überprüft („Liegen schon genug Fragebögen von jungen männlichen Teilnehmen vor?“). Die verbundene Quotierung ist damit weniger anfällig für systematische Verzerrungen (Konfundierung zwischen den demografischen Merkmalen) – allerdings werden auch mehr potenzielle Teilnehmer abgewiesen.

Technische Umsetzung

Die technische Umsetzung erfolgt mittels Einführung in PHP-Code und umfasst aus drei oder vier Teile:

  1. Eine Definition, welche Gruppen es gibt und wie viele Teilnehmer dort jeweils erlaubt sind. Hierfür kommt ein sog. Array zum Einsatz.
  2. Falls ein Merkmal umkodiert werden muss (z.B. Alter in Alterskategorien), werden interne Variablen in Verbindung mit der Funktion put() verwendet.
  3. Die eigentliche Überprüfung, ob der aktuelle Teilnehmer noch teilnehmen darf. Dies erfolgt mittels der PHP-Funktion statistic().
  4. Eine Umleitung (Redirect) von Teilnehmern, wenn eine demografische Zelle bereits gefüllt ist. Diese erfolgt mittels redirect() und i.d.R. sind noch Platzhalter erforderlich, um die Teilnehmer-ID des Panels an den Panel-Anbieter zu übermitteln (Mit externen Panel-Anbietern arbeiten).

Die zentrale Funktion hierbei ist statistic(), sie zählt, wie viele Fragebögen mit bestimmten Kriterien bereits vorliegen. Standardmäßig zählt statistic() nur abgeschlossene Fragebögen (Variable FINISHED), d.h. jene, bei denen die letzte Seite erreicht oder en redirect() aufgerufen wurde.

Wichtig: Wenn Sie redirect() verwenden, um Teilnehmer an den Anbieter zurückzuleiten, die zu schnell geantwortet haben („Speedster“) oder deren Antworten Qualitätsmängel aufweisen („Quality“), dann setzen Sie in der redirect()-Funktion den zweiten Parameter (true), damit diese Teilnehmer nicht für die Quote gezählt werden. Damit die Teilnehmer den Fragebogen dann nicht weiter ausfüllen können, setzen Sie ein setNextPage('repeat'); vor das redirect().

Umsetzung: Ein Merkmal

Im einfachsten Fall ist nur ein Merkmal zu quotieren. Das folgende Beispiel geht davon aus, dass Sie das Alter auf Seite 2 des Fragebogens mit einer geschlossenen Auswahl-Frage „AB01“ in 6 Stufen abgefragt haben:

1 = jünger als 18 Jahre
2 = 18-25 Jahre
3 = 26-35 Jahre
4 = 36-45 Jahre
5 = 46-55 Jahre
6 = älter als 55 Jahre

Sie möchten nur Personen von 18 bis 45 Jahre befragen, daher werden Teilnehmer, die nicht die Antwort 2, 3 oder 4 gewählt haben, gleich via Screenout zum Panel-Anbieter zurück geschickt. Der folgende Code geht davon aus, dass Sie eine Teilnehmer-ID im Platzhalter %panelID% gespeichert haben, wie in der Anleitung empfohlen: Mit externen Panel-Anbietern arbeiten

$ageGrp = value('AB01');
if (($ageGrp < 2) or ($ageGrp > 4)) {
  // Hier der individuelle Screenout-Link für die Studie
  redirect('http://www.anbieter.com/p1234567/screenout.php?id=%panelID%');
}

Nun definieren Sie in einem Array, wie viele Teilnehmer pro Ausprägung erlaubt sind. Im folgenden Beispiel wären das 100 Personen in Gruppe 2 (18-25) und jeweils 200 Personen in den beiden anderen Gruppen 3 und 4.

$limits = array(
  2 => 100,
  3 => 200,
  4 => 200
);

Dieser PHP-Code hat keine direkte Auswirkung auf die Verarbeitung der Seite. Die Obergrenzen werden erst weiter unten verwendet.

Nun wird ermittelt, wie viele abgeschlossene Fragebögen für die Altergruppe des aktuellen Teilnehmers schon vorliegen. Welche Altergruppe das ist, wurde oben bereist via value() ermittelt – hat man den Screenout im selben PHP-Code wie statistic(), kann die erste Zeile weggelassen werden.

$ageGrp = value('AB01');
$n = statistic('count', 'AB01', $ageGrp);  // Abzählen der Fragebögen mit AB01 = $ageGroup

Wichtig: Die Antwort des Teilnehmers wird erst zum Server übermittelt, wenn sie der Teilnehmer mittels „Weiter“ abgeschickt hat. Wenn die Frage „AB01“ auf Seite 2 des Fragebogens steht, kann value() frühestens auf Seite 3 platziert werden.

In Variable $n ist nun die Anzahl der ausgefüllten Fragebögen aus der Altersgruppe des Teilnehmers ($ageGroup) abgelegt. Diesen Wert kann man nun mit den oben definierten Obergrenzen ($limits) vergleichen. Die eckigen Klammern sorgen dafür, dass die richtige Obergrenze verwendet wird.

if ($n >= $limits[$ageGroup]) {
  // Hier der individuelle Quotafull-Link für die Studie
  redirect('http://www.anbieter.com/p1234567/quotafull.php?id=%panelID%');
}

Nachfolgended nochmal der komlette PHP-Code:

// Altersgruppe des aktuellen Teilnehmers auslesen
$ageGrp = value('AB01');
 
// Screenout
if (($ageGrp < 2) or ($ageGrp > 4)) {
  redirect('http://www.anbieter.com/p1234567/screenout.php?id=%panelID%');
}
 
// Obergrenzen
$limits = array(
  2 => 100,
  3 => 200,
  4 => 200
);
 
// Ermittlung der Anzahl abgeschlossener Fragebögen in dieser Altersgruppe
$nQnr = statistic('count', 'AB01', $ageGrp);
// Auslesen des Limit für diese Altergrsuppe
$nMax = $limits[$ageGrp];
 
// Quotenstopp
if ($nQnr >= $nMax) {
  // Hier der individuelle Quotafull-Link für die Studie
  redirect('http://www.anbieter.com/p1234567/quotafull.php?id=%panelID%');
}

Umkodieren

Falls das Alter nicht geschlossen, sondern offen abgefragt wurde, muss es zunächst umkodiert werden. Die Altersgruppe muss dann im Datensatz abgelegt werden, damit statistic() korrekt zählen kann.

Legen Sie zunächst eine Frage vom Typ interne Variablen an (z.B. Kennung „IV01“) und darin eine Variable (Item), welche Sie z.B. mit „Altersgruppe“ beschriften (Kennung z.B. „IV01_01“).

Das folgende Beispiel geht davon aus, dass die offene Frage nach dem Alter mit einer Texteingabe (Beschränkung „nur Ziffern“) mit der Kennung „AB02_01“ abgefragt wird.

$age = (int)value('AB02_01');
 
// Umkodieren
if ($age < 18) {
  $ageGrp = 1;
} elseif ($age <= 25) {
  $ageGrp = 2;
} elseif ($age <= 35) {
  $ageGrp = 3;
} elseif ($age <= 45) {
  $ageGrp = 4;
} else {
  $ageGrp = 5;
}
 
// Im Datensatz speichern
put('IV01_01', $ageGrp);

Dieser PHP-Code wird einfach vor die Qutierung (s. oben) gesetzt. Im PHP-Code für die Quotierung würde dann AB01 durch IV01_01 (die kennung der internen Variable) ersetzt.

Unverbundene Quoten

Die Prüfung unverbundener Quoten erfolgt nun einfach dadurch, dass man den PHP-Code für die Quotierung (s. oben) für jedes Merkmal wiederholt. Dabei müssen lediglich die Kennung für die Variable (AB01) und die Obergrenzen ($limits) angepasst werden.

Verbundene Quoten

Für verbundene Quoten wird statistic('crosscount', …) statt statistic('count', …) eingesetzt. Außerdem muss eine ID für die demografische Zelle erstellt werden.

Das folgende Beispiel geht davon aus, dass die Altergruppe in Variable „IV01_01“ vorliegt (Codes 2 bis 4, s. oben) und das Geschlecht in Variable „AB03“ (1=weiblich, 2=männlich).

Als Kennung für die demografische Zelle werden die beiden Zahlen einfach durch einen Bindestrich getrennt zusammengefügt. Der String '2-1' steht dann für weibliche Teilnehmer (2) aus der Altersgruppe 18-25 Jahre (1). Anhand dieser Kennungen werden die Obergrenzen definiert.

// Merkmale auslesen
$ageGrp = value('IV01_01');
$gender = value('AB03');
 
// Evtl. Screenout
if (($ageGrp < 2) or ($ageGrp > 4) or ($gender < 1)) {
  redirect('http://www.anbieter.com/p1234567/screenout.php?id=%panelID%');
}
 
// Kennung für die demografische Zelle erstellen
$demID = $ageGrp.'-'.$gender;
 
// Obergrenzen definieren
$limits = array(
  '1-1' => 50,
  '1-2' => 50,
  '2-1' => 100,
  '2-2' => 100,
  '3-1' => 100,
  '3-2' => 100
);
 
// Abgeschlossene Fragebögen zählen
$n = statistic('crosscount', array('IV01_01', 'AB03'), array($ageGrp, $gender));
 
// Quoten prüfen
if ($n > $limits[$demID]) {
  redirect('http://www.anbieter.com/p1234567/quotafull.php?id=%panelID%');
}
de/survey/quota.txt · Zuletzt geändert: 19.07.2017 20:16 von autsch
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki