When and Why to Use
Use this to dynamically select a subset of items that have the fewest responses (i.e. are underrepresented) in a given quota. Ideal for:
Ensuring even coverage across a large set of items (e.g., brands, ads, concepts)
Avoiding over-exposure or over-sampling of frequently selected items
Dynamically balancing stimulus presentation
This does not enforce quotas or terminate users. It simply ranks items by current counts and returns the least-filled ones.
How It Works
Takes a list of items
Checks which ones are least filled in the named quota
Returns the top N least-filled items
Often paired with
multi_select_question
orselect_question
Configuration Options
Parameter | Type | Required | Description |
|
| yes | Number of items to return |
|
| yes | Full list of items to choose from |
|
| yes | Name of the quota this list belongs to |
Example Code
from survey import Survey s = Survey(**globals()) brand_list = [ 'Acura', 'Alfa Romeo', 'Aston Martin', 'Audi', 'Bentley', 'BMW', 'Bugatti', 'Buick', 'Cadillac', 'Chevrolet', 'Chrysler', 'Citroen', 'Dodge', 'Ferrari', 'Fiat', 'Ford', 'Geely', 'Genesis', 'GMC', 'Honda', 'Hyundai' # ...and so on ] brands = s.get_least_filled( number=10, from_list=brand_list, quota="Brand familiarity" ) familiar_brands = s.multi_select_question( question="Which of the following car brands have you heard of?", options=brands )
Notes
This is often used for rotating large brand or product lists evenly
Use
set_quota()
if you want to enforce a fixed distribution with terminationItems must be trackable via the named
quota
so that response counts can be compared