EQDS Converter Logo ← Back to Converter

The Enubiaka XLSForm Repeat Group Standards

A reference guide for selecting the correct repeat group format for your survey design.

📋 Quick Reference Overview

Format Structure Default? Best For
1. Sequential Positional Loop Unrolled groups by slot position No Fixed-count sequential recording
2. Brand-Fixed Conditional Group Loop One fixed group per brand/item No Brand-dedicated column analysis
3. Automated Selection-Driven Repeat Loop True begin_repeat / end_repeat No Variable-count, large lists, long format analysis
4. Smart Auto-Select Default Engine picks per repeat group ✅ Yes Not sure which format fits — let the engine decide
5. Direct Scripting Mode No system scaffolding at all No Fully custom, hand-authored repeat logic
6. Enumerator-Controlled Single-Pass Loop Uncounted repeat, name + details together No Open-ended lists with light per-item follow-up
7. Enumerator-Controlled Roster Loop Two-pass: names first, then details No DHS-style rosters with substantial per-item detail
1
Sequential Positional Loop

A fixed number of unrolled groups (one per slot position) where the enumerator manually selects a brand or item at the start of each group via a select_one question. Already-selected items are excluded from subsequent groups via choice_filter, preventing duplicates. The total number of groups is fixed at design time.

✅ When To Use

  • When enumerator control over item order is required
  • When total number of items is fixed in advance
  • When a guided one-item-at-a-time CAPI experience is needed
  • When the list is small (ideally 10 items or fewer)

⚠ When NOT To Use

  • When the number of items varies per respondent
  • When brand-fixed columns in raw data are required
  • When the item list is large
  • When enumerator control over order is not needed

📊 Best Suited Study Types

  • Product testing studies — handing out multiple product samples sequentially
  • Sensory evaluation studies — taste tests, fragrance tests, texture evaluations
  • Mystery shopping audits — visiting a fixed number of outlets one at a time
  • Ranked preference studies — deliberate item presentation order
  • Experimental studies with controlled stimulus order

📁 Raw Data Appearance

Exports as a single flat sheet. Columns are organised by slot position, not by item. The same brand can appear in different slot columns across interviews. Cross-respondent analysis by brand requires filtering by slotN_pick value.

2
Brand-Fixed Conditional Group Loop

Each brand or item has its own permanently fixed group with hardcoded questions and a unique field name prefix. The enumerator selects all applicable brands upfront via a select_multiple question, and only the selected brands' groups appear — always in the same fixed order. No reshaping is needed for brand-level analysis.

✅ When To Use

  • When each brand must always occupy its own dedicated columns
  • When cross-respondent brand comparison is a priority
  • When the brand list is fully known, stable, and small (under 20 items)
  • When all brands can be selected upfront before questions begin

⚠ When NOT To Use

  • When the brand list exceeds 20 items
  • When a guided one-at-a-time sequential flow is needed
  • When brands are dynamic or change between survey rounds
  • When respondents have vastly different numbers of applicable brands

📊 Best Suited Study Types

  • Brand equity and brand health tracking studies
  • Retail shelf audits — availability, pricing, and placement for a fixed set of SKUs
  • Competitive benchmarking studies
  • Media monitoring surveys — recall, sentiment and exposure for defined channels
  • Policy compliance audits and facility assessment surveys

📁 Raw Data Appearance

Exports as a single flat sheet with brand-dedicated columns. Each brand always appears under the same columns regardless of interview or selection order. Brands not selected are simply blank. No filtering or reshaping needed for brand-level analysis.

3
Automated Selection-Driven Repeat Loop

A true begin_repeat / end_repeat group driven by a prior select_multiple question. The repeat runs automatically — once per selected item — iterating through each selection in order using selected-at(). The number of iterations adapts to each respondent's selections. This is the recommended default for most survey designs.

✅ When To Use

  • When the number of iterations varies per respondent
  • When the item list is large or may change between rounds
  • When enumerator control over item order is not required
  • When analysis will be done in long format or reshaped programmatically
  • When form performance and maintainability are priorities

⚠ When NOT To Use

  • When brand-fixed columns are strictly required without reshaping
  • When enumerator control over which item appears next is required
  • When complex cross-iteration referencing or deduplication logic is needed

📊 Best Suited Study Types

  • Household surveys — details per household member, crop, asset, or income source
  • Health and nutrition studies — per child, illness episode, or food item
  • Agricultural surveys — per plot, crop type, or livestock category
  • Market surveys with large or variable brand lists
  • Panel and longitudinal studies with long-to-wide reshaping in Stata/R
  • Any study where item count is unknown at design time or varies widely

📁 Raw Data Appearance

Exports as two linked sheets — a main sheet (one row per submission) and a repeat sheet (one row per iteration per submission). All iterations share the same column names and are distinguished by the current_item value. Requires filtering by current_item or reshaping in Stata/R to analyse by specific item.

4
Smart Auto-Select ✅ Default

