Quota management

This article is accompanied by sample forms, dataset definitions and sample data saved in this folder.

1. Introduction

If your data collection project is using quota sampling, you may have respondent quotas based on demographics or other strata. For example, you may only need 30 male adults and 30 female adults to meet your sample size. After you reach those quotas, you no longer need to collect data for those strata. It would then be an inefficient use of your enumerators' time to continue interviewing respondents that are a member of a stratum that reached their quota.

In this use case, the form will start by asking about the respondent's demographic information. If the quota for that demographic has already been met, then the form will end, without adding to the new respondent.

This use case covers the following sections:

  1. Deploy the workflow now!
  2. Overview
  3. Workflow components
  4. Customization and improvements

2. Deploy the workflow now!

Click below to view this workflow in the Hub and install it on your server.

Install Workflow

Advanced users can find the sample workflow files in this folder. For help with manual deployment, check out our support article Deploying form definitions and server datasets.

3. Overview

In this workflow, you will be able to:

surveycto_icon.png Prepare a server dataset with different strata, and the quotas for each stratum.
surveycto_icon.png Track how many respondents have been interviewed for each stratum.
surveycto_icon.png End an interview early when a stratum's quota has been met.

To learn more about server datasets, check out our support article How to create a server dataset.


Prepare a server dataset with quotas for each stratum. In this example, each stratum has a quota of 5.

The 'num_collected' column should start at 0 for each row (the sample data has different values, as if some respondents have already been interviewed). As the respondents are interviewed, the values will go up, counting the number of respondents interviewed for each stratum.

Enter information about the respondent.

Complete the form when the quota for that respondent's stratum has not been reached.

Be rejected when the quota for that respondent's stratum has been reached.

Importance of frequent syncs

If your project has multiple enumerators and they do not have the latest server dataset data, they may overtake the quota. This is because other enumerators may interview respondents of a specific stratum, meeting the quota, but there is no way for SurveyCTO Collect to know this without having the latest dataset data.

For example, let's say the quota for stratum 1-1 is 30, and there have already been 28 respondents interviewed for stratum 1-1. Enumerator A and Enumerator B both get the latest dataset data. Enumerator A then interviews two more respondents that are a part of stratum 1-1, meeting the quota of 30. But, Enumerator A does not submit that data to the server right away. Then, Enumerator B goes to interview more respondents, who also happen to be part of stratum 1-1. Since Enumerator B does not have the latest dataset data, they still have the record stating that only 28 respondents have been interviewed for stratum 1-1, since they do not yet have the updated records of the two stratum 1-1 respondents interviewed by Enumerator A. So, Enumerator B conducts two unnecessary interviews, bringing the total number of stratum 1-1 respondents interviewed to 32 instead of 30.

This isn't necessarily a bad thing, but it could cause unnecessary work for the enumerators. For tips on how to mitigate this issue, check out 5. Customization and improvements below.

Note: In this example, the 'num_collected' column would successfully track how many respondents were interviewed for that stratum, showing a 'num_collected' value of 32 instead of 30.

4. Workflow components

This workflow has 1 form and 1 server dataset.

Workflow Component Files
Click on the section to access the files.
Name Quota management
File(s) Definition: Form definition - Quota management
Description The form that is filled out. It starts by asking demographic information about the respondent. If the quota for their stratum has already been met, then the form will end early. Otherwise, the main questions will be asked, and when it is submitted, it will add 1 to their stratum's counter in the server dataset.
Server Datasets
Name Quotas
Files(s) Definition: Server dataset definition - Quotas.xml
Data: Server dataset data - Quotas
Description Tracks the number of respondents interviewed in each stratum so far, as well as the quota for each stratum. This sample has four stratum: male adults, female adults, male children, and female children. Sample data is also included, but to test the workflow fresh, you don't have to use the data.

5. Customization and improvements

SurveyCTO has endless possibilities, so this workflow is only the beginning. Feel free to modify and expand on this workflow to fit your own needs. Here are some tips on what you can add:

  • Set up automatic submissions so as soon as a form is finalized, it is submitted to the server. That way, enumerators will have the latest data on which quotas have been met so far, and how many respondents have been interviewed for each stratum, so they are less likely to overtake the quota. See 3.1 Importance of frequent syncs above for more information. You can easily distribute these settings using a default device configuration.
  • If there is only one enumerator, use advanced offline dataset publishing, so they do not have to submit their data after every form they fill out. In this specific case, if you have quotas to be met by an enumerator, you might also use an enumerator dataset to track their progress and manage their quotas.
  • Set up automated quality checks to flag when a quota has been met. For more specific alerts via email, SMS text, or a different communication channel, consider using Zapier.
  • If you do not want the form to be submitted at all if the quota has been met, make "met_quota" a required field. That way, enumerators will not be able to submit the form as long as that field is relevant. Be sure to also update the label to tell enumerators to close the form without saving.
  • If it is important to display your quota progress to enumerators so that they can plan ahead, create a note field to display pre-loaded values from your Quotas dataset. You should be able to display the quotas, how many submissions have been collected so far for each quota, and even calculate how many are left using a calculate field.

Do you have thoughts on this guide? We'd love to hear them! Feel free to fill out this feedback form.


Article is closed for comments.