Article
Least Fill
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_questionorselect_question
Configuration Options
| Parameter | Type | Required | Description |
|---|---|---|---|
number | int | yes | Number of items to return |
from_list | List[Any] | yes | Full list of items to choose from |
quota | str | 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 termination - Items must be trackable via the named
quotaso that response counts can be compared