The engine evaluates each repeat group individually — considering the trigger question's type, the number of options, and (for enumerator-controlled repeats) the number of follow-up questions — and automatically picks the best-fitting format (1, 2, 3, 6, or 7) without requiring the author to choose manually. Different repeat groups in the same questionnaire may resolve to different formats.

✅ When To Use

  • When unsure which format best fits a given repeat group
  • When the questionnaire has several repeat groups with different ideal formats
  • When a solid default is wanted without deep XLSForm/EQDS format knowledge
  • As a starting point before deciding whether to force a specific format

⚠ When NOT To Use

  • When a specific, guaranteed format is required for a particular repeat group regardless of its structure
  • When the raw data shape must be fully predictable and controlled upfront
  • When the engine's heuristics don't match a study's specific needs (force the format explicitly instead)

📊 Best Suited Study Types

  • General-purpose default for most questionnaires
  • Multi-module surveys mixing dedicated brand tracking with variable long-format modules
  • Teams new to EQDS's repeat format conventions
  • Any questionnaire where different repeat groups genuinely call for different formats

📁 Raw Data Appearance

Varies per repeat group depending on what the engine resolves it to — some groups may export as flat sheets with dedicated columns (Format 1/2 outcomes), others as separate repeat sheets (Format 3/7 outcomes). Check each repeat group's resolved format individually when planning analysis.

5
Direct Scripting Mode

No system-generated repeat scaffolding is applied at all. Questions inside a "Repeat group for..." boundary are scripted exactly as written in the questionnaire — group by group, question by question — with no begin_repeat/end_repeat, no slot unrolling, and no brand-fixed groups. The author takes full manual control over any repeat logic.

✅ When To Use

  • When a highly custom repeat structure is needed that no standard format can express
  • When the author is comfortable hand-authoring XLSForm logic directly
  • When nesting repeats in an unusual way the engine doesn't support
  • When bypassing the engine's assumptions entirely is required

⚠ When NOT To Use

  • When the engine should handle repeat mechanics automatically
  • When comfort with raw XLSForm authoring is limited
  • When one of the standard formats (1, 2, 3, 6, 7) already covers the need

📊 Best Suited Study Types

  • Highly specialised or non-standard survey logic
  • Advanced XLSForm authors with specific technical requirements
  • Edge cases none of the standard repeat formats can express

📁 Raw Data Appearance

Entirely dependent on what the author manually scripts — the engine imposes no predictable structure of its own in this mode.

6
Enumerator-Controlled Single-Pass Loop

No fixed choice list at all — the enumerator types each item's name on the spot via a text question, then immediately answers the detail questions for that same item, one item at a time. Uses ODK's native uncounted-repeat "Add Group?" prompt, so the enumerator decides in the field whether to continue after each item.

✅ When To Use

  • When the set of items can't be known in advance (genuinely open-ended lists)
  • When items are typically few and per-item detail-gathering is simple
  • When field-level flexibility for the enumerator matters more than raw-data predictability

⚠ When NOT To Use

  • When the full list of items must exist before any follow-up question (use Format 7 instead)
  • When the set of items is actually known in advance from a fixed list (use Format 1, 2, or 3 instead)
  • When detail-gathering per item is extensive — a roster-first approach is usually cleaner

📊 Best Suited Study Types

  • Crop lists in agricultural surveys with light per-crop follow-up
  • Asset or inventory listing with a small number of detail questions
  • Ad-hoc field observation logs
  • Any open-ended item listing where the enumerator naturally records one item fully before moving to the next

📁 Raw Data Appearance

Exports as a single repeat sheet — one row per item. The item_name column holds the enumerator-typed name alongside that item's detail answers in the same row.

7
Enumerator-Controlled Roster Loop

A true two-pass, DHS-style roster. All item names are collected first in an uncounted repeat (via the same "Add Group?" prompt as Format 6), then a second repeat — automatically sized to match however many names were entered — asks the detail questions for each named item, pulling back the matching name by position.

✅ When To Use

  • When the complete list of items should exist before any details are collected
  • When something else needs to reference the full list — e.g. selecting a household head from the roster just entered
  • When there is substantial detail-gathering per item across multiple question modules

⚠ When NOT To Use

  • When items are few and detail-gathering is simple — Format 6 is simpler and sufficient
  • When there's no need to see the full list before asking about individual items
  • When the survey is short and a single pass is enough

📊 Best Suited Study Types

  • Household member rosters — DHS/LSMS-style demographic surveys
  • Livestock or asset rosters followed by detailed per-item modules
  • Agricultural plot rosters with detailed per-plot data collection
  • Any study needing the full item list available before diving into per-item detail

📁 Raw Data Appearance

Exports as two separate repeat sheets — a roster sheet (one row per named item) and a details sheet (one row per item, indexed to match the roster by position). Requires joining the two sheets by position when analysing.

The Enubiaka XLSForm Repeat Group Standards  |  By Marvis Onyenwenu Enubiaka