Skip to content
← Browse docs
Working with data

Stack question groups

Reshape a multi-item grid so each item becomes its own row. Stacking lets you analyse the items as a single variable instead of comparing N parallel columns.

What stacking is #

Many surveys ask the same thing about several items. A grid like "How likely are you to recommend each of these brands?" produces N parallel variables — one per brand. The data is wide: one row per respondent, N columns for the brands.

Stacking reshapes the data so each item becomes its own row. Instead of N columns, you get one likelihood column plus a new "brand" variable that says which item the row is about. The data is long: N rows per respondent.

When to stack #

  • You want to compare the items as a single variable — for example "average likelihood across all brands, broken out by age group".
  • You want to filter or weight on the item — for example "only show responses about brands the respondent had heard of".
  • You want to model item-level effects (regression, clustering, etc.) where each item is an observation.

When to leave as-is #

  • You're studying combinations or cross-patterns — for example "who picked brand A and brand B together?". Stacking flattens that relationship away.
  • The items aren't really parallel. If three columns measure different things and only happen to share a prefix, stacking would smush incompatible data.
  • You only need the per-item summary tables Recense already builds for the wide form.

How to stack in Recense #

  1. Look for stacking suggestions on the Datasets tab.

    After import, Smart prep scans your question groups and surfaces "Prep suggestion" cards for groups that look stackable.

  2. Review the proposed reshape.

    Each card shows what the new long form will look like — predicted row count, the new item variable, and any helper variables.

  3. Apply or dismiss.

    Apply turns the suggestion into a derived stacked dataset. Dismiss hides the suggestion if the items are not really parallel. You can always re-detect later.

Next steps