Quotas defined¶
Note
For an explanation of the balancing system, see SelectCells.
A quota (also called ‘quota cell’) is a counter that keeps track of the number of people in certain groups that completed your questionnaire. For instance you can create two counters to count the number of males and females that completed:
Note
Throughout the documentation the words ‘Cell’ and ‘Quota’ are used intermixed. They have the same meaning.
Male => Gender = 1 Female => Gender = 2
Settings¶
The ‘Target’ setting¶
Each quota can have a target. The target indicates how many people you want in the given groups
The expression¶
This is a logical expression that decided whether the current respondent should increase this cell on completion time. An example, if you want to only count people born before 1990 could be:
YearBorn < 1990Of course this assumes that variable YearBorn is an item in the questionnaire and that it is defined as a numeric value.
Hard versus Soft quotas¶
You can mark a quota ‘hard’ when you want to base logic in your questionnaire based on the cell either being full or not. For instance, it can happen that you want 100 people in your cell, but after that you want to terminate the respondents. In case you just want a counter but do not want to base the workings of your questionnaire on that counter, just leave the ‘hard quota’ setting unchecked.
The ‘Ignore complete status’ setting¶
In the majority of cases you want to count the number of respondents who qualified for your questionnaire. For instance you only want ‘Electric Shavers’ and anybody who does not shave electrically you want to terminate. By default, quota counters only count people the moment they reach the ‘qualified complete’ status. This is a setting in the end screen/exit point that is processed for the respondent.
However, sometimes you still want to keep count of the people who terminate. In that case you can select the ‘Ignore complete status’ setting. The moment somebody becomes an unqualified complete (which is the moment an end-screen/exitpoint, set to ‘unqualified’ is processed for that respondent), the respondent will still be counted in that cell.
Global quota variables¶
There are two variables that you can use in the logic of your questionnaire (typically a routing point) that are driven by the status of your quota cells:
the QuotaStop variable¶
This variable is 1 when the respondent is eligible for any cell that has the ‘hard quota’ property set AND that cell had reached its target. This variable is 0 when the respondent is not eligible for any such cell. Note that a respondent can be eligible for a full cell and at the same time eligible for a cell that has not reached its target yet. The QuotaStop variable will still be 1 in that case. For the reversed logic of that, see the QuotaStop variable.
Use this variable if you want to terminate people who are going to fall into a cell that is full, using the following routing point code:
QuotaStop = 1
the QuotaGo variable¶
This variable is 1 when there is ANY cell the respondent is eligible for has the ‘hard quota’ property set AND that cell has not reached its target yet. The difference with the QuotaStop variable is that somebody can be eligible for a cell that is already full but at the same time for another cell that has not reached its target yet. The use of the QuotaGo variable makes sure the respondent can still continue. For the reversed logic of that, see the QuotaGo variable.
QuotaGo = 1
Derived quota variables¶
Quotas each have a variable name that you assign. The variable name is like any other variable name in dotData, you can use it in your questionnaire. Quotas have a few derived variables, which are the following:
[quotaname]Eligible¶
This variable indicates whether the current respondent, based on his or her current answers, would fall into the given quota cell on completion:
AgeGroup1Eligible = 1
[quotaname]Reached¶
This variable indicates whether the quota with the given name has reached a value the size of its target:
AgeGroup1Reached = 1
[quotaname]Percentage¶
As opposed to the [quotaname] variable, this one does not contain the absolute number of completes counted in it but the percentage to which it is filled at the current point in time:
AgeGroup1Percentage > 50
[quotaname]Description¶
This variable contains the description you gave to the quota. Typically this is used to build ad-hoc overviews since it’s hard to imagine a scenario where such description would be valuable for the respondent.
‘Manually’ counting quotas¶
In the vast majority of cases it’s perfectly handy that the system keept track of the counter values. The moment somebody completes their questionnaire, the relevant counters increase by 100
However sometimes you want to count people who did not complete, or you want to applpy script logic to the increasing condition of the quota. In that case two steps should be taken:
make sure the expression of the cell disables automatic counting:
1=0
in a script item, apply manual code to count the counter using the PunchQuota function:
PunchQuota('MyQuotaName')
Dynamically calculate targets based on incidence¶
This part of the documentation is under construction
Setting things up¶
You can both set up quotas online and by downloading/uploading Excel files. When you have many cells, often it’s easier to define them in Excel. You can download an empty Excel file which will contain the columns. In the second tab of the Excel sheet you will see a guide to the meaning of the columns.
A few properties of cells that might not be self-explanory are:
- Current¶
Enter a number here to hard-set the current count of the cell. Usually you would want the cell to start at 0 and just count up but in certain cases you could opt to manipulate the current count manually. Leaving this field empty means that the current value will not be updated and the system value will remain. Typing a 0 will revert the cell to the start position.
- Expression¶
This is a logical expression that decided whether the current respondent should increase this cell on completion time. An example, if you want to only count people born before 1990 could be:
YearBorn < 1990Of course this assumes that variable YearBorn is an item in the questionnaire and that it is defined as a numeric value.
- Visibility¶
This setting drives the visibility of the cell in certain overviews. Sometimes a cell is just a support-cell that does not need to be visible in quick overviews.
- Incidence base¶
Set a 1 here when you want to count a group of people that is within your incidence group but does not qualify for your questionnaire, for instance because they don’t use a certain product.
This setting is used to auto-calculate targets for setups that require a per-cell target that is based on the real incidence.
- Use Locks¶
Set this value to 1 if you want this cell to lock when then second last respondent comes into the questionnaire. That means other respondents will be screened out during the session of the former. Use this if you want to guarantee that no more people finish the questionnaire then required, even when people are in the session simultaneously.
- LanguageID¶
Set this value to any language code within the system to tell the system that this quota does only apply to respondents in a certain language. Using this value the system can process cells faster because it knows which cells to skip when determining which ones are valid based on their expressions.
Use this when you have many quota cells (thousands) and the end screen of the questionnaire may appear significantly slower than other screens.
- Punch value¶
In case you want dotData to balance the cells for you, set a value here so the system knows which values to punch into the list of selected cells for the current respondent.
Note
Alternatively you may want to name your cells with a numeric suffix, eg ConceptUK1, ConceptUK2. When no punch value is present, the system will either punch the value 1 or 2 into the selected concept, based on the name of the cell. This mechanism is considered legacy.
- Notification groups¶
The notification group(s) you want to assign to a quota. Keep group names short, they are like variable names. That means don’t use spaces or long descriptions. see Setting up notification groups
Setting up notification groups¶
You can make the system send out a notification by mail whenever a certain group of quotas is full. For instance you may want to assign quotas to a group ‘US’, ‘EUROPE’, or ‘PRODUCTUSERS’. Then, once the last quota in that group has reached its target, a mail notification will go out.
To define groups, just enter the name of the group in the quota definitions. If a quota is in multiple groups (for instance US and PRODUCTUSERS), you can separate them with a comma.
To finalize the setup of notification groups, create an item of item type ‘Quota notification’. This is in essence a mail item. You can use all regular expressions and variables in this mail item to fill it with the information you need. Typically the mail subject or the mail text can contain these items:
[# Questionnaire.linkname #] => this is the project number [# Questionnaire.listname #] => this is the project description [# NotifyCells #] => this is the group (or groups) that triggered this mail [# MyCell #] => You can list any other current cell value as additional informationNote
The position of the notification item should be straight after the end-of-questionnaire item.
Auto-locking cells that are almost full¶
You can set cells to lock after the last x eligible respondent is found. That way you can guarantee that no more respondents come in then strictly necessary. While eligible respondents are still in their session, new respondents in that cell will be locked out. Should the respondent abandon their session and not reach a complete status, the cell will unlock after the amount of minutes you set.
Quotas overview¶
You can see quotas status of any project. Benefit of this overview is a way to quickly isolate the quotas you’re interested in and have better view of how your quotas are doing.
You can access this screen if you go to any project then click on “QUOTAS” on the navbar menu then from the dropdown select “OVERVIEW”.
When the view is loaded expand the “Create a direct-access url for this view” section.
Then just click on blue highlighted option “Overviewsscreen” or copy the link next to it.
When you load “Overview screen” in new tab or window then on the top of the screen you have following checkboxes that will display more information:
- Display activity¶
When this is checked then project progress is displayed. How many completes were some date range. Progress is divided in 4 different colors:
Green (completes in last 24 hours)
Light blue (completes in last 48 hours)
Yellow (total progress from date set)
Red (total needed completes)
- Display crosstabs¶
Crosstabs allows you to group split quotas based on a mask. Let’s say you want to target all quotas that contain word TOT but we don’t want to show all quotas that contain that word instead what we want is to split-group them.
Usage for quota split is following: TOT*GEN*
With split example above we are targeting all quotas that contain TOT (usally stands for total) in their name and GEN (usually stands for gender). This split will show us a table with quota information we wanted. Usage also can support multiple selections. These are separated with || (two pipes) operator.
Usage for split multiple selections is following: TOT*GEN*||TOT*AGE*
The usage above will create two tables. If you want only to see quota totals status (target, completes, need) for specific quota split-group.
The Usage is following: TOT*(Group1||Group2||Group3).
Please note that content within the brackets can be only one group or multiple. This usage will show you quotas progress for specific group (target, completes, need) in a table based view.
- Regular lookup¶
If you just want to brute forse search for specific quota then when the screen is loaded you can just use the search box. This will automatically update the view as you are typing. Quotas which don’t match what you typed will be hidden for better view.
Note
When you’re finished with your quota overview setup and you want to show it to someone, changes are saved within the url which means that if you copy the link and send it to someone then he or she will have the same view.
