Tracking configuration

From Catglobe Wiki
Revision as of 10:22, 22 January 2009 by Catglobe (talk | contribs)
Jump to: navigation, search

Introduction

Version

This documentation is updated in April 2008 for Catglobe version 5.4. Catglobe menus and commands are in English.

Automated tracking

Catglobe offers a suite of best practices CG Scripts, which partners will be provided with upon request. Automated tracking is one of these scripts. The automated tracking CG script serves two main purposes:

  • Automatically sending the optimal number of emails in order to reach the weekly target.
  • Automatically direct the outgoing emails to specific target groups according to demands and continuously adjusted in accordance with the response.

Additionally, the system can be configured to send reminder emails to panelists who have not completed the survey within a certain time limit, if their quota is not closed.

Prerequisites

It is assumed that the reader is familiar with the general concepts of the Catglobe system, such as users, groups, rules, access rights, questionnaires, samples and quotas. Additionally, basic understanding of CG Script is required. This level of knowledge should be achieved with a Catglobe Data course I and II and some experience.

Requirements and limitations

The tracking should continue in one questionnaire for a certain (preferably long) period of time.

The tracking quotas used for targeting certain target groups must be based on weeks, must be labeled according to certain rules, and categorized into a maximum of 3 categories (see description below and appendix 2 - quotas).

The respondents must be existing users in the Catglobe system, and must be part of an existing panel with a questionnaire keeping information necessary for stratification (i.e. gender and age).

Group rules must be according to description in this document.

No guarantee is given regarding the scripts. Please contact Catglobe if any trouble is experienced. Functions included in the scripts are valid for the stated version of Catglobe.



Preparing the CG Ssript for a project

The script consists of two main parts, as shown in the image below; part 1, which must be modified according to project specifications, and part 2, which is a standard script that should not be modified. (some declarations)

//=======================================================
//PROJECT SPECIFIC CONSTANTS - BELOW THIS LINE ONLY =====
//=======================================================
(part 1 - project specifications)
//=======================================================
//PROJECT SPECIFIC CONSTANTS - ABOVE THIS LINE ONLY =====
//=======================================================
(part 2 - standard script)

In part 1 of the script, the following information must be filled in:

STEP 1. Choose test mode (test = true) or real mode (test = false) STEP 2. Add receipients for status email STEP 3. Specify a factor for each day of the week (no mails = 0) STEP 4. Keep quota time frames up-to-date STEP 5. Categorize quotas (type 1-3) and specify quota labels STEP 6. Specify rule id's for rules in group used by Bulk Mail STEP 7. Specify rule lables (for the same rules) STEP 8. Specify Bulk Mail id STEP 9. Specify RPQ id for a dummy user in the questionnaire SCRIPT EXTENSION FOR REMINDERS ------------------------------------ STEP R1. Choose if reminders should be sent (Additional groups required) STEP R2. (if reminders) Specify reminder delay days (max 7 days) STEP R3. (if reminders) Reminder day groups STEP R4. (if reminders) Reminder Temporary group id STEP R5. (if reminders) Specify rule id's for rules in group used by BulkMail STEP R6. (if reminders) Reminder bulkmail-id

1. Test mode or real mode

Use test mode (test = true) to test the script without actually rebuilding the group or sending any emails. Set test = false for real mode when the script has been tested.

Example:

//STEP 1. Choose test mode (test = true) or real mode (test = false)
bool test = true;

2. Email recipients

Each time the script is being executed, an email will be sent to recipients specified here. There is no limitation to the number of recipients. For each recipient, email address and name should be added as shown in the example.

Example:

//STEP 2. Add receipients for status email
// (Each respondent will need: email_recipient[] and
email_recipient_alias[])
arrayAdd(email_recipient, "john.smith@company.example");
arrayAdd(email_recipient_alias,"John Smith");
arrayAdd(email_recipient, "one.more@company.example");
arrayAdd(email_recipient_alias,"One More");

3. A factor for each weekday

For each day of the week, the total number of mails sent will be calculated as:

Number of mails = factor x (week quota target - week quota current)

For example if the week target is 100 and 40 respondents have completed until now, and today’s factor is 1.5; a total of 1.5 x (100-40) = 90 emails will be sent.

All seven weekday variables must be specified. If no emails are to be sent for a certain day of the week, set the factor = 0 for that day.

Example:

//STEP 3. Specify a factor for each day of the week (no mails = 0)
number factor_monday = 0.8; // normal in this project = 0.8
number factor_tuesday = 1.0; // normal in this project = 1.0
number factor_wednesday = 1.2; // normal in this project = 1.2
number factor_thursday = 1.5; // normal in this project = 1.5
number factor_friday = 2.0; // normal in this project = 2.0
number factor_saturday = 3.0; // normal in this project = 3.0
number factor_sunday = 4.0; // normal in this project = 4.0

It is recommended to send out every day. In case a mail out will have to wait, for example for modifications in the questionnaire, just change the questionnaire status to closed/paused/open for test. Emails will only be sent if the questionnaire status is open.

Which factors to choose will depend on the quality of the panel, the survey penetration, and other local variables. As a main rule, the factor should increase gradually from day to day during the week.

4. Quota time frames

If additional quotas are being used for stratification (see the quota section,) time frames must be specified.

A time frame has a start (time_frame_start) and an end (time_frame_end). The following rules must be complied with:

  • The number of time_frame_start and the number of time_frame_end must be equal.
  • For any time frame; time_frame_end <= time_frame_start
  • Two different time frames must never overlap each other.

Example:

//STEP 4. Keep quota time frames up-to-date
arrayAdd(time_frame_start,200751);
arrayAdd(time_frame_end ,200802);
arrayAdd(time_frame_start,200803);
arrayAdd(time_frame_end ,200806);
arrayAdd(time_frame_start,200807);
arrayAdd(time_frame_end ,200810);

5. Quota categorization and quota labels

One quota for each week must be created, and labeled according to the quota labeling convention (appendix 2). These quotas controls the total number of emails being sent. (These quotas should not be inserted in the script.)

When the only respondent requirement of a survey is the total number of interviews pr. week, no additional quotas will be needed. However, if we have more specific requirements, like i.e. 50/50 male/female, etc. additional quotas will be needed. The automated script supports stratification for up to 3 categories of additional quotas, for example gender, age group and geographical region.

If additional quotas (in addition to the week quota) are being used for stratification, these must follow the standard in appendix 2.

Additional quotas will not influence on the total number of emails.

Examples of quota categories are gender, age and geography. Typically one would have 2 gender quotas, a number of age quotas and / or geographic and/or other quotas.

For each quota, one arrayAdd() statement should be added as shown in the example below. The labels must match the last part of the quota labels exact.

//STEP 5. Categorize quotas (type 1-3) and specify quota labels
//project specific labels for quotas type 1
arrayAdd(quota_type_1_suffix,"Males");
arrayAdd(quota_type_1_suffix,"Females");
//project specific labels for quotas type 2
arrayAdd(quota_type_2_suffix,"Age 15-25");
arrayAdd(quota_type_2_suffix,"Age 26-39");
arrayAdd(quota_type_2_suffix,"Age 40-59");
arrayAdd(quota_type_2_suffix,"Age 60+");
//project specific names for quotas type 3
arrayAdd(quota_type_3_suffix,"Region 1");
arrayAdd(quota_type_3_suffix,"Region 2");



(more to come...)