Fieldwork has closed. You have a file of 1,200 completes, a questionnaire and a deadline for the first tables. Between those two points sits survey data processing (DP), the unglamorous work that decides whether anyone can trust the numbers. This guide walks through each DP step in the order research teams run them, with a checklist and a worked weighting example. It is one part of the wider workflow covered in our guide to automated reporting.
Key takeaways
- Survey data processing turns raw responses into a clean, weighted dataset and a set of tables that match the questionnaire.
- Run the steps in order: data map, cleaning, recodes and nets, open-end coding, weighting, derived variables, tab specs, QA.
- Clean before you weight, and document every rule so the next wave or analyst gets the same result.
- In trackers, keep variable names, definitions and code frames fixed across waves.
- Save cleaning rules, recodes and tab specs as templates so repeat work runs the same way every time.
What is survey data processing in market research?
Raw survey data is rarely fit to analyze. It contains people who rushed, duplicates, codes that do not match the questionnaire and free-text answers. Survey data processing fixes all of that before anyone reads a percentage.
The inputs are the raw data file, the questionnaire and the sampling plan. The outputs are a clean dataset, a data map that explains every variable, and a set of tables, usually crosstabs with the key audiences across the top.
What are the steps of survey data processing?
- Data map and variable naming. List every variable with its question text, codes, labels and base. Use short, consistent names (Q5_1 to Q5_8 for a grid) so scripts and tab specs can find them.
- Cleaning. Remove speeders, straightliners, duplicates and out-of-range values. Many teams flag anyone who finishes in under a third of the median time, but agree your own thresholds before fieldwork closes.
- Recodes and nets. Group answers into reporting categories: age bands, top-two-box, “any competitor” nets. Keep the original variable and create a new one.
- Coding open ends. Build a code frame from a sample of answers, code every response, then net codes into themes.
- Weighting. Adjust the sample so its profile matches known population targets, such as region, age or gender.
- Derived variables. Create segments, indexes and flags from several questions, such as “category buyer in past 3 months.”
- Tab specs and banners. Write down which rows, banners, bases, statistics and significance tests each table needs (see how banner tables are built).
- QA checks. Compare tables against the questionnaire, the raw data and the previous wave before anything leaves the team.
What belongs on a DP checklist?
| Step | What to check | Pass when |
|---|---|---|
| Data map | Every question has a variable, label and code list | No unlabeled codes; names match the tab spec |
| Cleaning | Speeders, straightliners, duplicates, out-of-range values | Removal counts logged by rule |
| Recodes and nets | Each net adds up from its parts | Net count equals the count of people choosing any part |
| Open ends | Code frame covers the answers | ”Other” stays small; codes are applied consistently |
| Weighting | Weighted profile versus targets | Weighted shares match targets; no extreme weights |
| Derived variables | Logic matches the written definition | Spot checks on individual respondents agree |
| Tab spec and banners | Bases, filters, statistics | Base sizes match routing in the questionnaire |
| QA | Totals, previous wave, sense check | A second person has signed off |
How do you clean and weight a survey dataset?
The numbers below are illustrative, not from a real study. You have 1,200 completes from a consumer survey in one market, split across four regions.
Cleaning. Your rules flag 45 speeders and 30 straightliners on the main grid, with no respondent caught by both rules.
| Stage | Respondents |
|---|---|
| Completes received | 1,200 |
| Remove speeders | −45 |
| Remove straightliners | −30 |
| Clean sample | 1,200 − 45 − 30 = 1,125 |
Weighting. Your clean sample over-represents the North and Central regions and under-represents the South. Each group’s weight is its target share divided by its sample share.
| Region | Sample n | Sample % | Target % | Weight | Weighted n |
|---|---|---|---|---|---|
| North | 225 | 20% | 18% | 18 ÷ 20 = 0.90 | 225 × 0.90 = 202.5 |
| Central | 270 | 24% | 18% | 18 ÷ 24 = 0.75 | 270 × 0.75 = 202.5 |
| South | 360 | 32% | 40% | 40 ÷ 32 = 1.25 | 360 × 1.25 = 450 |
| West | 270 | 24% | 24% | 24 ÷ 24 = 1.00 | 270 × 1.00 = 270 |
| Total | 1,125 | 100% | 100% | 1,125 |
The weighted total still equals 1,125, so the base size does not inflate. Now see what weighting does to a result. Suppose the share who would recommend the brand is 40% in the North, 30% in Central, 50% in the South and 45% in the West.
- Unweighted: (225 × 0.40 + 270 × 0.30 + 360 × 0.50 + 270 × 0.45) ÷ 1,125 = 472.5 ÷ 1,125 = 42.0%
- Weighted: (202.5 × 0.40 + 202.5 × 0.30 + 450 × 0.50 + 270 × 0.45) ÷ 1,125 = 488.25 ÷ 1,125 = 43.4%
The South recommends most and is under-sampled, so weighting lifts the total by 1.4 points. On a tracker, that is the difference between a flat wave and an apparent gain.
How does data processing work for trackers?
A tracker only works if wave 12 is processed exactly like wave 1. In multi-wave studies, the first problem we usually see is drift: a net redefined, a variable renamed or a code frame rebuilt from scratch, and suddenly a trend line moves for reasons that have nothing to do with the market.
- Freeze variable names and net definitions; add new variables rather than editing old ones.
- Keep the code frame continuous. Add new codes at the end and never reuse a retired code number.
- Change weighting targets only when the population genuinely changes, and note the wave where it happened.
- Rerun the previous wave through the current rules to confirm it reproduces the published numbers.
For the reporting side of repeat waves, see how to automate tracker reporting.
Should DP sit with an agency team or in-house analysts?
| Agency DP team | In-house analysts | |
|---|---|---|
| Strength | Specialist speed on large, complex tab specs | Close to the business questions |
| Risk | Rules live in the agency’s scripts | Processing competes with analysis time |
| Best fit | Wide studies, many markets, tight turnarounds | Smaller studies, frequent ad hoc cuts |
Either works if the rules are written down and shared. Agencies that process for many clients also need each client’s rules and data kept apart; mTab for agencies offers one governed place to deliver client programs and automate recurring readouts, with access controlled by client.
How do you automate survey data processing steps?
Most survey data processing repeats. The same cleaning rules, recodes, nets and banners apply wave after wave, so write them once and save them:
- Store cleaning thresholds as rules that run on every new file and log their counts.
- Keep a recode and net library keyed to the data map.
- Save tab specs and banners as templates, so a new wave produces the same tables.
- Script the QA comparisons against the previous wave.
The tabulation end is where purpose-built crosstab software saves the most time. Running crosstabs and banner tables with weighting and significance testing in one tool keeps the weighting step and the banners together instead of in separate scripts. For the recurring reporting that follows, governed AI workflows with sources attached and a person approving keep a human in charge of what goes out. The wider case for this is in automated market research.
What are the common mistakes in survey data processing?
- Weighting before cleaning. Removing cases afterward breaks the weighted profile.
- Overwriting original variables. Recode into new variables so you can always trace back to the raw answer.
- Undocumented cleaning rules. If nobody can say why 75 cases were removed, nobody can reproduce the result.
- Letting “Other” grow. A large uncoded group usually means the code frame needs new codes.
- Ignoring extreme weights. A few respondents with very large weights make results unstable; cap them or revisit the targets.
What should you do next?
For your next study, build the data map before fieldwork starts, then write your cleaning rules and tab spec against it. When the data arrives, you process instead of improvise. Then turn those tables into a story with our guide to market research reporting.